summaryrefslogtreecommitdiff
path: root/extra/cyrus-sasl
diff options
context:
space:
mode:
Diffstat (limited to 'extra/cyrus-sasl')
-rw-r--r--extra/cyrus-sasl/0003_saslauthd_mdoc.patch35
-rw-r--r--extra/cyrus-sasl/0012_xopen_crypt_prototype.patch20
-rw-r--r--extra/cyrus-sasl/0016_pid_file_lock_creation_mask.patch27
-rw-r--r--extra/cyrus-sasl/0018_auth_rimap_quotes.patch35
-rw-r--r--extra/cyrus-sasl/0019_ldap_deprecated.patch22
-rw-r--r--extra/cyrus-sasl/0022_gcc4.4_preprocessor_syntax.patch26
-rw-r--r--extra/cyrus-sasl/0027_db5_support.patch24
-rw-r--r--extra/cyrus-sasl/PKGBUILD53
-rw-r--r--extra/cyrus-sasl/cyrus-sasl-2.1.19-checkpw.c.patch170
-rw-r--r--extra/cyrus-sasl/cyrus-sasl-2.1.22-automake-1.10.patch94
-rw-r--r--extra/cyrus-sasl/cyrus-sasl-2.1.22-crypt.patch71
-rw-r--r--extra/cyrus-sasl/cyrus-sasl-2.1.23-authd-fix.patch28
-rw-r--r--extra/cyrus-sasl/cyrus-sasl-2.1.26-size_t.patch11
13 files changed, 24 insertions, 592 deletions
diff --git a/extra/cyrus-sasl/0003_saslauthd_mdoc.patch b/extra/cyrus-sasl/0003_saslauthd_mdoc.patch
deleted file mode 100644
index 694f4bb67..000000000
--- a/extra/cyrus-sasl/0003_saslauthd_mdoc.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-0003_saslauthd_mdoc.dpatch by <fabbe@debian.org>
-
-Use the correct path for the saslauthd.conf file, and use another
-date format (cosmetic).
-
-diff -urNad trunk~/saslauthd/saslauthd.mdoc trunk/saslauthd/saslauthd.mdoc
---- trunk~/saslauthd/saslauthd.mdoc 2006-05-29 22:52:42.000000000 +0300
-+++ trunk/saslauthd/saslauthd.mdoc 2006-07-12 15:05:25.000000000 +0300
-@@ -10,7 +10,7 @@
- .\" manpage in saslauthd.8 whenever you change this source
- .\" version. Only the pre-formatted manpage is installed.
- .\"
--.Dd 10 24 2002
-+.Dd October 24 2002
- .Dt SASLAUTHD 8
- .Os "CMU-SASL"
- .Sh NAME
-@@ -216,7 +216,7 @@
- .Em (All platforms that support OpenLDAP 2.0 or higher)
- .Pp
- Authenticate against an ldap server. The ldap configuration parameters are
--read from /usr/local/etc/saslauthd.conf. The location of this file can be
-+read from /etc/saslauthd.conf. The location of this file can be
- changed with the -O parameter. See the LDAP_SASLAUTHD file included with the
- distribution for the list of available parameters.
- .It Li sia
-@@ -249,7 +249,7 @@
- .Bl -tag -width "/var/run/saslauthd/mux"
- .It Pa /var/run/saslauthd/mux
- The default communications socket.
--.It Pa /usr/local/etc/saslauthd.conf
-+.It Pa /etc/saslauthd.conf
- The default configuration file for ldap support.
- .El
- .Sh SEE ALSO
diff --git a/extra/cyrus-sasl/0012_xopen_crypt_prototype.patch b/extra/cyrus-sasl/0012_xopen_crypt_prototype.patch
deleted file mode 100644
index d50ec8343..000000000
--- a/extra/cyrus-sasl/0012_xopen_crypt_prototype.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-0012_xopen_crypt_prototype.dpatch by <dannf@debian.org>
-
-When _XOPEN_SOURCE is defined, the subsequent #include <unistd.h>
-will define a correct function prototype for the crypt function.
-This avoids segfaults on architectures where the size of a pointer
-is greater than the size of an integer (ia64 and amd64 are examples).
-This may be detected by looking for build log lines such as the
-following:
-auth_shadow.c:183: warning: implicit declaration of function ‘crypt’
-auth_shadow.c:183: warning: cast to pointer from integer of different
-size
-
-diff -urNad trunk~/saslauthd/auth_shadow.c trunk/saslauthd/auth_shadow.c
---- trunk~/saslauthd/auth_shadow.c 2006-05-29 22:52:42.000000000 +0300
-+++ trunk/saslauthd/auth_shadow.c 2006-11-08 13:44:23.000000000 +0200
-@@ -1,3 +1,4 @@
-+#define _XOPEN_SOURCE
- #define PWBUFSZ 256 /***SWB***/
-
- /* MODULE: auth_shadow */
diff --git a/extra/cyrus-sasl/0016_pid_file_lock_creation_mask.patch b/extra/cyrus-sasl/0016_pid_file_lock_creation_mask.patch
deleted file mode 100644
index e9170cef3..000000000
--- a/extra/cyrus-sasl/0016_pid_file_lock_creation_mask.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-0016_pid_file_lock_creation_mask.dpatch by Sam Hocevar <sam@zoy.org>
-
-pid_file_lock is created with a mask of 644 instead of 0644.
-This patch fixes this octal/decimal confusion as well as the
-(harmless) one in the previous umask() call.
-
-diff -urNad trunk~/saslauthd/saslauthd-main.c trunk/saslauthd/saslauthd-main.c
---- trunk~/saslauthd/saslauthd-main.c 2006-05-29 22:52:42.000000000 +0300
-+++ trunk/saslauthd/saslauthd-main.c 2007-06-26 12:07:10.000000000 +0300
-@@ -276,7 +276,7 @@
- exit(1);
- }
-
-- umask(077);
-+ umask(0077);
-
- pid_file_size = strlen(run_path) + sizeof(PID_FILE_LOCK) + 1;
- if ((pid_file_lock = malloc(pid_file_size)) == NULL) {
-@@ -287,7 +287,7 @@
- strlcpy(pid_file_lock, run_path, pid_file_size);
- strlcat(pid_file_lock, PID_FILE_LOCK, pid_file_size);
-
-- if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 644)) < 0) {
-+ if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 0644)) < 0) {
- rc = errno;
- logger(L_ERR, L_FUNC, "could not open pid lock file: %s", pid_file_lock);
- logger(L_ERR, L_FUNC, "open: %s", strerror(rc));
diff --git a/extra/cyrus-sasl/0018_auth_rimap_quotes.patch b/extra/cyrus-sasl/0018_auth_rimap_quotes.patch
deleted file mode 100644
index 13fa999f0..000000000
--- a/extra/cyrus-sasl/0018_auth_rimap_quotes.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-0016_auth_rimap_quotes.dpatch by <fabbe@debian.org>
-
-All lines beginning with `## DP:' are a description of the patch.
-Avoid infinite loop when username/password has a double quote character.
-Upstream change: https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/sasl/saslauthd/auth_rimap.c.diff?r1=1.12;r2=1.13
-
-diff -urNad etch~/saslauthd/auth_rimap.c etch/saslauthd/auth_rimap.c
---- etch~/saslauthd/auth_rimap.c 2007-03-29 15:16:20.000000000 +0300
-+++ etch/saslauthd/auth_rimap.c 2008-02-13 13:42:53.000000000 +0200
-@@ -162,6 +162,7 @@
- num_quotes = 0;
- p1 = s;
- while ((p1 = strchr(p1, '"')) != NULL) {
-+ p1++;
- num_quotes++;
- }
-
-@@ -438,7 +439,7 @@
- syslog(LOG_WARNING, "auth_rimap: writev: %m");
- memset(qlogin, 0, strlen(qlogin));
- free(qlogin);
-- memset(qpass, 0, strlen(qlogin));
-+ memset(qpass, 0, strlen(qpass));
- free(qpass);
- (void)close(s);
- return strdup(RESP_IERROR);
-@@ -447,7 +448,7 @@
- /* don't need these any longer */
- memset(qlogin, 0, strlen(qlogin));
- free(qlogin);
-- memset(qpass, 0, strlen(qlogin));
-+ memset(qpass, 0, strlen(qpass));
- free(qpass);
-
- /* read and parse the LOGIN response */
diff --git a/extra/cyrus-sasl/0019_ldap_deprecated.patch b/extra/cyrus-sasl/0019_ldap_deprecated.patch
deleted file mode 100644
index 8825256cb..000000000
--- a/extra/cyrus-sasl/0019_ldap_deprecated.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-0019_ldap_deprecated.dpatch by dann frazier <dannf@debian.org>
-
-The function ldap_get_values, used in saslauthd/lak.c, is deprecated.
-Therefore, its prototype is not included by default when compiling
-against the ldap.h headers. As a result, the compiler cannot know the
-return type of the function at compile time, and will implicitly
-convert to a pointer. This has implications on 64-bit systems.
-This patch sets the deprecation mode on, so that the function prototype
-gets included when compiling.
-(Description by Fabian Fagerholm <fabbe@debian.org>)
-
-diff -urNad trunk~/saslauthd/lak.c trunk/saslauthd/lak.c
---- trunk~/saslauthd/lak.c 2006-06-04 12:26:20.000000000 +0300
-+++ trunk/saslauthd/lak.c 2008-02-15 14:32:11.000000000 +0200
-@@ -55,6 +55,7 @@
- #include <openssl/des.h>
- #endif
-
-+#define LDAP_DEPRECATED 1
- #include <ldap.h>
- #include <lber.h>
- #include <sasl.h>
diff --git a/extra/cyrus-sasl/0022_gcc4.4_preprocessor_syntax.patch b/extra/cyrus-sasl/0022_gcc4.4_preprocessor_syntax.patch
deleted file mode 100644
index a49b553f0..000000000
--- a/extra/cyrus-sasl/0022_gcc4.4_preprocessor_syntax.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-0022_gcc4.4_preprocessor_syntax.dpatch by <fabbe@paniq.net>
-
-The #elif preprocessor directive requires a test condition.
-GCC 4.4 enforces this rule.
-
-diff -urNad trunk~/plugins/digestmd5.c trunk/plugins/digestmd5.c
---- trunk~/plugins/digestmd5.c 2006-06-04 12:26:19.000000000 +0300
-+++ trunk/plugins/digestmd5.c 2009-01-26 13:29:40.000000000 +0200
-@@ -2715,7 +2715,7 @@
- "DIGEST-MD5", /* mech_name */
- #ifdef WITH_RC4
- 128, /* max_ssf */
--#elif WITH_DES
-+#elif defined(WITH_DES)
- 112,
- #else
- 1,
-@@ -4034,7 +4034,7 @@
- "DIGEST-MD5",
- #ifdef WITH_RC4 /* mech_name */
- 128, /* max ssf */
--#elif WITH_DES
-+#elif defined(WITH_DES)
- 112,
- #else
- 1,
diff --git a/extra/cyrus-sasl/0027_db5_support.patch b/extra/cyrus-sasl/0027_db5_support.patch
deleted file mode 100644
index 522824074..000000000
--- a/extra/cyrus-sasl/0027_db5_support.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Author: Ondřej Surý <ondrej@debian.org>
-Description: Support newer Berkeley DB versions
---- a/sasldb/db_berkeley.c
-+++ b/sasldb/db_berkeley.c
-@@ -101,7 +101,7 @@ static int berkeleydb_open(const sasl_ut
- ret = db_create(mbdb, NULL, 0);
- if (ret == 0 && *mbdb != NULL)
- {
--#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
-+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
- ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660);
- #else
- ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660);
---- a/utils/dbconverter-2.c
-+++ b/utils/dbconverter-2.c
-@@ -214,7 +214,7 @@ static int berkeleydb_open(const char *p
- ret = db_create(mbdb, NULL, 0);
- if (ret == 0 && *mbdb != NULL)
- {
--#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
-+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
- ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664);
- #else
- ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664);
diff --git a/extra/cyrus-sasl/PKGBUILD b/extra/cyrus-sasl/PKGBUILD
index e35c47f05..117c2434f 100644
--- a/extra/cyrus-sasl/PKGBUILD
+++ b/extra/cyrus-sasl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 180680 2013-03-25 19:15:31Z bpiotrowski $
+# $Id: PKGBUILD 185591 2013-05-15 13:17:58Z eric $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# This package spans multiple repositories.
@@ -7,53 +7,33 @@
pkgbase=('cyrus-sasl')
pkgname=('cyrus-sasl' 'cyrus-sasl-gssapi' 'cyrus-sasl-ldap' 'cyrus-sasl-sql')
#pkgname=libsasl
-pkgver=2.1.23
-pkgrel=12
+pkgver=2.1.26
+pkgrel=2
pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library"
arch=('i686' 'x86_64' 'mips64el')
url="http://cyrusimap.web.cmu.edu/"
license=('custom')
options=('!makeflags' '!libtool')
-makedepends=('postgresql-libs' 'libmariadbclient' 'libldap' 'krb5' 'openssl')
-source=(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-${pkgver}.tar.gz
- cyrus-sasl-2.1.19-checkpw.c.patch
- cyrus-sasl-2.1.22-crypt.patch
+makedepends=('postgresql-libs' 'libmariadbclient' 'libldap' 'krb5' 'openssl' 'sqlite2')
+source=(ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${pkgver}.tar.gz
cyrus-sasl-2.1.22-qa.patch
- cyrus-sasl-2.1.22-automake-1.10.patch
- cyrus-sasl-2.1.23-authd-fix.patch
- 0003_saslauthd_mdoc.patch
+ cyrus-sasl-2.1.26-size_t.patch
0010_maintainer_mode.patch
0011_saslauthd_ac_prog_libtool.patch
- 0012_xopen_crypt_prototype.patch
- 0016_pid_file_lock_creation_mask.patch
- 0018_auth_rimap_quotes.patch
- 0019_ldap_deprecated.patch
- 0022_gcc4.4_preprocessor_syntax.patch
0025_ld_as_needed.patch
0026_drop_krb5support_dependency.patch
- 0027_db5_support.patch
0030-dont_use_la_files_for_opening_plugins.patch
saslauthd.service
saslauthd.conf.d
saslauthd
tmpfiles.conf)
-md5sums=('2eb0e48106f0e9cd8001e654f267ecbc'
- 'e27ddff076342e7a3041c4759817d04b'
- 'd7e6886e88af04d05f3dec7f0a59ccf7'
+md5sums=('a7f4e5e559a0e37b3ffc438c9456e425'
'79b8a5e8689989e2afd4b7bda595a7b1'
- 'f4131b077ddb5240b375d749162f1b7a'
- 'c7ad2c70c1ef814eb4b119f316c064f2'
- 'caeeac3feba19cbbd36e7345cc805600'
+ 'f45aa8c42b32e0569ab3d14a83485b37'
'f45d8b60e8f74dd7f7c2ec1665fa602a'
'9d93880514cb5ff5da969f1ceb64a661'
- 'dfdc052a7e678db9f687482c5d52f34e'
- '4a09f6b24b91f8450892a78e378860da'
- '213abe7c5dfe0d7f446992787da1e780'
- '5a0321177ad30cb5518c8b6812e3961a'
- '0c965748970eea29fa295524821d43f0'
'62bf892fe4d1df41ff748e91a1afaf67'
'b7848957357e7c02d6490102be496bf9'
- 'd86a5aa2e3b5b7c1bad6f8b548b7ea36'
'8e7106f32e495e9ade69014fd1b3352a'
'3499dcd610ad1ad58e0faffde2aa7a23'
'49219af5641150edec288a3fdb65e7c1'
@@ -61,25 +41,18 @@ md5sums=('2eb0e48106f0e9cd8001e654f267ecbc'
'45bb0192d2f188066240b9a66ee6365f')
build() {
+ export CFLAGS="$CFLAGS -fPIC"
+
cd "${srcdir}/cyrus-sasl-${pkgver}"
- patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.19-checkpw.c.patch"
- patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-crypt.patch"
patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-qa.patch"
- patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-automake-1.10.patch"
- patch -Np0 -i "${srcdir}/cyrus-sasl-2.1.23-authd-fix.patch"
- patch -Np1 -i "${srcdir}/0003_saslauthd_mdoc.patch"
+ patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.26-size_t.patch"
patch -Np1 -i "${srcdir}/0010_maintainer_mode.patch"
patch -Np1 -i "${srcdir}/0011_saslauthd_ac_prog_libtool.patch"
- patch -Np1 -i "${srcdir}/0012_xopen_crypt_prototype.patch"
- patch -Np1 -i "${srcdir}/0016_pid_file_lock_creation_mask.patch"
- patch -Np1 -i "${srcdir}/0018_auth_rimap_quotes.patch"
- patch -Np1 -i "${srcdir}/0019_ldap_deprecated.patch"
- patch -Np1 -i "${srcdir}/0022_gcc4.4_preprocessor_syntax.patch"
patch -Np1 -i "${srcdir}/0025_ld_as_needed.patch"
patch -Np1 -i "${srcdir}/0026_drop_krb5support_dependency.patch"
- patch -Np1 -i "${srcdir}/0027_db5_support.patch"
patch -Np1 -i "${srcdir}/0030-dont_use_la_files_for_opening_plugins.patch"
+ sed 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' -i configure.in
rm -f config/config.guess config/config.sub
rm -f config/ltconfig config/ltmain.sh config/libtool.m4
rm -fr autom4te.cache
@@ -196,7 +169,7 @@ package_cyrus-sasl-ldap() {
package_cyrus-sasl-sql() {
pkgdesc="SQL auxprop module for Cyrus SASL"
- depends=("libsasl=${pkgver}" 'postgresql-libs' 'libmariadbclient')
+ depends=("libsasl=${pkgver}" 'postgresql-libs' 'libmariadbclient' 'sqlite2')
replaces=('cyrus-sasl-plugins')
cd "${srcdir}/cyrus-sasl-${pkgver}/plugins"
diff --git a/extra/cyrus-sasl/cyrus-sasl-2.1.19-checkpw.c.patch b/extra/cyrus-sasl/cyrus-sasl-2.1.19-checkpw.c.patch
deleted file mode 100644
index f7bf44b79..000000000
--- a/extra/cyrus-sasl/cyrus-sasl-2.1.19-checkpw.c.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-diff -ur ../cyrus-sasl-2.1.19.orig/lib/Makefile.in ./lib/Makefile.in
---- ../cyrus-sasl-2.1.19.orig/lib/Makefile.in 2004-07-02 21:40:15.000000000 +0200
-+++ ./lib/Makefile.in 2004-09-07 13:21:22.746680576 +0200
-@@ -120,7 +120,7 @@
- JAVA_TRUE = @JAVA_TRUE@
- LDFLAGS = @LDFLAGS@
- LIBOBJS = @LIBOBJS@
--LIBS = @LIBS@
-+LIBS = -lcrypt @LIBS@
- LIBTOOL = @LIBTOOL@
- LIB_CRYPT = @LIB_CRYPT@
- LIB_DES = @LIB_DES@
-diff -ur ../cyrus-sasl-2.1.19.orig/lib/checkpw.c ./lib/checkpw.c
---- ../cyrus-sasl-2.1.19.orig/lib/checkpw.c 2004-03-17 14:58:13.000000000 +0100
-+++ ./lib/checkpw.c 2004-09-07 13:21:12.645916147 +0200
-@@ -94,6 +94,23 @@
- # endif
- #endif
-
-+/******************************
-+ * crypt(3) patch start *
-+ ******************************/
-+char *crypt(const char *key, const char *salt);
-+
-+/* cleartext password formats */
-+#define PASSWORD_FORMAT_CLEARTEXT 1
-+#define PASSWORD_FORMAT_CRYPT 2
-+#define PASSWORD_FORMAT_CRYPTTRAD 3
-+#define PASSWORD_SALT_BUF_LEN 22
-+
-+/* weeds out crypt(3) password's salt */
-+int _sasl_get_salt (char *dest, char *src, int format);
-+
-+/******************************
-+ * crypt(3) patch stop *
-+ ******************************/
-
- /* we store the following secret to check plaintext passwords:
- *
-@@ -143,7 +160,51 @@
- "*cmusaslsecretPLAIN",
- NULL };
- struct propval auxprop_values[3];
--
-+
-+ /******************************
-+ * crypt(3) patch start *
-+ * for password format check *
-+ ******************************/
-+ sasl_getopt_t *getopt;
-+ void *context;
-+ const char *p = NULL;
-+ /**
-+ * MD5: 12 char salt
-+ * BLOWFISH: 16 char salt
-+ */
-+ char salt[PASSWORD_SALT_BUF_LEN];
-+ int password_format;
-+
-+ /* get password format from auxprop configuration */
-+ if (_sasl_getcallback(conn, SASL_CB_GETOPT, &getopt, &context) == SASL_OK) {
-+ getopt(context, NULL, "password_format", &p, NULL);
-+ }
-+
-+ /* set password format */
-+ if (p) {
-+ /*
-+ memset(pass_format_str, '\0', PASSWORD_FORMAT_STR_LEN);
-+ strncpy(pass_format_str, p, (PASSWORD_FORMAT_STR_LEN - 1));
-+ */
-+ /* modern, modular crypt(3) */
-+ if (strncmp(p, "crypt", 11) == 0)
-+ password_format = PASSWORD_FORMAT_CRYPT;
-+ /* traditional crypt(3) */
-+ else if (strncmp(p, "crypt_trad", 11) == 0)
-+ password_format = PASSWORD_FORMAT_CRYPTTRAD;
-+ /* cleartext password */
-+ else
-+ password_format = PASSWORD_FORMAT_CLEARTEXT;
-+ } else {
-+ /* cleartext password */
-+ password_format = PASSWORD_FORMAT_CLEARTEXT;
-+ }
-+
-+ /******************************
-+ * crypt(3) patch stop *
-+ * for password format check *
-+ ******************************/
-+
- if (!conn || !userstr)
- return SASL_BADPARAM;
-
-@@ -180,14 +241,31 @@
- goto done;
- }
-
-- /* At the point this has been called, the username has been canonified
-- * and we've done the auxprop lookup. This should be easy. */
-- if(auxprop_values[0].name
-- && auxprop_values[0].values
-- && auxprop_values[0].values[0]
-- && !strcmp(auxprop_values[0].values[0], passwd)) {
-- /* We have a plaintext version and it matched! */
-- return SASL_OK;
-+
-+ /******************************
-+ * crypt(3) patch start *
-+ ******************************/
-+
-+ /* get salt */
-+ _sasl_get_salt(salt, (char *) auxprop_values[0].values[0], password_format);
-+
-+ /* crypt(3)-ed password? */
-+ if (password_format != PASSWORD_FORMAT_CLEARTEXT) {
-+ /* compare password */
-+ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(crypt(passwd, salt), auxprop_values[0].values[0]) == 0)
-+ return SASL_OK;
-+ else
-+ ret = SASL_BADAUTH;
-+ }
-+ else if (password_format == PASSWORD_FORMAT_CLEARTEXT) {
-+ /* compare passwords */
-+ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(auxprop_values[0].values[0], passwd) == 0)
-+ return SASL_OK;
-+ else
-+ ret = SASL_BADAUTH;
-+ /******************************
-+ * crypt(3) patch stop *
-+ ******************************/
- } else if(auxprop_values[1].name
- && auxprop_values[1].values
- && auxprop_values[1].values[0]) {
-@@ -975,3 +1053,37 @@
- #endif
- { NULL, NULL }
- };
-+
-+/* weeds out crypt(3) password's salt */
-+int _sasl_get_salt (char *dest, char *src, int format) {
-+ int num; /* how many characters is salt long? */
-+ switch (format) {
-+ case PASSWORD_FORMAT_CRYPT:
-+ /* md5 crypt */
-+ if (src[1] == '1')
-+ num = 12;
-+ /* blowfish crypt */
-+ else if (src[1] == '2')
-+ num = (src[1] == '2' && src[2] == 'a') ? 17 : 16;
-+ /* traditional crypt */
-+ else
-+ num = 2;
-+ break;
-+
-+ case PASSWORD_FORMAT_CRYPTTRAD:
-+ num = 2;
-+ break;
-+
-+ default:
-+ return 1;
-+ }
-+
-+ /* destroy destination */
-+ memset(dest, '\0', (num + 1));
-+
-+ /* copy salt to destination */
-+ strncpy(dest, src, num);
-+
-+ return 1;
-+}
-+
diff --git a/extra/cyrus-sasl/cyrus-sasl-2.1.22-automake-1.10.patch b/extra/cyrus-sasl/cyrus-sasl-2.1.22-automake-1.10.patch
deleted file mode 100644
index 8cd71c0c5..000000000
--- a/extra/cyrus-sasl/cyrus-sasl-2.1.22-automake-1.10.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-Re-merged patch by Robert Scheck <redhat@linuxnetz.de> for cyrus-sasl >= 2.1.22, which was
-originally written by Jacek Konieczny <jajcus@pld-linux.org> and makes cyrus-sasl building
-using automake 1.10.
-
---- cyrus-sasl-2.1.22/plugins/Makefile.am 2006-05-17 18:46:16.000000000 +0200
-+++ cyrus-sasl-2.1.22/plugins/Makefile.am.am110 2007-02-16 15:42:07.000000000 +0100
-@@ -82,73 +82,73 @@
- libntlm.la libpassdss.la libsasldb.la libsql.la libldapdb.la
-
- libplain_la_SOURCES = plain.c plain_init.c $(common_sources)
--libplain_la_LDFLAGS = -version-info $(plain_version)
-+libplain_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(plain_version)
- libplain_la_DEPENDENCIES = $(COMPAT_OBJS)
- libplain_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
-
- libanonymous_la_SOURCES = anonymous.c anonymous_init.c $(common_sources)
--libanonymous_la_LDFLAGS = -version-info $(anonymous_version)
-+libanonymous_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(anonymous_version)
- libanonymous_la_DEPENDENCIES = $(COMPAT_OBJS)
- libanonymous_la_LIBADD = $(COMPAT_OBJS)
-
- libkerberos4_la_SOURCES = kerberos4.c kerberos4_init.c $(common_sources)
--libkerberos4_la_LDFLAGS = -version-info $(kerberos4_version)
-+libkerberos4_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(kerberos4_version)
- libkerberos4_la_DEPENDENCIES = $(COMPAT_OBJS)
- libkerberos4_la_LIBADD = $(SASL_KRB_LIB) $(LIB_SOCKET) $(COMPAT_OBJS)
-
- libgssapiv2_la_SOURCES = gssapi.c gssapiv2_init.c $(common_sources)
--libgssapiv2_la_LDFLAGS = -version-info $(gssapiv2_version)
-+libgssapiv2_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(gssapiv2_version)
- libgssapiv2_la_DEPENDENCIES = $(COMPAT_OBJS)
- libgssapiv2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS)
-
- libcrammd5_la_SOURCES = cram.c crammd5_init.c $(common_sources)
--libcrammd5_la_LDFLAGS = -version-info $(crammd5_version)
-+libcrammd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(crammd5_version)
- libcrammd5_la_DEPENDENCIES = $(COMPAT_OBJS)
- libcrammd5_la_LIBADD = $(COMPAT_OBJS)
-
- libdigestmd5_la_SOURCES = digestmd5.c digestmd5_init.c $(common_sources)
--libdigestmd5_la_LDFLAGS = -version-info $(digestmd5_version)
-+libdigestmd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(digestmd5_version)
- libdigestmd5_la_DEPENDENCIES = $(COMPAT_OBJS)
- libdigestmd5_la_LIBADD = $(LIB_DES) $(LIB_SOCKET) $(COMPAT_OBJS)
-
- liblogin_la_SOURCES = login.c login_init.c $(common_sources)
--liblogin_la_LDFLAGS = -version-info $(login_version)
-+liblogin_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(login_version)
- liblogin_la_DEPENDENCIES = $(COMPAT_OBJS)
- liblogin_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
-
- libsrp_la_SOURCES = srp.c srp_init.c $(common_sources)
--libsrp_la_LDFLAGS = -version-info $(srp_version)
-+libsrp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(srp_version)
- libsrp_la_DEPENDENCIES = $(COMPAT_OBJS)
- libsrp_la_LIBADD = $(SRP_LIBS) $(COMPAT_OBJS)
-
- libotp_la_SOURCES = otp.c otp_init.c otp.h $(common_sources)
--libotp_la_LDFLAGS = -version-info $(otp_version)
-+libotp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(otp_version)
- libotp_la_DEPENDENCIES = $(COMPAT_OBJS)
- libotp_la_LIBADD = $(OTP_LIBS) $(COMPAT_OBJS)
-
- libntlm_la_SOURCES = ntlm.c ntlm_init.c $(common_sources)
--libntlm_la_LDFLAGS = -version-info $(ntlm_version)
-+libntlm_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(ntlm_version)
- libntlm_la_DEPENDENCIES = $(COMPAT_OBJS)
- libntlm_la_LIBADD = $(NTLM_LIBS) $(COMPAT_OBJS)
-
- libpassdss_la_SOURCES = passdss.c passdss_init.c $(common_sources)
--libpassdss_la_LDFLAGS = -version-info $(passdss_version)
-+libpassdss_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(passdss_version)
- libpassdss_la_DEPENDENCIES = $(COMPAT_OBJS)
- libpassdss_la_LIBADD = $(PASSDSS_LIBS) $(COMPAT_OBJS)
-
- # Auxprop Plugins
- libsasldb_la_SOURCES = sasldb.c sasldb_init.c $(common_sources)
--libsasldb_la_LDFLAGS = -version-info $(sasldb_version)
-+libsasldb_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(sasldb_version)
- libsasldb_la_DEPENDENCIES = $(COMPAT_OBJS)
- libsasldb_la_LIBADD = ../sasldb/libsasldb.la $(SASL_DB_LIB) $(COMPAT_OBJS)
-
- libldapdb_la_SOURCES = ldapdb.c ldapdb_init.c $(common_sources)
--libldapdb_la_LDFLAGS = $(LIB_LDAP) -version-info $(ldapdb_version)
-+libldapdb_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_LDAP) -version-info $(ldapdb_version)
- libldapdb_la_DEPENDENCIES = $(COMPAT_OBJS)
- libldapdb_la_LIBADD = $(COMPAT_OBJS)
-
- libsql_la_SOURCES = sql.c sql_init.c $(common_sources)
--libsql_la_LDFLAGS = $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version)
-+libsql_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version)
- libsql_la_DEPENDENCIES = $(COMPAT_OBJS)
- libsql_la_LIBADD = $(COMPAT_OBJS)
-
diff --git a/extra/cyrus-sasl/cyrus-sasl-2.1.22-crypt.patch b/extra/cyrus-sasl/cyrus-sasl-2.1.22-crypt.patch
deleted file mode 100644
index fd356327b..000000000
--- a/extra/cyrus-sasl/cyrus-sasl-2.1.22-crypt.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-http://bugs.gentoo.org/152544
-
---- cyrus-sasl-2.1.22/lib/Makefile.am
-+++ cyrus-sasl-2.1.22/lib/Makefile.am
-@@ -45,6 +45,7 @@ sasl_version = 2:22:0
-
- INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
-
-+AM_CFLAGS = -fPIC
- EXTRA_DIST = windlopen.c staticopen.h NTMakefile
- EXTRA_LIBRARIES = libsasl2.a
- noinst_LIBRARIES = @SASL_STATIC_LIBS@
---- cyrus-sasl-2.1.22/plugins/Makefile.am
-+++ cyrus-sasl-2.1.22/plugins/Makefile.am
-@@ -63,6 +63,7 @@ srp_version = 2:22:0
-
- INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
- AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir)
-+AM_CFLAGS = -fPIC
-
- COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@
-
---- cyrus-sasl-2.1.22/sasldb/Makefile.am
-+++ cyrus-sasl-2.1.22/sasldb/Makefile.am
-@@ -48,6 +48,7 @@ INCLUDES=-I$(top_srcdir)/include -I$(top
-
- extra_common_sources = db_none.c db_ndbm.c db_gdbm.c db_berkeley.c
-
-+AM_CFLAGS = -fPIC
- EXTRA_DIST = NTMakefile
-
- noinst_LTLIBRARIES = libsasldb.la
---- cyrus-sasl-2.1.22/utils/Makefile.am
-+++ cyrus-sasl-2.1.22/utils/Makefile.am
-@@ -42,7 +42,7 @@
- #
- ################################################################
-
--all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET)
-+all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET) $(LIB_CRYPT)
- all_sasl_static_libs = ../lib/.libs/libsasl2.a $(SASL_DB_LIB) $(LIB_SOCKET) $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(SASL_KRB_LIB) $(LIB_DES) $(PLAIN_LIBS) $(SRP_LIBS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE)
-
- sbin_PROGRAMS = @SASL_DB_UTILS@ @SMTPTEST_PROGRAM@ pluginviewer
---- cyrus-sasl-2.1.22/sample/Makefile.am
-+++ cyrus-sasl-2.1.22/sample/Makefile.am
-@@ -54,10 +54,10 @@ sample_server_SOURCES = sample-server.c
- server_SOURCES = server.c common.c common.h
- client_SOURCES = client.c common.c common.h
-
--server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
--client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
-+server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-+client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-
--sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
--sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
-+sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-+sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-
- EXTRA_DIST = NTMakefile
---- cyrus-sasl-2.1.22/lib/Makefile.am
-+++ cyrus-sasl-2.1.22/lib/Makefile.am
-@@ -63,7 +63,7 @@ lib_LTLIBRARIES = libsasl2.la
- libsasl2_la_SOURCES = $(common_sources) $(common_headers)
- libsasl2_la_LDFLAGS = -version-info $(sasl_version)
- libsasl2_la_DEPENDENCIES = $(LTLIBOBJS)
--libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR)
-+libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) $(LIB_CRYPT)
-
- if MACOSX
- framedir = /Library/Frameworks/SASL2.framework
diff --git a/extra/cyrus-sasl/cyrus-sasl-2.1.23-authd-fix.patch b/extra/cyrus-sasl/cyrus-sasl-2.1.23-authd-fix.patch
deleted file mode 100644
index f5f372d17..000000000
--- a/extra/cyrus-sasl/cyrus-sasl-2.1.23-authd-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-fix warnings:
-
-auth_sasldb.c: In function ‘auth_sasldb’:
-auth_sasldb.c:144: warning: implicit declaration of function ‘gethostname’
-
-auth_sasldb.c:153: warning: passing argument 8 of ‘_sasldb_getdata’ from incompatible pointer type
-../sasldb/sasldb.h:60: note: expected ‘size_t *’ but argument is of type ‘int *’
-
---- saslauthd/auth_sasldb.c
-+++ saslauthd/auth_sasldb.c
-@@ -41,6 +41,7 @@
- #include <string.h>
- #include <stdlib.h>
- #include <pwd.h>
-+#include <unistd.h>
- /* END PUBLIC DEPENDENCIES */
-
- #define RETURN(x) return strdup(x)
-@@ -131,7 +132,8 @@
- /* VARIABLES */
- char pw[1024]; /* pointer to passwd file entry */
- sasl_utils_t utils;
-- int ret, outsize;
-+ int ret;
-+ size_t outsize;
- const char *use_realm;
- char realm_buf[MAXHOSTNAMELEN];
- /* END VARIABLES */
diff --git a/extra/cyrus-sasl/cyrus-sasl-2.1.26-size_t.patch b/extra/cyrus-sasl/cyrus-sasl-2.1.26-size_t.patch
new file mode 100644
index 000000000..3a4820f16
--- /dev/null
+++ b/extra/cyrus-sasl/cyrus-sasl-2.1.26-size_t.patch
@@ -0,0 +1,11 @@
+--- cyrus-sasl-2.1.26/include/sasl.h 2012-10-12 09:05:48.000000000 -0500
++++ cyrus-sasl-2.1.26/include/sasl.h 2013-01-31 13:21:04.007739327 -0600
+@@ -223,6 +223,8 @@ extern "C" {
+ * they must be called before all other SASL functions:
+ */
+
++#include <sys/types.h>
++
+ /* memory allocation functions which may optionally be replaced:
+ */
+ typedef void *sasl_malloc_t(size_t);