#
# TODO:
# - add ldap plugin from openldap sources
-# - pgsql? (but sql plugin would require both libs...)
+# - cleaner solution for mysql/pgsql support
#
# Conditional build:
%bcond_without ldap # disable LDAP support for saslauthd
%bcond_with gssapi # enable GSSAPI support for saslauthd and build gssapi plugin
-%bcond_without mysql # don't build mysql pluggin
-%bcond_with pgsql # don't build pgsql pluggin
+%bcond_without mysql # don't build MySQL pluggin
+%bcond_with pgsql # build pgsql pluggin
%bcond_with srp # build srp pluggin
%bcond_with pwcheck # build pwcheck helper (deprecated)
%bcond_with x509 # build x509 plugin (no sources in package???)
Summary(ru): âÉÂÌÉÏÔÅËÁ Cyrus SASL
Summary(uk): â¦Â̦ÏÔÅËÁ Cyrus SASL
Name: cyrus-sasl
-Version: 2.1.17
-Release: 0.1
+Version: 2.1.20
+Release: 1
License: distributable
Group: Libraries
Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{version}.tar.gz
-# Source0-md5: 4add6be2f194dc51aafc64193a1dd77b
+# Source0-md5: 268ead27f4ac39bcfe17d9e38e0f2977
Source1: saslauthd.init
Source2: saslauthd.sysconfig
Source3: %{name}.pam
Patch0: %{name}-configdir.patch
Patch1: %{name}-nolibs.patch
-Patch2: %{name}-do_dlopen.patch
-Patch3: %{name}-ldb4.patch
+Patch2: %{name}-lt.patch
URL: http://asg.web.cmu.edu/sasl/
BuildRequires: autoconf >= 2.54
BuildRequires: automake
%{?with_mysql:BuildRequires: mysql-devel}
%{?with_pgsql:BuildRequires: postgresql-devel}
%{?with_ldap:BuildRequires: openldap-devel}
-BuildRequires: openssl-devel >= 0.9.7c
+BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pam-devel
-Requires(post): /sbin/ldconfig
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/sasl
SASL protocol itself is documented in rfc2222; the API standard is a
work in progress.
+Note: remember to install appropriate plugins, or you won't have any
+authentication mechanisms available.
+
%description -l pl
Pakiet cyrus-sasl zawiera implementacjê biblioteki API SASL dla
systemu poczty elektronicznej Cyrusa. Biblioteka ta jest przydatna
bezpieczeñstwa protoko³ów sieciowych. Sam protokó³ SASL jest opisany w
RFC 2222; standaryzacja API jest w toku.
+Uwaga: aby by³y dostêpne jakiekolwiek mechanizmy autoryzacji, nale¿y
+doinstalowaæ odpowiednie wtyczki.
+
%description -l pt_BR
Esta é uma implementação da API SASL, útil para acrescentar
autenticação, autorização e seguança (criptografia) para protocolos de
Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
Group: Development/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description devel
This includes the header files and documentation needed to develop
Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
Group: Development/Libraries
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{version}-%{release}
%description static
Static cyrus-sasl libraries.
Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
Summary(pt_BR): Mecanismo SASL CRAM-MD5
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description cram-md5
This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
Summary(pt_BR): Mecanismo SASL DIGEST-MD5
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description digest-md5
This plugin implements the latest draft of the SASL DIGEST-MD5
Summary(pl): Wtyczka plain do Cyrus SASL
Summary(pt_BR): Mecanismo SASL PLAIN
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description plain
This plugin implements the SASL PLAIN mechanism. Although insecure,
Summary(pl): Wtyczka anonymous do Cyrus SASL
Summary(pt_BR): Mecanismo SASL ANONYMOUS
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description anonymous
This plugin implements the SASL ANONYMOUS mechanism, used for
Summary(pl): Wtyczka GSSAPI do Cyrus SASL
Summary(pt_BR): Mecanismo SASL GSSAPI
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description gssapi
This plugin implements the SASL GSSAPI mechanism, used for
Summary: Unsupported Login Cyrus SASL plugin
Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description login
Unsupported LOGIN Cyrus SASL plugin.
Summary(pl): Wtyczka SRP do Cyrus SASL
Summary(pt_BR): Mecanismo SASL SRP
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description srp
This plugin implements the SASL SRP mechanism, based on the Secure
Summary(pl): Wtyczka OTP do Cyrus SASL
Summary(pt_BR): Mecanismo SASL OTP
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description otp
This plugin implements the SASL OTP (One Time Password) mechanism.
Summary: x509 Cyrus SASL plugin
Summary(pl): Wtyczka x509 do Cyrus SASL
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description x509
x509 Cyrus SASL plugin.
%package saslauthd
Summary: Cyrus SASL authd
Summary(pl): Demon authd do Cyrus SASL
-Group: Libraries
+Group: Daemons
Requires(post,postun): /sbin/chkconfig
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description saslauthd
Cyrus SASL authd.
Summary: Cyrus SASL pwcheck helper
Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description pwcheck
Cyrus SASL pwcheck helper.
Summary: Cyrus SASL sasldb plugin
Summary(pl): Wtyczka sasldb do Cyrus SASL
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description sasldb
Cyrus SASL sasldb plugin.
Wtyczka sasldb do Cyrus SASL.
%package mysql
-Summary: Cyrus SASL mysql plugin
-Summary(pl): Wtyczka mysql do Cyrus SASL
+Summary: Cyrus SASL MySQL plugin
+Summary(pl): Wtyczka MySQL do Cyrus SASL
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description mysql
-Cyrus SASL mysql plugin.
+Cyrus SASL MySQL plugin.
%description mysql -l pl
-Wtyczka mysql do Cyrus SASL.
+Wtyczka MySQL do Cyrus SASL.
%package pgsql
Summary: Cyrus SASL PostgreSQL plugin
Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
Group: Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description pgsql
Cyrus SASL PostgreSQL plugin.
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
cd doc
echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
ls rfc*.txt >> rfc-compliance
rm -f rfc*.txt
+cd ..
-%build
+rm -rf autom4te.cache saslauthd/autom4te.cache
# acinclude.m4 contains only old libtool.m4
-rm -f acinclude.m4
+rm -f acinclude.m4 libtool config/libtool.m4 saslauthd/acinclude.m4
+
+%build
%{__libtoolize}
%{__aclocal} -I cmulocal -I config
%{__autoheader}
%{__autoconf}
cd saslauthd
- %{__aclocal} -I ../cmulocal -I ../config -I config
- %{__autoheader}
- %{__automake}
- %{__autoconf}
+%{__libtoolize}
+%{__aclocal} -I ../cmulocal -I ../config -I config
+%{__autoheader}
+%{__automake}
+%{__autoconf}
cd ..
%configure \
--with-saslauthd=/var/lib/sasl2
%{__make}
+%{__make} -C saslauthd testsaslauthd
+%{__make} -C saslauthd saslcache
+
cd doc
RFCLIST=`grep 'rfc.\+\.txt' rfc-compliance`
for i in $RFCLIST; do
rm -rf $RPM_BUILD_ROOT%{_mandir}/cat*
rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.{la,a}
-install {utils,saslauthd}/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
+install utils/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
+install saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
ln -sf libsasl2.so $RPM_BUILD_ROOT%{_libdir}/libsasl.so
install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
install %{SOURCE3} ./cyrus.pam
+install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT%{_sbindir}
+
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-/sbin/ldconfig
-echo "Remember to install appropriate plugins, or you won't have any mechs available."
-
+%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post saslauthd
%defattr(644,root,root,755)
%doc cyrus.pam
%attr(755,root,root) %{_sbindir}/saslauthd
+%attr(755,root,root) %{_sbindir}/testsaslauthd
+%attr(755,root,root) %{_sbindir}/saslcache
%attr(754,root,root) /etc/rc.d/init.d/saslauthd
%config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd
%{_mandir}/man8/saslauthd.*