version bump.
authorTuan Van <langthang@gentoo.org>
Tue, 26 Oct 2004 22:34:12 +0000 (22:34 +0000)
committerTuan Van <langthang@gentoo.org>
Tue, 26 Oct 2004 22:34:12 +0000 (22:34 +0000)
dev-libs/cyrus-sasl/ChangeLog
dev-libs/cyrus-sasl/Manifest
dev-libs/cyrus-sasl/cyrus-sasl-2.1.20.ebuild [new file with mode: 0644]
dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.20-configdir.patch [new file with mode: 0644]
dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.20 [new file with mode: 0644]

index be7489f82c93105e71d6f677039c52354df1d34d..85429e5db883ec501c478647ee09ccf35418aad4 100644 (file)
@@ -1,6 +1,12 @@
 # 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.99 2004/10/19 08:27:12 absinthe Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.100 2004/10/26 22:34:12 langthang Exp $
+
+*cyrus-sasl-2.1.20 (26 Oct 2004)
+
+  26 Oct 2004; Tuan Van <langthang@gentoo.org>
+  +files/cyrus-sasl-2.1.20-configdir.patch, +cyrus-sasl-2.1.20.ebuild:
+  version bump.
 
   19 Oct 2004; Dylan Carlson <absinthe@gentoo.org>
   cyrus-sasl-2.1.19-r1.ebuild:
index 9b0a4dccd673b41439a57372ed66de10888450b1..dfd18708fd93dad3859758ca6a599fb4424a641c 100644 (file)
@@ -1,43 +1,56 @@
-MD5 9f9a9f52c9719371f1902a01ee6ac780 ChangeLog 18038
-MD5 fca787b36b2303a6d2e8b93aa4dfe018 cyrus-sasl-1.5.27-r5.ebuild 2672
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 MD5 0c36a223623cafbd54654c586cc4792e cyrus-sasl-1.5.27-r6.ebuild 2745
-MD5 7249a88df4e8bf01818b639cd5eddf5e cyrus-sasl-2.1.14.ebuild 3899
-MD5 118563c3516cf8075300c454145fe383 cyrus-sasl-2.1.17.ebuild 4234
-MD5 b61513de5e687711b55cba7fb5f33b7b cyrus-sasl-2.1.18.ebuild 4222
-MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
 MD5 04ab88578310e66a55032b38819541a1 cyrus-sasl-2.1.18-r2.ebuild 5427
 MD5 8914d9b1401d4f9d61c1d206f08a9957 cyrus-sasl-2.1.19-r1.ebuild 7160
-MD5 b398dd3696347604a52a40bf1a77291b files/2.1.14-db4.patch 2032
-MD5 a445d25ebbdf18b372340d4643736941 files/2.1.14-kerberos.patch 1148
-MD5 72c9252fd0ccb3fc369c60ec233f4218 files/2.1.14-mysql.patch 730
-MD5 4c6ffed2ba584f75a0c948250f7a11b7 files/cyrus-sasl-1.5.21-des.patch 242
+MD5 b61513de5e687711b55cba7fb5f33b7b cyrus-sasl-2.1.18.ebuild 4222
+MD5 fca787b36b2303a6d2e8b93aa4dfe018 cyrus-sasl-1.5.27-r5.ebuild 2672
+MD5 118563c3516cf8075300c454145fe383 cyrus-sasl-2.1.17.ebuild 4234
+MD5 7249a88df4e8bf01818b639cd5eddf5e cyrus-sasl-2.1.14.ebuild 3899
+MD5 3c9c7e794696a05423eee86cf0c833ef ChangeLog 18209
+MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
+MD5 c74314b1f01dd31196a0ca19d9854e09 cyrus-sasl-2.1.20.ebuild 7284
 MD5 5d8f83e453b4f7dff5eeee74335de870 files/cyrus-sasl-1.5.24-rpath.patch 448
-MD5 5f96ab675ae2ff1da8e0ee4503340df5 files/cyrus-sasl-1.5.27-scram.patch 480
-MD5 397ec1b24d4efe6efafa4782ba0f3493 files/cyrus-sasl-2.1.17-configdir.patch 8095
-MD5 b9ab0670db5b9b5a74de379c18e5370d files/cyrus-sasl-2.1.17-pgsql-include.patch 617
+MD5 4144a6962acfd7983cc292259375149d files/cyrus-sasl-2.1.20-configdir.patch 8231
 MD5 13c15e58d2fa734adeb718e4e3dea757 files/cyrus-sasl-2.1.18-db4.patch 1604
-MD5 75aaabf38cf470bae9a928a334c3cb59 files/cyrus-sasl-configdir.patch 8510
-MD5 228579b200f0a570f9c02d222f400672 files/cyrus-sasl-gcc32.patch 426
-MD5 692a355142b7cfb937cd8a3a655c0310 files/cyrus-sasl-heimdal-deps.patch 624
-MD5 9a317f7aa562936a829574f63aefce15 files/cyrus-sasl-saslauthd.patch 4938
+MD5 fcf540108971d5aaa0bbfba381971ca7 files/digest-cyrus-sasl-2.1.18-r2 70
+MD5 d6d8b3c7c3a2aacf656f970a043d3158 files/digest-cyrus-sasl-2.1.19-r1 70
+MD5 4a80034f8ee3149c898aab4492d9cff8 files/cyrus-sasl-2.1.18-sasl-path-fix.patch 529
 MD5 6690c1dc7a0e2c6219719eea1b367ab5 files/digest-cyrus-sasl-1.5.27-r5 69
 MD5 6690c1dc7a0e2c6219719eea1b367ab5 files/digest-cyrus-sasl-1.5.27-r6 69
-MD5 6ba386a4eb5f9addf367d41093ba369e files/digest-cyrus-sasl-2.1.14 70
-MD5 960ffd4d83e165ccaa68cf43937ff63d files/digest-cyrus-sasl-2.1.17 70
-MD5 fcf540108971d5aaa0bbfba381971ca7 files/digest-cyrus-sasl-2.1.18 70
-MD5 ba1fb0a42418f5a5bcf2577fb27a136e files/pwcheck.rc6 540
-MD5 a46ddb41677b9b08046d193d9db8a4bb files/saslauthd.conf 890
-MD5 7b24e99c21a5924543fe82cd82a1d741 files/saslauthd.pam 223
-MD5 c38995773eff23cf7f05b23fe7fba6d3 files/saslauthd.rc6 525
 MD5 fc0d11e115e65597419803dad9727aa8 files/saslauthd2.conf 752
-MD5 5d79108b7b67bd3af315e3142023fef5 files/saslauthd2.rc6 527
-MD5 cb4a5c5160219818e04196847ba9f7a1 files/cyrus-sasl-2.1.17-db4.patch 1451
-MD5 e8b9357dba2bde4dac0b1cf38d5942eb files/cyrus-sasl-2.1.18-cvs-1.172.patch 5056
 MD5 d6cb936d23646d9e5312d63d08f6f563 files/cyrus-sasl-2.1.18-pam_mysql.patch 1388
-MD5 4a80034f8ee3149c898aab4492d9cff8 files/cyrus-sasl-2.1.18-sasl-path-fix.patch 529
-MD5 fcf540108971d5aaa0bbfba381971ca7 files/digest-cyrus-sasl-2.1.18-r2 70
-MD5 4144a6962acfd7983cc292259375149d files/cyrus-sasl-2.1.19-configdir.patch 8231
-MD5 4a80034f8ee3149c898aab4492d9cff8 files/cyrus-sasl-2.1.19-sasl-path-fix.patch 529
+MD5 5f96ab675ae2ff1da8e0ee4503340df5 files/cyrus-sasl-1.5.27-scram.patch 480
+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 52645b3330ddad9ce06f2a0eebb8d345 files/saslauthd-2.1.19.conf 906
-MD5 d6d8b3c7c3a2aacf656f970a043d3158 files/digest-cyrus-sasl-2.1.19-r1 70
+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 bc046561db59ed3f4d0cc417b099c2f9 files/java.README.gentoo 934
+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
+MD5 b398dd3696347604a52a40bf1a77291b files/2.1.14-db4.patch 2032
+MD5 75aaabf38cf470bae9a928a334c3cb59 files/cyrus-sasl-configdir.patch 8510
+MD5 692a355142b7cfb937cd8a3a655c0310 files/cyrus-sasl-heimdal-deps.patch 624
+MD5 397ec1b24d4efe6efafa4782ba0f3493 files/cyrus-sasl-2.1.17-configdir.patch 8095
+MD5 e8b9357dba2bde4dac0b1cf38d5942eb files/cyrus-sasl-2.1.18-cvs-1.172.patch 5056
+MD5 6ba386a4eb5f9addf367d41093ba369e files/digest-cyrus-sasl-2.1.14 70
+MD5 960ffd4d83e165ccaa68cf43937ff63d files/digest-cyrus-sasl-2.1.17 70
+MD5 fcf540108971d5aaa0bbfba381971ca7 files/digest-cyrus-sasl-2.1.18 70
+MD5 c355c365d74408c00cdaa25beea6d4f7 files/digest-cyrus-sasl-2.1.20 70
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.2.6 (GNU/Linux)
+
+iD8DBQFBftcK5FrxP71izLARAj+LAJoDiF/+Rei1XvydUXzb4uO8/vR4QgCfT8bN
+aneEpBz9tMWkR1BP9WvO8/Y=
+=mExA
+-----END PGP SIGNATURE-----
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.20.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.20.ebuild
new file mode 100644 (file)
index 0000000..456acc5
--- /dev/null
@@ -0,0 +1,222 @@
+# 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.20.ebuild,v 1.1 2004/10/26 22:34:12 langthang Exp $
+
+inherit eutils gnuconfig flag-o-matic java-pkg
+
+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="berkdb gdbm ldap mysql postgres kerberos static ssl java pam authdaemond"
+
+RDEPEND="virtual/libc
+       berkdb? ( >=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 )
+       authdaemond? ( >=net-mail/courier-imap-3.0.7 )
+       java? ( virtual/jdk )"
+DEPEND="${RDEPEND}
+       >=sys-apps/sed-4
+       >=sys-devel/autoconf-2.58
+       sys-devel/automake
+       sys-devel/libtool"
+
+pkg_setup() {
+       if use gdbm && use berkdb; then
+               echo
+               ewarn "You have both \"gdbm\" and \"berkdb\" in your USE flags."
+               ewarn "Will default to GNU DB as your SASLdb database backend."
+               ewarn "If you want to build with Berkeley DB support; hit Control-C now."
+               ewarn "Change your USE flag -gdbm and emerge again."
+               echo
+               has_version ">=sys-apps/portage-2.0.50" && (
+               einfo "It would be best practice to add the set of USE flags that you use for this"
+               einfo "package to the file: /etc/portage/package.use. Example:"
+               einfo "\`echo \"dev-libs/cyrus-sasl -gdbm berkdb\" >> /etc/portage/package.use\`"
+               einfo "to build cyrus-sasl with Berkeley database as your SASLdb backend."
+               )
+               echo
+               ewarn "Waiting 10 seconds before starting..."
+               ewarn "(Control-C to abort)..."
+               epause 10
+       fi
+
+       echo
+       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."
+       echo
+       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\`."
+       echo
+       einfo "Pause 10 seconds before continuing."
+       epause 10
+}
+
+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.
+       # Fixed upstream.
+       # epatch "${FILESDIR}/cyrus-sasl-2.1.18-db4.patch" || die "patch failed"
+
+       # Add configdir support.
+       epatch "${FILESDIR}/${P}-configdir.patch" || die "patch failed"
+
+       # Fix include path for newer PostgreSQL versions.
+       epatch "${FILESDIR}/cyrus-sasl-2.1.17-pgsql-include.patch" || die "patch failed"
+
+       # Add setuid/setgid check for SASL_PATH
+       # Fixed upstream.
+       # epatch "${FILESDIR}/${P}-sasl-path-fix.patch" || die "patch failed"
+
+       # Recreate configure.
+       export WANT_AUTOCONF="2.5"
+       rm -rf configure config.h.in autom4te.cache
+       ebegin "Recreating 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`"
+       myconf="${myconf} `use_with postgres pgsql` `use_enable postgres`"
+       myconf="${myconf} `use_enable java` `use_with java javahome ${JAVA_HOME}`"
+       # bug #56523. add authdaemond support.
+       myconf="${myconf} `use_with authdaemond`"
+
+       # fix for bug #59634. langthang 20040810.
+       if ! use ssl; then
+               myconf="${myconf} --without-des"
+       fi
+
+       if use mysql || use postgres ; then
+               myconf="${myconf} --enable-sql"
+       else
+               myconf="${myconf} --disable-sql"
+       fi
+
+       # default to GDBM if both 'gdbm' and 'berkdb' present.
+       if use gdbm; then
+               einfo "build with GNU DB as database backend for your SASLdb."
+               myconf="${myconf} --with-dblib=gdbm"
+       elif use berkdb ; then
+               einfo "build with Berkeley DB as database backend for your SASLdb."
+               myconf="${myconf} --with-dblib=berkeley"
+       else
+               einfo "build without SASLdb support"
+               myconf="${myconf} --with-dblib=none"
+       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.
+       # Parallel build doesn't like distcc?
+       if has distcc $FEATURES; then
+               einfo "You have \"distcc\" enabled"
+               einfo "build with MAKEOPTS=-j1"
+               emake -j1 || die "compile problem"
+       else
+               einfo "build with MAKEOPTS=$MAKEOPTS"
+               emake || die "compile problem"
+       fi
+
+       # Bug #60769. Default location for java classes breaks OpenOffice.
+       # Thanks to axxo@gentoo.org for the solution.
+       cd "${S}"
+       if use java; then
+               jar -cvf ${PN}.jar -C java $(find java -name "*.class")
+       fi
+
+       # Bug #58768. Add testsaslauthd.
+       cd "${S}/saslauthd"
+       emake testsaslauthd || die "failed to make"
+}
+
+src_install () {
+       #einstall
+       make DESTDIR=${D} install || die "failed to install."
+       keepdir /var/lib/sasl2 /etc/sasl2
+
+       # Bug #60769. Default location for java classes breaks OpenOffice.
+       if use java; then
+               java-pkg_dojar ${PN}.jar
+               #hackish, don't wanna dig though makefile
+               rm -rf ${D}/usr/lib/java
+               docinto java
+               dodoc ${S}/java/README ${FILESDIR}/java.README.gentoo ${S}/java/doc/*
+               mkdir ${D}/usr/share/doc/${PF}/java/Test/ \
+                       || die "failed to create ${D}/usr/share/doc/${PF}/java/Test/"
+               cp ${S}/java/Test/*.java ${D}/usr/share/doc/${PF}/java/Test/ \
+                       || die "failed to copy java files to ${D}/usr/share/doc/${PF}/java/Test/"
+       fi
+
+       # 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"
+
+       docinto ""
+       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
+       exeinto ${ROOT}/usr/sbin
+       newexe "${S}/saslauthd/testsaslauthd" testsaslauthd || \
+               die "failed to install testsaslauthd."
+}
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.20-configdir.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.20-configdir.patch
new file mode 100644 (file)
index 0000000..80510f7
--- /dev/null
@@ -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/digest-cyrus-sasl-2.1.20 b/dev-libs/cyrus-sasl/files/digest-cyrus-sasl-2.1.20
new file mode 100644 (file)
index 0000000..517d47f
--- /dev/null
@@ -0,0 +1 @@
+MD5 268ead27f4ac39bcfe17d9e38e0f2977 cyrus-sasl-2.1.20.tar.gz 1775163