fix PLAIN and LOGIN with no auxprop - bug #392761
authorEray Aslan <eras@gentoo.org>
Thu, 12 Jan 2012 07:34:48 +0000 (07:34 +0000)
committerEray Aslan <eras@gentoo.org>
Thu, 12 Jan 2012 07:34:48 +0000 (07:34 +0000)
Package-Manager: portage-2.1.10.44/cvs/Linux x86_64

dev-libs/cyrus-sasl/ChangeLog
dev-libs/cyrus-sasl/Manifest
dev-libs/cyrus-sasl/cyrus-sasl-2.1.25-r1.ebuild [new file with mode: 0644]
dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch [new file with mode: 0644]

index 13ecfbb565c08fb3622afa32ce34a8b48858faa7..0d40b3caf9227e49676ae812e56e8b33ed41c5a9 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-libs/cyrus-sasl
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.240 2012/01/04 22:04:05 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/cyrus-sasl/ChangeLog,v 1.241 2012/01/12 07:34:48 eras Exp $
+
+*cyrus-sasl-2.1.25-r1 (12 Jan 2012)
+
+  12 Jan 2012; Eray Aslan <eras@gentoo.org> +cyrus-sasl-2.1.25-r1.ebuild,
+  +files/cyrus-sasl-2.1.25-auxprop.patch:
+  fix PLAIN and LOGIN with no auxprop - bug #392761
 
   04 Jan 2012; Brent Baude <ranger@gentoo.org> cyrus-sasl-2.1.23-r6.ebuild:
   Marking cyrus-sasl-2.1.23-r6 ppc for bug 393387
index 26a521594329cbe0e275b52348b08cd34dab583e..d4065f4c7bd2023e1bfffe5395282fda6ff45328 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
 AUX cyrus-sasl-0001_versioned_symbols.patch 914 RMD160 dc3a5ed8dccc445aeec2567899667b63ee8ed6d9 SHA1 7e37dc17c2faa8ab85f9df5613f43ddbd2371f79 SHA256 d64669070f4d19d884eaeb7d2b3b66987a714c2dda462bbbc4bcf452b705c3e0
 AUX cyrus-sasl-0002_testsuite.patch 1055 RMD160 6567c8af51b9e0f14b2bc6c1f187a464dcdea3bb SHA1 5c2719c1644e482a384e73b6fb8c1794d7d733b7 SHA256 d7fff57482c2a9b148296ec680327d0cbd5254ed0a0bc99f46e2dc73758a6abc
 AUX cyrus-sasl-0006_library_mutexes.patch 805 RMD160 7f040e7120085f9289992029f3194cce88a6dd3b SHA1 975763dac218e41fdad130b46bb2f9d11a4a0053 SHA256 c1b955a6e9873284d27a1df62cc8952d5dbca0ea729ba326aa6f8b4ed1a96c6e
@@ -22,6 +25,7 @@ AUX cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch 782 RMD160 930990ff787097
 AUX cyrus-sasl-2.1.23-rimap-loop.patch 783 RMD160 782c5ce77301810082c691c92a93e801a4aeb9ea SHA1 8d59617754aa100ff1e1af4c15429c75e60f63ac SHA256 1d07d64b79960f026bbf271222a985bbe39ad465dab157f0cd5fbffde5622a5d
 AUX cyrus-sasl-2.1.25-as_needed.patch 1083 RMD160 4f34faa35edc56ec7fa1a633910783771f94d6c9 SHA1 53d74861066548994c226c2bab18b5eb458bed7b SHA256 5143036f20fdc1ff0b44b73b6d245392edc2f786d74730fc0f8f75d7b40ea5c6
 AUX cyrus-sasl-2.1.25-autotools_fixes.patch 3926 RMD160 acfabca571aa6b1e11a43aa5c554e7871a2d69cc SHA1 f38fd73e69f0a4814ef284dbdca879ea5c1d468e SHA256 390aef512c359ae3eee9d1c781ab9586b71b98e4b8961594de0872b09acfbea2
+AUX cyrus-sasl-2.1.25-auxprop.patch 552 RMD160 9ddebea6a4121c4c16ac2c40195a90d0f9406eed SHA1 902a219a3f6f55601b9437e772534cafd53266b6 SHA256 d9f63e60aa664f064755151fb5aa442ed52a3053057b5a63f2d88c937906dc7c
 AUX cyrus-sasl-2.1.25-avoid_pic_overwrite.patch 1076 RMD160 92c643a3525a6a700a7e4292e2291414d2b080cc SHA1 40189113b15a04ace16805b413b73d0a097556ea SHA256 80cb9cf22b0507b503ff0cf6c5946a44eb5c3808e0a77e66d56d5a53e5e76fa7
 AUX cyrus-sasl-2.1.25-fix_heimdal.patch 601 RMD160 fc1f23e054b3b77124b7b52734dee828e9e663d7 SHA1 11c1553122ec6c146d0712ccd4c93b450c56fb4e SHA256 6285b2a9c0b9ab2590a4225ac1eb8d01678e6b0559141c274d4451def65b5283
 AUX cyrus-sasl-2.1.25-gssapi.patch 747 RMD160 7d3b222f8af73b121031a5a1d9faf8cc2e365e4d SHA1 a44cb88119447a5a4a3fc636dddffe1ac6c7b842 SHA256 0fc1bab93c3f5e2ead98f1ba480be776640f2e74b1908d8f8fa1936908e8dbec
@@ -43,6 +47,24 @@ EBUILD cyrus-sasl-2.1.23-r3.ebuild 8797 RMD160 cebad70f960d8af747f97edfa9691320a
 EBUILD cyrus-sasl-2.1.23-r4.ebuild 8807 RMD160 4f98323bb919e9e430b234126c802d08ccb25985 SHA1 b7a2be292909f542f67ba14a093954aac0e574f5 SHA256 c6203849a72e8ce8ac47bce99b30deca77b12b27a9290ad5cab67b27dd8ddc6b
 EBUILD cyrus-sasl-2.1.23-r5.ebuild 8882 RMD160 af8382e41ac63a672840122a275aa4cb7b658f05 SHA1 2205fded4b4d8a2fa8c94247911729b9a10ab3cd SHA256 ad9d3754b7edd0d6cd43f964f0d79494680b4061dbf3b15d5bb311ad099f4ccb
 EBUILD cyrus-sasl-2.1.23-r6.ebuild 8941 RMD160 901519b9676a850e17ce8cc61f2fafb90b6d45e7 SHA1 2ec206b3e3303f3b2af28c189f0f8657c0f994ce SHA256 ad5361572f4cc9734d07adfb676397ae849ebae14515e5641a606d146cde5975
+EBUILD cyrus-sasl-2.1.25-r1.ebuild 6552 RMD160 ecd693b7b01d76de9e08b7429209743339455d51 SHA1 8eeb1540896936ffbc8de9fcd0171dc467b8ce36 SHA256 1ad6e956c269d1a14d1c67055d01a7057b312cacc3e4232b9f17e9bf42f1e41e
 EBUILD cyrus-sasl-2.1.25.ebuild 6508 RMD160 58847e08212e983dae166bf9c098a91322370bde SHA1 6c41cf8714fb99c26373536185aaf4af4b0623da SHA256 29adcbd150b3bc73918a5fae7ab1bc81412f756122a6d76913579a3c5934c425
-MISC ChangeLog 40348 RMD160 9f38f79aba4a008fbb31776730210b17e05b1599 SHA1 52978fb5b8fe5800adf3d477409a09839e088d6b SHA256 155834dd5d1521e9be343053718990cb86f9753b9886080fad318d16b659c00b
+MISC ChangeLog 40552 RMD160 bb0cd14886a585a4205bb0081d85b85be04ed48a SHA1 b6f4a0b4e46c25757f1179243585f03659a7f43d SHA256 49367e12f34bc810467c2edc395872f8eb4075cf2dbcdc2d422e3d66f92a599d
 MISC metadata.xml 727 RMD160 c94e4a8f524c7d59bf22d538ee9f795ce41e33b6 SHA1 197a872854c2e307c7e19f9fa2f22492a7781b22 SHA256 6b9f368b484972e833084dba4aedf70c09767b816b57cb43a7c0945b8b11b497
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.18 (GNU/Linux)
+
+iQIcBAEBCAAGBQJPDo0eAAoJEHfx8XVYajsfOZcP/2nDwzKrTuv1CKeutDWNnIPP
+DUCTvKv7Gu4wHNDEm1LF9aEXYMReYIeC8T4RlCAGLQjSKl5+mWHb+mRq53pQB2ql
+kbee2pzLH8A0xglMT1uRu3799hRrnLOL6XcLhIM+Nm68Lbo4+23AT8boSRaO7RHT
+EZqTBccUBh4ZqKq1hV5n/bQqkenz3SYLZj6SLY7FxmHpko2caNkAmkiixxidMrSJ
+SaQ4WA+QJ1bHKZKAndf8tlBexOHfMC9k0zTngC5wboAxZ0Z17NaFjrkJLlWYndMk
+82philVBgi511H3/ifLNstzGBeWjGkxJna1KD9+jDD3ZV8cTgCrd5wYvqpKdAoVy
+uo+fGWw0JFFtN0wQTS763IT1+S6PwMCGtbjHhTQkCLdqFrj/Y0eZjHmfbU7RzYUE
+hg3ga7Y6NdQtcpx7BvYCmdBN3CsdpR/SF8OhU4JAx9ijsErJHtl3XUp9UEaqgxOz
+k8+xbJyQKnnLG6IjdrAqYNZZynJ5diTmGPNeKce9QUlGUjtl/7n800aQZWaXPtug
+6CZE3jJIbszcDmtEHM2WaS55YXvFnU+dG3qX80YntVdlC4OJ7X4J1b+lL50t6PJk
+xSo1ay/Fyjl0uMrvla5tJkJ5kzUGG+qY15ur/y28MximCzo/tueFVNJWa3ZwptCV
+KwSklgF7zZI2WFNgTJ6E
+=36UM
+-----END PGP SIGNATURE-----
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.25-r1.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.25-r1.ebuild
new file mode 100644 (file)
index 0000000..4d4b299
--- /dev/null
@@ -0,0 +1,215 @@
+# Copyright 1999-2012 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.25-r1.ebuild,v 1.1 2012/01/12 07:34:48 eras Exp $
+
+EAPI=4
+inherit eutils flag-o-matic multilib autotools pam java-pkg-opt-2 db-use
+
+SASLAUTHD_CONF_VER="2.1.21"
+
+DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)."
+HOMEPAGE="http://cyrusimap.web.cmu.edu/"
+SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample sqlite
+srp ssl static-libs urandom"
+
+DEPEND="authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
+       berkdb? ( >=sys-libs/db-3.2 )
+       gdbm? ( >=sys-libs/gdbm-1.8.0 )
+       kerberos? ( virtual/krb5 )
+       openldap? ( net-nds/openldap )
+       mysql? ( virtual/mysql )
+       pam? ( virtual/pam )
+       postgres? ( dev-db/postgresql-base )
+       sqlite? ( dev-db/sqlite:3 )
+       ssl? ( dev-libs/openssl )
+       java? ( >=virtual/jdk-1.4 )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+       java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-sasldb_al.patch
+       epatch "${FILESDIR}"/${P}-saslauthd_libtool.patch
+       epatch "${FILESDIR}"/${P}-avoid_pic_overwrite.patch
+       epatch "${FILESDIR}"/${P}-autotools_fixes.patch
+       epatch "${FILESDIR}"/${P}-as_needed.patch
+       epatch "${FILESDIR}"/${P}-missing_header.patch
+       epatch "${FILESDIR}"/${P}-gssapi.patch
+       epatch "${FILESDIR}"/${P}-lib_before_plugin.patch
+       epatch "${FILESDIR}"/${P}-fix_heimdal.patch
+       epatch "${FILESDIR}"/${P}-auxprop.patch
+       epatch "${FILESDIR}"/${PN}-2.1.23-gss_c_nt_hostbased_service.patch
+       epatch "${FILESDIR}"/${PN}-2.1.23+db-5.0.patch
+#      epatch "${FILESDIR}"/${P}-fix_dovecot_authentication.patch
+
+       # Use plugindir for sasldir
+       sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
+               "${S}"/plugins/Makefile.{am,in} || die "sed failed"
+
+       AT_M4DIR="${S}/cmulocal ${S}/config" eautoreconf
+}
+
+src_configure() {
+       append-flags -fno-strict-aliasing
+       append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
+
+       # Java support.
+       use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
+
+       local myconf
+
+       # Add authdaemond support (bug #56523).
+       if use authdaemond ; then
+               myconf="${myconf} --with-authdaemond=/var/lib/courier/authdaemon/socket"
+       fi
+
+       # Fix for bug #59634.
+       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' are present.
+       if use gdbm ; then
+               einfo "Building with GNU DB as database backend for your SASLdb"
+               myconf="${myconf} --with-dblib=gdbm"
+       elif use berkdb ; then
+               einfo "Building with BerkeleyDB as database backend for your SASLdb"
+               myconf="${myconf} --with-dblib=berkeley --with-bdb-incdir=$(db_includedir)"
+       else
+               einfo "Building without SASLdb support"
+               myconf="${myconf} --with-dblib=none"
+       fi
+
+       # Use /dev/urandom instead of /dev/random (bug #46038).
+       if use urandom ; then
+               myconf="${myconf} --with-devrandom=/dev/urandom"
+       fi
+
+       econf \
+               --enable-login \
+               --enable-ntlm \
+               --enable-auth-sasldb \
+               --disable-cmulocal \
+               --disable-krb4 \
+               --enable-otp \
+               --without-sqlite \
+               --with-saslauthd=/var/lib/sasl2 \
+               --with-pwcheck=/var/lib/sasl2 \
+               --with-configdir=/etc/sasl2 \
+               --with-plugindir=/usr/$(get_libdir)/sasl2 \
+               --with-dbpath=/etc/sasl2/sasldb2 \
+               $(use_with ssl openssl) \
+               $(use_with pam) \
+               $(use_with openldap ldap) \
+               $(use_enable ldapdb) \
+               $(use_enable sample) \
+               $(use_enable kerberos gssapi) \
+               $(use_enable java) \
+               $(use_with java javahome ${JAVA_HOME}) \
+               $(use_with mysql) \
+               $(use_with postgres pgsql) \
+               $(use_with sqlite sqlite3 /usr/$(get_libdir)) \
+               $(use_enable srp) \
+               $(use_enable static-libs static) \
+               ${myconf}
+}
+
+src_compile() {
+       emake
+
+       # Default location for java classes breaks OpenOffice (bug #60769).
+       # 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
+
+       # Add testsaslauthd (bug #58768).
+       cd "${S}/saslauthd"
+       emake testsaslauthd
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+       keepdir /var/lib/sasl2 /etc/sasl2
+
+       if use sample ; then
+               docinto sample
+               dodoc sample/*.c
+               exeinto /usr/share/doc/${P}/sample
+               doexe sample/client sample/server
+       fi
+
+       # Default location for java classes breaks OpenOffice (bug #60769).
+       if use java ; then
+               java-pkg_dojar ${PN}.jar
+               java-pkg_regso "${D}/usr/$(get_libdir)/libjavasasl.so"
+               # hackish, don't wanna dig through makefile
+               rm -Rf "${D}/usr/$(get_libdir)/java"
+               docinto "java"
+               dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
+               dodir "/usr/share/doc/${PF}/java/Test"
+               insinto "/usr/share/doc/${PF}/java/Test"
+               doins "${S}"/java/Test/*.java
+       fi
+
+       docinto ""
+       dodoc AUTHORS ChangeLog NEWS README doc/TODO doc/*.txt
+       newdoc pwcheck/README README.pwcheck
+       dohtml doc/*.html
+
+       docinto "saslauthd"
+       dodoc saslauthd/{AUTHORS,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
+
+       newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
+
+       newinitd "${FILESDIR}/pwcheck.rc6" pwcheck
+
+       newinitd "${FILESDIR}/saslauthd2.rc6" saslauthd
+       newconfd "${FILESDIR}/saslauthd-${SASLAUTHD_CONF_VER}.conf" saslauthd
+
+       newsbin "${S}/saslauthd/testsaslauthd" testsaslauthd
+
+       use static-libs || find "${D}"/usr/lib*/sasl2 -name 'lib*.la' -delete
+}
+
+pkg_preinst() {
+       preserve_old_lib /usr/$(get_libdir)/libsasl2.so.2.0.23
+}
+
+pkg_postinst () {
+       # Generate an empty sasldb2 with correct permissions.
+       if ( use berkdb || use gdbm ) && [[ ! -f "${ROOT}/etc/sasl2/sasldb2" ]] ; then
+               einfo "Generating an empty sasldb2 with correct permissions ..."
+               echo "p" | "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -p login \
+                       || die "Failed to generate sasldb2"
+               "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -d login \
+                       || die "Failed to delete temp user"
+               chown root:mail "${ROOT}/etc/sasl2/sasldb2" \
+                       || die "Failed to chown ${ROOT}/etc/sasl2/sasldb2"
+               chmod 0640 "${ROOT}/etc/sasl2/sasldb2" \
+                       || die "Failed to chmod ${ROOT}/etc/sasl2/sasldb2"
+       fi
+
+       if use authdaemond ; then
+               elog "You need to add a user running a service using Courier's"
+               elog "authdaemon to the 'mail' group. For example, do:"
+               elog "  gpasswd -a postfix mail"
+               elog "to add the 'postfix' user to the 'mail' group."
+       fi
+
+       preserve_old_lib_notify /usr/$(get_libdir)/libsasl2.so.2.0.23
+}
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-auxprop.patch
new file mode 100644 (file)
index 0000000..a9dd147
--- /dev/null
@@ -0,0 +1,16 @@
+https://bugzilla.cyrusimap.org/show_bug.cgi?id=3590
+https://bugs.gentoo.org/show_bug.cgi?id=392761
+
+--- cyrus-sasl-2.1.25/lib/auxprop.c~   2011-10-20 17:33:46.423015318 +0200
++++ cyrus-sasl-2.1.25/lib/auxprop.c    2011-10-20 17:48:49.336348654 +0200
+@@ -971,6 +971,10 @@
+     }
+     if(!found) {
++      /* compatibility with <= 2.1.23, ignore the lack of auxrop plugin */
++      if (!plist)
++          result = SASL_OK;
++      else
+       _sasl_log(sparams->utils->conn, SASL_LOG_DEBUG,
+                 "could not find auxprop plugin, was searching for '%s'",
+                 plist ? plist : "[all]");