aboutsummaryrefslogtreecommitdiffstats
path: root/security/cyrus-sasl
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>1999-12-29 15:06:27 +0800
committersteve <steve@FreeBSD.org>1999-12-29 15:06:27 +0800
commiteed38569069071dbdbf4391180936d8b834851b5 (patch)
tree9d53daeae5ddf62bf711be03a7dcfe2d15a62681 /security/cyrus-sasl
parent62bf0a93217032b54ba842d7a71477f80a447f46 (diff)
downloadfreebsd-ports-gnome-eed38569069071dbdbf4391180936d8b834851b5.tar.gz
freebsd-ports-gnome-eed38569069071dbdbf4391180936d8b834851b5.tar.zst
freebsd-ports-gnome-eed38569069071dbdbf4391180936d8b834851b5.zip
Use OpenSSL instaed of librc4 so this port's package can be exported.
Also incorporate Garrett Wollman's kerberos fixes. PR: 15732 Submitted by: maintainer
Diffstat (limited to 'security/cyrus-sasl')
-rw-r--r--security/cyrus-sasl/Makefile46
-rw-r--r--security/cyrus-sasl/files/patch-ab52
-rw-r--r--security/cyrus-sasl/pkg-descr25
-rw-r--r--security/cyrus-sasl/pkg-plist8
4 files changed, 87 insertions, 44 deletions
diff --git a/security/cyrus-sasl/Makefile b/security/cyrus-sasl/Makefile
index cd2faefb0cd9..298e22de1bfb 100644
--- a/security/cyrus-sasl/Makefile
+++ b/security/cyrus-sasl/Makefile
@@ -14,29 +14,35 @@ MASTER_SITES= ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \
MAINTAINER= hetzels@westbend.net
+BUILD_DEPENDS= openssl:${PORTSDIR}/security/openssl
+LIB_DEPENDS= crypto.1:${PORTSDIR}/security/openssl
+
SASL_VER= 1.5.13
+RESTRICTED= "Contains cryptography"
+
Y2K= http://asg.web.cmu.edu/cyrus/imapd/y2k.html
-MAN1= sasl_client.1 sasl_server.1
+MAN3= sasl_client.3 sasl_server.3
MAN8= saslpasswd.8
+USE_AUTOCONF= YES
USE_LIBTOOL= YES
CONFIGURE_ARGS= \
--prefix=${PREFIX} \
--sysconfdir=${PREFIX}/etc \
- --includedir=${PREFIX}/include/sasl \
--with-plugindir=${PREFIX}/lib/sasl \
- --enable-static \
--with-dbpath=${PREFIX}/etc/sasldb \
- --with-sample \
- --with-rc4
+ --includedir=${PREFIX}/include/sasl \
+ --enable-static \
+ --with-rc4=openssl
-# --disable-cram
+.if defined(KRB5_HOME) && exists(${KRB5_HOME})
+CONFIGURE_ARGS+= --enable-gssapi=${KRB5_HOME}
+.endif
-# Currently, pwcheck doesn't compile
-#CONFIGURE_ARGS+= \
-# --with-pwcheck=/var/pwcheck
+CONFIGURE_ARGS+= \
+ --with-pwcheck=/var/pwcheck
# --with-dbpath=PATH set the DB path to use [/etc/sasldb]
# --with-pam=DIR use PAM (rooted in DIR) [yes]
@@ -50,10 +56,6 @@ CONFIGURE_ARGS= \
# --enable-plain enable PLAIN authentication [yes]
# --with-rc4=DIR use rc4 (look in DIR) [yes]
-# Sample SASL Client/Server
-SAMPLES= sample-client sample-server
-INSTALL_PROG= ${INSTALL} -c -o root -g wheel -m 555
-
DOCS= README README.Y2K TODO INSTALL ChangeLog NEWS
DOC2= draft-newman-auth-scram-03.txt \
@@ -63,17 +65,7 @@ DOC2= draft-newman-auth-scram-03.txt \
HTDOCS= index programming sysadmin
-# Build the SASL library with RC4 support
-.if defined(USA_RESIDENT) && (${USA_RESIDENT} == YES)
-LIB_DEPENDS= rc4.0:${PORTSDIR}/security/librc4
-CONFIGURE_ARGS+= --with-rc4
-#CONFIGURE_ARGS+= --with-rc4=${PREFIX}
-.endif
-
post-install:
-.for file in ${SAMPLES}
- ${INSTALL_PROG} ${WRKSRC}/sample/${file} ${PREFIX}/sbin
-.endfor
@${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib
# ${INSTALL} -d -m 700 -o cyrus -g cyrus /var/pwcheck
.if !defined(NOPORTDOCS)
@@ -93,5 +85,13 @@ post-install:
@${ECHO} "@dirrm share/doc/SASL/html" >>${TMPPLIST}
@${ECHO} "@dirrm share/doc/SASL" >>${TMPPLIST}
.endif
+.if !defined(KRB5_HOME) || !exists(${KRB5_HOME})
+ ${GREP} -v libgssapiv2 ${TMPPLIST} > ${WRKDIR}/tmp.plist
+ ${MV} ${WRKDIR}/tmp.plist ${TMPPLIST}
+.endif
+.if !defined(MAKE_EBONES) || exists(/usr/lib/libkrb.a)
+ ${GREP} -v libkerberos4 ${TMPPLIST} > ${WRKDIR}/tmp.plist
+ ${MV} ${WRKDIR}/tmp.plist ${TMPPLIST}
+.endif
.include <bsd.port.mk>
diff --git a/security/cyrus-sasl/files/patch-ab b/security/cyrus-sasl/files/patch-ab
index f2fc798bd5c6..0b4cbade7bcf 100644
--- a/security/cyrus-sasl/files/patch-ab
+++ b/security/cyrus-sasl/files/patch-ab
@@ -1,21 +1,35 @@
---- lib/Makefile.in.orig Thu Dec 2 14:11:14 1999
-+++ lib/Makefile.in Sun Dec 26 16:54:42 1999
-@@ -75,6 +75,7 @@
- INSTALL = @INSTALL@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
- INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_LIB = @INSTALL_LIB@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- transform = @program_transform_name@
+--- configure.in.orig Thu Dec 2 14:10:30 1999
++++ configure.in Sat Dec 4 17:59:13 1999
+@@ -213,6 +213,7 @@
+ AC_CHECK_LIB(crypt, crypt,
+ LIB_CRYPT="-lcrypt"; cmu_have_crypt=yes,
+ cmu_have_crypt=no))
++AC_SUBST(LIB_CRYPT)
-@@ -190,8 +191,8 @@
- $(mkinstalldirs) $(DESTDIR)$(libdir)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
-- echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
-- $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
-+ echo "$(LIBTOOL) --mode=install $(INSTALL_LIB) $$p $(DESTDIR)$(libdir)/$$p"; \
-+ $(LIBTOOL) --mode=install $(INSTALL_LIB) $$p $(DESTDIR)$(libdir)/$$p; \
- else :; fi; \
- done
+ CMU_SOCKETS
+
+@@ -503,15 +504,22 @@
+ with_rc4=no)
+
+ if test "$with_rc4" = no; then
++
++ dnl if openssl has been compiled with the rsaref2 libraries,
++ dnl we need to include the rsaref libraries in the crypto check
++ LIB_RSAREF=""
++ AC_CHECK_LIB(rsaref, RSAPublicEncrypt,
++ LIB_RSAREF="-lRSAglue -lrsaref"; cmu_have_rsaref=yes,
++ cmu_have_rsaref=no)
++
+ AC_CHECK_LIB(crypto, RC4_set_key,
+ AC_CHECK_HEADER(openssl/rc4.h, [AC_DEFINE(WITH_SSL_RC4)
+ LIB_RC4="-lcrypto";
+ with_rc4="openssl"],
+ AC_WARN([SSL: Disabling rc4 support]);
+ with_rc4=no),
+- AC_WARN([SSL2: Disabling rc4 support]); with_rc4=no)
++ AC_WARN([SSL2: Disabling rc4 support]); with_rc4=no, $LIB_RSAREF)
+ fi
+-
+ LIBS="$cmu_save_LIBS"
+ fi
diff --git a/security/cyrus-sasl/pkg-descr b/security/cyrus-sasl/pkg-descr
index aabf743f0683..f7549fbbe0a7 100644
--- a/security/cyrus-sasl/pkg-descr
+++ b/security/cyrus-sasl/pkg-descr
@@ -8,4 +8,29 @@ protection of subsequent protocol interactions. If its use is
negotiated, a security layer is inserted between the protocol
and the connection.
+FEATURES
+--------
+The following mechanisms are included in this distribution:
+ANONYMOUS
+CRAM-MD5
+DIGEST-MD5
+GSSAPI (MIT Kerberos 5 or Heimdal Kerberos 5)
+KERBEROS_V4
+PLAIN
+
+The library can use a Berkeley DB, gdbm or ndbm file on the server
+side to store per-user authentication secrets. The utility saslpasswd
+has been included for adding authentication secrets to the file.
+
+PLAIN can either check /etc/passwd, Kerberos V4, use PAM, or the sasl
+secrets database. By default PAM is used if PAM is found, then
+Kerberos, finally /etc/passwd (non-shadow). This is tweakable in the
+configuration file. Please see
+"${PREFIX}/share/doc/sasl/sysadmin.html".
+
+The sample directory contains two programs which provide a reference
+for using the library, as well as making it easy to test a mechanism
+on the command line. See "${PREFIX}/share/doc/sasl/programming.html"
+for more information.
+
WWW: http://asg.web.cmu.edu/sasl/
diff --git a/security/cyrus-sasl/pkg-plist b/security/cyrus-sasl/pkg-plist
index 687b3f78bd8e..6c944edf1d6c 100644
--- a/security/cyrus-sasl/pkg-plist
+++ b/security/cyrus-sasl/pkg-plist
@@ -19,10 +19,14 @@ lib/sasl/libcrammd5.so.1
lib/sasl/libdigestmd5.a
lib/sasl/libdigestmd5.so
lib/sasl/libdigestmd5.so.0
+lib/sasl/libgssapiv2.a
+lib/sasl/libgssapiv2.so
+lib/sasl/libgssapiv2.so.1
+lib/sasl/libkerberos4.a
+lib/sasl/libkerberos4.so
+lib/sasl/libkerberos4.so.1
lib/sasl/libplain.a
lib/sasl/libplain.so
lib/sasl/libplain.so.1
@dirrm lib/sasl
sbin/saslpasswd
-sbin/sample-client
-sbin/sample-server