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 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 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 %define _sysconfdir /etc/sasl
50 This is an implementation of the SASL API, useful for adding
51 authentication, authorization, and security to network protocols. The
52 SASL protocol itself is documented in rfc2222; the API standard is a
55 Note: remember to install appropriate plugins, or you won't have any
56 authentication mechanisms available.
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.
65 Uwaga: aby by³y dostêpne jakiekolwiek mechanizmy autoryzacji, nale¿y
66 doinstalowaæ odpowiednie wtyczki.
69 Esta é uma implementação da API SASL, útil para acrescentar
70 autenticação, autorização e seguança (criptografia) para protocolos de
71 rede. O protocolo SASL está documentado na RFC 2222. A API "padrão"
72 ainda está em desenvolvimento.
75 ðÁËÅÔ cyrus-sasl ÓÏÄÅÒÖÉÔ ÒÅÁÌÉÚÁÃÉÀ Cyrus SASL. SASL - ÜÔÏ Simple
76 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÄÄÅÒÖËÉ
77 ÁÕÔÅÎÔÉËÁÃÉÉ Ë ÐÒÏÔÏËÏÌÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ ÓÏÅÄÉÎÅÎÉÑÈ.
80 ðÁËÅÔ cyrus-sasl ͦÓÔÉÔØ ÒÅÁ̦ÚÁæÀ Cyrus SASL. SASL - ÃÅ Simple
81 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÄÁÎÎÑ Ð¦ÄÔÒÉÍËÉ
82 ÁÕÔÅÎÔÉËÁæ§ ÄÏ ÐÒÏÔÏËÏ̦×, ÂÁÚÏ×ÁÎÉÈ ÎÁ Ú'¤ÄÎÁÎÎÑÈ.
85 Summary: Header files and documentation for cyrus-sasl
86 Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
87 Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
88 Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
89 Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
90 Group: Development/Libraries
91 Requires: %{name} = %{version}-%{release}
94 This includes the header files and documentation needed to develop
95 applications which use SASL.
97 %description devel -l pl
98 Pliki nag³ówkowe i dokumentacja dla cyrus-sasl.
100 %description devel -l pt_BR
101 Este pacote inclui os arquivos de cabeçalho e documentação necessários
102 para desenvolver aplicativos que usem SASL.
104 %description devel -l ru
105 èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
106 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
108 %description devel -l uk
109 èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ
110 ×ÉËÏÒÉÓÔÏ×ÕÀÔØ Cyrus SASL.
113 Summary: Static cyrus-sasl libraries
114 Summary(pl): Statyczne biblioteki cyrus-sasl
115 Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
116 Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
117 Group: Development/Libraries
118 Requires: %{name}-devel = %{version}-%{release}
121 Static cyrus-sasl libraries.
123 %description static -l pl
124 Statyczne biblioteki cyrus-sasl.
126 %description static -l ru
127 óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
128 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
130 %description static -l uk
131 óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ
135 Summary: Cram-MD5 Cyrus SASL plugin
136 Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
137 Summary(pt_BR): Mecanismo SASL CRAM-MD5
139 Requires: %{name} = %{version}-%{release}
141 %description cram-md5
142 This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
143 mandatory-to-implement authentication mechanism for a number of
144 protocols; it uses MD5 with a challenge/response system to
145 authenticate the user.
147 %description cram-md5 -l pl
148 Wtyczka dodaj±ca obs³ugê mechanizmu CRAM-MD5 do Cyrus SASL. CRAM-MD5
149 jest obowi±zkowym do zaimplementowania mechanizmem uwierzytelniania
150 dla wielu protoko³ów; do uwierzytelnienia u¿ytkownika u¿ywa MD5 wraz z
151 systemem challenge/response.
153 %description cram-md5 -l pt_BR
154 Este plugin implementa o mecanismo SASL CRAM-MD5. CRAM-MD5 é o
155 mecanismo de autenticação obrigatório de ser implementado para vários
156 protocolos: ele usa MD5 com um sistema de desafio/resposta para
157 autenticar o usuário.
160 Summary: Digest-MD5 Cyrus SASL plugin
161 Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
162 Summary(pt_BR): Mecanismo SASL DIGEST-MD5
164 Requires: %{name} = %{version}-%{release}
166 %description digest-md5
167 This plugin implements the latest draft of the SASL DIGEST-MD5
168 mechanism. Although not yet finalized, this is likely to become the
169 new mandatory-to-implement authentication system in all new protocols.
170 It's based on the digest md5 authentication system designed for HTTP.
172 %description digest-md5 -l pl
173 Wtyczka dodaj±ca najnowsz± wersjê mechanizmu DIGEST-MD5 do Cyrus SASL.
174 Pomimo tego, ¿e nie jest jeszcze ukoñczony, najprawdopodobniej stanie
175 siê obowi±zkowym do zaimplementowania systemem uwierzytelniania we
176 wszystkich nowych protoko³ach. Bazuje na systemie uwierzytelniania
177 Digest-MD5 zaprojektowanym dla HTTP.
179 %description digest-md5 -l pt_BR
180 Este plugin implementa a última versão da especificação do mecanismo
181 SASL DIGEST-MD5. Embora ainda não esteja finalizado, DIGEST-MD5
182 provavelmente será o novo sistema de autenticação obrigatório para
183 protocolos novos. Ele é baseado na autenticação md5 digest
184 desenvolvida para HTTP.
187 Summary: Plain Cyrus SASL plugin
188 Summary(pl): Wtyczka plain do Cyrus SASL
189 Summary(pt_BR): Mecanismo SASL PLAIN
191 Requires: %{name} = %{version}-%{release}
194 This plugin implements the SASL PLAIN mechanism. Although insecure,
195 PLAIN is useful for transitioning to new security mechanisms, as this
196 is the only mechanism which gives the server a copy of the user's
199 %description plain -l pl
200 Wtyczka dodaj±ca obs³ugê mechanizmu PLAIN do Cyrus SASL. Pomimo tego,
201 ¿e nie jest bezpieczny, PLAIN jest przydatny przy przechodzeniu na
202 nowe mechanizmu bezpieczeñstwa, jako ¿e jest to jedyny mechanizm,
203 który udostêpnia serwerowi kopiê has³a u¿ytkownika.
205 %description plain -l pt_BR
206 Este plugin implementa o mecanismo SASL PLAIN. Embora inseguro, este
207 mecanismo é útil durante transições para novos mecanismos de
208 segurança, pois é o único esquema que fornece uma cópia da senha do
209 usuário para o servidor.
212 Summary: Anonymous Cyrus SASL plugin
213 Summary(pl): Wtyczka anonymous do Cyrus SASL
214 Summary(pt_BR): Mecanismo SASL ANONYMOUS
216 Requires: %{name} = %{version}-%{release}
218 %description anonymous
219 This plugin implements the SASL ANONYMOUS mechanism, used for
220 anonymous authentication.
222 %description anonymous -l pl
223 Wtyczka dodaj±ca obs³ugê mechanizmu ANONYMOUS do Cyrus SASL. S³u¿y do
224 anonimowego uwierzytelniania.
226 %description anonymous -l pt_BR
227 Este plugin implementa o mecanismo SASL ANONYMOUS, usado para
228 autenticação anônima.
231 Summary: GSSAPI Cyrus SASL plugin
232 Summary(pl): Wtyczka GSSAPI do Cyrus SASL
233 Summary(pt_BR): Mecanismo SASL GSSAPI
235 Requires: %{name} = %{version}-%{release}
238 This plugin implements the SASL GSSAPI mechanism, used for
239 GSSAPI/Kerberos5 authentication.
241 %description gssapi -l pl
242 Wtyczka dodaj±ca obs³ugê mechanizmu SASL GSSAPI, u¿ywanego do
243 uwierzytelniania z u¿yciem GSSAPI/Kerberos5.
245 %description gssapi -l pt_BR
246 Este plugin implementa o mecanismo SASL GSSAPI, usado para
247 autenticação Kerberos/GSSAPI.
250 Summary: Unsupported Login Cyrus SASL plugin
251 Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
253 Requires: %{name} = %{version}-%{release}
256 Unsupported LOGIN Cyrus SASL plugin.
258 %description login -l pl
259 Wtyczka dodaj±ca obs³ugê nie wspieranego mechanizmu LOGIN do Cyrus
263 Summary: SRP Cyrus SASL plugin
264 Summary(pl): Wtyczka SRP do Cyrus SASL
265 Summary(pt_BR): Mecanismo SASL SRP
267 Requires: %{name} = %{version}-%{release}
270 This plugin implements the SASL SRP mechanism, based on the Secure
271 Remote Password protocol. This mechanism performs mutual
272 authentication and can provide a security layer with replay detection,
273 integrity protection and/or condifentiality protection.
275 %description srp -l pl
276 Wtyczka dodaj±ca obs³ugê mechanizmu SRP do Cyrus SASL. Bazuje na
277 protokole Secure Remote Password. Ten mechanizm dokonuje wzajemnego
278 uwierzytelnienia i mo¿e dodawaæ warstwê bezpieczeñstwa z wykrywaniem
279 powtarzania, zabezpieczeniem integralno¶ci i/lub poufno¶ci.
281 %description srp -l pt_BR
282 Este plugin implementa o mecanismo SASL SRP, baseado no protocolo SRP
283 (Secure Remote Password). Este mecanismo oferece autenticação mútua
284 (do cliente e do servidor) e pode prover uma camada de segurança com
285 detecção de ataques de replay, garantia de integridade e/ou
289 Summary: OTP Cyrus SASL plugin
290 Summary(pl): Wtyczka OTP do Cyrus SASL
291 Summary(pt_BR): Mecanismo SASL OTP
293 Requires: %{name} = %{version}-%{release}
296 This plugin implements the SASL OTP (One Time Password) mechanism.
298 %description otp -l pl
299 Wtyczka dodaj±ca obs³ugê mechanizmu OTP (has³a jednorazowe) do Cyrus
303 Summary: x509 Cyrus SASL plugin
304 Summary(pl): Wtyczka x509 do Cyrus SASL
306 Requires: %{name} = %{version}-%{release}
309 x509 Cyrus SASL plugin.
311 %description x509 -l pl
312 Wtyczka x509 do Cyrus SASL.
315 Summary: Cyrus SASL authd
316 Summary(pl): Demon authd do Cyrus SASL
318 Requires(post,postun): /sbin/chkconfig
319 Requires: %{name} = %{version}-%{release}
321 %description saslauthd
324 %description saslauthd -l pl
325 Demon authd do Cyrus SASL.
328 Summary: Cyrus SASL pwcheck helper
329 Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
331 Requires: %{name} = %{version}-%{release}
334 Cyrus SASL pwcheck helper.
336 %description pwcheck -l pl
337 Program pomocniczy pwcheck do Cyrus SASL.
340 Summary: Cyrus SASL sasldb plugin
341 Summary(pl): Wtyczka sasldb do Cyrus SASL
343 Requires: %{name} = %{version}-%{release}
346 Cyrus SASL sasldb plugin.
348 %description sasldb -l pl
349 Wtyczka sasldb do Cyrus SASL.
352 Summary: Cyrus SASL MySQL plugin
353 Summary(pl): Wtyczka MySQL do Cyrus SASL
355 Requires: %{name} = %{version}-%{release}
358 Cyrus SASL MySQL plugin.
360 %description mysql -l pl
361 Wtyczka MySQL do Cyrus SASL.
364 Summary: Cyrus SASL PostgreSQL plugin
365 Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
367 Requires: %{name} = %{version}-%{release}
370 Cyrus SASL PostgreSQL plugin.
372 %description pgsql -l pl
373 Wtyczka PostgreSQL do Cyrus SASL.
382 echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
383 ls rfc*.txt >> rfc-compliance
387 rm -rf autom4te.cache saslauthd/autom4te.cache
388 # acinclude.m4 contains only old libtool.m4
389 rm -f acinclude.m4 libtool config/libtool.m4 saslauthd/acinclude.m4
393 %{__aclocal} -I cmulocal -I config
400 %{__aclocal} -I ../cmulocal -I ../config -I config
408 %{!?with_gssapi: --disable-gssapi} \
409 %{?with_gssapi: --enable-gssapi --with-gss_impl=heimdal} \
412 %{?with_srp: --enable-srp} \
414 --with-plugindir=%{_libdir}/sasl2 \
415 --with-configdir=%{_sysconfdir} \
416 --with-dblib=berkeley \
417 --with-dbpath=/var/lib/sasl2/sasl.db \
418 %{?with_ldap: --with-ldap=%{_prefix}} \
419 %{?with_mysql: --with-mysql=%{_prefix}} \
420 %{?with_pgsql: --with-pgsql=%{_prefix}} \
422 %{?with_pwcheck: --with-pwcheck=/var/lib/sasl2} \
423 --with-saslauthd=/var/lib/sasl2
426 %{__make} -C saslauthd testsaslauthd
427 %{__make} -C saslauthd saslcache
430 RFCLIST=`grep 'rfc.\+\.txt' rfc-compliance`
431 for i in $RFCLIST; do
432 RFCDIR=../RFC/text/`echo $i | sed -e 's:^rfc::' -e 's:..\.txt$::' `00
433 echo -e ',s:'$i':'$RFCDIR/$i'\n,w\nq' | ed index.html
437 rm -rf $RPM_BUILD_ROOT
438 install -d $RPM_BUILD_ROOT{/var/lib/sasl2,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
439 $RPM_BUILD_ROOT%{_mandir}/man8
442 sasldir=%{_libdir}/sasl2 \
443 DESTDIR=$RPM_BUILD_ROOT
445 rm -rf $RPM_BUILD_ROOT%{_mandir}/cat*
446 rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.{la,a}
448 install utils/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
449 install saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
451 ln -sf libsasl2.so $RPM_BUILD_ROOT%{_libdir}/libsasl.so
453 touch $RPM_BUILD_ROOT/var/lib/sasl2/sasl.db
455 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
456 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
457 install %{SOURCE3} ./cyrus.pam
459 install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT%{_sbindir}
462 rm -rf $RPM_BUILD_ROOT
464 %post -p /sbin/ldconfig
465 %postun -p /sbin/ldconfig
468 /sbin/chkconfig --add saslauthd
469 if [ -f /var/lock/subsys/saslauthd ]; then
470 /etc/rc.d/init.d/saslauthd restart 1>&2
472 echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
476 if [ "$1" = "0" ]; then
477 if [ -f /var/lock/subsys/saslauthd ]; then
478 /etc/rc.d/init.d/saslauthd stop 1>&2
480 /sbin/chkconfig --del saslauthd
484 %defattr(644,root,root,755)
485 %doc AUTHORS COPYING ChangeLog NEWS README
486 %doc doc/{ONEWS,TODO,*.txt,*.html,*.fig,rfc-compliance}
488 %dir %{_libdir}/sasl2
490 %attr(755,root,root) %{_libdir}/lib*.so.*.*
491 %attr(755,root,root) %{_sbindir}/sasldblistusers2
492 %attr(755,root,root) %{_sbindir}/saslpasswd2
494 %attr(640,root,mail) %ghost %config(noreplace) %verify(not mtime md5 size) /var/lib/sasl2/sasl.db
495 %{_mandir}/man8/sasldblistusers2.*
496 %{_mandir}/man8/saslpasswd2.*
499 %defattr(644,root,root,755)
501 %attr(755,root,root) %{_libdir}/lib*.so
506 %defattr(644,root,root,755)
510 %defattr(644,root,root,755)
511 %attr(755,root,root) %{_libdir}/sasl2/libanonymous.so*
515 %defattr(644,root,root,755)
516 %attr(755,root,root) %{_libdir}/sasl2/libgssapiv2.so*
520 %defattr(644,root,root,755)
521 %attr(755,root,root) %{_libdir}/sasl2/libcrammd5.so*
524 %defattr(644,root,root,755)
525 %attr(755,root,root) %{_libdir}/sasl2/libdigestmd5.so*
528 %defattr(644,root,root,755)
529 %attr(755,root,root) %{_libdir}/sasl2/liblogin.so*
532 %defattr(644,root,root,755)
533 %attr(755,root,root) %{_libdir}/sasl2/libotp.so*
536 %defattr(644,root,root,755)
537 %attr(755,root,root) %{_libdir}/sasl2/libplain.so*
540 %defattr(644,root,root,755)
541 %attr(755,root,root) %{_libdir}/sasl2/libsasldb.so*
545 %defattr(644,root,root,755)
546 %attr(755,root,root) %{_libdir}/sasl2/libsql*.so*
551 %defattr(644,root,root,755)
552 %attr(755,root,root) %{_libdir}/sasl2/libsql*.so*
557 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_libdir}/sasl2/libsrp.so*
563 %defattr(644,root,root,755)
564 %attr(755,root,root) %{_libdir}/sasl2/libx509.so*
569 %defattr(644,root,root,755)
570 %attr(755,root,root) %{_sbindir}/pwcheck
574 %defattr(644,root,root,755)
576 %attr(755,root,root) %{_sbindir}/saslauthd
577 %attr(755,root,root) %{_sbindir}/testsaslauthd
578 %attr(755,root,root) %{_sbindir}/saslcache
579 %attr(754,root,root) /etc/rc.d/init.d/saslauthd
580 %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd
581 %{_mandir}/man8/saslauthd.*