Bento fails to proberly package the port on -CURRENT due to -CURRENT no longer has libdes.* as the des functions have been moved to the libcrypto.* library. Fix: The attached patch corrects the above problem, as well as upgrades the port to 1.5.28. Changed Files: Makefile distinfo pkg-deinstall pkg-install pkg-plist files/patch-ab patch-saslauthd::Makefile.am files/pwcheck.sh files/saslauthd.sh scripts/configure.sasl New Files: files/cyrus_sasl1 Removed Files: files/patch-plugins::gssapi.c How-To-Repeat: Try to build the port on -CURRENT with /usr/lib/libkrb.* libraries installed. During the configure phase the DES functions will not be detected, and disable the KERBEROS_V4 mech. Then it will fail during package creation due to missing libkerberos4.* libraries.
State Changed From-To: open->feedback [~/ports/security/cyrus-sasl] edwin@ref5>MASTER_SITE_OVERRIDE=1 make fetch
From: "Edwin Groothuis" <edwin@FreeBSD.org> > [~/ports/security/cyrus-sasl] edwin@ref5>MASTER_SITE_OVERRIDE=1 make fetch > >> sasl-1.5.28-ldap-ssl-filter-mysql-patch.tgz doesn't seem to exist in /home/edwin/ports/distfiles/. > >> Attempting to fetch from http://www.surf.org.uk/downloads/. > Receiving sasl-1.5.28-ldap-ssl-filter-mysql-patch (9841 bytes): 100% > 9841 bytes transferred in 0.3 seconds (31.36 kBps) > [~/ports/security/cyrus-sasl] edwin@ref5>make checksum > >> Checksum OK for cyrus-sasl-1.5.28.tar.gz. > >> Checksum mismatch for sasl-1.5.28-ldap-ssl-filter-mysql-patch.tgz. > >> Checksum OK for sasl_apop_patch.gz. > >> Checksum OK for cyrus-sasl-1.5.28-ipv6-20020106.diff.gz. > > > Can you please verify that file? > The file at surf.org is missing a patch to correct a SIG 11 problem when alias_deref is not defined in imapd.conf. I have notified Simon of the problem, and hopefully he'll update the patch at his website. Scot diff -ruN ldap-mysql_sasl-1.5.28.orig/ChangeLog ldap-mysql_sasl-1.5.28/ChangeLog --- ldap-mysql_sasl-1.5.28.orig/ChangeLog Thu Oct 31 09:56:55 2002 +++ ldap-mysql_sasl-1.5.28/ChangeLog Mon Sep 9 23:30:34 2002 @@ -1,9 +1,3 @@ -31-10-2002 - Scot Hetzel - - If ldap_alias_deref wasn't defined in the imapd.conf file, the check - would cause a sig 11 due to a null pointer was assigned to 'alias_deref' - in lib/checkpw.c. Fix provided by: Thomas Klein <gourdin@gcu-squad.org> - 09-09-2002 - Scot Hetzel Update to patch against 1.5.28 diff -ruN ldap-mysql_sasl-1.5.28.orig/sasl-ldap+mysql.patch ldap-mysql_sasl-1.5.28/sasl-ldap+mysql.patch --- ldap-mysql_sasl-1.5.28.orig/sasl-ldap+mysql.patch Thu Oct 31 09:53:23 2002 +++ ldap-mysql_sasl-1.5.28/sasl-ldap+mysql.patch Mon Sep 9 23:50:06 2002 @@ -785,11 +785,11 @@ + + if (!alias_deref || *alias_deref == 'n' || *alias_deref =='N') + { ldap_deref=LDAP_DEREF_NEVER; } -+ else if (*alias_deref == 's' || *alias_deref =='S') ++ if (*alias_deref == 's' || *alias_deref =='S') + { ldap_deref=LDAP_DEREF_SEARCHING; } -+ else if (*alias_deref == 'f' || *alias_deref =='F') ++ if (*alias_deref == 'f' || *alias_deref =='F') + { ldap_deref=LDAP_DEREF_FINDING; } -+ else if (*alias_deref == 'a' || *alias_deref =='A') ++ if (*alias_deref == 'a' || *alias_deref =='A') + { ldap_deref=LDAP_DEREF_ALWAYS; } + /* test for ssl mode */ + /* this will only work with openldap > v2
Simon at surf.org has uploaded the corrected sasl-1.5.28-ldap-ssl-filter-mysql-patch.tgz file. It now has an md5 of 1cb8cd37573b6baa91339bcef2912e1a. You'll need to use makesum to update distinfo. Scot
This was also mistakenly submitted to PR ports/3671. I cvsupped to 1.5.28 and still get errors on FreeBSD 4.8-PRELEASE # New ports collection makefile for: cyrus-sasl # Date created: Nov 1 1999 # Whom: hetzels@westbend.net # # $FreeBSD: ports/security/cyrus-sasl/Makefile,v 1.48 2003/02/21 13:26:42 knu Exp $ # PORTNAME= cyrus-sasl PORTVERSION= 1.5.28 .... FreeBSD sco 4.8-PRERELEASE FreeBSD 4.8-PRERELEASE #1: Fri Feb 21 15:02:50 CET 2003 pine@sco:/usr/obj/usr/src/sys/SCO i386 ... creating libdigestmd5.la (cd .libs && rm -f libdigestmd5.la && ln -s ../libdigestmd5.la libdigestmd5.la) /bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/local/includee/db3 -I/usr/include/openssl -I/usr/local/include -Wall -W -O -pipe -c kerberos4.c rm -f .libs/kerberos4.lo cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/local/include/db3 -I/usr/include/openssl -I/usr//local/include -Wall -W -O -pipe -c kerberos4.c -fPIC -DPIC -o .libs/kerberos4.lo kerberos4.c:731: unterminated macro call kerberos4.c:1402: warning: preprocessing directive not recognized within macro arg kerberos4.c:1402: warning: preprocessing directive not recognized within macro arg kerberos4.c:730: unterminated `#if' conditional In file included from /usr/include/krb.h:355, from kerberos4.c:48: /usr/include/krb-protos.h:182: warning: `struct des_ks_struct' declared inside parameter list /usr/include/krb-protos.h:182: warning: its scope is only this definition or declaration, which is pprobably not what you want. /usr/include/krb-protos.h:455: warning: `struct des_ks_struct' declared inside parameter list /usr/include/krb-protos.h:533: warning: `struct des_ks_struct' declared inside parameter list /usr/include/krb-protos.h:573: warning: `struct des_ks_struct' declared inside parameter list /usr/include/krb-protos.h:589: warning: `struct des_ks_struct' declared inside parameter list kerberos4.c: In function `privacy_encode': kerberos4.c:195: incompatible type for argument 4 of `krb_mk_priv' kerberos4.c:195: warning: passing arg 6 of `krb_mk_priv' from incompatible pointer type kerberos4.c:195: warning: passing arg 7 of `krb_mk_priv' from incompatible pointer type kerberos4.c: In function `privacy_decode': kerberos4.c:279: incompatible type for argument 3 of `krb_rd_priv' kerberos4.c:279: warning: passing arg 5 of `krb_rd_priv' from incompatible pointer type kerberos4.c:279: warning: passing arg 6 of `krb_rd_priv' from incompatible pointer type kerberos4.c: In function `integrity_encode': kerberos4.c:344: warning: passing arg 5 of `krb_mk_safe' from incompatible pointer type kerberos4.c:344: warning: passing arg 6 of `krb_mk_safe' from incompatible pointer type kerberos4.c: In function `integrity_decode': kerberos4.c:426: warning: passing arg 4 of `krb_rd_safe' from incompatible pointer type kerberos4.c:426: warning: passing arg 5 of `krb_rd_safe' from incompatible pointer type kerberos4.c: In function `server_continue_step': kerberos4.c:733: undefined or invalid # directive kerberos4.c:736: undefined or invalid # directive kerberos4.c:740: warning: passing arg 1 of `DES_pcbc_encrypt' from incompatible pointer type kerberos4.c:740: warning: passing arg 2 of `DES_pcbc_encrypt' from incompatible pointer type kerberos4.c:740: syntax error before `;' kerberos4.c:742: syntax error before `;' kerberos4.c:712: warning: `testnum' might be used uninitialized in this function kerberos4.c: At top level: kerberos4.c:870: syntax error before `)' kerberos4.c:871: invalid lvalue in unary `&' kerberos4.c:871: initializer element is not constant kerberos4.c:871: (near initialization for `plugins[0].mech_name') kerberos4.c:873: syntax error before `)' kerberos4.c:867: warning: array `plugins' assumed to have one element kerberos4.c:503: warning: `server_start' defined but not used kerberos4.c:512: warning: `dispose' defined but not used kerberos4.c:521: warning: `mech_free' defined but not used kerberos4.c:560: warning: `server_continue_step' defined but not used *** Error code 1 Stop in /usr/ports/security/cyrus-sasl/work/cyrus-sasl-1.5.28/plugins. *** Error code 1 Stop in /usr/ports/security/cyrus-sasl/work/cyrus-sasl-1.5.28. *** Error code 1 Stop in /usr/ports/security/cyrus-sasl/work/cyrus-sasl-1.5.28. *** Error code 1 Stop in /usr/ports/security/cyrus-sasl. *** Error code 1 Stop in /usr/ports/security/cyrus-sasl. sco#
State Changed From-To: feedback->closed Commited, thanks!
From: "patrick" <patrick@cookie.monster.org> > This was also mistakenly submitted to PR ports/3671. > > I cvsupped to 1.5.28 and still get errors on FreeBSD 4.8-PRELEASE > : > /bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I.. > -I../include -I/usr/local/includee/db3 -I/usr/include/openssl > -I/usr/local/include -Wall -W -O -pipe -c kerberos4.c > rm -f .libs/kerberos4.lo > cc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/local/include/db3 > -I/usr/include/openssl -I/usr//local/include -Wall -W -O -pipe -c > kerberos4.c -fPIC -DPIC -o .libs/kerberos4.lo > kerberos4.c:731: unterminated macro call > kerberos4.c:1402: warning: preprocessing directive not recognized > within macro arg > kerberos4.c:1402: warning: preprocessing directive not recognized > within macro arg > kerberos4.c:730: unterminated `#if' conditional > In file included from /usr/include/krb.h:355, > from kerberos4.c:48: This problem is caused by the OpenSSL upgrade in 4.8, as the des_pcbc_encrypt function was changed to a macro, and a #if .. #else .. #endif, was being used to conditionalize the variable type used in the function.. A fix for this problem has been submitted to PR 48731. http://www.freebsd.org/cgi/query-pr.cgi?pr=48731 Scot
It looks to me libkerberos is still not built (at least on 4.8), see e.g.: http://bento.freebsd.org/errorlogs/i386-4-full-logs/cyrus-sasl-1.5.28.log.bz2 http://bento.freebsd.org/errorlogs/i386-4-full-logs/cyrus-sasl-2.1.12.log.bz2 checking for DES_cbc_encrypt in -lcrypto... yes checking for openssl/des.h... yes checking DIGEST-MD5... enabled checking KERBEROS_V4... disabled There are still references to -ldes that fail on 4.8-RELEASE. -- Emil Sit / MIT: LCS PDOS, SIPB, OLC / http://web.mit.edu/sit/www/