summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTuan Van <langthang@gentoo.org>2004-07-16 23:53:38 +0000
committerTuan Van <langthang@gentoo.org>2004-07-16 23:53:38 +0000
commit90e5c60605618a91477c6c0ecbc4571e5862edf6 (patch)
tree1932703bfd577ce883b567f5028fef9d008b23f6 /dev-libs/cyrus-sasl
parentFix HOMEPAGE in x11-plugins/wmnet-1.06 ebuild, closing #42381 (Manifest recom... (diff)
downloadgentoo-2-90e5c60605618a91477c6c0ecbc4571e5862edf6.tar.gz
gentoo-2-90e5c60605618a91477c6c0ecbc4571e5862edf6.tar.bz2
gentoo-2-90e5c60605618a91477c6c0ecbc4571e5862edf6.zip
version bump.
Diffstat (limited to 'dev-libs/cyrus-sasl')
-rw-r--r--dev-libs/cyrus-sasl/ChangeLog10
-rw-r--r--dev-libs/cyrus-sasl/Manifest5
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.19.ebuild153
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-configdir.patch235
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-sasl-path-fix.patch15
-rw-r--r--dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.191
-rw-r--r--dev-libs/cyrus-sasl/files/saslauthd-2.1.19.conf25
7 files changed, 443 insertions, 1 deletions
diff --git a/dev-libs/cyrus-sasl/ChangeLog b/dev-libs/cyrus-sasl/ChangeLog
index 78dfa916d6e1..175198c07650 100644
--- a/dev-libs/cyrus-sasl/ChangeLog
+++ b/dev-libs/cyrus-sasl/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-libs/cyrus-sasl
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.85 2004/07/08 02:12:57 merlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.86 2004/07/16 23:53:38 langthang Exp $
+
+*cyrus-sasl-2.1.19 (16 Jul 2004)
+
+ 16 Jul 2004; Tuan Van <langthang@gentoo.org>
+ +files/cyrus-sasl-2.1.19-configdir.patch,
+ +files/cyrus-sasl-2.1.19-sasl-path-fix.patch, +files/saslauthd-2.1.19.conf,
+ +cyrus-sasl-2.1.19.ebuild:
+ version bump.
*cyrus-sasl-2.1.18-r2 (07 Jul 2004)
diff --git a/dev-libs/cyrus-sasl/Manifest b/dev-libs/cyrus-sasl/Manifest
index 375563245a82..20138ccb7f35 100644
--- a/dev-libs/cyrus-sasl/Manifest
+++ b/dev-libs/cyrus-sasl/Manifest
@@ -4,6 +4,7 @@ MD5 b61513de5e687711b55cba7fb5f33b7b cyrus-sasl-2.1.18.ebuild 4222
MD5 9bec5bcd49985c0721eec238b54ccc3d cyrus-sasl-2.1.15.ebuild 3747
MD5 fca787b36b2303a6d2e8b93aa4dfe018 cyrus-sasl-1.5.27-r5.ebuild 2672
MD5 118563c3516cf8075300c454145fe383 cyrus-sasl-2.1.17.ebuild 4234
+MD5 c6600b350c39087dcbde1e7e317b053d cyrus-sasl-2.1.19.ebuild 4577
MD5 7249a88df4e8bf01818b639cd5eddf5e cyrus-sasl-2.1.14.ebuild 3899
MD5 b81fb50c2622757c7502312acadbe997 ChangeLog 15985
MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
@@ -20,11 +21,14 @@ MD5 4c6ffed2ba584f75a0c948250f7a11b7 files/cyrus-sasl-1.5.21-des.patch 242
MD5 72c9252fd0ccb3fc369c60ec233f4218 files/2.1.14-mysql.patch 730
MD5 a445d25ebbdf18b372340d4643736941 files/2.1.14-kerberos.patch 1148
MD5 b9ab0670db5b9b5a74de379c18e5370d files/cyrus-sasl-2.1.17-pgsql-include.patch 617
+MD5 7b6a1d56fe0fc70c059db7e62f26f3a6 files/saslauthd-2.1.19.conf 794
MD5 cb4a5c5160219818e04196847ba9f7a1 files/cyrus-sasl-2.1.17-db4.patch 1451
MD5 7b24e99c21a5924543fe82cd82a1d741 files/saslauthd.pam 223
MD5 c38995773eff23cf7f05b23fe7fba6d3 files/saslauthd.rc6 525
+MD5 4144a6962acfd7983cc292259375149d files/cyrus-sasl-2.1.19-configdir.patch 8231
MD5 228579b200f0a570f9c02d222f400672 files/cyrus-sasl-gcc32.patch 426
MD5 ba1fb0a42418f5a5bcf2577fb27a136e files/pwcheck.rc6 540
+MD5 4a80034f8ee3149c898aab4492d9cff8 files/cyrus-sasl-2.1.19-sasl-path-fix.patch 529
MD5 5d79108b7b67bd3af315e3142023fef5 files/saslauthd2.rc6 527
MD5 a46ddb41677b9b08046d193d9db8a4bb files/saslauthd.conf 890
MD5 9a317f7aa562936a829574f63aefce15 files/cyrus-sasl-saslauthd.patch 4938
@@ -37,3 +41,4 @@ MD5 6ba386a4eb5f9addf367d41093ba369e files/digest-cyrus-sasl-2.1.14 70
MD5 6109117a3ea3c1141364d60d212f48d9 files/digest-cyrus-sasl-2.1.15 70
MD5 960ffd4d83e165ccaa68cf43937ff63d files/digest-cyrus-sasl-2.1.17 70
MD5 fcf540108971d5aaa0bbfba381971ca7 files/digest-cyrus-sasl-2.1.18 70
+MD5 d6d8b3c7c3a2aacf656f970a043d3158 files/digest-cyrus-sasl-2.1.19 70
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.19.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.19.ebuild
new file mode 100644
index 000000000000..6be8a9d3fa79
--- /dev/null
+++ b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.19.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/cyrus-sasl-2.1.19.ebuild,v 1.1 2004/07/16 23:53:38 langthang Exp $
+
+inherit eutils flag-o-matic gnuconfig
+
+DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
+HOMEPAGE="http://asg.web.cmu.edu/sasl/"
+SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="2"
+KEYWORDS="x86 ~ppc sparc ~mips alpha ~arm ~hppa amd64 ia64 ~s390 ~ppc64"
+IUSE="gdbm ldap mysql postgres kerberos static ssl java pam"
+
+RDEPEND="virtual/libc
+ >=sys-libs/db-3.2
+ gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ ldap? ( >=net-nds/openldap-2.0.25 )
+ mysql? ( >=dev-db/mysql-3.23.51 )
+ postgres? ( >=dev-db/postgresql-7.2 )
+ pam? ( >=sys-libs/pam-0.75 )
+ ssl? ( >=dev-libs/openssl-0.9.6d )
+ kerberos? ( virtual/krb5 )
+ java? ( virtual/jdk )"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4
+ >=sys-devel/autoconf-2.58
+ sys-devel/automake
+ sys-devel/libtool"
+
+src_unpack() {
+ unpack ${A} && cd "${S}"
+
+
+ # Fix default port name for rimap auth mechanism.
+ sed -e '/define DEFAULT_REMOTE_SERVICE/s:imap:imap2:' \
+ -i saslauthd/auth_rimap.c || die "sed failed"
+
+ # DB4 detection and versioned symbols.
+ epatch "${FILESDIR}/cyrus-sasl-2.1.18-db4.patch"
+
+ # Add configdir support.
+ epatch "${FILESDIR}/${P}-configdir.patch"
+
+ # Fix include path for newer PostgreSQL versions.
+ epatch "${FILESDIR}/cyrus-sasl-2.1.17-pgsql-include.patch"
+
+ # Add setuid/setgid check for SASL_PATH
+ epatch "${FILESDIR}/${P}-sasl-path-fix.patch"
+
+ # Recreate configure.
+ export WANT_AUTOCONF="2.5"
+ rm -f configure config.h.in saslauthd/configure
+ ebegin "Recreating configure"
+ aclocal -I cmulocal -I config && autoheader && autoconf || \
+ die "recreate configure failed"
+ eend $?
+
+ cd "${S}/saslauthd"
+ ebegin "Recreating saslauthd/configure"
+ aclocal -I ../cmulocal -I ../config && autoheader && autoconf || \
+ die "recreate configure failed"
+ eend $?
+}
+
+src_compile() {
+ local myconf="--enable-login --enable-ntlm --disable-krb4 --disable-otp"
+ myconf="${myconf} `use_enable static`"
+ myconf="${myconf} `use_with ssl openssl`"
+ myconf="${myconf} `use_with pam`"
+ myconf="${myconf} `use_with ldap`"
+ myconf="${myconf} `use_enable kerberos gssapi`"
+ myconf="${myconf} `use_with mysql` `use_enable mysql sql`"
+ myconf="${myconf} `use_with postgres pgsql` `use_enable postgres sql`"
+ myconf="${myconf} `use_enable java` `use_with java javahome ${JAVA_HOME}`"
+
+ if use mysql || use postgres ; then
+ myconf="${myconf} --enable-sql"
+ else
+ myconf="${myconf} --disable-sql"
+ fi
+ if use gdbm ; then
+ myconf="${myconf} --with-dblib=gdbm"
+ else
+ myconf="${myconf} --with-dblib=berkeley"
+ fi
+
+ # Compaq-sdk checks for -D_REENTRANT and -pthread takes care the cpp stuff.
+ use alpha && append-flags -D_REENTRANT -pthread
+
+ # Detect mips systems properly.
+ gnuconfig_update
+
+ econf \
+ --with-saslauthd=/var/lib/sasl2 \
+ --with-pwcheck=/var/lib/sasl2 \
+ --with-configdir=/etc/sasl2 \
+ --with-plugindir=/usr/lib/sasl2 \
+ --with-dbpath=/etc/sasl2/sasldb2 \
+ ${myconf} || die "econf failed"
+
+ # Parallel build doesn't work.
+ emake -j1 || die "compile problem"
+}
+
+src_install () {
+ einstall
+ keepdir /var/lib/sasl2 /etc/sasl2
+
+ # Generate an empty sasldb2 with correct permissions.
+ LD_OLD="${LD_LIBRARY_PATH}"
+ export LD_LIBRARY_PATH="${D}/usr/lib" SASL_PATH="${D}/usr/lib/sasl2"
+ echo "p" | "${D}/usr/sbin/saslpasswd2" -f "${D}/etc/sasl2/sasldb2" -p login
+ "${D}/usr/sbin/saslpasswd2" -f "${D}/etc/sasl2/sasldb2" -d login
+ export LD_LIBRARY_PATH="${LD_OLD}"
+ chown root:mail "${D}/etc/sasl2/sasldb2"
+ chmod 0640 "${D}/etc/sasl2/sasldb2"
+
+ dodoc AUTHORS COPYING ChangeLog NEWS README doc/TODO doc/*.txt
+ newdoc pwcheck/README README.pwcheck
+ dohtml doc/*.html
+
+ docinto examples
+ dodoc sample/{*.[ch],Makefile}
+
+ docinto saslauthd
+ dodoc saslauthd/{AUTHORS,COPYING,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
+
+ if use pam ; then
+ insinto /etc/pam.d
+ newins "${FILESDIR}/saslauthd.pam" saslauthd
+ fi
+
+ exeinto /etc/init.d
+ newexe "${FILESDIR}/pwcheck.rc6" pwcheck
+ newexe "${FILESDIR}/saslauthd2.rc6" saslauthd
+ insinto /etc/conf.d
+ newins "${FILESDIR}/saslauthd-${PV}.conf" saslauthd
+}
+
+pkg_postinst() {
+ echo
+ einfo
+ einfo "This version include a "-r" option for saslauthd to instruct it to reassemble"
+ einfo "realm and username into a username of "user@realm" form."
+ einfo
+ einfo "If you are still using postfix->sasl->saslauthd->pam->mysql for"
+ einfo "authentication, please edit /etc/conf.d/saslauthd to read:"
+ einfo "SASLAUTHD_OPTS=\"\$\{SASLAUTH_MECH\} -a pam -r\""
+ einfo "Don't forget to restart the service: \`/etc/init.d/saslauthd restart\`."
+ einfo
+}
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-configdir.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-configdir.patch
new file mode 100644
index 000000000000..80510f70a595
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-configdir.patch
@@ -0,0 +1,235 @@
+diff -urN cyrus-sasl-2.1.17.orig/configure.in cyrus-sasl-2.1.17/configure.in
+--- cyrus-sasl-2.1.17.orig/configure.in Tue May 9 19:52:53 2000
++++ cyrus-sasl-2.1.17/configure.in Thu Jun 1 13:48:11 2000
+@@ -710,6 +710,13 @@
+ AC_DEFINE_UNQUOTED(PLUGINDIR, "$plugindir", [Runtime plugin location])
+ AC_SUBST(plugindir)
+
++AC_ARG_WITH(configdir, [ --with-configdir=DIR set the directory where config files will
++ be found [/etc/sasl] ],
++ configdir=$withval,
++ configdir=/etc/sasl)
++AC_DEFINE_UNQUOTED(CONFIGDIR, "$configdir", [Runtime config file location])
++AC_SUBST(configdir)
++
+ dnl look for rc4 libraries. we accept the CMU one or one from openSSL
+ AC_ARG_WITH(rc4, [ --with-rc4 use internal rc4 routines [yes] ],
+ with_rc4=$withval,
+@@ -1006,6 +1013,7 @@
+ #endif
+
+ #define SASL_PATH_ENV_VAR "SASL_PATH"
++#define SASL_CONF_PATH_ENV_VAR "SASL_CONF_PATH"
+
+ #include <stdlib.h>
+ #include <sys/types.h>
+diff -urN cyrus-sasl-2.1.17.orig/include/sasl.h cyrus-sasl-2.1.17/include/sasl.h
+--- cyrus-sasl-2.1.17.orig/include/sasl.h Tue May 9 19:52:53 2000
++++ cyrus-sasl-2.1.17/include/sasl.h Thu Jun 1 13:04:48 2000
+@@ -25,6 +25,7 @@
+ *
+ * Server only Callbacks:
+ * sasl_authorize_t user authorization policy callback
++ * sasl_getconfpath_t get path to search for config file
+ * sasl_server_userdb_checkpass check password and auxprops in userdb
+ * sasl_server_userdb_setpass set password in userdb
+ * sasl_server_canon_user canonicalize username routine
+@@ -439,6 +440,24 @@
+ const char *file, sasl_verify_type_t type);
+ #define SASL_CB_VERIFYFILE 4
+
++/* getconfpath callback -- this allows applications to specify the
++ * colon-separated path to search for config files (by default,
++ * taken from the SASL_CONF_PATH environment variable).
++ * inputs:
++ * context -- getconfpath context from the callback record
++ * outputs:
++ * path -- colon seperated path (allocated on the heap; the
++ * library will free it using the sasl_free_t *
++ * passed to sasl_set_callback, or the standard free()
++ * library call).
++ * returns:
++ * SASL_OK -- no error
++ * SASL_FAIL -- error
++ */
++typedef int sasl_getconfpath_t(void *context,
++ char **path);
++
++#define SASL_CB_GETCONFPATH 5
+
+ /* client/user interaction callbacks:
+ */
+diff -urN cyrus-sasl-2.1.17.orig/lib/common.c cyrus-sasl-2.1.17/lib/common.c
+--- cyrus-sasl-2.1.17.orig/lib/common.c Fri May 5 14:41:42 2000
++++ cyrus-sasl-2.1.17/lib/common.c Thu Jun 1 12:53:19 2000
+@@ -1047,6 +1047,20 @@
+ }
+
+ static int
++_sasl_getconfpath(void *context __attribute__((unused)),
++ char ** path_dest)
++{
++ char *path;
++
++ if (! path_dest)
++ return SASL_BADPARAM;
++ path = getenv(SASL_CONF_PATH_ENV_VAR);
++ if (! path)
++ path = CONFIGDIR;
++ return _sasl_strdup(path, path_dest, NULL);
++}
++
++static int
+ _sasl_verifyfile(void *context __attribute__((unused)),
+ char *file __attribute__((unused)),
+ int type __attribute__((unused)))
+@@ -1154,6 +1168,10 @@
+ *pproc = (int (*)()) &_sasl_getpath;
+ *pcontext = NULL;
+ return SASL_OK;
++ case SASL_CB_GETCONFPATH:
++ *pproc = (int (*)()) &_sasl_getconfpath;
++ *pcontext = NULL;
++ return SASL_OK;
+ case SASL_CB_AUTHNAME:
+ *pproc = (int (*)()) &_sasl_getsimple;
+ *pcontext = conn;
+@@ -1498,6 +1516,30 @@
+
+ return &default_getpath_cb;
+ }
++
++const sasl_callback_t *
++_sasl_find_getconfpath_callback(const sasl_callback_t *callbacks)
++{
++ static const sasl_callback_t default_getconfpath_cb = {
++ SASL_CB_GETCONFPATH,
++ &_sasl_getconfpath,
++ NULL
++ };
++
++ if (callbacks)
++ while (callbacks->id != SASL_CB_LIST_END)
++ {
++ if (callbacks->id == SASL_CB_GETCONFPATH)
++ {
++ return callbacks;
++ } else {
++ ++callbacks;
++ }
++ }
++
++ return &default_getconfpath_cb;
++}
++
+
+ const sasl_callback_t *
+ _sasl_find_verifyfile_callback(const sasl_callback_t *callbacks)
+diff -urN cyrus-sasl-2.1.17.orig/lib/saslint.h cyrus-sasl-2.1.17/lib/saslint.h
+--- cyrus-sasl-2.1.17.orig/lib/saslint.h Wed Mar 29 06:45:21 2000
++++ cyrus-sasl-2.1.17/lib/saslint.h Thu Jun 1 12:56:37 2000
+@@ -360,6 +360,9 @@
+ _sasl_find_getpath_callback(const sasl_callback_t *callbacks);
+
+ extern const sasl_callback_t *
++_sasl_find_getconfpath_callback(const sasl_callback_t *callbacks);
++
++extern const sasl_callback_t *
+ _sasl_find_verifyfile_callback(const sasl_callback_t *callbacks);
+
+ extern int _sasl_common_init(sasl_global_callbacks_t *global_callbacks);
+diff -urN cyrus-sasl-2.1.17.orig/lib/server.c cyrus-sasl-2.1.17/lib/server.c
+--- cyrus-sasl-2.1.17.orig/lib/server.c Tue May 9 19:52:53 2000
++++ cyrus-sasl-2.1.17/lib/server.c Thu Jun 1 12:59:03 2000
+@@ -462,7 +462,7 @@
+ size_t path_len;
+ char *config_filename=NULL;
+ size_t len;
+- const sasl_callback_t *getpath_cb=NULL;
++ const sasl_callback_t *getconfpath_cb=NULL;
+
+ /* If appname was not provided, behave as if there is no config file
+ (see also sasl_config_init() */
+@@ -471,12 +471,12 @@
+ }
+
+ /* get the path to the plugins; for now the config file will reside there */
+- getpath_cb=_sasl_find_getpath_callback( global_callbacks.callbacks );
+- if (getpath_cb==NULL) return SASL_BADPARAM;
++ getconfpath_cb=_sasl_find_getconfpath_callback( global_callbacks.callbacks );
++ if (getconfpath_cb==NULL) return SASL_BADPARAM;
+
+- /* getpath_cb->proc MUST be a sasl_getpath_t; if only c had a type
++ /* getconfpath_cb->proc MUST be a sasl_getconfpath_t; if only c had a type
+ system */
+- result = ((sasl_getpath_t *)(getpath_cb->proc))(getpath_cb->context,
++ result = ((sasl_getconfpath_t *)(getconfpath_cb->proc))(getconfpath_cb->context,
+ &path_to_config);
+ if (result!=SASL_OK) goto done;
+ if (path_to_config == NULL) path_to_config = "";
+diff -urN cyrus-sasl-2.1.17.orig/man/sasl_getconfpath_t.3 cyrus-sasl-2.1.17/man/sasl_getconfpath_t.3
+--- cyrus-sasl-2.1.17.orig/man/sasl_getconfpath_t.3 Thu Jan 1 01:00:00 1970
++++ cyrus-sasl-2.1.17/man/sasl_getconfpath_t.3 Thu Jun 1 13:54:07 2000
+@@ -0,0 +1,47 @@
++.\" Hey Emacs! This file is -*- nroff -*- source.
++.\"
++.\" This manpage is Copyright (C) 1999 Tim Martin
++.\"
++.\" Permission is granted to make and distribute verbatim copies of this
++.\" manual provided the copyright notice and this permission notice are
++.\" preserved on all copies.
++.\"
++.\" Permission is granted to copy and distribute modified versions of this
++.\" manual under the conditions for verbatim copying, provided that the
++.\" entire resulting derived work is distributed under the terms of a
++.\" permission notice identical to this one
++.\"
++.\" Formatted or processed versions of this manual, if unaccompanied by
++.\" the source, must acknowledge the copyright and authors of this work.
++.\"
++.\"
++.TH sasl_getpath_t "26 March 2000" SASL "SASL man pages"
++.SH NAME
++sasl_getconfpath_t \- The SASL callback to indicate location of the config files
++
++
++.SH SYNOPSIS
++.nf
++.B #include <sasl.h>
++
++.sp
++.BI "int sasl_getconfpath_t(void " *context ", "
++.BI " char ** " path ")";
++
++.fi
++.SH DESCRIPTION
++
++.B sasl_getconfpath_t
++is used if the application wishes to use a different location for the SASL cofiguration files. If this callback is not used SASL will either use the location in the enviornment variable SASL_CONF_PATH or /etc/sasl by default.
++.PP
++
++.SH "RETURN VALUE"
++
++SASL callback functions should return SASL return codes. See sasl.h for a complete list. SASL_OK indicates success.
++
++.SH "CONFORMING TO"
++RFC 2222
++.SH "SEE ALSO"
++.BR other sasl stuff
++.BR
++.BR
+\ No newline at end of file
+diff -urN cyrus-sasl-2.1.17.orig/win32/include/config.h cyrus-sasl-2.1.17/win32/include/config.h
+--- cyrus-sasl-2.1.17.orig/win32/include/config.h Tue May 9 19:52:53 2000
++++ cyrus-sasl-2.1.17/win32/include/config.h Thu Jun 1 13:07:47 2000
+@@ -91,7 +91,9 @@
+ #define HAVE_MEMCPY 1
+
+ #define SASL_PATH_ENV_VAR "SASL_PATH"
++#define SASL_CONF_PATH_ENV_VAR "SASL_CONF_PATH"
+ #define PLUGINDIR "C:\\CMU\\bin\\sasl2"
++#define CONFIGDIR "C:\\CMU\\config\\sasl2"
+
+ /* Windows calls these functions something else
+ */
+
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-sasl-path-fix.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-sasl-path-fix.patch
new file mode 100644
index 000000000000..060e87807137
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.19-sasl-path-fix.patch
@@ -0,0 +1,15 @@
+diff -Naur cyrus-sasl-2.1.18-orig/lib/common.c cyrus-sasl-2.1.18/lib/common.c
+--- cyrus-sasl-2.1.18-orig/lib/common.c 2004-03-10 10:51:35.000000000 -0500
++++ cyrus-sasl-2.1.18/lib/common.c 2004-07-07 21:20:21.953011443 -0400
+@@ -1794,7 +1794,10 @@
+ if (! path)
+ return SASL_BADPARAM;
+
+- *path = getenv(SASL_PATH_ENV_VAR);
++ /* Honor external variable only in a safe environment */
++ if (getuid() == geteuid() && getgid() == getegid())
++ *path = getenv(SASL_PATH_ENV_VAR);
++
+ if (! *path)
+ *path = PLUGINDIR;
+
diff --git a/dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.19 b/dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.19
new file mode 100644
index 000000000000..1d5b1431c9ca
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.19
@@ -0,0 +1 @@
+MD5 ea76410ad88fa7b6c17a6aac424382c9 cyrus-sasl-2.1.19.tar.gz 1537350
diff --git a/dev-libs/cyrus-sasl/files/saslauthd-2.1.19.conf b/dev-libs/cyrus-sasl/files/saslauthd-2.1.19.conf
new file mode 100644
index 000000000000..15e607225043
--- /dev/null
+++ b/dev-libs/cyrus-sasl/files/saslauthd-2.1.19.conf
@@ -0,0 +1,25 @@
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/files/saslauthd-2.1.19.conf,v 1.1 2004/07/16 23:53:38 langthang Exp $
+
+# Config file for /etc/init.d/saslauthd
+
+# Initial (empty) options.
+SASLAUTHD_OPTS=""
+
+# Specify the authentications mechanism.
+# *NOTE* For list see: saslauthd -v
+# From 2.1.19, add "-r" to options for old behavior
+# ie. reassemble user and realm to user@realm form.
+# SASLAUTHD_OPTS="${SASLAUTH_MECH} -a pam -r"
+SASLAUTHD_OPTS="${SASLAUTH_MECH} -a pam"
+
+# Specify the hostname for remote IMAP server.
+# *NOTE* Only needed if rimap auth mech is used.
+#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost"
+
+# Specify the number of worker processes to create.
+#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -n 5"
+
+# Enable credential cache, cache size, and timeout.
+# *NOTE* Size is measured in kilobytes
+# Timeout is measured in seconds
+#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -c -s 128 -t 30"