3 # - add ldap plugin from openldap sources
4 # - cleaner solution for mysql/pgsql support
7 %bcond_without ldap # disable LDAP support for saslauthd
8 %bcond_with gssapi # enable GSSAPI support for saslauthd and build gssapi plugin
9 %bcond_without mysql # don't build mysql pluggin
10 %bcond_with pgsql # don't build pgsql pluggin
11 %bcond_with srp # build srp pluggin
12 %bcond_with pwcheck # build pwcheck helper (deprecated)
13 %bcond_with x509 # build x509 plugin (no sources in package???)
15 Summary: The SASL library API for the Cyrus mail system
16 Summary(pl): Biblioteka Cyrus SASL
17 Summary(pt_BR): Implementação da API SASL
18 Summary(ru): âÉÂÌÉÏÔÅËÁ Cyrus SASL
19 Summary(uk): â¦Â̦ÏÔÅËÁ Cyrus SASL
23 License: distributable
25 Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{version}.tar.gz
26 # Source0-md5: 4add6be2f194dc51aafc64193a1dd77b
27 Source1: saslauthd.init
28 Source2: saslauthd.sysconfig
30 Patch0: %{name}-configdir.patch
31 Patch1: %{name}-nolibs.patch
32 Patch2: %{name}-do_dlopen.patch
33 Patch3: %{name}-ldb4.patch
34 Patch4: %{name}-lt.patch
35 URL: http://asg.web.cmu.edu/sasl/
36 BuildRequires: autoconf >= 2.54
37 BuildRequires: automake
38 BuildRequires: db-devel
40 %{?with_gssapi:BuildRequires: heimdal-devel}
41 BuildRequires: libtool >= 1.4
42 %{?with_mysql:BuildRequires: mysql-devel}
43 %{?with_pgsql:BuildRequires: postgresql-devel}
44 %{?with_ldap:BuildRequires: openldap-devel}
45 BuildRequires: openssl-devel >= 0.9.7c
46 BuildRequires: pam-devel
47 Requires(post): /sbin/ldconfig
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define _sysconfdir /etc/sasl
53 This is an implementation of the SASL API, useful for adding
54 authentication, authorization, and security to network protocols. The
55 SASL protocol itself is documented in rfc2222; the API standard is a
59 Pakiet cyrus-sasl zawiera implementacjê biblioteki API SASL dla
60 systemu poczty elektronicznej Cyrusa. Biblioteka ta jest przydatna
61 tak¿e do dodawania uwierzytelniania, autoryzacji oraz zwiêkszania
62 bezpieczeñstwa protoko³ów sieciowych. Sam protokó³ SASL jest opisany w
63 RFC 2222; standaryzacja API jest w toku.
66 Esta é uma implementação da API SASL, útil para acrescentar
67 autenticação, autorização e seguança (criptografia) para protocolos de
68 rede. O protocolo SASL está documentado na RFC 2222. A API "padrão"
69 ainda está em desenvolvimento.
72 ðÁËÅÔ cyrus-sasl ÓÏÄÅÒÖÉÔ ÒÅÁÌÉÚÁÃÉÀ Cyrus SASL. SASL - ÜÔÏ Simple
73 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÄÄÅÒÖËÉ
74 ÁÕÔÅÎÔÉËÁÃÉÉ Ë ÐÒÏÔÏËÏÌÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ ÓÏÅÄÉÎÅÎÉÑÈ.
77 ðÁËÅÔ cyrus-sasl ͦÓÔÉÔØ ÒÅÁ̦ÚÁæÀ Cyrus SASL. SASL - ÃÅ Simple
78 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÄÁÎÎÑ Ð¦ÄÔÒÉÍËÉ
79 ÁÕÔÅÎÔÉËÁæ§ ÄÏ ÐÒÏÔÏËÏ̦×, ÂÁÚÏ×ÁÎÉÈ ÎÁ Ú'¤ÄÎÁÎÎÑÈ.
82 Summary: Header files and documentation for cyrus-sasl
83 Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
84 Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
85 Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
86 Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
87 Group: Development/Libraries
88 Requires: %{name} = %{version}
91 This includes the header files and documentation needed to develop
92 applications which use SASL.
94 %description devel -l pl
95 Pliki nag³ówkowe i dokumentacja dla cyrus-sasl.
97 %description devel -l pt_BR
98 Este pacote inclui os arquivos de cabeçalho e documentação necessários
99 para desenvolver aplicativos que usem SASL.
101 %description devel -l ru
102 èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
103 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
105 %description devel -l uk
106 èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ
107 ×ÉËÏÒÉÓÔÏ×ÕÀÔØ Cyrus SASL.
110 Summary: Static cyrus-sasl libraries
111 Summary(pl): Statyczne biblioteki cyrus-sasl
112 Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
113 Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
114 Group: Development/Libraries
115 Requires: %{name}-devel = %{version}
118 Static cyrus-sasl libraries.
120 %description static -l pl
121 Statyczne biblioteki cyrus-sasl.
123 %description static -l ru
124 óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
125 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
127 %description static -l uk
128 óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ
132 Summary: Cram-MD5 Cyrus SASL plugin
133 Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
134 Summary(pt_BR): Mecanismo SASL CRAM-MD5
136 Requires: %{name} = %{version}
138 %description cram-md5
139 This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
140 mandatory-to-implement authentication mechanism for a number of
141 protocols; it uses MD5 with a challenge/response system to
142 authenticate the user.
144 %description cram-md5 -l pl
145 Wtyczka dodaj±ca obs³ugê mechanizmu CRAM-MD5 do Cyrus SASL. CRAM-MD5
146 jest obowi±zkowym do zaimplementowania mechanizmem uwierzytelniania
147 dla wielu protoko³ów; do uwierzytelnienia u¿ytkownika u¿ywa MD5 wraz z
148 systemem challenge/response.
150 %description cram-md5 -l pt_BR
151 Este plugin implementa o mecanismo SASL CRAM-MD5. CRAM-MD5 é o
152 mecanismo de autenticação obrigatório de ser implementado para vários
153 protocolos: ele usa MD5 com um sistema de desafio/resposta para
154 autenticar o usuário.
157 Summary: Digest-MD5 Cyrus SASL plugin
158 Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
159 Summary(pt_BR): Mecanismo SASL DIGEST-MD5
161 Requires: %{name} = %{version}
163 %description digest-md5
164 This plugin implements the latest draft of the SASL DIGEST-MD5
165 mechanism. Although not yet finalized, this is likely to become the
166 new mandatory-to-implement authentication system in all new protocols.
167 It's based on the digest md5 authentication system designed for HTTP.
169 %description digest-md5 -l pl
170 Wtyczka dodaj±ca najnowsz± wersjê mechanizmu DIGEST-MD5 do Cyrus SASL.
171 Pomimo tego, ¿e nie jest jeszcze ukoñczony, najprawdopodobniej stanie
172 siê obowi±zkowym do zaimplementowania systemem uwierzytelniania we
173 wszystkich nowych protoko³ach. Bazuje na systemie uwierzytelniania
174 Digest-MD5 zaprojektowanym dla HTTP.
176 %description digest-md5 -l pt_BR
177 Este plugin implementa a última versão da especificação do mecanismo
178 SASL DIGEST-MD5. Embora ainda não esteja finalizado, DIGEST-MD5
179 provavelmente será o novo sistema de autenticação obrigatório para
180 protocolos novos. Ele é baseado na autenticação md5 digest
181 desenvolvida para HTTP.
184 Summary: Plain Cyrus SASL plugin
185 Summary(pl): Wtyczka plain do Cyrus SASL
186 Summary(pt_BR): Mecanismo SASL PLAIN
188 Requires: %{name} = %{version}
191 This plugin implements the SASL PLAIN mechanism. Although insecure,
192 PLAIN is useful for transitioning to new security mechanisms, as this
193 is the only mechanism which gives the server a copy of the user's
196 %description plain -l pl
197 Wtyczka dodaj±ca obs³ugê mechanizmu PLAIN do Cyrus SASL. Pomimo tego,
198 ¿e nie jest bezpieczny, PLAIN jest przydatny przy przechodzeniu na
199 nowe mechanizmu bezpieczeñstwa, jako ¿e jest to jedyny mechanizm,
200 który udostêpnia serwerowi kopiê has³a u¿ytkownika.
202 %description plain -l pt_BR
203 Este plugin implementa o mecanismo SASL PLAIN. Embora inseguro, este
204 mecanismo é útil durante transições para novos mecanismos de
205 segurança, pois é o único esquema que fornece uma cópia da senha do
206 usuário para o servidor.
209 Summary: Anonymous Cyrus SASL plugin
210 Summary(pl): Wtyczka anonymous do Cyrus SASL
211 Summary(pt_BR): Mecanismo SASL ANONYMOUS
213 Requires: %{name} = %{version}
215 %description anonymous
216 This plugin implements the SASL ANONYMOUS mechanism, used for
217 anonymous authentication.
219 %description anonymous -l pl
220 Wtyczka dodaj±ca obs³ugê mechanizmu ANONYMOUS do Cyrus SASL. S³u¿y do
221 anonimowego uwierzytelniania.
223 %description anonymous -l pt_BR
224 Este plugin implementa o mecanismo SASL ANONYMOUS, usado para
225 autenticação anônima.
228 Summary: GSSAPI Cyrus SASL plugin
229 Summary(pl): Wtyczka GSSAPI do Cyrus SASL
230 Summary(pt_BR): Mecanismo SASL GSSAPI
232 Requires: %{name} = %{version}
235 This plugin implements the SASL GSSAPI mechanism, used for
236 GSSAPI/Kerberos5 authentication.
238 %description gssapi -l pl
239 Wtyczka dodaj±ca obs³ugê mechanizmu SASL GSSAPI, u¿ywanego do
240 uwierzytelniania z u¿yciem GSSAPI/Kerberos5.
242 %description gssapi -l pt_BR
243 Este plugin implementa o mecanismo SASL GSSAPI, usado para
244 autenticação Kerberos/GSSAPI.
247 Summary: Unsupported Login Cyrus SASL plugin
248 Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
250 Requires: %{name} = %{version}
253 Unsupported LOGIN Cyrus SASL plugin.
255 %description login -l pl
256 Wtyczka dodaj±ca obs³ugê nie wspieranego mechanizmu LOGIN do Cyrus
260 Summary: SRP Cyrus SASL plugin
261 Summary(pl): Wtyczka SRP do Cyrus SASL
262 Summary(pt_BR): Mecanismo SASL SRP
264 Requires: %{name} = %{version}
267 This plugin implements the SASL SRP mechanism, based on the Secure
268 Remote Password protocol. This mechanism performs mutual
269 authentication and can provide a security layer with replay detection,
270 integrity protection and/or condifentiality protection.
272 %description srp -l pl
273 Wtyczka dodaj±ca obs³ugê mechanizmu SRP do Cyrus SASL. Bazuje na
274 protokole Secure Remote Password. Ten mechanizm dokonuje wzajemnego
275 uwierzytelnienia i mo¿e dodawaæ warstwê bezpieczeñstwa z wykrywaniem
276 powtarzania, zabezpieczeniem integralno¶ci i/lub poufno¶ci.
278 %description srp -l pt_BR
279 Este plugin implementa o mecanismo SASL SRP, baseado no protocolo SRP
280 (Secure Remote Password). Este mecanismo oferece autenticação mútua
281 (do cliente e do servidor) e pode prover uma camada de segurança com
282 detecção de ataques de replay, garantia de integridade e/ou
286 Summary: OTP Cyrus SASL plugin
287 Summary(pl): Wtyczka OTP do Cyrus SASL
288 Summary(pt_BR): Mecanismo SASL OTP
290 Requires: %{name} = %{version}
293 This plugin implements the SASL OTP (One Time Password) mechanism.
295 %description otp -l pl
296 Wtyczka dodaj±ca obs³ugê mechanizmu OTP (has³a jednorazowe) do Cyrus
300 Summary: x509 Cyrus SASL plugin
301 Summary(pl): Wtyczka x509 do Cyrus SASL
303 Requires: %{name} = %{version}
306 x509 Cyrus SASL plugin.
308 %description x509 -l pl
309 Wtyczka x509 do Cyrus SASL.
312 Summary: Cyrus SASL authd
313 Summary(pl): Demon authd do Cyrus SASL
315 Requires(post,postun): /sbin/chkconfig
316 Requires: %{name} = %{version}
318 %description saslauthd
321 %description saslauthd -l pl
322 Demon authd do Cyrus SASL.
325 Summary: Cyrus SASL pwcheck helper
326 Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
328 Requires: %{name} = %{version}
331 Cyrus SASL pwcheck helper.
333 %description pwcheck -l pl
334 Program pomocniczy pwcheck do Cyrus SASL.
337 Summary: Cyrus SASL sasldb plugin
338 Summary(pl): Wtyczka sasldb do Cyrus SASL
340 Requires: %{name} = %{version}
343 Cyrus SASL sasldb plugin.
345 %description sasldb -l pl
346 Wtyczka sasldb do Cyrus SASL.
349 Summary: Cyrus SASL mysql plugin
350 Summary(pl): Wtyczka mysql do Cyrus SASL
352 Requires: %{name} = %{version}
355 Cyrus SASL mysql plugin.
357 %description mysql -l pl
358 Wtyczka mysql do Cyrus SASL.
361 Summary: Cyrus SASL PostgreSQL plugin
362 Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
364 Requires: %{name} = %{version}
367 Cyrus SASL PostgreSQL plugin.
369 %description pgsql -l pl
370 Wtyczka PostgreSQL do Cyrus SASL.
381 echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
382 ls rfc*.txt >> rfc-compliance
386 # acinclude.m4 contains only old libtool.m4
389 %{__aclocal} -I cmulocal -I config
395 %{__aclocal} -I ../cmulocal -I ../config -I config
403 %{!?with_gssapi: --disable-gssapi} \
404 %{?with_gssapi: --enable-gssapi --with-gss_impl=heimdal} \
407 %{?with_srp: --enable-srp} \
409 --with-plugindir=%{_libdir}/sasl2 \
410 --with-configdir=%{_sysconfdir} \
411 --with-dblib=berkeley \
412 --with-dbpath=/var/lib/sasl2/sasl.db \
413 %{?with_ldap: --with-ldap=%{_prefix}} \
414 %{?with_mysql: --with-mysql=%{_prefix}} \
415 %{?with_pgsql: --with-pgsql=%{_prefix}} \
417 %{?with_pwcheck: --with-pwcheck=/var/lib/sasl2} \
418 --with-saslauthd=/var/lib/sasl2
421 %{__make} -C saslauthd testsaslauthd
422 %{__make} -C saslauthd saslcache
425 RFCLIST=`grep 'rfc.\+\.txt' rfc-compliance`
426 for i in $RFCLIST; do
427 RFCDIR=../RFC/text/`echo $i | sed -e 's:^rfc::' -e 's:..\.txt$::' `00
428 echo -e ',s:'$i':'$RFCDIR/$i'\n,w\nq' | ed index.html
432 rm -rf $RPM_BUILD_ROOT
433 install -d $RPM_BUILD_ROOT{/var/lib/sasl2,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
434 $RPM_BUILD_ROOT%{_mandir}/man8
437 sasldir=%{_libdir}/sasl2 \
438 DESTDIR=$RPM_BUILD_ROOT
440 rm -rf $RPM_BUILD_ROOT%{_mandir}/cat*
441 rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.{la,a}
443 install {utils,saslauthd}/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
445 ln -sf libsasl2.so $RPM_BUILD_ROOT%{_libdir}/libsasl.so
447 touch $RPM_BUILD_ROOT/var/lib/sasl2/sasl.db
449 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
450 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
451 install %{SOURCE3} ./cyrus.pam
453 install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT/%{_sbindir}
456 rm -rf $RPM_BUILD_ROOT
460 echo "Remember to install appropriate plugins, or you won't have any mechs available."
462 %postun -p /sbin/ldconfig
465 /sbin/chkconfig --add saslauthd
466 if [ -f /var/lock/subsys/saslauthd ]; then
467 /etc/rc.d/init.d/saslauthd restart 1>&2
469 echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
473 if [ "$1" = "0" ]; then
474 if [ -f /var/lock/subsys/saslauthd ]; then
475 /etc/rc.d/init.d/saslauthd stop 1>&2
477 /sbin/chkconfig --del saslauthd
481 %defattr(644,root,root,755)
482 %doc AUTHORS COPYING ChangeLog NEWS README
483 %doc doc/{ONEWS,TODO,*.txt,*.html,*.fig,rfc-compliance}
485 %dir %{_libdir}/sasl2
487 %attr(755,root,root) %{_libdir}/lib*.so.*.*
488 %attr(755,root,root) %{_sbindir}/sasldblistusers2
489 %attr(755,root,root) %{_sbindir}/saslpasswd2
491 %attr(640,root,mail) %ghost %config(noreplace) %verify(not mtime md5 size) /var/lib/sasl2/sasl.db
492 %{_mandir}/man8/sasldblistusers2.*
493 %{_mandir}/man8/saslpasswd2.*
496 %defattr(644,root,root,755)
498 %attr(755,root,root) %{_libdir}/lib*.so
503 %defattr(644,root,root,755)
507 %defattr(644,root,root,755)
508 %attr(755,root,root) %{_libdir}/sasl2/libanonymous.so*
512 %defattr(644,root,root,755)
513 %attr(755,root,root) %{_libdir}/sasl2/libgssapiv2.so*
517 %defattr(644,root,root,755)
518 %attr(755,root,root) %{_libdir}/sasl2/libcrammd5.so*
521 %defattr(644,root,root,755)
522 %attr(755,root,root) %{_libdir}/sasl2/libdigestmd5.so*
525 %defattr(644,root,root,755)
526 %attr(755,root,root) %{_libdir}/sasl2/liblogin.so*
529 %defattr(644,root,root,755)
530 %attr(755,root,root) %{_libdir}/sasl2/libotp.so*
533 %defattr(644,root,root,755)
534 %attr(755,root,root) %{_libdir}/sasl2/libplain.so*
537 %defattr(644,root,root,755)
538 %attr(755,root,root) %{_libdir}/sasl2/libsasldb.so*
542 %defattr(644,root,root,755)
543 %attr(755,root,root) %{_libdir}/sasl2/libsql*.so*
548 %defattr(644,root,root,755)
549 %attr(755,root,root) %{_libdir}/sasl2/libsql*.so*
554 %defattr(644,root,root,755)
555 %attr(755,root,root) %{_libdir}/sasl2/libsrp.so*
560 %defattr(644,root,root,755)
561 %attr(755,root,root) %{_libdir}/sasl2/libx509.so*
566 %defattr(644,root,root,755)
567 %attr(755,root,root) %{_sbindir}/pwcheck
571 %defattr(644,root,root,755)
573 %attr(755,root,root) %{_sbindir}/saslauthd
574 %attr(755,root,root) %{_sbindir}/testsaslauthd
575 %attr(755,root,root) %{_sbindir}/saslcache
576 %attr(754,root,root) /etc/rc.d/init.d/saslauthd
577 %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd
578 %{_mandir}/man8/saslauthd.*