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 # build PostgreSQL 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: 268ead27f4ac39bcfe17d9e38e0f2977
27 Source1: saslauthd.init
28 Source2: saslauthd.sysconfig
30 Patch0: %{name}-configdir.patch
31 Patch1: %{name}-nolibs.patch
32 Patch2: %{name}-lt.patch
33 Patch3: %{name}-db.patch
34 URL: http://asg.web.cmu.edu/sasl/
35 BuildRequires: autoconf >= 2.54
36 BuildRequires: automake
37 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.7d
46 BuildRequires: pam-devel
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 %define _sysconfdir /etc/sasl
52 This is an implementation of the SASL API, useful for adding
53 authentication, authorization, and security to network protocols. The
54 SASL protocol itself is documented in rfc2222; the API standard is a
57 Note: remember to install appropriate plugins, or you won't have any
58 authentication mechanisms available.
61 Pakiet cyrus-sasl zawiera implementacjê biblioteki API SASL dla
62 systemu poczty elektronicznej Cyrusa. Biblioteka ta jest przydatna
63 tak¿e do dodawania uwierzytelniania, autoryzacji oraz zwiêkszania
64 bezpieczeñstwa protoko³ów sieciowych. Sam protokó³ SASL jest opisany w
65 RFC 2222; standaryzacja API jest w toku.
67 Uwaga: aby by³y dostêpne jakiekolwiek mechanizmy autoryzacji, nale¿y
68 doinstalowaæ odpowiednie wtyczki.
71 Esta é uma implementação da API SASL, útil para acrescentar
72 autenticação, autorização e seguança (criptografia) para protocolos de
73 rede. O protocolo SASL está documentado na RFC 2222. A API "padrão"
74 ainda está em desenvolvimento.
77 ðÁËÅÔ cyrus-sasl ÓÏÄÅÒÖÉÔ ÒÅÁÌÉÚÁÃÉÀ Cyrus SASL. SASL - ÜÔÏ Simple
78 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÄÄÅÒÖËÉ
79 ÁÕÔÅÎÔÉËÁÃÉÉ Ë ÐÒÏÔÏËÏÌÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ ÓÏÅÄÉÎÅÎÉÑÈ.
82 ðÁËÅÔ cyrus-sasl ͦÓÔÉÔØ ÒÅÁ̦ÚÁæÀ Cyrus SASL. SASL - ÃÅ Simple
83 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÄÁÎÎÑ Ð¦ÄÔÒÉÍËÉ
84 ÁÕÔÅÎÔÉËÁæ§ ÄÏ ÐÒÏÔÏËÏ̦×, ÂÁÚÏ×ÁÎÉÈ ÎÁ Ú'¤ÄÎÁÎÎÑÈ.
87 Summary: Header files and documentation for cyrus-sasl
88 Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
89 Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
90 Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
91 Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
92 Group: Development/Libraries
93 Requires: %{name} = %{version}-%{release}
96 This includes the header files and documentation needed to develop
97 applications which use SASL.
99 %description devel -l pl
100 Pliki nag³ówkowe i dokumentacja dla cyrus-sasl.
102 %description devel -l pt_BR
103 Este pacote inclui os arquivos de cabeçalho e documentação necessários
104 para desenvolver aplicativos que usem SASL.
106 %description devel -l ru
107 èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
108 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
110 %description devel -l uk
111 èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ
112 ×ÉËÏÒÉÓÔÏ×ÕÀÔØ Cyrus SASL.
115 Summary: Static cyrus-sasl libraries
116 Summary(pl): Statyczne biblioteki cyrus-sasl
117 Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
118 Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
119 Group: Development/Libraries
120 Requires: %{name}-devel = %{version}-%{release}
123 Static cyrus-sasl libraries.
125 %description static -l pl
126 Statyczne biblioteki cyrus-sasl.
128 %description static -l ru
129 óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
130 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
132 %description static -l uk
133 óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ
137 Summary: Cram-MD5 Cyrus SASL plugin
138 Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
139 Summary(pt_BR): Mecanismo SASL CRAM-MD5
141 Requires: %{name} = %{version}-%{release}
143 %description cram-md5
144 This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
145 mandatory-to-implement authentication mechanism for a number of
146 protocols; it uses MD5 with a challenge/response system to
147 authenticate the user.
149 %description cram-md5 -l pl
150 Wtyczka dodaj±ca obs³ugê mechanizmu CRAM-MD5 do Cyrus SASL. CRAM-MD5
151 jest obowi±zkowym do zaimplementowania mechanizmem uwierzytelniania
152 dla wielu protoko³ów; do uwierzytelnienia u¿ytkownika u¿ywa MD5 wraz z
153 systemem challenge/response.
155 %description cram-md5 -l pt_BR
156 Este plugin implementa o mecanismo SASL CRAM-MD5. CRAM-MD5 é o
157 mecanismo de autenticação obrigatório de ser implementado para vários
158 protocolos: ele usa MD5 com um sistema de desafio/resposta para
159 autenticar o usuário.
162 Summary: Digest-MD5 Cyrus SASL plugin
163 Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
164 Summary(pt_BR): Mecanismo SASL DIGEST-MD5
166 Requires: %{name} = %{version}-%{release}
168 %description digest-md5
169 This plugin implements the latest draft of the SASL DIGEST-MD5
170 mechanism. Although not yet finalized, this is likely to become the
171 new mandatory-to-implement authentication system in all new protocols.
172 It's based on the digest md5 authentication system designed for HTTP.
174 %description digest-md5 -l pl
175 Wtyczka dodaj±ca najnowsz± wersjê mechanizmu DIGEST-MD5 do Cyrus SASL.
176 Pomimo tego, ¿e nie jest jeszcze ukoñczony, najprawdopodobniej stanie
177 siê obowi±zkowym do zaimplementowania systemem uwierzytelniania we
178 wszystkich nowych protoko³ach. Bazuje na systemie uwierzytelniania
179 Digest-MD5 zaprojektowanym dla HTTP.
181 %description digest-md5 -l pt_BR
182 Este plugin implementa a última versão da especificação do mecanismo
183 SASL DIGEST-MD5. Embora ainda não esteja finalizado, DIGEST-MD5
184 provavelmente será o novo sistema de autenticação obrigatório para
185 protocolos novos. Ele é baseado na autenticação md5 digest
186 desenvolvida para HTTP.
189 Summary: Plain Cyrus SASL plugin
190 Summary(pl): Wtyczka plain do Cyrus SASL
191 Summary(pt_BR): Mecanismo SASL PLAIN
193 Requires: %{name} = %{version}-%{release}
196 This plugin implements the SASL PLAIN mechanism. Although insecure,
197 PLAIN is useful for transitioning to new security mechanisms, as this
198 is the only mechanism which gives the server a copy of the user's
201 %description plain -l pl
202 Wtyczka dodaj±ca obs³ugê mechanizmu PLAIN do Cyrus SASL. Pomimo tego,
203 ¿e nie jest bezpieczny, PLAIN jest przydatny przy przechodzeniu na
204 nowe mechanizmu bezpieczeñstwa, jako ¿e jest to jedyny mechanizm,
205 który udostêpnia serwerowi kopiê has³a u¿ytkownika.
207 %description plain -l pt_BR
208 Este plugin implementa o mecanismo SASL PLAIN. Embora inseguro, este
209 mecanismo é útil durante transições para novos mecanismos de
210 segurança, pois é o único esquema que fornece uma cópia da senha do
211 usuário para o servidor.
214 Summary: Anonymous Cyrus SASL plugin
215 Summary(pl): Wtyczka anonymous do Cyrus SASL
216 Summary(pt_BR): Mecanismo SASL ANONYMOUS
218 Requires: %{name} = %{version}-%{release}
220 %description anonymous
221 This plugin implements the SASL ANONYMOUS mechanism, used for
222 anonymous authentication.
224 %description anonymous -l pl
225 Wtyczka dodaj±ca obs³ugê mechanizmu ANONYMOUS do Cyrus SASL. S³u¿y do
226 anonimowego uwierzytelniania.
228 %description anonymous -l pt_BR
229 Este plugin implementa o mecanismo SASL ANONYMOUS, usado para
230 autenticação anônima.
233 Summary: GSSAPI Cyrus SASL plugin
234 Summary(pl): Wtyczka GSSAPI do Cyrus SASL
235 Summary(pt_BR): Mecanismo SASL GSSAPI
237 Requires: %{name} = %{version}-%{release}
240 This plugin implements the SASL GSSAPI mechanism, used for
241 GSSAPI/Kerberos5 authentication.
243 %description gssapi -l pl
244 Wtyczka dodaj±ca obs³ugê mechanizmu SASL GSSAPI, u¿ywanego do
245 uwierzytelniania z u¿yciem GSSAPI/Kerberos5.
247 %description gssapi -l pt_BR
248 Este plugin implementa o mecanismo SASL GSSAPI, usado para
249 autenticação Kerberos/GSSAPI.
252 Summary: Unsupported Login Cyrus SASL plugin
253 Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
255 Requires: %{name} = %{version}-%{release}
258 Unsupported LOGIN Cyrus SASL plugin.
260 %description login -l pl
261 Wtyczka dodaj±ca obs³ugê nie wspieranego mechanizmu LOGIN do Cyrus
265 Summary: SRP Cyrus SASL plugin
266 Summary(pl): Wtyczka SRP do Cyrus SASL
267 Summary(pt_BR): Mecanismo SASL SRP
269 Requires: %{name} = %{version}-%{release}
272 This plugin implements the SASL SRP mechanism, based on the Secure
273 Remote Password protocol. This mechanism performs mutual
274 authentication and can provide a security layer with replay detection,
275 integrity protection and/or condifentiality protection.
277 %description srp -l pl
278 Wtyczka dodaj±ca obs³ugê mechanizmu SRP do Cyrus SASL. Bazuje na
279 protokole Secure Remote Password. Ten mechanizm dokonuje wzajemnego
280 uwierzytelnienia i mo¿e dodawaæ warstwê bezpieczeñstwa z wykrywaniem
281 powtarzania, zabezpieczeniem integralno¶ci i/lub poufno¶ci.
283 %description srp -l pt_BR
284 Este plugin implementa o mecanismo SASL SRP, baseado no protocolo SRP
285 (Secure Remote Password). Este mecanismo oferece autenticação mútua
286 (do cliente e do servidor) e pode prover uma camada de segurança com
287 detecção de ataques de replay, garantia de integridade e/ou
291 Summary: OTP Cyrus SASL plugin
292 Summary(pl): Wtyczka OTP do Cyrus SASL
293 Summary(pt_BR): Mecanismo SASL OTP
295 Requires: %{name} = %{version}-%{release}
298 This plugin implements the SASL OTP (One Time Password) mechanism.
300 %description otp -l pl
301 Wtyczka dodaj±ca obs³ugê mechanizmu OTP (has³a jednorazowe) do Cyrus
305 Summary: x509 Cyrus SASL plugin
306 Summary(pl): Wtyczka x509 do Cyrus SASL
308 Requires: %{name} = %{version}-%{release}
311 x509 Cyrus SASL plugin.
313 %description x509 -l pl
314 Wtyczka x509 do Cyrus SASL.
317 Summary: Cyrus SASL authd
318 Summary(pl): Demon authd do Cyrus SASL
320 Requires(post,postun): /sbin/chkconfig
321 Requires: %{name} = %{version}-%{release}
323 %description saslauthd
326 %description saslauthd -l pl
327 Demon authd do Cyrus SASL.
330 Summary: Cyrus SASL pwcheck helper
331 Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
333 Requires: %{name} = %{version}-%{release}
336 Cyrus SASL pwcheck helper.
338 %description pwcheck -l pl
339 Program pomocniczy pwcheck do Cyrus SASL.
342 Summary: Cyrus SASL sasldb plugin
343 Summary(pl): Wtyczka sasldb do Cyrus SASL
345 Requires: %{name} = %{version}-%{release}
348 Cyrus SASL sasldb plugin.
350 %description sasldb -l pl
351 Wtyczka sasldb do Cyrus SASL.
354 Summary: Cyrus SASL MySQL plugin
355 Summary(pl): Wtyczka MySQL do Cyrus SASL
357 Requires: %{name} = %{version}-%{release}
360 Cyrus SASL MySQL plugin.
362 %description mysql -l pl
363 Wtyczka MySQL do Cyrus SASL.
366 Summary: Cyrus SASL PostgreSQL plugin
367 Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
369 Requires: %{name} = %{version}-%{release}
372 Cyrus SASL PostgreSQL plugin.
374 %description pgsql -l pl
375 Wtyczka PostgreSQL do Cyrus SASL.
385 echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
386 ls rfc*.txt >> rfc-compliance
390 rm -rf autom4te.cache saslauthd/autom4te.cache
391 # acinclude.m4 contains only old libtool.m4
392 rm -f acinclude.m4 libtool config/libtool.m4 saslauthd/acinclude.m4
396 %{__aclocal} -I cmulocal -I config
403 %{__aclocal} -I ../cmulocal -I ../config -I config
411 %{!?with_gssapi: --disable-gssapi} \
412 %{?with_gssapi: --enable-gssapi --with-gss_impl=heimdal} \
415 %{?with_srp: --enable-srp} \
417 --with-plugindir=%{_libdir}/sasl2 \
418 --with-configdir=%{_sysconfdir} \
419 --with-dblib=berkeley \
420 --with-dbpath=/var/lib/sasl2/sasl.db \
421 %{?with_ldap: --with-ldap=%{_prefix}} \
422 %{?with_mysql: --with-mysql=%{_prefix}} \
423 %{?with_pgsql: --with-pgsql=%{_prefix}} \
425 %{?with_pwcheck: --with-pwcheck=/var/lib/sasl2} \
426 --with-saslauthd=/var/lib/sasl2
429 %{__make} -C saslauthd testsaslauthd
430 %{__make} -C saslauthd saslcache
433 RFCLIST=`grep 'rfc.\+\.txt' rfc-compliance`
434 for i in $RFCLIST; do
435 RFCDIR=../RFC/text/`echo $i | sed -e 's:^rfc::' -e 's:..\.txt$::' `00
436 echo -e ',s:'$i':'$RFCDIR/$i'\n,w\nq' | ed index.html
440 rm -rf $RPM_BUILD_ROOT
441 install -d $RPM_BUILD_ROOT{/var/lib/sasl2,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
442 $RPM_BUILD_ROOT%{_mandir}/man8
445 sasldir=%{_libdir}/sasl2 \
446 DESTDIR=$RPM_BUILD_ROOT
448 rm -rf $RPM_BUILD_ROOT%{_mandir}/cat*
449 rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.{la,a}
451 install utils/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
452 install saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
454 ln -sf libsasl2.so $RPM_BUILD_ROOT%{_libdir}/libsasl.so
456 touch $RPM_BUILD_ROOT/var/lib/sasl2/sasl.db
458 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
459 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
460 install %{SOURCE3} ./cyrus.pam
462 install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT%{_sbindir}
465 rm -rf $RPM_BUILD_ROOT
467 %post -p /sbin/ldconfig
468 %postun -p /sbin/ldconfig
471 /sbin/chkconfig --add saslauthd
472 if [ -f /var/lock/subsys/saslauthd ]; then
473 /etc/rc.d/init.d/saslauthd restart 1>&2
475 echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
479 if [ "$1" = "0" ]; then
480 if [ -f /var/lock/subsys/saslauthd ]; then
481 /etc/rc.d/init.d/saslauthd stop 1>&2
483 /sbin/chkconfig --del saslauthd
487 %defattr(644,root,root,755)
488 %doc AUTHORS COPYING ChangeLog NEWS README
489 %doc doc/{ONEWS,TODO,*.txt,*.html,*.fig,rfc-compliance}
491 %dir %{_libdir}/sasl2
493 %attr(755,root,root) %{_libdir}/lib*.so.*.*
494 %attr(755,root,root) %{_sbindir}/sasldblistusers2
495 %attr(755,root,root) %{_sbindir}/saslpasswd2
497 %attr(640,root,mail) %ghost %config(noreplace) %verify(not mtime md5 size) /var/lib/sasl2/sasl.db
498 %{_mandir}/man8/sasldblistusers2.*
499 %{_mandir}/man8/saslpasswd2.*
502 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_libdir}/lib*.so
509 %defattr(644,root,root,755)
513 %defattr(644,root,root,755)
514 %attr(755,root,root) %{_libdir}/sasl2/libanonymous.so*
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_libdir}/sasl2/libgssapiv2.so*
523 %defattr(644,root,root,755)
524 %attr(755,root,root) %{_libdir}/sasl2/libcrammd5.so*
527 %defattr(644,root,root,755)
528 %attr(755,root,root) %{_libdir}/sasl2/libdigestmd5.so*
531 %defattr(644,root,root,755)
532 %attr(755,root,root) %{_libdir}/sasl2/liblogin.so*
535 %defattr(644,root,root,755)
536 %attr(755,root,root) %{_libdir}/sasl2/libotp.so*
539 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_libdir}/sasl2/libplain.so*
543 %defattr(644,root,root,755)
544 %attr(755,root,root) %{_libdir}/sasl2/libsasldb.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/libsql*.so*
560 %defattr(644,root,root,755)
561 %attr(755,root,root) %{_libdir}/sasl2/libsrp.so*
566 %defattr(644,root,root,755)
567 %attr(755,root,root) %{_libdir}/sasl2/libx509.so*
572 %defattr(644,root,root,755)
573 %attr(755,root,root) %{_sbindir}/pwcheck
577 %defattr(644,root,root,755)
579 %attr(755,root,root) %{_sbindir}/saslauthd
580 %attr(755,root,root) %{_sbindir}/testsaslauthd
581 %attr(755,root,root) %{_sbindir}/saslcache
582 %attr(754,root,root) /etc/rc.d/init.d/saslauthd
583 %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd
584 %{_mandir}/man8/saslauthd.*