diff --git a/.cvsignore b/.cvsignore index 446a7c3..c1dd051 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,3 @@ cyrus-sasl-1.5.24.tar.gz +cyrus-sasl-1.5.28-BETA.tar.gz +cyrus-sasl-2.1.6.tar.gz diff --git a/cyrus-sasl.spec b/cyrus-sasl.spec index 512c801..c60be70 100644 --- a/cyrus-sasl.spec +++ b/cyrus-sasl.spec @@ -1,34 +1,35 @@ -# These define which plugins are built as subpackages. The gssapi definition -# also controls whether the plugin is even built. -# For RHL 6.2, gssapi = 1, md5 = 0, plain = 0. -# For RHL 7, gssapi = 1, md5 = 0, plain = 0. -# For RHL 7.1, gssapi = 1, md5 = 0, plain = 0. -# For RHL 7.2, gssapi = 1, md5 = 1, plain = 1. -%define gssapi 1 -%define md5 1 -%define plain 1 +%define cs1_version 1.5.28 +%define _plugindir %{_libdir}/sasl +%define _plugindir2 %{_libdir}/sasl2 Summary: The Cyrus SASL library. Name: cyrus-sasl -Version: 1.5.24 -Release: 25 +Version: 2.1.6 +Release: 1 License: Freely Distributable Group: System Environment/Libraries -Source: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz +Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz +Source1: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{cs1_version}-BETA.tar.gz +Source2: saslauthd.init +Source3: README.RPM +Source4: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-1.5.24.tar.gz URL: http://asg.web.cmu.edu/sasl/sasl-library.html Patch0: cyrus-sasl-1.5.21-des.patch Patch1: cyrus-sasl-1.5.24-external.patch Patch2: cyrus-sasl-1.5.24-syslog.patch -Patch3: cyrus-sasl-1.5.24-rpath.patch -Patch4: cyrus-sasl-1.5.24-autoconf.patch +Patch3: cyrus-sasl-1.5.24-autoconf.patch +Patch4: cyrus-sasl-1.5.24-rpath.patch +Patch5: cyrus-sasl-2.1.6-automake.patch +Patch6: cyrus-sasl-2.1.4-autoconf.patch +Patch7: cyrus-sasl-2.1.4-ipctype.patch Buildroot: %{_tmppath}/%{name}-root -BuildPrereq: autoconf, automake, libtool -BuildPrereq: gdbm-devel, krb5-devel, openssl-devel, pam-devel -Requires: pam -Prereq: /sbin/ldconfig +BuildPrereq: autoconf213, automake15, libtool +# Note: berkeley db for sasl2, gdbm for sasl1. +BuildPrereq: db4-devel, gdbm-devel, krb5-devel, openssl-devel, pam-devel +Prereq: /sbin/ldconfig, chkconfig, /sbin/service %description -The cyrus-sasl package contains the Cyrus implementation of SASL. +The %{name} package contains the Cyrus implementation of SASL. SASL is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. @@ -38,7 +39,7 @@ Group: Development/Libraries Summary: Files needed for developing applications with Cyrus SASL. %description devel -The cyrus-sasl-devel package contains files needed for developing and +The %{name}-devel package contains files needed for developing and compiling applications which use the Cyrus SASL library. %package gssapi @@ -47,7 +48,7 @@ Group: System Environment/Libraries Summary: GSSAPI support for Cyrus SASL. %description gssapi -The cyrus-sasl-gssapi package contains the Cyrus SASL plugins which +The %{name}-gssapi package contains the Cyrus SASL plugins which support GSSAPI authentication. GSSAPI is commonly used for Kerberos authentication. @@ -57,7 +58,7 @@ Group: System Environment/Libraries Summary: PLAIN and LOGIN support for Cyrus SASL. %description plain -The cyrus-sasl-plain package contains the Cyrus SASL plugins which support +The %{name}-plain package contains the Cyrus SASL plugins which support PLAIN and LOGIN authentication schemes. %package md5 @@ -66,105 +67,266 @@ Group: System Environment/Libraries Summary: CRAM-MD5 and DIGEST-MD5 support for Cyrus SASL. %description md5 -The cyrus-sasl-md5 package contains the Cyrus SASL plugins which support +The %{name}-md5 package contains the Cyrus SASL plugins which support CRAM-MD5 and DIGEST-MD5 authentication schemes. %prep -%setup -q -%patch0 -p1 -b .des -%patch1 -p1 -b .external -%patch2 -p1 -b .syslog -%patch3 -p1 -b .rpath -%patch4 -p1 -b .autoconf +%setup -q -c -a 1 +pushd cyrus-sasl-%{cs1_version} +# These patches are not needed for 1.5.28, but are needed in 1.5.24. +#%patch0 -p1 -b .des +#%patch1 -p1 -b .external +#%patch2 -p1 -b .syslog +#%patch3 -p1 -b .autoconf +%patch4 -p1 -b .rpath libtoolize -f -aclocal -I ./cmulocal -automake -a -autoconf +aclocal-1.5 -I ./config -I ./cmulocal +automake-1.5 -a +autoheader-2.13 +autoconf-2.13 +popd + +pushd cyrus-sasl-%{version} +%patch5 -p1 -b .automake +%patch6 -p1 -b .autoconf +%patch7 -p1 -b .ipctype +libtoolize -f +aclocal-1.5 -I ./config -I ./cmulocal +automake-1.5 -a --include-deps +autoheader-2.13 +autoconf-2.13 + +pushd saslauthd +libtoolize -f +aclocal-1.5 -I ../config -I ../cmulocal +automake-1.5 -a --include-deps +autoheader-2.13 +autoconf-2.13 +popd +popd + +# Sort of merge the docs. +mkdir cyrus-sasl-%{version}/%{cs1_version} +mkdir cyrus-sasl-%{version}/%{cs1_version}-devel +cp %{name}-%{cs1_version}/{AUTHORS,COPYING,NEWS,README,doc/*.html} cyrus-sasl-%{version}/%{cs1_version} +cp %{name}-%{cs1_version}/doc/*.txt cyrus-sasl-%{version}/%{cs1_version}-devel +# Remove duplicate RFCs. +pushd cyrus-sasl-%{version}/%{cs1_version}-devel +for file in * ; do + if [ -f ../doc/${file} ] ; then + rm -f ${file} + fi +done +popd %build -CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS +pushd cyrus-sasl-%{cs1_version} %configure \ - --enable-static --enable-shared \ - --with-plugindir=%{_libdir}/sasl \ - --with-dblib=gdbm \ + --enable-static --with-pic --enable-shared \ + --with-plugindir=%{_plugindir} \ --disable-krb4 \ -%if %{gssapi} --enable-gssapi=/usr/kerberos \ -%endif --with-rc4 \ + --with-dblib=gdbm \ --enable-anon \ --enable-cram \ --enable-digest \ --enable-plain \ --enable-login make +popd + +pushd cyrus-sasl-%{version} +LIBS=-lcrypt; export LIBS +%configure \ + --enable-static --with-pic --enable-shared --disable-java \ + --with-plugindir=%{_plugindir2} \ + --disable-krb4 \ + --enable-gssapi=/usr/kerberos \ + --with-rc4 \ + --with-dblib=berkeley \ + --with-saslauthd=/var/run/saslauthd --without-pwcheck \ + --enable-anon \ + --enable-cram \ + --enable-digest \ + --enable-plain \ + --enable-login +make -C sasldb allockey.o allockey.lo db_berkeley.o db_berkeley.lo +make JAV= +popd %install rm -rf $RPM_BUILD_ROOT +pushd cyrus-sasl-%{cs1_version} %makeinstall install -m755 -d $RPM_BUILD_ROOT%{_bindir} ./libtool --mode=install \ -install -m755 sample/sample-client $RPM_BUILD_ROOT%{_bindir}/sasl-sample-client +install -m755 sample/client $RPM_BUILD_ROOT%{_bindir}/sasl-sample-client +./libtool --mode=install \ +install -m755 sample/server $RPM_BUILD_ROOT%{_bindir}/sasl-sample-server +popd + +pushd cyrus-sasl-%{version} +%makeinstall JAV= +install -m755 -d $RPM_BUILD_ROOT%{_bindir} + +./libtool --mode=install \ +install -m755 sample/client $RPM_BUILD_ROOT%{_bindir}/sasl2-sample-client ./libtool --mode=install \ -install -m755 sample/sample-server $RPM_BUILD_ROOT%{_bindir}/sasl-sample-server +install -m755 sample/server $RPM_BUILD_ROOT%{_bindir}/sasl2-sample-server + +# Install the saslauthd man page in the expected location, even if it's +# pre-formatted. +install -m755 -d $RPM_BUILD_ROOT%{_mandir}/man8/ +install -m644 saslauthd/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/ + +# Create the saslauthd listening directory. +install -m755 -d $RPM_BUILD_ROOT/var/run/saslauthd +install -m755 -d $RPM_BUILD_ROOT/etc/rc.d/init.d +install -m755 $RPM_SOURCE_DIR/saslauthd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd +popd %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig +%post +/sbin/ldconfig +/sbin/chkconfig --add saslauthd -%postun -p /sbin/ldconfig +%preun +if [ $1 = 0 ] ; then + /sbin/chkconfig --del saslauthd +fi + +%postun +/sbin/ldconfig +if [ $1 != 0 ] ; then + /sbin/service saslauthd condrestart 2>&1 > /dev/null +fi %files %defattr(-,root,root) -%doc AUTHORS COPYING NEWS README TODO doc/*.html doc/*.txt +%doc %{name}-%{version}/%{cs1_version} +%doc %{name}-%{version}/{AUTHORS,COPYING,NEWS,README,doc/*.html} +%doc $RPM_SOURCE_DIR/README.RPM %{_libdir}/libsasl*.so.* -%dir %{_libdir}/sasl/ -%{_libdir}/sasl/*anonymous*.so* +%dir %{_plugindir}/ +%dir %{_plugindir2}/ +%{_plugindir}/*anonymous*.so* +%{_plugindir}/*anonymous*.la +%{_plugindir2}/*anonymous*.so* +%{_plugindir2}/*anonymous*.la +%{_plugindir2}/*sasldb*.so* +%{_plugindir2}/*sasldb*.la %{_mandir}/man8/* %{_sbindir}/saslpasswd %{_sbindir}/sasldblistusers +%{_sbindir}/saslpasswd2 +%{_sbindir}/sasldblistusers2 +%{_sbindir}/saslauthd +%config /etc/rc.d/init.d/saslauthd +/var/run/saslauthd -%if %{plain} %files plain %defattr(-,root,root) -%endif -%{_libdir}/sasl/*plain*.so* -%{_libdir}/sasl/*login*.so* +%{_plugindir}/*plain*.so* +%{_plugindir}/*plain*.la +%{_plugindir}/*login*.so* +%{_plugindir}/*login*.la +%{_plugindir2}/*plain*.so* +%{_plugindir2}/*plain*.la +%{_plugindir2}/*login*.so* +%{_plugindir2}/*login*.la -%if %{md5} %files md5 %defattr(-,root,root) -%endif -%{_libdir}/sasl/*crammd5*.so* -%{_libdir}/sasl/*digestmd5*.so* +%{_plugindir}/*crammd5*.so* +%{_plugindir}/*crammd5*.la +%{_plugindir}/*digestmd5*.so* +%{_plugindir}/*digestmd5*.la +%{_plugindir2}/*crammd5*.so* +%{_plugindir2}/*crammd5*.la +%{_plugindir2}/*digestmd5*.so* +%{_plugindir2}/*digestmd5*.la -%if %{gssapi} %files gssapi %defattr(-,root,root) -%{_libdir}/sasl/*gssapi*.so* -%endif +%{_plugindir}/*gssapi*.so* +%{_plugindir}/*gssapi*.la +%{_plugindir2}/*gssapi*.so* +%{_plugindir2}/*gssapi*.la %files devel %defattr(-,root,root) +%doc %{name}-%{version}/%{cs1_version}-devel +%doc %{name}-%{version}/doc/*.txt %{_bindir}/sasl-sample-client %{_bindir}/sasl-sample-server -%{_includedir}/*.h +%{_bindir}/sasl2-sample-client +%{_bindir}/sasl2-sample-server +%{_includedir}/* %{_libdir}/libsasl*.*a %{_libdir}/libsasl*.*so -%{_libdir}/sasl/*anonymous*.*a -%{_libdir}/sasl/*crammd5*.*a -%{_libdir}/sasl/*digestmd5*.*a -%{_libdir}/sasl/*gssapi*.*a -%{_libdir}/sasl/*login*.*a -%{_libdir}/sasl/*plain*.*a +%{_plugindir}/*anonymous*.a +%{_plugindir}/*crammd5*.a +%{_plugindir}/*digestmd5*.a +%{_plugindir}/*gssapi*.a +%{_plugindir}/*login*.a +%{_plugindir}/*plain*.a +%{_plugindir2}/*anonymous*.a +%{_plugindir2}/*crammd5*.a +%{_plugindir2}/*digestmd5*.a +%{_plugindir2}/*gssapi*.a +%{_plugindir2}/*login*.a +%{_plugindir2}/*plain*.a +%{_plugindir2}/*sasldb*.a %{_mandir}/man3/* %changelog -* Thu Feb 21 2002 Nalin Dahyabhai 1.5.24-25 -- one more time! +* Wed Jul 17 2002 Nalin Dahyabhai 2.1.6-1 +- update to 2.1.6 and 1.5.28 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu Jun 13 2002 Nalin Dahyabhai 2.1.5-1 +- update to 2.1.5 + +* Mon Jun 10 2002 Nalin Dahyabhai 2.1.4-1 +- update to 2.1.4 + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Thu May 16 2002 Nalin Dahyabhai 2.1.2-1 +- modify to build with db 4.x + +* Thu Apr 18 2002 Nalin Dahyabhai +- update cyrus-sasl 2 to 2.1.2 +- change buildreq to db3-devel + +* Tue Feb 12 2002 Nalin Dahyabhai 2.1.1-3 +- suppress output to stdout/stderr in %%postun + +* Sun Feb 10 2002 Nalin Dahyabhai 2.1.1-2 +- configure sasldb2 to use berkeley DB instead of gdbm + +* Wed Feb 6 2002 Nalin Dahyabhai 2.1.1-1 +- update to 2.1.1 + +* Thu Jan 31 2002 Nalin Dahyabhai 2.1.0-1 +- marge 1.5.24 back in, making a note that it should be removed at some + point in the future + +* Wed Jan 30 2002 Nalin Dahyabhai +- update to 2.1.0, which is designed to be installed in parallel with cyrus sasl + 1.x, so fork the package and rename it to cyrus-sasl2 +- add the sasldb auxprop plugin to the main package +- add disabled-by-default saslauthd init script +- move the .la files for plugins into their respective packages -- they're + needed by the library -* Wed Feb 20 2002 Nalin Dahyabhai 1.5.24-24 +* Wed Jan 23 2002 Nalin Dahyabhai 1.5.24-24 - free ride through the build system * Fri Nov 2 2001 Nalin Dahyabhai 1.5.24-23 diff --git a/saslauthd.init b/saslauthd.init new file mode 100755 index 0000000..9920009 --- /dev/null +++ b/saslauthd.init @@ -0,0 +1,72 @@ +#! /bin/bash +# +# saslauthd Start/Stop the SASL authentication daemon. +# +# chkconfig: - 95 05 +# description: saslauthd is a server process which handles plaintext \ +# authentication requests on behalf of the cyrus-sasl library. +# processname: saslauthd + +# Source function library. +. /etc/init.d/functions + +# Source our configuration file for these variables. +SOCKET=/var/run/saslauthd/mux +MECH=shadow +FLAGS= +if [ -f /etc/sysconfig/saslauthd ] ; then + . /etc/sysconfig/saslauthd +fi + +RETVAL=0 + +# Set up some common variables before we launch into what might be +# considered boilerplate by now. +prog=saslauthd +path=/usr/sbin/saslauthd + +start() { + echo -n $"Starting $prog: " + daemon $path -m $SOCKET -a $MECH $FLAGS + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc $path + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog + return $RETVAL +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + status) + status $path + ;; + condrestart) + [ -f /var/lock/subsys/$prog ] && restart || : + ;; + *) + echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}" + exit 1 +esac + +exit $? diff --git a/sources b/sources index e6e6aaa..728c309 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ ac3837c071c258b80021325936db2583 cyrus-sasl-1.5.24.tar.gz +60710be040801e9aff7353563b636518 cyrus-sasl-1.5.28-BETA.tar.gz +3b60cf1f0d1a3230fbc1bb7490f5ae42 cyrus-sasl-2.1.6.tar.gz