-#
# TODO:
# - add ldap plugin from openldap sources
#
# Conditional build:
-%bcond_without ldap # disable LDAP support for saslauthd
-%bcond_without gssapi # do not enable GSSAPI support for saslauthd and build gssapi plugin
-%bcond_without mysql # don't build MySQL pluggin
-%bcond_without pgsql # do not build PostgreSQL pluggin
-%bcond_without sqlite # do not enable sqlite plugin
-%bcond_with cryptedpw # if you keep crypted passwords in your *sql
-%bcond_with opie # enable opie plugin
-%bcond_with srp # build srp pluggin
-%bcond_with pwcheck # build pwcheck helper (deprecated)
-%bcond_with x509 # build x509 plugin (no sources in package???)
+%bcond_without cryptedpw # if you keep crypted passwords in your *sql
+%bcond_without ldap # disable LDAP support for saslauthd
+%bcond_without gssapi # do not enable GSSAPI support for saslauthd and build gssapi plugin
+%bcond_without mysql # don't build MySQL pluggin
+%bcond_without pgsql # do not build PostgreSQL pluggin
+%bcond_without sqlite # do not enable sqlite plugin
+%bcond_with authlib # enable courier-authlib (i wasn't able to test it)
+%bcond_with opie # enable opie plugin
+%bcond_with srp # build srp pluggin
+%bcond_with pwcheck # build pwcheck helper (deprecated)
+%bcond_with x509 # build x509 plugin (no sources in package???)
#
-%if !%{with mysql} && !%{with pgsql}
+%if %{without mysql} && %{without pgsql}
%undefine with_cryptedpw
%endif
Summary(ru): âÉÂÌÉÏÔÅËÁ Cyrus SASL
Summary(uk): â¦Â̦ÏÔÅËÁ Cyrus SASL
Name: cyrus-sasl
-Version: 2.1.21
+Version: 2.1.22
Release: 3
License: distributable
Group: Libraries
Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{version}.tar.gz
-# Source0-md5: dde02db234dea892bee298390890502e
+# Source0-md5: 45dde9d19193ae9dd388eb68b2027bc9
Source1: saslauthd.init
Source2: saslauthd.sysconfig
Source3: %{name}.pam
-Patch0: %{name}-configdir.patch
-Patch1: %{name}-nolibs.patch
-Patch2: %{name}-lt.patch
-Patch3: %{name}-split-sql.patch
-Patch4: %{name}-opie.patch
-Patch5: %{name}-gcc4.patch
+Patch0: %{name}-nolibs.patch
+Patch1: %{name}-lt.patch
+Patch2: %{name}-split-sql.patch
+Patch3: %{name}-opie.patch
+Patch4: %{name}-gcc4.patch
# Adapted from http://frost.ath.cx/software/cyrus-sasl-patches/dist/2.1.19/cyrus-sasl-2.1.19-checkpw.c+sql.c.patch
-Patch6: %{name}-cryptedpw.patch
-Patch7: %{name}-md5sum-passwords.patch
+Patch5: %{name}-cryptedpw.patch
+Patch6: %{name}-md5sum-passwords.patch
URL: http://asg.web.cmu.edu/sasl/
BuildRequires: autoconf >= 2.54
BuildRequires: automake
+%{?with_authlib:BuildRequires: courier-authlib-devel}
BuildRequires: db-devel
BuildRequires: ed
BuildRequires: groff
%{?with_gssapi:BuildRequires: heimdal-devel >= 0.7}
-BuildRequires: libtool >= 1.4
+BuildRequires: libtool >= 1.4
%{?with_mysql:BuildRequires: mysql-devel}
-%{?with_pgsql:BuildRequires: postgresql-devel}
-%{?with_ldap:BuildRequires: openldap-devel}
-%{?with_sqlite:BuildRequires: sqlite-devel}
-%{?with_opie:BuildRequires: opie-devel}
+%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
BuildRequires: openssl-devel >= 0.9.7d
+%{?with_opie:BuildRequires: opie-devel}
BuildRequires: pam-devel
+%{?with_pgsql:BuildRequires: postgresql-devel}
+BuildRequires: rpmbuild(macros) >= 1.268
+%{?with_sqlite:BuildRequires: sqlite-devel}
Requires: pam >= 0.79.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/sasl
+%define specflags -fno-strict-aliasing
+
%description
This is an implementation of the SASL API, useful for adding
authentication, authorization, and security to network protocols. The
Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
-Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
+Summary(uk): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
SASL.
%package opie
-Summary: OPIE Cyrus SASL plugin
-Summary(pl): Wtyczka OPIE do Cyrus SASL
-Summary(pt_BR): Mecanismo SASL OPIE
-Group: Libraries
-Requires: %{name} = %{version}-%{release}
+Summary: OPIE Cyrus SASL plugin
+Summary(pl): Wtyczka OPIE do Cyrus SASL
+Summary(pt_BR): Mecanismo SASL OPIE
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
%description opie
This plugin implements the SASL OPIE (One Time Password) mechanism.
Summary: Cyrus SASL authd
Summary(pl): Demon authd do Cyrus SASL
Group: Daemons
-Requires(post,postun): /sbin/chkconfig
+Requires(post,preun): /sbin/chkconfig
Requires: %{name} = %{version}-%{release}
+Requires: /sbin/chkconfig
+Requires: rc-scripts
%description saslauthd
Cyrus SASL authd.
Wtyczka PostgreSQL do Cyrus SASL.
%package sqlite
-Summary: Cyrus SQLite PostgreSQL plugin
-Summary(pl): Wtyczka SQLite do Cyrus SASL
-Group: Libraries
-Requires: %{name} = %{version}-%{release}
+Summary: Cyrus SQLite PostgreSQL plugin
+Summary(pl): Wtyczka SQLite do Cyrus SASL
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
%description sqlite
Cyrus SASL SQLite plugin.
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%if %{with cryptedpw}
+%patch5 -p1
%patch6 -p1
-%patch7 -p1
%endif
cd doc
%{!?with_gssapi: --disable-gssapi} \
%{?with_gssapi: --enable-gssapi --with-gss_impl=heimdal} \
--enable-login \
+ --enable-sample \
--enable-sql \
%{?with_srp: --enable-srp} \
--enable-static \
--with-configdir=%{_sysconfdir} \
--with-dblib=berkeley \
--with-dbpath=/var/lib/sasl2/sasl.db \
+ %{?with_authlib:--with-authdaemond=/var/spool/authdaemon/socket} \
%{?with_ldap: --with-ldap=%{_prefix}} \
%{?with_mysql: --with-mysql=%{_prefix}} \
%{?with_pgsql: --with-pgsql=%{_prefix}} \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/var/lib/sasl2,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
+install -d $RPM_BUILD_ROOT{%{_bindir},/var/lib/sasl2,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
$RPM_BUILD_ROOT%{_mandir}/man8
%{__make} install \
touch $RPM_BUILD_ROOT/var/lib/sasl2/sasl.db
+# create empty config
+touch $RPM_BUILD_ROOT%{_sysconfdir}/saslauthd.conf
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
install %{SOURCE3} ./cyrus.pam
install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT%{_sbindir}
+# sample programs for testing sasl
+libtool --mode=install cp sample/client $RPM_BUILD_ROOT%{_bindir}/sasl-sample-client
+libtool --mode=install cp sample/server $RPM_BUILD_ROOT%{_bindir}/sasl-sample-server
+
%clean
rm -rf $RPM_BUILD_ROOT
%post saslauthd
/sbin/chkconfig --add saslauthd
-if [ -f /var/lock/subsys/saslauthd ]; then
- /etc/rc.d/init.d/saslauthd restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
-fi
+%service saslauthd restart
%preun saslauthd
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/saslauthd ]; then
- /etc/rc.d/init.d/saslauthd stop 1>&2
- fi
+ %service saslauthd stop
/sbin/chkconfig --del saslauthd
fi
%dir %{_libdir}/sasl2
%dir /var/lib/sasl2
%attr(755,root,root) %{_libdir}/lib*.so.*.*
+# sample programs to subpackage instead?
+%attr(755,root,root) %{_bindir}/sasl-sample-client
+%attr(755,root,root) %{_bindir}/sasl-sample-server
+%attr(755,root,root) %{_sbindir}/pluginviewer
%attr(755,root,root) %{_sbindir}/sasldblistusers2
%attr(755,root,root) %{_sbindir}/saslpasswd2
-%attr(640,root,mail) %ghost %config(noreplace) %verify(not mtime md5 size) /var/lib/sasl2/sasl.db
-%{_mandir}/man8/sasldblistusers2.*
-%{_mandir}/man8/saslpasswd2.*
+%attr(640,root,mail) %ghost %config(noreplace) %verify(not md5 mtime size) /var/lib/sasl2/sasl.db
+%{_mandir}/man8/pluginviewer.8*
+%{_mandir}/man8/sasldblistusers2.8*
+%{_mandir}/man8/saslpasswd2.8*
%files devel
%defattr(644,root,root,755)
%files saslauthd
%defattr(644,root,root,755)
%doc cyrus.pam
+%doc saslauthd/{AUTHORS,LDAP_SASLAUTHD}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/saslauthd.conf
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/saslauthd
%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.*
+%{_mandir}/man8/saslauthd.8*