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: 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 URL: http://asg.web.cmu.edu/sasl/
34 BuildRequires: autoconf >= 2.54
35 BuildRequires: automake
36 BuildRequires: db-devel
38 %{?with_gssapi:BuildRequires: heimdal-devel}
39 BuildRequires: libtool >= 1.4
40 %{?with_mysql:BuildRequires: mysql-devel}
41 %{?with_pgsql:BuildRequires: postgresql-devel}
42 %{?with_ldap:BuildRequires: openldap-devel}
43 BuildRequires: openssl-devel >= 0.9.7d
44 BuildRequires: pam-devel
45 Requires(post): /sbin/ldconfig
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define _sysconfdir /etc/sasl
51 This is an implementation of the SASL API, useful for adding
52 authentication, authorization, and security to network protocols. The
53 SASL protocol itself is documented in rfc2222; the API standard is a
57 Pakiet cyrus-sasl zawiera implementacjê biblioteki API SASL dla
58 systemu poczty elektronicznej Cyrusa. Biblioteka ta jest przydatna
59 tak¿e do dodawania uwierzytelniania, autoryzacji oraz zwiêkszania
60 bezpieczeñstwa protoko³ów sieciowych. Sam protokó³ SASL jest opisany w
61 RFC 2222; standaryzacja API jest w toku.
64 Esta é uma implementação da API SASL, útil para acrescentar
65 autenticação, autorização e seguança (criptografia) para protocolos de
66 rede. O protocolo SASL está documentado na RFC 2222. A API "padrão"
67 ainda está em desenvolvimento.
70 ðÁËÅÔ cyrus-sasl ÓÏÄÅÒÖÉÔ ÒÅÁÌÉÚÁÃÉÀ Cyrus SASL. SASL - ÜÔÏ Simple
71 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÄÄÅÒÖËÉ
72 ÁÕÔÅÎÔÉËÁÃÉÉ Ë ÐÒÏÔÏËÏÌÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ ÓÏÅÄÉÎÅÎÉÑÈ.
75 ðÁËÅÔ cyrus-sasl ͦÓÔÉÔØ ÒÅÁ̦ÚÁæÀ Cyrus SASL. SASL - ÃÅ Simple
76 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÄÁÎÎÑ Ð¦ÄÔÒÉÍËÉ
77 ÁÕÔÅÎÔÉËÁæ§ ÄÏ ÐÒÏÔÏËÏ̦×, ÂÁÚÏ×ÁÎÉÈ ÎÁ Ú'¤ÄÎÁÎÎÑÈ.
80 Summary: Header files and documentation for cyrus-sasl
81 Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
82 Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
83 Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
84 Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
85 Group: Development/Libraries
86 Requires: %{name} = %{version}-%{release}
89 This includes the header files and documentation needed to develop
90 applications which use SASL.
92 %description devel -l pl
93 Pliki nag³ówkowe i dokumentacja dla cyrus-sasl.
95 %description devel -l pt_BR
96 Este pacote inclui os arquivos de cabeçalho e documentação necessários
97 para desenvolver aplicativos que usem SASL.
99 %description devel -l ru
100 èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
101 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
103 %description devel -l uk
104 èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ
105 ×ÉËÏÒÉÓÔÏ×ÕÀÔØ Cyrus SASL.
108 Summary: Static cyrus-sasl libraries
109 Summary(pl): Statyczne biblioteki cyrus-sasl
110 Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
111 Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
112 Group: Development/Libraries
113 Requires: %{name}-devel = %{version}-%{release}
116 Static cyrus-sasl libraries.
118 %description static -l pl
119 Statyczne biblioteki cyrus-sasl.
121 %description static -l ru
122 óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
123 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
125 %description static -l uk
126 óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ
130 Summary: Cram-MD5 Cyrus SASL plugin
131 Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
132 Summary(pt_BR): Mecanismo SASL CRAM-MD5
134 Requires: %{name} = %{version}-%{release}
136 %description cram-md5
137 This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
138 mandatory-to-implement authentication mechanism for a number of
139 protocols; it uses MD5 with a challenge/response system to
140 authenticate the user.
142 %description cram-md5 -l pl
143 Wtyczka dodaj±ca obs³ugê mechanizmu CRAM-MD5 do Cyrus SASL. CRAM-MD5
144 jest obowi±zkowym do zaimplementowania mechanizmem uwierzytelniania
145 dla wielu protoko³ów; do uwierzytelnienia u¿ytkownika u¿ywa MD5 wraz z
146 systemem challenge/response.
148 %description cram-md5 -l pt_BR
149 Este plugin implementa o mecanismo SASL CRAM-MD5. CRAM-MD5 é o
150 mecanismo de autenticação obrigatório de ser implementado para vários
151 protocolos: ele usa MD5 com um sistema de desafio/resposta para
152 autenticar o usuário.
155 Summary: Digest-MD5 Cyrus SASL plugin
156 Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
157 Summary(pt_BR): Mecanismo SASL DIGEST-MD5
159 Requires: %{name} = %{version}-%{release}
161 %description digest-md5
162 This plugin implements the latest draft of the SASL DIGEST-MD5
163 mechanism. Although not yet finalized, this is likely to become the
164 new mandatory-to-implement authentication system in all new protocols.
165 It's based on the digest md5 authentication system designed for HTTP.
167 %description digest-md5 -l pl
168 Wtyczka dodaj±ca najnowsz± wersjê mechanizmu DIGEST-MD5 do Cyrus SASL.
169 Pomimo tego, ¿e nie jest jeszcze ukoñczony, najprawdopodobniej stanie
170 siê obowi±zkowym do zaimplementowania systemem uwierzytelniania we
171 wszystkich nowych protoko³ach. Bazuje na systemie uwierzytelniania
172 Digest-MD5 zaprojektowanym dla HTTP.
174 %description digest-md5 -l pt_BR
175 Este plugin implementa a última versão da especificação do mecanismo
176 SASL DIGEST-MD5. Embora ainda não esteja finalizado, DIGEST-MD5
177 provavelmente será o novo sistema de autenticação obrigatório para
178 protocolos novos. Ele é baseado na autenticação md5 digest
179 desenvolvida para HTTP.
182 Summary: Plain Cyrus SASL plugin
183 Summary(pl): Wtyczka plain do Cyrus SASL
184 Summary(pt_BR): Mecanismo SASL PLAIN
186 Requires: %{name} = %{version}-%{release}
189 This plugin implements the SASL PLAIN mechanism. Although insecure,
190 PLAIN is useful for transitioning to new security mechanisms, as this
191 is the only mechanism which gives the server a copy of the user's
194 %description plain -l pl
195 Wtyczka dodaj±ca obs³ugê mechanizmu PLAIN do Cyrus SASL. Pomimo tego,
196 ¿e nie jest bezpieczny, PLAIN jest przydatny przy przechodzeniu na
197 nowe mechanizmu bezpieczeñstwa, jako ¿e jest to jedyny mechanizm,
198 który udostêpnia serwerowi kopiê has³a u¿ytkownika.
200 %description plain -l pt_BR
201 Este plugin implementa o mecanismo SASL PLAIN. Embora inseguro, este
202 mecanismo é útil durante transições para novos mecanismos de
203 segurança, pois é o único esquema que fornece uma cópia da senha do
204 usuário para o servidor.
207 Summary: Anonymous Cyrus SASL plugin
208 Summary(pl): Wtyczka anonymous do Cyrus SASL
209 Summary(pt_BR): Mecanismo SASL ANONYMOUS
211 Requires: %{name} = %{version}-%{release}
213 %description anonymous
214 This plugin implements the SASL ANONYMOUS mechanism, used for
215 anonymous authentication.
217 %description anonymous -l pl
218 Wtyczka dodaj±ca obs³ugê mechanizmu ANONYMOUS do Cyrus SASL. S³u¿y do
219 anonimowego uwierzytelniania.
221 %description anonymous -l pt_BR
222 Este plugin implementa o mecanismo SASL ANONYMOUS, usado para
223 autenticação anônima.
226 Summary: GSSAPI Cyrus SASL plugin
227 Summary(pl): Wtyczka GSSAPI do Cyrus SASL
228 Summary(pt_BR): Mecanismo SASL GSSAPI
230 Requires: %{name} = %{version}-%{release}
233 This plugin implements the SASL GSSAPI mechanism, used for
234 GSSAPI/Kerberos5 authentication.
236 %description gssapi -l pl
237 Wtyczka dodaj±ca obs³ugê mechanizmu SASL GSSAPI, u¿ywanego do
238 uwierzytelniania z u¿yciem GSSAPI/Kerberos5.
240 %description gssapi -l pt_BR
241 Este plugin implementa o mecanismo SASL GSSAPI, usado para
242 autenticação Kerberos/GSSAPI.
245 Summary: Unsupported Login Cyrus SASL plugin
246 Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
248 Requires: %{name} = %{version}-%{release}
251 Unsupported LOGIN Cyrus SASL plugin.
253 %description login -l pl
254 Wtyczka dodaj±ca obs³ugê nie wspieranego mechanizmu LOGIN do Cyrus
258 Summary: SRP Cyrus SASL plugin
259 Summary(pl): Wtyczka SRP do Cyrus SASL
260 Summary(pt_BR): Mecanismo SASL SRP
262 Requires: %{name} = %{version}-%{release}
265 This plugin implements the SASL SRP mechanism, based on the Secure
266 Remote Password protocol. This mechanism performs mutual
267 authentication and can provide a security layer with replay detection,
268 integrity protection and/or condifentiality protection.
270 %description srp -l pl
271 Wtyczka dodaj±ca obs³ugê mechanizmu SRP do Cyrus SASL. Bazuje na
272 protokole Secure Remote Password. Ten mechanizm dokonuje wzajemnego
273 uwierzytelnienia i mo¿e dodawaæ warstwê bezpieczeñstwa z wykrywaniem
274 powtarzania, zabezpieczeniem integralno¶ci i/lub poufno¶ci.
276 %description srp -l pt_BR
277 Este plugin implementa o mecanismo SASL SRP, baseado no protocolo SRP
278 (Secure Remote Password). Este mecanismo oferece autenticação mútua
279 (do cliente e do servidor) e pode prover uma camada de segurança com
280 detecção de ataques de replay, garantia de integridade e/ou
284 Summary: OTP Cyrus SASL plugin
285 Summary(pl): Wtyczka OTP do Cyrus SASL
286 Summary(pt_BR): Mecanismo SASL OTP
288 Requires: %{name} = %{version}-%{release}
291 This plugin implements the SASL OTP (One Time Password) mechanism.
293 %description otp -l pl
294 Wtyczka dodaj±ca obs³ugê mechanizmu OTP (has³a jednorazowe) do Cyrus
298 Summary: x509 Cyrus SASL plugin
299 Summary(pl): Wtyczka x509 do Cyrus SASL
301 Requires: %{name} = %{version}-%{release}
304 x509 Cyrus SASL plugin.
306 %description x509 -l pl
307 Wtyczka x509 do Cyrus SASL.
310 Summary: Cyrus SASL authd
311 Summary(pl): Demon authd do Cyrus SASL
313 Requires(post,postun): /sbin/chkconfig
314 Requires: %{name} = %{version}-%{release}
316 %description saslauthd
319 %description saslauthd -l pl
320 Demon authd do Cyrus SASL.
323 Summary: Cyrus SASL pwcheck helper
324 Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
326 Requires: %{name} = %{version}-%{release}
329 Cyrus SASL pwcheck helper.
331 %description pwcheck -l pl
332 Program pomocniczy pwcheck do Cyrus SASL.
335 Summary: Cyrus SASL sasldb plugin
336 Summary(pl): Wtyczka sasldb do Cyrus SASL
338 Requires: %{name} = %{version}-%{release}
341 Cyrus SASL sasldb plugin.
343 %description sasldb -l pl
344 Wtyczka sasldb do Cyrus SASL.
347 Summary: Cyrus SASL mysql plugin
348 Summary(pl): Wtyczka mysql do Cyrus SASL
350 Requires: %{name} = %{version}-%{release}
353 Cyrus SASL mysql plugin.
355 %description mysql -l pl
356 Wtyczka mysql do Cyrus SASL.
359 Summary: Cyrus SASL PostgreSQL plugin
360 Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
362 Requires: %{name} = %{version}-%{release}
365 Cyrus SASL PostgreSQL plugin.
367 %description pgsql -l pl
368 Wtyczka PostgreSQL do Cyrus SASL.
377 echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
378 ls rfc*.txt >> rfc-compliance
382 rm -rf autom4te.cache saslauthd/autom4te.cache
383 # acinclude.m4 contains only old libtool.m4
384 rm -f acinclude.m4 libtool config/libtool.m4 saslauthd/acinclude.m4
388 %{__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/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
444 install saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
446 ln -sf libsasl2.so $RPM_BUILD_ROOT%{_libdir}/libsasl.so
448 touch $RPM_BUILD_ROOT/var/lib/sasl2/sasl.db
450 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
451 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
452 install %{SOURCE3} ./cyrus.pam
454 install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT%{_sbindir}
457 rm -rf $RPM_BUILD_ROOT
461 echo "Remember to install appropriate plugins, or you won't have any mechs available."
463 %postun -p /sbin/ldconfig
466 /sbin/chkconfig --add saslauthd
467 if [ -f /var/lock/subsys/saslauthd ]; then
468 /etc/rc.d/init.d/saslauthd restart 1>&2
470 echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
474 if [ "$1" = "0" ]; then
475 if [ -f /var/lock/subsys/saslauthd ]; then
476 /etc/rc.d/init.d/saslauthd stop 1>&2
478 /sbin/chkconfig --del saslauthd
482 %defattr(644,root,root,755)
483 %doc AUTHORS COPYING ChangeLog NEWS README
484 %doc doc/{ONEWS,TODO,*.txt,*.html,*.fig,rfc-compliance}
486 %dir %{_libdir}/sasl2
488 %attr(755,root,root) %{_libdir}/lib*.so.*.*
489 %attr(755,root,root) %{_sbindir}/sasldblistusers2
490 %attr(755,root,root) %{_sbindir}/saslpasswd2
492 %attr(640,root,mail) %ghost %config(noreplace) %verify(not mtime md5 size) /var/lib/sasl2/sasl.db
493 %{_mandir}/man8/sasldblistusers2.*
494 %{_mandir}/man8/saslpasswd2.*
497 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_libdir}/lib*.so
504 %defattr(644,root,root,755)
508 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_libdir}/sasl2/libanonymous.so*
513 %defattr(644,root,root,755)
514 %attr(755,root,root) %{_libdir}/sasl2/libgssapiv2.so*
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_libdir}/sasl2/libcrammd5.so*
522 %defattr(644,root,root,755)
523 %attr(755,root,root) %{_libdir}/sasl2/libdigestmd5.so*
526 %defattr(644,root,root,755)
527 %attr(755,root,root) %{_libdir}/sasl2/liblogin.so*
530 %defattr(644,root,root,755)
531 %attr(755,root,root) %{_libdir}/sasl2/libotp.so*
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_libdir}/sasl2/libplain.so*
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_libdir}/sasl2/libsasldb.so*
543 %defattr(644,root,root,755)
544 %attr(755,root,root) %{_libdir}/sasl2/libsql*.so*
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_libdir}/sasl2/libsql*.so*
555 %defattr(644,root,root,755)
556 %attr(755,root,root) %{_libdir}/sasl2/libsrp.so*
561 %defattr(644,root,root,755)
562 %attr(755,root,root) %{_libdir}/sasl2/libx509.so*
567 %defattr(644,root,root,755)
568 %attr(755,root,root) %{_sbindir}/pwcheck
572 %defattr(644,root,root,755)
574 %attr(755,root,root) %{_sbindir}/saslauthd
575 %attr(755,root,root) %{_sbindir}/testsaslauthd
576 %attr(755,root,root) %{_sbindir}/saslcache
577 %attr(754,root,root) /etc/rc.d/init.d/saslauthd
578 %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd
579 %{_mandir}/man8/saslauthd.*