3 # - add ldap plugin from openldap sources
6 %bcond_without ldap # disable LDAP support for saslauthd
7 %bcond_without gssapi # do not enable GSSAPI support for saslauthd and build gssapi plugin
8 %bcond_without mysql # don't build MySQL pluggin
9 %bcond_without pgsql # do not build PostgreSQL pluggin
10 %bcond_without sqlite # do not enable sqlite plugin
11 %bcond_with opie # enable opie plugin
12 %bcond_with srp # build srp pluggin
13 %bcond_with pwcheck # build pwcheck helper (deprecated)
14 %bcond_with x509 # build x509 plugin (no sources in package???)
16 Summary: The SASL library API for the Cyrus mail system
17 Summary(pl): Biblioteka Cyrus SASL
18 Summary(pt_BR): Implementação da API SASL
19 Summary(ru): âÉÂÌÉÏÔÅËÁ Cyrus SASL
20 Summary(uk): â¦Â̦ÏÔÅËÁ Cyrus SASL
24 License: distributable
26 Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{version}.tar.gz
27 # Source0-md5: 268ead27f4ac39bcfe17d9e38e0f2977
28 Source1: saslauthd.init
29 Source2: saslauthd.sysconfig
31 Patch0: %{name}-configdir.patch
32 Patch1: %{name}-nolibs.patch
33 Patch2: %{name}-lt.patch
34 Patch3: %{name}-db.patch
35 Patch4: %{name}-split-sql.patch
36 Patch5: %{name}-opie.patch
37 Patch6: %{name}-gcc4.patch
38 URL: http://asg.web.cmu.edu/sasl/
39 BuildRequires: autoconf >= 2.54
40 BuildRequires: automake
41 BuildRequires: db-devel
44 %{?with_gssapi:BuildRequires: heimdal-devel}
45 BuildRequires: libtool >= 1.4
46 %{?with_mysql:BuildRequires: mysql-devel}
47 %{?with_pgsql:BuildRequires: postgresql-devel}
48 %{?with_ldap:BuildRequires: openldap-devel}
49 %{?with_sqlite:BuildRequires: sqlite-devel}
50 %{?with_opie:BuildRequires: opie-devel}
51 BuildRequires: openssl-devel >= 0.9.7d
52 BuildRequires: pam-devel
53 Requires: pam >= 0.79.0
54 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 %define _sysconfdir /etc/sasl
59 This is an implementation of the SASL API, useful for adding
60 authentication, authorization, and security to network protocols. The
61 SASL protocol itself is documented in rfc2222; the API standard is a
64 Note: remember to install appropriate plugins, or you won't have any
65 authentication mechanisms available.
68 Pakiet cyrus-sasl zawiera implementacjê biblioteki API SASL dla
69 systemu poczty elektronicznej Cyrusa. Biblioteka ta jest przydatna
70 tak¿e do dodawania uwierzytelniania, autoryzacji oraz zwiêkszania
71 bezpieczeñstwa protoko³ów sieciowych. Sam protokó³ SASL jest opisany w
72 RFC 2222; standaryzacja API jest w toku.
74 Uwaga: aby by³y dostêpne jakiekolwiek mechanizmy autoryzacji, nale¿y
75 doinstalowaæ odpowiednie wtyczki.
78 Esta é uma implementação da API SASL, útil para acrescentar
79 autenticação, autorização e seguança (criptografia) para protocolos de
80 rede. O protocolo SASL está documentado na RFC 2222. A API "padrão"
81 ainda está em desenvolvimento.
84 ðÁËÅÔ cyrus-sasl ÓÏÄÅÒÖÉÔ ÒÅÁÌÉÚÁÃÉÀ Cyrus SASL. SASL - ÜÔÏ Simple
85 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÄÄÅÒÖËÉ
86 ÁÕÔÅÎÔÉËÁÃÉÉ Ë ÐÒÏÔÏËÏÌÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ ÓÏÅÄÉÎÅÎÉÑÈ.
89 ðÁËÅÔ cyrus-sasl ͦÓÔÉÔØ ÒÅÁ̦ÚÁæÀ Cyrus SASL. SASL - ÃÅ Simple
90 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÄÁÎÎÑ Ð¦ÄÔÒÉÍËÉ
91 ÁÕÔÅÎÔÉËÁæ§ ÄÏ ÐÒÏÔÏËÏ̦×, ÂÁÚÏ×ÁÎÉÈ ÎÁ Ú'¤ÄÎÁÎÎÑÈ.
94 Summary: Header files and documentation for cyrus-sasl
95 Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
96 Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
97 Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
98 Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
99 Group: Development/Libraries
100 Requires: %{name} = %{version}-%{release}
103 This includes the header files and documentation needed to develop
104 applications which use SASL.
106 %description devel -l pl
107 Pliki nag³ówkowe i dokumentacja dla cyrus-sasl.
109 %description devel -l pt_BR
110 Este pacote inclui os arquivos de cabeçalho e documentação necessários
111 para desenvolver aplicativos que usem SASL.
113 %description devel -l ru
114 èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
115 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
117 %description devel -l uk
118 èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ
119 ×ÉËÏÒÉÓÔÏ×ÕÀÔØ Cyrus SASL.
122 Summary: Static cyrus-sasl libraries
123 Summary(pl): Statyczne biblioteki cyrus-sasl
124 Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
125 Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
126 Group: Development/Libraries
127 Requires: %{name}-devel = %{version}-%{release}
130 Static cyrus-sasl libraries.
132 %description static -l pl
133 Statyczne biblioteki cyrus-sasl.
135 %description static -l ru
136 óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
137 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
139 %description static -l uk
140 óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ
144 Summary: Cram-MD5 Cyrus SASL plugin
145 Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
146 Summary(pt_BR): Mecanismo SASL CRAM-MD5
148 Requires: %{name} = %{version}-%{release}
150 %description cram-md5
151 This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
152 mandatory-to-implement authentication mechanism for a number of
153 protocols; it uses MD5 with a challenge/response system to
154 authenticate the user.
156 %description cram-md5 -l pl
157 Wtyczka dodaj±ca obs³ugê mechanizmu CRAM-MD5 do Cyrus SASL. CRAM-MD5
158 jest obowi±zkowym do zaimplementowania mechanizmem uwierzytelniania
159 dla wielu protoko³ów; do uwierzytelnienia u¿ytkownika u¿ywa MD5 wraz z
160 systemem challenge/response.
162 %description cram-md5 -l pt_BR
163 Este plugin implementa o mecanismo SASL CRAM-MD5. CRAM-MD5 é o
164 mecanismo de autenticação obrigatório de ser implementado para vários
165 protocolos: ele usa MD5 com um sistema de desafio/resposta para
166 autenticar o usuário.
169 Summary: Digest-MD5 Cyrus SASL plugin
170 Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
171 Summary(pt_BR): Mecanismo SASL DIGEST-MD5
173 Requires: %{name} = %{version}-%{release}
175 %description digest-md5
176 This plugin implements the latest draft of the SASL DIGEST-MD5
177 mechanism. Although not yet finalized, this is likely to become the
178 new mandatory-to-implement authentication system in all new protocols.
179 It's based on the digest md5 authentication system designed for HTTP.
181 %description digest-md5 -l pl
182 Wtyczka dodaj±ca najnowsz± wersjê mechanizmu DIGEST-MD5 do Cyrus SASL.
183 Pomimo tego, ¿e nie jest jeszcze ukoñczony, najprawdopodobniej stanie
184 siê obowi±zkowym do zaimplementowania systemem uwierzytelniania we
185 wszystkich nowych protoko³ach. Bazuje na systemie uwierzytelniania
186 Digest-MD5 zaprojektowanym dla HTTP.
188 %description digest-md5 -l pt_BR
189 Este plugin implementa a última versão da especificação do mecanismo
190 SASL DIGEST-MD5. Embora ainda não esteja finalizado, DIGEST-MD5
191 provavelmente será o novo sistema de autenticação obrigatório para
192 protocolos novos. Ele é baseado na autenticação md5 digest
193 desenvolvida para HTTP.
196 Summary: Plain Cyrus SASL plugin
197 Summary(pl): Wtyczka plain do Cyrus SASL
198 Summary(pt_BR): Mecanismo SASL PLAIN
200 Requires: %{name} = %{version}-%{release}
203 This plugin implements the SASL PLAIN mechanism. Although insecure,
204 PLAIN is useful for transitioning to new security mechanisms, as this
205 is the only mechanism which gives the server a copy of the user's
208 %description plain -l pl
209 Wtyczka dodaj±ca obs³ugê mechanizmu PLAIN do Cyrus SASL. Pomimo tego,
210 ¿e nie jest bezpieczny, PLAIN jest przydatny przy przechodzeniu na
211 nowe mechanizmu bezpieczeñstwa, jako ¿e jest to jedyny mechanizm,
212 który udostêpnia serwerowi kopiê has³a u¿ytkownika.
214 %description plain -l pt_BR
215 Este plugin implementa o mecanismo SASL PLAIN. Embora inseguro, este
216 mecanismo é útil durante transições para novos mecanismos de
217 segurança, pois é o único esquema que fornece uma cópia da senha do
218 usuário para o servidor.
221 Summary: Anonymous Cyrus SASL plugin
222 Summary(pl): Wtyczka anonymous do Cyrus SASL
223 Summary(pt_BR): Mecanismo SASL ANONYMOUS
225 Requires: %{name} = %{version}-%{release}
227 %description anonymous
228 This plugin implements the SASL ANONYMOUS mechanism, used for
229 anonymous authentication.
231 %description anonymous -l pl
232 Wtyczka dodaj±ca obs³ugê mechanizmu ANONYMOUS do Cyrus SASL. S³u¿y do
233 anonimowego uwierzytelniania.
235 %description anonymous -l pt_BR
236 Este plugin implementa o mecanismo SASL ANONYMOUS, usado para
237 autenticação anônima.
240 Summary: GSSAPI Cyrus SASL plugin
241 Summary(pl): Wtyczka GSSAPI do Cyrus SASL
242 Summary(pt_BR): Mecanismo SASL GSSAPI
244 Requires: %{name} = %{version}-%{release}
247 This plugin implements the SASL GSSAPI mechanism, used for
248 GSSAPI/Kerberos5 authentication.
250 %description gssapi -l pl
251 Wtyczka dodaj±ca obs³ugê mechanizmu SASL GSSAPI, u¿ywanego do
252 uwierzytelniania z u¿yciem GSSAPI/Kerberos5.
254 %description gssapi -l pt_BR
255 Este plugin implementa o mecanismo SASL GSSAPI, usado para
256 autenticação Kerberos/GSSAPI.
259 Summary: Unsupported Login Cyrus SASL plugin
260 Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
262 Requires: %{name} = %{version}-%{release}
265 Unsupported LOGIN Cyrus SASL plugin.
267 %description login -l pl
268 Wtyczka dodaj±ca obs³ugê nie wspieranego mechanizmu LOGIN do Cyrus
272 Summary: SRP Cyrus SASL plugin
273 Summary(pl): Wtyczka SRP do Cyrus SASL
274 Summary(pt_BR): Mecanismo SASL SRP
276 Requires: %{name} = %{version}-%{release}
279 This plugin implements the SASL SRP mechanism, based on the Secure
280 Remote Password protocol. This mechanism performs mutual
281 authentication and can provide a security layer with replay detection,
282 integrity protection and/or condifentiality protection.
284 %description srp -l pl
285 Wtyczka dodaj±ca obs³ugê mechanizmu SRP do Cyrus SASL. Bazuje na
286 protokole Secure Remote Password. Ten mechanizm dokonuje wzajemnego
287 uwierzytelnienia i mo¿e dodawaæ warstwê bezpieczeñstwa z wykrywaniem
288 powtarzania, zabezpieczeniem integralno¶ci i/lub poufno¶ci.
290 %description srp -l pt_BR
291 Este plugin implementa o mecanismo SASL SRP, baseado no protocolo SRP
292 (Secure Remote Password). Este mecanismo oferece autenticação mútua
293 (do cliente e do servidor) e pode prover uma camada de segurança com
294 detecção de ataques de replay, garantia de integridade e/ou
298 Summary: OTP Cyrus SASL plugin
299 Summary(pl): Wtyczka OTP do Cyrus SASL
300 Summary(pt_BR): Mecanismo SASL OTP
302 Requires: %{name} = %{version}-%{release}
305 This plugin implements the SASL OTP (One Time Password) mechanism.
307 %description otp -l pl
308 Wtyczka dodaj±ca obs³ugê mechanizmu OTP (has³a jednorazowe) do Cyrus
312 Summary: OPIE Cyrus SASL plugin
313 Summary(pl): Wtyczka OPIE do Cyrus SASL
314 Summary(pt_BR): Mecanismo SASL OPIE
316 Requires: %{name} = %{version}-%{release}
319 This plugin implements the SASL OPIE (One Time Password) mechanism.
321 %description opie -l pl
322 Wtyczka dodaj±ca obs³ugê mechanizmu OPIE (has³a jednorazowe) do Cyrus
326 Summary: x509 Cyrus SASL plugin
327 Summary(pl): Wtyczka x509 do Cyrus SASL
329 Requires: %{name} = %{version}-%{release}
332 x509 Cyrus SASL plugin.
334 %description x509 -l pl
335 Wtyczka x509 do Cyrus SASL.
338 Summary: Cyrus SASL authd
339 Summary(pl): Demon authd do Cyrus SASL
341 Requires(post,postun): /sbin/chkconfig
342 Requires: %{name} = %{version}-%{release}
344 %description saslauthd
347 %description saslauthd -l pl
348 Demon authd do Cyrus SASL.
351 Summary: Cyrus SASL pwcheck helper
352 Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
354 Requires: %{name} = %{version}-%{release}
357 Cyrus SASL pwcheck helper.
359 %description pwcheck -l pl
360 Program pomocniczy pwcheck do Cyrus SASL.
363 Summary: Cyrus SASL sasldb plugin
364 Summary(pl): Wtyczka sasldb do Cyrus SASL
366 Requires: %{name} = %{version}-%{release}
369 Cyrus SASL sasldb plugin.
371 %description sasldb -l pl
372 Wtyczka sasldb do Cyrus SASL.
375 Summary: Cyrus SASL MySQL plugin
376 Summary(pl): Wtyczka MySQL do Cyrus SASL
378 Requires: %{name} = %{version}-%{release}
381 Cyrus SASL MySQL plugin.
383 %description mysql -l pl
384 Wtyczka MySQL do Cyrus SASL.
387 Summary: Cyrus SASL PostgreSQL plugin
388 Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
390 Requires: %{name} = %{version}-%{release}
393 Cyrus SASL PostgreSQL plugin.
395 %description pgsql -l pl
396 Wtyczka PostgreSQL do Cyrus SASL.
399 Summary: Cyrus SQLite PostgreSQL plugin
400 Summary(pl): Wtyczka SQLite do Cyrus SASL
402 Requires: %{name} = %{version}-%{release}
405 Cyrus SASL SQLite plugin.
407 %description sqlite -l pl
408 Wtyczka SQLite do Cyrus SASL.
421 echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
422 ls rfc*.txt >> rfc-compliance
426 rm -rf autom4te.cache saslauthd/autom4te.cache
427 # acinclude.m4 contains only old libtool.m4
428 rm -f acinclude.m4 libtool config/libtool.m4 saslauthd/acinclude.m4
432 %{__aclocal} -I cmulocal -I config
439 %{__aclocal} -I ../cmulocal -I ../config -I config
447 %{!?with_gssapi: --disable-gssapi} \
448 %{?with_gssapi: --enable-gssapi --with-gss_impl=heimdal} \
451 %{?with_srp: --enable-srp} \
453 --with-plugindir=%{_libdir}/sasl2 \
454 --with-configdir=%{_sysconfdir} \
455 --with-dblib=berkeley \
456 --with-dbpath=/var/lib/sasl2/sasl.db \
457 %{?with_ldap: --with-ldap=%{_prefix}} \
458 %{?with_mysql: --with-mysql=%{_prefix}} \
459 %{?with_pgsql: --with-pgsql=%{_prefix}} \
460 %{?with_sqlite: --with-sqlite=%{_prefix}} \
461 %{?with_opie: --with-opie=%{_prefix}} \
463 %{?with_pwcheck: --with-pwcheck=/var/lib/sasl2} \
464 --with-saslauthd=/var/lib/sasl2
467 %{__make} -C saslauthd testsaslauthd
468 %{__make} -C saslauthd saslcache
471 RFCLIST=`grep 'rfc.\+\.txt' rfc-compliance`
472 for i in $RFCLIST; do
473 RFCDIR=../RFC/text/`echo $i | sed -e 's:^rfc::' -e 's:..\.txt$::' `00
474 echo -e ',s:'$i':'$RFCDIR/$i'\n,w\nq' | ed index.html
478 rm -rf $RPM_BUILD_ROOT
479 install -d $RPM_BUILD_ROOT{/var/lib/sasl2,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
480 $RPM_BUILD_ROOT%{_mandir}/man8
483 sasldir=%{_libdir}/sasl2 \
484 DESTDIR=$RPM_BUILD_ROOT
486 rm -rf $RPM_BUILD_ROOT%{_mandir}/cat*
487 rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.{la,a}
489 install utils/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
490 install saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
492 ln -sf libsasl2.so $RPM_BUILD_ROOT%{_libdir}/libsasl.so
494 touch $RPM_BUILD_ROOT/var/lib/sasl2/sasl.db
496 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
497 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
498 install %{SOURCE3} ./cyrus.pam
500 install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT%{_sbindir}
503 rm -rf $RPM_BUILD_ROOT
505 %post -p /sbin/ldconfig
506 %postun -p /sbin/ldconfig
509 /sbin/chkconfig --add saslauthd
510 if [ -f /var/lock/subsys/saslauthd ]; then
511 /etc/rc.d/init.d/saslauthd restart 1>&2
513 echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
517 if [ "$1" = "0" ]; then
518 if [ -f /var/lock/subsys/saslauthd ]; then
519 /etc/rc.d/init.d/saslauthd stop 1>&2
521 /sbin/chkconfig --del saslauthd
525 %defattr(644,root,root,755)
526 %doc AUTHORS COPYING ChangeLog NEWS README
527 %doc doc/{ONEWS,TODO,*.txt,*.html,*.fig,rfc-compliance}
529 %dir %{_libdir}/sasl2
531 %attr(755,root,root) %{_libdir}/lib*.so.*.*
532 %attr(755,root,root) %{_sbindir}/sasldblistusers2
533 %attr(755,root,root) %{_sbindir}/saslpasswd2
535 %attr(640,root,mail) %ghost %config(noreplace) %verify(not mtime md5 size) /var/lib/sasl2/sasl.db
536 %{_mandir}/man8/sasldblistusers2.*
537 %{_mandir}/man8/saslpasswd2.*
540 %defattr(644,root,root,755)
542 %attr(755,root,root) %{_libdir}/lib*.so
547 %defattr(644,root,root,755)
551 %defattr(644,root,root,755)
552 %attr(755,root,root) %{_libdir}/sasl2/libanonymous.so*
556 %defattr(644,root,root,755)
557 %attr(755,root,root) %{_libdir}/sasl2/libgssapiv2.so*
561 %defattr(644,root,root,755)
562 %attr(755,root,root) %{_libdir}/sasl2/libcrammd5.so*
565 %defattr(644,root,root,755)
566 %attr(755,root,root) %{_libdir}/sasl2/libdigestmd5.so*
569 %defattr(644,root,root,755)
570 %attr(755,root,root) %{_libdir}/sasl2/liblogin.so*
573 %defattr(644,root,root,755)
574 %attr(755,root,root) %{_libdir}/sasl2/libotp.so*
578 %defattr(644,root,root,755)
579 %attr(755,root,root) %{_libdir}/sasl2/libopie.so*
583 %defattr(644,root,root,755)
584 %attr(755,root,root) %{_libdir}/sasl2/libplain.so*
587 %defattr(644,root,root,755)
588 %attr(755,root,root) %{_libdir}/sasl2/libsasldb.so*
592 %defattr(644,root,root,755)
593 %attr(755,root,root) %{_libdir}/sasl2/libmysql.so*
598 %defattr(644,root,root,755)
599 %attr(755,root,root) %{_libdir}/sasl2/libpgsql.so*
604 %defattr(644,root,root,755)
605 %attr(755,root,root) %{_libdir}/sasl2/libsqlite.so*
610 %defattr(644,root,root,755)
611 %attr(755,root,root) %{_libdir}/sasl2/libsrp.so*
616 %defattr(644,root,root,755)
617 %attr(755,root,root) %{_libdir}/sasl2/libx509.so*
622 %defattr(644,root,root,755)
623 %attr(755,root,root) %{_sbindir}/pwcheck
627 %defattr(644,root,root,755)
629 %attr(755,root,root) %{_sbindir}/saslauthd
630 %attr(755,root,root) %{_sbindir}/testsaslauthd
631 %attr(755,root,root) %{_sbindir}/saslcache
632 %attr(754,root,root) /etc/rc.d/init.d/saslauthd
633 %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd
634 %{_mandir}/man8/saslauthd.*