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 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: ea76410ad88fa7b6c17a6aac424382c9
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}-unchecked_env.patch
34 URL: http://asg.web.cmu.edu/sasl/
35 BuildRequires: autoconf >= 2.54
36 BuildRequires: automake
37 BuildRequires: db-devel
39 %{?with_gssapi:BuildRequires: heimdal-devel}
40 BuildRequires: libtool >= 1.4
41 %{?with_mysql:BuildRequires: mysql-devel}
42 %{?with_pgsql:BuildRequires: postgresql-devel}
43 %{?with_ldap:BuildRequires: openldap-devel}
44 BuildRequires: openssl-devel >= 0.9.7d
45 BuildRequires: pam-devel
46 Requires(post): /sbin/ldconfig
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
58 Pakiet cyrus-sasl zawiera implementacjê biblioteki API SASL dla
59 systemu poczty elektronicznej Cyrusa. Biblioteka ta jest przydatna
60 tak¿e do dodawania uwierzytelniania, autoryzacji oraz zwiêkszania
61 bezpieczeñstwa protoko³ów sieciowych. Sam protokó³ SASL jest opisany w
62 RFC 2222; standaryzacja API jest w toku.
65 Esta é uma implementação da API SASL, útil para acrescentar
66 autenticação, autorização e seguança (criptografia) para protocolos de
67 rede. O protocolo SASL está documentado na RFC 2222. A API "padrão"
68 ainda está em desenvolvimento.
71 ðÁËÅÔ cyrus-sasl ÓÏÄÅÒÖÉÔ ÒÅÁÌÉÚÁÃÉÀ Cyrus SASL. SASL - ÜÔÏ Simple
72 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÄÄÅÒÖËÉ
73 ÁÕÔÅÎÔÉËÁÃÉÉ Ë ÐÒÏÔÏËÏÌÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ ÓÏÅÄÉÎÅÎÉÑÈ.
76 ðÁËÅÔ cyrus-sasl ͦÓÔÉÔØ ÒÅÁ̦ÚÁæÀ Cyrus SASL. SASL - ÃÅ Simple
77 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÄÁÎÎÑ Ð¦ÄÔÒÉÍËÉ
78 ÁÕÔÅÎÔÉËÁæ§ ÄÏ ÐÒÏÔÏËÏ̦×, ÂÁÚÏ×ÁÎÉÈ ÎÁ Ú'¤ÄÎÁÎÎÑÈ.
81 Summary: Header files and documentation for cyrus-sasl
82 Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
83 Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
84 Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
85 Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
86 Group: Development/Libraries
87 Requires: %{name} = %{version}-%{release}
90 This includes the header files and documentation needed to develop
91 applications which use SASL.
93 %description devel -l pl
94 Pliki nag³ówkowe i dokumentacja dla cyrus-sasl.
96 %description devel -l pt_BR
97 Este pacote inclui os arquivos de cabeçalho e documentação necessários
98 para desenvolver aplicativos que usem SASL.
100 %description devel -l ru
101 èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
102 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
104 %description devel -l uk
105 èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ
106 ×ÉËÏÒÉÓÔÏ×ÕÀÔØ Cyrus SASL.
109 Summary: Static cyrus-sasl libraries
110 Summary(pl): Statyczne biblioteki cyrus-sasl
111 Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
112 Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
113 Group: Development/Libraries
114 Requires: %{name}-devel = %{version}-%{release}
117 Static cyrus-sasl libraries.
119 %description static -l pl
120 Statyczne biblioteki cyrus-sasl.
122 %description static -l ru
123 óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
124 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
126 %description static -l uk
127 óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ
131 Summary: Cram-MD5 Cyrus SASL plugin
132 Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
133 Summary(pt_BR): Mecanismo SASL CRAM-MD5
135 Requires: %{name} = %{version}-%{release}
137 %description cram-md5
138 This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
139 mandatory-to-implement authentication mechanism for a number of
140 protocols; it uses MD5 with a challenge/response system to
141 authenticate the user.
143 %description cram-md5 -l pl
144 Wtyczka dodaj±ca obs³ugê mechanizmu CRAM-MD5 do Cyrus SASL. CRAM-MD5
145 jest obowi±zkowym do zaimplementowania mechanizmem uwierzytelniania
146 dla wielu protoko³ów; do uwierzytelnienia u¿ytkownika u¿ywa MD5 wraz z
147 systemem challenge/response.
149 %description cram-md5 -l pt_BR
150 Este plugin implementa o mecanismo SASL CRAM-MD5. CRAM-MD5 é o
151 mecanismo de autenticação obrigatório de ser implementado para vários
152 protocolos: ele usa MD5 com um sistema de desafio/resposta para
153 autenticar o usuário.
156 Summary: Digest-MD5 Cyrus SASL plugin
157 Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
158 Summary(pt_BR): Mecanismo SASL DIGEST-MD5
160 Requires: %{name} = %{version}-%{release}
162 %description digest-md5
163 This plugin implements the latest draft of the SASL DIGEST-MD5
164 mechanism. Although not yet finalized, this is likely to become the
165 new mandatory-to-implement authentication system in all new protocols.
166 It's based on the digest md5 authentication system designed for HTTP.
168 %description digest-md5 -l pl
169 Wtyczka dodaj±ca najnowsz± wersjê mechanizmu DIGEST-MD5 do Cyrus SASL.
170 Pomimo tego, ¿e nie jest jeszcze ukoñczony, najprawdopodobniej stanie
171 siê obowi±zkowym do zaimplementowania systemem uwierzytelniania we
172 wszystkich nowych protoko³ach. Bazuje na systemie uwierzytelniania
173 Digest-MD5 zaprojektowanym dla HTTP.
175 %description digest-md5 -l pt_BR
176 Este plugin implementa a última versão da especificação do mecanismo
177 SASL DIGEST-MD5. Embora ainda não esteja finalizado, DIGEST-MD5
178 provavelmente será o novo sistema de autenticação obrigatório para
179 protocolos novos. Ele é baseado na autenticação md5 digest
180 desenvolvida para HTTP.
183 Summary: Plain Cyrus SASL plugin
184 Summary(pl): Wtyczka plain do Cyrus SASL
185 Summary(pt_BR): Mecanismo SASL PLAIN
187 Requires: %{name} = %{version}-%{release}
190 This plugin implements the SASL PLAIN mechanism. Although insecure,
191 PLAIN is useful for transitioning to new security mechanisms, as this
192 is the only mechanism which gives the server a copy of the user's
195 %description plain -l pl
196 Wtyczka dodaj±ca obs³ugê mechanizmu PLAIN do Cyrus SASL. Pomimo tego,
197 ¿e nie jest bezpieczny, PLAIN jest przydatny przy przechodzeniu na
198 nowe mechanizmu bezpieczeñstwa, jako ¿e jest to jedyny mechanizm,
199 który udostêpnia serwerowi kopiê has³a u¿ytkownika.
201 %description plain -l pt_BR
202 Este plugin implementa o mecanismo SASL PLAIN. Embora inseguro, este
203 mecanismo é útil durante transições para novos mecanismos de
204 segurança, pois é o único esquema que fornece uma cópia da senha do
205 usuário para o servidor.
208 Summary: Anonymous Cyrus SASL plugin
209 Summary(pl): Wtyczka anonymous do Cyrus SASL
210 Summary(pt_BR): Mecanismo SASL ANONYMOUS
212 Requires: %{name} = %{version}-%{release}
214 %description anonymous
215 This plugin implements the SASL ANONYMOUS mechanism, used for
216 anonymous authentication.
218 %description anonymous -l pl
219 Wtyczka dodaj±ca obs³ugê mechanizmu ANONYMOUS do Cyrus SASL. S³u¿y do
220 anonimowego uwierzytelniania.
222 %description anonymous -l pt_BR
223 Este plugin implementa o mecanismo SASL ANONYMOUS, usado para
224 autenticação anônima.
227 Summary: GSSAPI Cyrus SASL plugin
228 Summary(pl): Wtyczka GSSAPI do Cyrus SASL
229 Summary(pt_BR): Mecanismo SASL GSSAPI
231 Requires: %{name} = %{version}-%{release}
234 This plugin implements the SASL GSSAPI mechanism, used for
235 GSSAPI/Kerberos5 authentication.
237 %description gssapi -l pl
238 Wtyczka dodaj±ca obs³ugê mechanizmu SASL GSSAPI, u¿ywanego do
239 uwierzytelniania z u¿yciem GSSAPI/Kerberos5.
241 %description gssapi -l pt_BR
242 Este plugin implementa o mecanismo SASL GSSAPI, usado para
243 autenticação Kerberos/GSSAPI.
246 Summary: Unsupported Login Cyrus SASL plugin
247 Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
249 Requires: %{name} = %{version}-%{release}
252 Unsupported LOGIN Cyrus SASL plugin.
254 %description login -l pl
255 Wtyczka dodaj±ca obs³ugê nie wspieranego mechanizmu LOGIN do Cyrus
259 Summary: SRP Cyrus SASL plugin
260 Summary(pl): Wtyczka SRP do Cyrus SASL
261 Summary(pt_BR): Mecanismo SASL SRP
263 Requires: %{name} = %{version}-%{release}
266 This plugin implements the SASL SRP mechanism, based on the Secure
267 Remote Password protocol. This mechanism performs mutual
268 authentication and can provide a security layer with replay detection,
269 integrity protection and/or condifentiality protection.
271 %description srp -l pl
272 Wtyczka dodaj±ca obs³ugê mechanizmu SRP do Cyrus SASL. Bazuje na
273 protokole Secure Remote Password. Ten mechanizm dokonuje wzajemnego
274 uwierzytelnienia i mo¿e dodawaæ warstwê bezpieczeñstwa z wykrywaniem
275 powtarzania, zabezpieczeniem integralno¶ci i/lub poufno¶ci.
277 %description srp -l pt_BR
278 Este plugin implementa o mecanismo SASL SRP, baseado no protocolo SRP
279 (Secure Remote Password). Este mecanismo oferece autenticação mútua
280 (do cliente e do servidor) e pode prover uma camada de segurança com
281 detecção de ataques de replay, garantia de integridade e/ou
285 Summary: OTP Cyrus SASL plugin
286 Summary(pl): Wtyczka OTP do Cyrus SASL
287 Summary(pt_BR): Mecanismo SASL OTP
289 Requires: %{name} = %{version}-%{release}
292 This plugin implements the SASL OTP (One Time Password) mechanism.
294 %description otp -l pl
295 Wtyczka dodaj±ca obs³ugê mechanizmu OTP (has³a jednorazowe) do Cyrus
299 Summary: x509 Cyrus SASL plugin
300 Summary(pl): Wtyczka x509 do Cyrus SASL
302 Requires: %{name} = %{version}-%{release}
305 x509 Cyrus SASL plugin.
307 %description x509 -l pl
308 Wtyczka x509 do Cyrus SASL.
311 Summary: Cyrus SASL authd
312 Summary(pl): Demon authd do Cyrus SASL
314 Requires(post,postun): /sbin/chkconfig
315 Requires: %{name} = %{version}-%{release}
317 %description saslauthd
320 %description saslauthd -l pl
321 Demon authd do Cyrus SASL.
324 Summary: Cyrus SASL pwcheck helper
325 Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
327 Requires: %{name} = %{version}-%{release}
330 Cyrus SASL pwcheck helper.
332 %description pwcheck -l pl
333 Program pomocniczy pwcheck do Cyrus SASL.
336 Summary: Cyrus SASL sasldb plugin
337 Summary(pl): Wtyczka sasldb do Cyrus SASL
339 Requires: %{name} = %{version}-%{release}
342 Cyrus SASL sasldb plugin.
344 %description sasldb -l pl
345 Wtyczka sasldb do Cyrus SASL.
348 Summary: Cyrus SASL mysql plugin
349 Summary(pl): Wtyczka mysql do Cyrus SASL
351 Requires: %{name} = %{version}-%{release}
354 Cyrus SASL mysql plugin.
356 %description mysql -l pl
357 Wtyczka mysql do Cyrus SASL.
360 Summary: Cyrus SASL PostgreSQL plugin
361 Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
363 Requires: %{name} = %{version}-%{release}
366 Cyrus SASL PostgreSQL plugin.
368 %description pgsql -l pl
369 Wtyczka PostgreSQL do Cyrus SASL.
379 echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
380 ls rfc*.txt >> rfc-compliance
384 # acinclude.m4 contains only old libtool.m4
385 rm -f acinclude.m4 libtool config/libtool.m4
387 %{__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.*