Summary: Courier authentication library
Summary(pl): Biblioteka uwierzytelniania Couriera
Name: courier-authlib
-Version: 0.57
-Release: 1
+Version: 0.58
+Release: 7
License: GPL
Group: Networking/Daemons
Source0: http://dl.sourceforge.net/courier/%{name}-%{version}.tar.bz2
-# Source0-md5: af146ac84f0c3ee00006af50b4415d8a
+# Source0-md5: fb691558d611cb191ae6a83002f0195b
Source1: %{name}.init
Patch0: %{name}-build.patch
Patch1: %{name}-md5sum-passwords.patch
+Patch2: %{name}-authdaemonrc.patch
URL: http://www.courier-mta.org/authlib/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: db-devel
BuildRequires: expect
+BuildRequires: libltdl-devel
BuildRequires: libtool
BuildRequires: mysql-devel
-BuildRequires: openldap-devel
+BuildRequires: openldap-devel >= 2.3.0
BuildRequires: pam-devel
BuildRequires: postgresql-devel
+BuildRequires: rpmbuild(macros) >= 1.304
BuildRequires: sed >= 4.0
BuildRequires: sysconftool
BuildRequires: zlib-devel
+Requires(post,postun): /sbin/ldconfig
Requires(post,preun): /sbin/chkconfig
-Requires(post): /sbin/ldconfig
+Requires: %{name}-libs = %{version}-%{release}
+Requires: /sbin/chkconfig
+Requires: rc-scripts
Obsoletes: sqwebmail-auth-cram
Obsoletes: sqwebmail-auth-pam
Obsoletes: sqwebmail-auth-pwd
Obsoletes: sqwebmail-auth-shadow
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define schemadir /usr/share/openldap/schema
+
%description
The Courier authentication library provides authentication services
for other Courier applications.
Biblioteka uwierzytelniania Couriera dostarcza us³ugi uwierzytelniania
dla innych aplikacji Couriera.
+%package libs
+Summary: Courier authentication library
+Summary(pl): Biblioteka uwierzytelniania Couriera
+Group: Libraries
+Requires(post,postun): /sbin/ldconfig
+
+%description libs
+The Courier authentication library provides authentication services
+for other Courier applications.
+
+This package contains libcourierauth.so which client programs link
+against.
+
+%description libs -l pl
+Biblioteka uwierzytelniania Couriera dostarcza us³ugi uwierzytelniania
+dla innych aplikacji Couriera.
+
%package devel
Summary: Development files for the Courier authentication library
Summary(pl): Pliki programistyczne dla biblioteki uwierzytelniania Couriera
Summary: LDAP support for the Courier authentication library
Summary(pl): Obs³uga LDAP dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
-PreReq: %{name} = %{version}-%{release}
+Requires(pre,postun): sed >= 4.0
+Requires: %{name} = %{version}-%{release}
Obsoletes: courier-authldap
Obsoletes: courier-imap-authldap
Obsoletes: sqwebmail-auth-ldap
Summary: MySQL support for the Courier authentication library
Summary(pl): Obs³uga MySQL dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
-PreReq: %{name} = %{version}-%{release}
+Requires(pre,postun): sed >= 4.0
+Requires: %{name} = %{version}-%{release}
Obsoletes: courier-authmysql
Obsoletes: courier-imap-authmysql
Obsoletes: sqwebmail-auth-mysql
Summary: PostgreSQL support for the Courier authentication library
Summary(pl): Obs³uga PostgreSQL dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
-PreReq: %{name} = %{version}-%{release}
+Requires(pre,postun): sed >= 4.0
+Requires: %{name} = %{version}-%{release}
Obsoletes: courier-authpgsql
Obsoletes: courier-imap-authpgsql
Obsoletes: sqwebmail-auth-pgsql
Summary: Userdb support for the Courier authentication library
Summary(pl): Obs³uga userdb dla biblioteki uwierzytelniania Couriera
Group: Networking/Daemons
-PreReq: %{name} = %{version}-%{release}
+Requires(pre,postun): sed >= 4.0
+Requires: %{name} = %{version}-%{release}
Obsoletes: courier-imap-userdb
Obsoletes: sqwebmail-auth-userdb
Summary: External authentication module that communicates via pipes
Summary(pl): Zewnêtrzny modu³ uwierzytelniaj±cy komunikuj±cy siê przez potoki
Group: Networking/Daemons
-PreReq: %{name} = %{version}-%{release}
+Requires(pre,postun): sed >= 4.0
+Requires: %{name} = %{version}-%{release}
%description pipe
This package installs the authpipe module, which is a generic plugin
umo¿liwiaj±c± obs³ugê ¿±dañ uwierzytelnienia przez zewnêtrzny program
komunikuj±cy siê poprzez wiadomo¶ci wysy³ane na stdin i stdout.
+%package -n openldap-schema-courier
+Summary: Courier LDAP schema
+Summary(pl): Schemat LDAP Couriera
+Group: Networking/Daemons
+Requires(post,postun): sed >= 4.0
+Requires: openldap-servers
+Requires: sed >= 4.0
+
+%description -n openldap-schema-courier
+This package contains Courier authldap.schema for openldap.
+
+%description -n openldap-schema-courier -l pl
+Ten pakiet zawiera schemat Couriera authldap.schema dla openldapa.
+
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%build
cp /usr/share/automake/config.sub libltdl
%{__libtoolize}
# Change Makefile.am files and force recreate Makefile.in's.
-OLDDIR=`pwd`
-find -type f -a \( -name configure.in -o -name configure.ac \) | while read FILE; do
- cd "`dirname "$FILE"`"
+OLDDIR=$(pwd)
+for FILE in {,*/}configure.{in,ac}; do
+ cd "$(dirname "$FILE")"
if [ -f Makefile.am ]; then
- sed -i -e '/_LDFLAGS=-static/d' Makefile.am
+ sed -i -e '/_[L]DFLAGS=-static/d' Makefile.am
fi
%{__aclocal}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
+%{__make} -j1 install \
DESTDIR=$RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/authlib/userdb}
+install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sysconfdir}/authlib/userdb,%{schemadir}}
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/courier-authlib
+install authldap.schema $RPM_BUILD_ROOT%{schemadir}/courier.schema
# make config files
./sysconftool $RPM_BUILD_ROOT%{_sysconfdir}/authlib/*.dist
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/authlib/*.dist
+touch $RPM_BUILD_ROOT%{_localstatedir}/spool/authdaemon/socket
+
# remove static library - for now
rm -f $RPM_BUILD_ROOT%{_libdir}/courier-authlib/*.a
%clean
rm -rf $RPM_BUILD_ROOT
+
%post
/sbin/ldconfig %{_libexecdir}/courier-authlib
-
/sbin/chkconfig --add courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
-else
- echo "Run \"/etc/rc.d/init.d/courier-authlib start\" to start authlib daemon"
-fi
+%service courier-authlib restart "authlib daemon"
%preun
if [ "$1" = "0" ]; then
/sbin/chkconfig --del courier-authlib
-fi
-
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib stop
+ %service courier-authlib stop
fi
%postun
/sbin/ldconfig %{_libexecdir}/courier-authlib
-%post authldap
+%post libs
/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+
+%postun libs
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+
+%post authldap
+if [ "$1" = 1 ]; then
+ # add to authmodulelist list if package is first installed
+ sed -i -e '/^authmodulelist=/{/\bauthldap\b/!s/"$/ authldap"/}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%postun authldap
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 0 ]; then
+ # remove from authmodulelist if package is removed
+ sed -i -e '/^authmodulelist=/{s/ \?\bauthldap\b \?//}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%post authmysql
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 1 ]; then
+ # add to authmodulelist list if package is first installed
+ sed -i -e '/^authmodulelist=/{/\bauthmysql\b/!s/"$/ authmysql"/}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%postun authmysql
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 0 ]; then
+ # remove from authmodulelist if package is removed
+ sed -i -e '/^authmodulelist=/{s/ \?\bauthmysql\b \?//}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%post authpgsql
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 1 ]; then
+ # add to authmodulelist list if package is first installed
+ sed -i -e '/^authmodulelist=/{/\bauthpgsql\b/!s/"$/ authpgsql"/}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%postun authpgsql
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 0 ]; then
+ # remove from authmodulelist if package is removed
+ sed -i -e '/^authmodulelist=/{s/ \?\bauthpgsql\b \?//}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%post userdb
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 1 ]; then
+ # add to authmodulelist list if package is first installed
+ sed -i -e '/^authmodulelist=/{/\buserdb\b/!s/"$/ userdb"/}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%postun userdb
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 0 ]; then
+ # remove from authmodulelist if package is removed
+ sed -i -e '/^authmodulelist=/{s/ \?\buserdb\b \?//}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%post pipe
-/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+if [ "$1" = 1 ]; then
+ # add to authmodulelist list if package is first installed
+ sed -i -e '/^authmodulelist=/{/\bpipe\b/!s/"$/ pipe"/}' /etc/authlib/authdaemonrc
fi
+/sbin/ldconfig %{_libexecdir}/courier-authlib
+%service -q courier-authlib restart
%postun pipe
+if [ "$1" = 0 ]; then
+ # remove from authmodulelist if package is removed
+ sed -i -e '/^authmodulelist=/{s/ \?\bpipe\b \?//}' /etc/authlib/authdaemonrc
+fi
/sbin/ldconfig %{_libexecdir}/courier-authlib
-if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
+%service -q courier-authlib restart
+
+%post -n openldap-schema-courier
+%openldap_schema_register %{schemadir}/courier.schema -d nis,cosine
+%service -q ldap restart
+
+%postun -n openldap-schema-courier
+if [ "$1" = "0" ]; then
+ %openldap_schema_unregister %{schemadir}/courier.schema
+ %service -q ldap restart
fi
%triggerin -- courier < 0.48
if [ -f /var/spool/courier/authdaemon/pid ]; then
kill `cat /var/spool/courier/authdaemon/pid`
rm -f /var/spool/courier/authdaemon/*
- /etc/rc.d/init.d/courier-authlib start
+ /sbin/service courier-authlib start
fi
fi
if [ -f /var/lib/authdaemon/pid ]; then
kill `cat /var/lib/authdaemon/pid`
rm -f /var/lib/authdaemon/*
- /etc/rc.d/init.d/courier-authlib start
+ /sbin/service courier-authlib start
fi
fi
if [ -f /var/spool/sqwebmail/authdaemon/pid ]; then
kill `cat /var/spool/sqwebmail/authdaemon/pid`
rm -f /var/spool/sqwebmail/authdaemon/*
- /etc/rc.d/init.d/courier-authlib start
+ /sbin/service courier-authlib start
fi
fi
if [ -f /etc/courier/authldaprc ]; then
mv -f /etc/authlib/authldaprc /etc/authlib/authldaprc.new
cp -f /etc/courier/authldaprc /etc/authlib/authldaprc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authldap -- courier-imap-authldap < 4.0.0
if [ -f /etc/courier-imap/authldaprc ]; then
mv -f /etc/authlib/authldaprc /etc/authlib/authldaprc.new
cp -f /etc/courier-imap/authldaprc /etc/authlib/authldaprc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authldap -- sqwebmail-auth-ldap < 5.0.0
if [ -f /etc/sqwebmail/authldaprc ]; then
mv -f /etc/authlib/authldaprc /etc/authlib/authldaprc.new
cp -f /etc/sqwebmail/authldaprc /etc/authlib/authldaprc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authmysql -- courier-authmysql < 0.48
if [ -f /etc/courier/authmysqlrc ]; then
mv -f /etc/authlib/authmysqlrc /etc/authlib/authmysqlrc.new
cp -f /etc/courier/authmysqlrc /etc/authlib/authmysqlrc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authmysql -- courier-imap-authmysql < 4.0.0
if [ -f /etc/courier-imap/authmysqlrc ]; then
mv -f /etc/authlib/authmysqlrc /etc/authlib/authmysqlrc.new
cp -f /etc/courier-imap/authmysqlrc /etc/authlib/authmysqlrc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authmysql -- sqwebmail-auth-mysql < 5.0.0
if [ -f /etc/sqwebmail/authmysqlrc ]; then
mv -f /etc/authlib/authmysqlrc /etc/authlib/authmysqlrc.new
cp -f /etc/sqwebmail/authmysqlrc /etc/authlib/authmysqlrc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authpgsql -- courier-authpgsql < 0.48
if [ -f /etc/courier/authpgsqlrc ]; then
mv -f /etc/authlib/authpgsqlrc /etc/authlib/authpgsqlrc.new
cp -f /etc/courier/authpgsqlrc /etc/authlib/authpgsqlrc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authpgsql -- courier-imap-authpgsql < 4.0.0
if [ -f /etc/courier-imap/authpgsqlrc ]; then
mv -f /etc/authlib/authpgsqlrc /etc/authlib/authpgsqlrc.new
cp -f /etc/courier-imap/authpgsqlrc /etc/authlib/authpgsqlrc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-authpgsql -- sqwebmail-auth-pgsql < 5.0.0
if [ -f /etc/sqwebmail/authpgsqlrc ]; then
mv -f /etc/authlib/authpgsqlrc /etc/authlib/authpgsqlrc.new
cp -f /etc/sqwebmail/authpgsqlrc /etc/authlib/authpgsqlrc
- if [ -f /var/lock/subsys/courier-authlib ]; then
- /etc/rc.d/init.d/courier-authlib restart
- fi
+ %service -q courier-authlib restart
fi
%triggerin -n %{name}-userdb -- courier < 0.48
# COPYING contains only note
%doc AUTHORS COPYING ChangeLog NEWS README README*html README.authmysql.myownquery authldap.schema
%dir %{_sysconfdir}/authlib
-%dir %{_libexecdir}/courier-authlib
%attr(754,root,root) /etc/rc.d/init.d/courier-authlib
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/authlib/authdaemonrc
%attr(755,root,root) %{_libexecdir}/courier-authlib/authdaemond
%attr(755,root,root) %{_libexecdir}/courier-authlib/makedatprog
%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthcustom.so.*.*.*
%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpam.so.*.*.*
-%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauth.so.*.*.*
%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthcommon.so.*.*.*
%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthsasl.so.*.*.*
%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauthsaslclient.so.*.*.*
%{_libexecdir}/courier-authlib/libcourierauthsasl.la
%{_libexecdir}/courier-authlib/libcourierauthsaslclient.la
%attr(770,root,daemon) %dir %{_localstatedir}/spool/authdaemon
+%attr(777,root,root) %ghost %{_localstatedir}/spool/authdaemon/socket
%attr(755,root,root) %{_sbindir}/authdaemond
%attr(755,root,root) %{_sbindir}/authenumerate
%attr(755,root,root) %{_sbindir}/authpasswd
%attr(755,root,root) %{_sbindir}/courierlogger
%{_mandir}/man1/*
+%files libs
+%defattr(644,root,root,755)
+%dir %{_libexecdir}/courier-authlib
+%attr(755,root,root) %{_libexecdir}/courier-authlib/libcourierauth.so.*.*.*
+
%files devel
%defattr(644,root,root,755)
%doc authlib.html auth_*.html
%attr(755,root,root) %{_bindir}/courierauthconfig
%{_includedir}/*
%{_mandir}/man3/*
-%{_libexecdir}/courier-authlib/*.so
+%attr(755,root,root) %{_libexecdir}/courier-authlib/*.so
%files authldap
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libexecdir}/courier-authlib/libauthpipe.so.*.*.*
%{_libexecdir}/courier-authlib/libauthpipe.la
+
+%files -n openldap-schema-courier
+%defattr(644,root,root,755)
+%{schemadir}/*.schema