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 cryptedpw # if you keep crypted passwords in your *sql
12 %bcond_with opie # enable opie plugin
13 %bcond_with srp # build srp pluggin
14 %bcond_with pwcheck # build pwcheck helper (deprecated)
15 %bcond_with x509 # build x509 plugin (no sources in package???)
17 %if !%{with mysql} && !%{with pgsql}
18 %undefine with_cryptedpw
21 Summary: The SASL library API for the Cyrus mail system
22 Summary(pl): Biblioteka Cyrus SASL
23 Summary(pt_BR): Implementação da API SASL
24 Summary(ru): âÉÂÌÉÏÔÅËÁ Cyrus SASL
25 Summary(uk): â¦Â̦ÏÔÅËÁ Cyrus SASL
29 License: distributable
31 Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{version}.tar.gz
32 # Source0-md5: dde02db234dea892bee298390890502e
33 Source1: saslauthd.init
34 Source2: saslauthd.sysconfig
36 Patch0: %{name}-configdir.patch
37 Patch1: %{name}-nolibs.patch
38 Patch2: %{name}-lt.patch
39 Patch3: %{name}-split-sql.patch
40 Patch4: %{name}-opie.patch
41 Patch5: %{name}-gcc4.patch
42 # Adapted from http://frost.ath.cx/software/cyrus-sasl-patches/dist/2.1.19/cyrus-sasl-2.1.19-checkpw.c+sql.c.patch
43 Patch6: %{name}-cryptedpw.patch
44 Patch7: %{name}-md5sum-passwords.patch
45 URL: http://asg.web.cmu.edu/sasl/
46 BuildRequires: autoconf >= 2.54
47 BuildRequires: automake
48 BuildRequires: db-devel
51 %{?with_gssapi:BuildRequires: heimdal-devel >= 0.7}
52 BuildRequires: libtool >= 1.4
53 %{?with_mysql:BuildRequires: mysql-devel}
54 %{?with_pgsql:BuildRequires: postgresql-devel}
55 %{?with_ldap:BuildRequires: openldap-devel}
56 %{?with_sqlite:BuildRequires: sqlite-devel}
57 %{?with_opie:BuildRequires: opie-devel}
58 BuildRequires: openssl-devel >= 0.9.7d
59 BuildRequires: pam-devel
60 Requires: pam >= 0.79.0
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 %define _sysconfdir /etc/sasl
66 This is an implementation of the SASL API, useful for adding
67 authentication, authorization, and security to network protocols. The
68 SASL protocol itself is documented in rfc2222; the API standard is a
71 Note: remember to install appropriate plugins, or you won't have any
72 authentication mechanisms available.
75 Pakiet cyrus-sasl zawiera implementacjê biblioteki API SASL dla
76 systemu poczty elektronicznej Cyrusa. Biblioteka ta jest przydatna
77 tak¿e do dodawania uwierzytelniania, autoryzacji oraz zwiêkszania
78 bezpieczeñstwa protoko³ów sieciowych. Sam protokó³ SASL jest opisany w
79 RFC 2222; standaryzacja API jest w toku.
81 Uwaga: aby by³y dostêpne jakiekolwiek mechanizmy autoryzacji, nale¿y
82 doinstalowaæ odpowiednie wtyczki.
85 Esta é uma implementação da API SASL, útil para acrescentar
86 autenticação, autorização e seguança (criptografia) para protocolos de
87 rede. O protocolo SASL está documentado na RFC 2222. A API "padrão"
88 ainda está em desenvolvimento.
91 ðÁËÅÔ cyrus-sasl ÓÏÄÅÒÖÉÔ ÒÅÁÌÉÚÁÃÉÀ Cyrus SASL. SASL - ÜÔÏ Simple
92 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÄÄÅÒÖËÉ
93 ÁÕÔÅÎÔÉËÁÃÉÉ Ë ÐÒÏÔÏËÏÌÁÍ, ÏÓÎÏ×ÁÎÎÙÍ ÎÁ ÓÏÅÄÉÎÅÎÉÑÈ.
96 ðÁËÅÔ cyrus-sasl ͦÓÔÉÔØ ÒÅÁ̦ÚÁæÀ Cyrus SASL. SASL - ÃÅ Simple
97 Authentication and Security Layer, ÍÅÔÏÄ ÄÌÑ ÄÏÄÁÎÎÑ Ð¦ÄÔÒÉÍËÉ
98 ÁÕÔÅÎÔÉËÁæ§ ÄÏ ÐÒÏÔÏËÏ̦×, ÂÁÚÏ×ÁÎÉÈ ÎÁ Ú'¤ÄÎÁÎÎÑÈ.
101 Summary: Header files and documentation for cyrus-sasl
102 Summary(pl): Pliki nag³ówkowe i dokumentacja dla cyrus-sasl
103 Summary(pt_BR): Exemplos e arquivos para desenvolvimento com SASL
104 Summary(ru): æÁÊÌÙ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó ÂÉÂÌÉÏÔÅËÏÊ Cyrus SASL
105 Summary(ru): æÁÊÌÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú Â¦Â̦ÏÔÅËÏÀ Cyrus SASL
106 Group: Development/Libraries
107 Requires: %{name} = %{version}-%{release}
110 This includes the header files and documentation needed to develop
111 applications which use SASL.
113 %description devel -l pl
114 Pliki nag³ówkowe i dokumentacja dla cyrus-sasl.
116 %description devel -l pt_BR
117 Este pacote inclui os arquivos de cabeçalho e documentação necessários
118 para desenvolver aplicativos que usem SASL.
120 %description devel -l ru
121 èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
122 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
124 %description devel -l uk
125 èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ
126 ×ÉËÏÒÉÓÔÏ×ÕÀÔØ Cyrus SASL.
129 Summary: Static cyrus-sasl libraries
130 Summary(pl): Statyczne biblioteki cyrus-sasl
131 Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ Cyrus SASL
132 Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ Cyrus SASL
133 Group: Development/Libraries
134 Requires: %{name}-devel = %{version}-%{release}
137 Static cyrus-sasl libraries.
139 %description static -l pl
140 Statyczne biblioteki cyrus-sasl.
142 %description static -l ru
143 óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
144 ÉÓÐÏÌØÚÕÀÝÉÈ Cyrus SASL.
146 %description static -l uk
147 óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ
151 Summary: Cram-MD5 Cyrus SASL plugin
152 Summary(pl): Wtyczka Cram-MD5 do Cyrus SASL
153 Summary(pt_BR): Mecanismo SASL CRAM-MD5
155 Requires: %{name} = %{version}-%{release}
157 %description cram-md5
158 This plugin implements the SASL CRAM-MD5 mechanism. CRAM-MD5 is the
159 mandatory-to-implement authentication mechanism for a number of
160 protocols; it uses MD5 with a challenge/response system to
161 authenticate the user.
163 %description cram-md5 -l pl
164 Wtyczka dodaj±ca obs³ugê mechanizmu CRAM-MD5 do Cyrus SASL. CRAM-MD5
165 jest obowi±zkowym do zaimplementowania mechanizmem uwierzytelniania
166 dla wielu protoko³ów; do uwierzytelnienia u¿ytkownika u¿ywa MD5 wraz z
167 systemem challenge/response.
169 %description cram-md5 -l pt_BR
170 Este plugin implementa o mecanismo SASL CRAM-MD5. CRAM-MD5 é o
171 mecanismo de autenticação obrigatório de ser implementado para vários
172 protocolos: ele usa MD5 com um sistema de desafio/resposta para
173 autenticar o usuário.
176 Summary: Digest-MD5 Cyrus SASL plugin
177 Summary(pl): Wtyczka Digest-MD5 do Cyrus SASL
178 Summary(pt_BR): Mecanismo SASL DIGEST-MD5
180 Requires: %{name} = %{version}-%{release}
182 %description digest-md5
183 This plugin implements the latest draft of the SASL DIGEST-MD5
184 mechanism. Although not yet finalized, this is likely to become the
185 new mandatory-to-implement authentication system in all new protocols.
186 It's based on the digest md5 authentication system designed for HTTP.
188 %description digest-md5 -l pl
189 Wtyczka dodaj±ca najnowsz± wersjê mechanizmu DIGEST-MD5 do Cyrus SASL.
190 Pomimo tego, ¿e nie jest jeszcze ukoñczony, najprawdopodobniej stanie
191 siê obowi±zkowym do zaimplementowania systemem uwierzytelniania we
192 wszystkich nowych protoko³ach. Bazuje na systemie uwierzytelniania
193 Digest-MD5 zaprojektowanym dla HTTP.
195 %description digest-md5 -l pt_BR
196 Este plugin implementa a última versão da especificação do mecanismo
197 SASL DIGEST-MD5. Embora ainda não esteja finalizado, DIGEST-MD5
198 provavelmente será o novo sistema de autenticação obrigatório para
199 protocolos novos. Ele é baseado na autenticação md5 digest
200 desenvolvida para HTTP.
203 Summary: Plain Cyrus SASL plugin
204 Summary(pl): Wtyczka plain do Cyrus SASL
205 Summary(pt_BR): Mecanismo SASL PLAIN
207 Requires: %{name} = %{version}-%{release}
210 This plugin implements the SASL PLAIN mechanism. Although insecure,
211 PLAIN is useful for transitioning to new security mechanisms, as this
212 is the only mechanism which gives the server a copy of the user's
215 %description plain -l pl
216 Wtyczka dodaj±ca obs³ugê mechanizmu PLAIN do Cyrus SASL. Pomimo tego,
217 ¿e nie jest bezpieczny, PLAIN jest przydatny przy przechodzeniu na
218 nowe mechanizmu bezpieczeñstwa, jako ¿e jest to jedyny mechanizm,
219 który udostêpnia serwerowi kopiê has³a u¿ytkownika.
221 %description plain -l pt_BR
222 Este plugin implementa o mecanismo SASL PLAIN. Embora inseguro, este
223 mecanismo é útil durante transições para novos mecanismos de
224 segurança, pois é o único esquema que fornece uma cópia da senha do
225 usuário para o servidor.
228 Summary: Anonymous Cyrus SASL plugin
229 Summary(pl): Wtyczka anonymous do Cyrus SASL
230 Summary(pt_BR): Mecanismo SASL ANONYMOUS
232 Requires: %{name} = %{version}-%{release}
234 %description anonymous
235 This plugin implements the SASL ANONYMOUS mechanism, used for
236 anonymous authentication.
238 %description anonymous -l pl
239 Wtyczka dodaj±ca obs³ugê mechanizmu ANONYMOUS do Cyrus SASL. S³u¿y do
240 anonimowego uwierzytelniania.
242 %description anonymous -l pt_BR
243 Este plugin implementa o mecanismo SASL ANONYMOUS, usado para
244 autenticação anônima.
247 Summary: GSSAPI Cyrus SASL plugin
248 Summary(pl): Wtyczka GSSAPI do Cyrus SASL
249 Summary(pt_BR): Mecanismo SASL GSSAPI
251 Requires: %{name} = %{version}-%{release}
254 This plugin implements the SASL GSSAPI mechanism, used for
255 GSSAPI/Kerberos5 authentication.
257 %description gssapi -l pl
258 Wtyczka dodaj±ca obs³ugê mechanizmu SASL GSSAPI, u¿ywanego do
259 uwierzytelniania z u¿yciem GSSAPI/Kerberos5.
261 %description gssapi -l pt_BR
262 Este plugin implementa o mecanismo SASL GSSAPI, usado para
263 autenticação Kerberos/GSSAPI.
266 Summary: Unsupported Login Cyrus SASL plugin
267 Summary(pl): Nie wspierana wtyczka Login do Cyrus SASL
269 Requires: %{name} = %{version}-%{release}
272 Unsupported LOGIN Cyrus SASL plugin.
274 %description login -l pl
275 Wtyczka dodaj±ca obs³ugê nie wspieranego mechanizmu LOGIN do Cyrus
279 Summary: SRP Cyrus SASL plugin
280 Summary(pl): Wtyczka SRP do Cyrus SASL
281 Summary(pt_BR): Mecanismo SASL SRP
283 Requires: %{name} = %{version}-%{release}
286 This plugin implements the SASL SRP mechanism, based on the Secure
287 Remote Password protocol. This mechanism performs mutual
288 authentication and can provide a security layer with replay detection,
289 integrity protection and/or condifentiality protection.
291 %description srp -l pl
292 Wtyczka dodaj±ca obs³ugê mechanizmu SRP do Cyrus SASL. Bazuje na
293 protokole Secure Remote Password. Ten mechanizm dokonuje wzajemnego
294 uwierzytelnienia i mo¿e dodawaæ warstwê bezpieczeñstwa z wykrywaniem
295 powtarzania, zabezpieczeniem integralno¶ci i/lub poufno¶ci.
297 %description srp -l pt_BR
298 Este plugin implementa o mecanismo SASL SRP, baseado no protocolo SRP
299 (Secure Remote Password). Este mecanismo oferece autenticação mútua
300 (do cliente e do servidor) e pode prover uma camada de segurança com
301 detecção de ataques de replay, garantia de integridade e/ou
305 Summary: OTP Cyrus SASL plugin
306 Summary(pl): Wtyczka OTP do Cyrus SASL
307 Summary(pt_BR): Mecanismo SASL OTP
309 Requires: %{name} = %{version}-%{release}
312 This plugin implements the SASL OTP (One Time Password) mechanism.
314 %description otp -l pl
315 Wtyczka dodaj±ca obs³ugê mechanizmu OTP (has³a jednorazowe) do Cyrus
319 Summary: OPIE Cyrus SASL plugin
320 Summary(pl): Wtyczka OPIE do Cyrus SASL
321 Summary(pt_BR): Mecanismo SASL OPIE
323 Requires: %{name} = %{version}-%{release}
326 This plugin implements the SASL OPIE (One Time Password) mechanism.
328 %description opie -l pl
329 Wtyczka dodaj±ca obs³ugê mechanizmu OPIE (has³a jednorazowe) do Cyrus
333 Summary: x509 Cyrus SASL plugin
334 Summary(pl): Wtyczka x509 do Cyrus SASL
336 Requires: %{name} = %{version}-%{release}
339 x509 Cyrus SASL plugin.
341 %description x509 -l pl
342 Wtyczka x509 do Cyrus SASL.
345 Summary: Cyrus SASL authd
346 Summary(pl): Demon authd do Cyrus SASL
348 Requires(post,postun): /sbin/chkconfig
349 Requires: %{name} = %{version}-%{release}
351 %description saslauthd
354 %description saslauthd -l pl
355 Demon authd do Cyrus SASL.
358 Summary: Cyrus SASL pwcheck helper
359 Summary(pl): Program pomocniczy pwcheck do Cyrus SASL
361 Requires: %{name} = %{version}-%{release}
364 Cyrus SASL pwcheck helper.
366 %description pwcheck -l pl
367 Program pomocniczy pwcheck do Cyrus SASL.
370 Summary: Cyrus SASL sasldb plugin
371 Summary(pl): Wtyczka sasldb do Cyrus SASL
373 Requires: %{name} = %{version}-%{release}
376 Cyrus SASL sasldb plugin.
378 %description sasldb -l pl
379 Wtyczka sasldb do Cyrus SASL.
382 Summary: Cyrus SASL MySQL plugin
383 Summary(pl): Wtyczka MySQL do Cyrus SASL
385 Requires: %{name} = %{version}-%{release}
388 Cyrus SASL MySQL plugin.
390 %description mysql -l pl
391 Wtyczka MySQL do Cyrus SASL.
394 Summary: Cyrus SASL PostgreSQL plugin
395 Summary(pl): Wtyczka PostgreSQL do Cyrus SASL
397 Requires: %{name} = %{version}-%{release}
400 Cyrus SASL PostgreSQL plugin.
402 %description pgsql -l pl
403 Wtyczka PostgreSQL do Cyrus SASL.
406 Summary: Cyrus SQLite PostgreSQL plugin
407 Summary(pl): Wtyczka SQLite do Cyrus SASL
409 Requires: %{name} = %{version}-%{release}
412 Cyrus SASL SQLite plugin.
414 %description sqlite -l pl
415 Wtyczka SQLite do Cyrus SASL.
425 %if %{with cryptedpw}
431 echo "cyrus-sasl complies with the following RFCs:" > rfc-compliance
432 ls rfc*.txt >> rfc-compliance
436 rm -rf autom4te.cache saslauthd/autom4te.cache
437 # acinclude.m4 contains only old libtool.m4
438 rm -f acinclude.m4 libtool config/libtool.m4 saslauthd/acinclude.m4
442 %{__aclocal} -I cmulocal -I config
449 %{__aclocal} -I ../cmulocal -I ../config -I config
456 %{?with_cryptedpw: LDFLAGS=-lcrypt} \
458 %{!?with_gssapi: --disable-gssapi} \
459 %{?with_gssapi: --enable-gssapi --with-gss_impl=heimdal} \
462 %{?with_srp: --enable-srp} \
464 --with-plugindir=%{_libdir}/sasl2 \
465 --with-configdir=%{_sysconfdir} \
466 --with-dblib=berkeley \
467 --with-dbpath=/var/lib/sasl2/sasl.db \
468 %{?with_ldap: --with-ldap=%{_prefix}} \
469 %{?with_mysql: --with-mysql=%{_prefix}} \
470 %{?with_pgsql: --with-pgsql=%{_prefix}} \
471 %{?with_sqlite: --with-sqlite=%{_prefix}} \
472 %{?with_opie: --with-opie=%{_prefix}} \
474 %{?with_pwcheck: --with-pwcheck=/var/lib/sasl2} \
475 --with-saslauthd=/var/lib/sasl2
478 %{__make} -C saslauthd testsaslauthd
479 %{__make} -C saslauthd saslcache
482 RFCLIST=`grep 'rfc.\+\.txt' rfc-compliance`
483 for i in $RFCLIST; do
484 RFCDIR=../RFC/text/`echo $i | sed -e 's:^rfc::' -e 's:..\.txt$::' `00
485 echo -e ',s:'$i':'$RFCDIR/$i'\n,w\nq' | ed index.html
489 rm -rf $RPM_BUILD_ROOT
490 install -d $RPM_BUILD_ROOT{/var/lib/sasl2,%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
491 $RPM_BUILD_ROOT%{_mandir}/man8
494 sasldir=%{_libdir}/sasl2 \
495 DESTDIR=$RPM_BUILD_ROOT
497 rm -rf $RPM_BUILD_ROOT%{_mandir}/cat*
498 rm -f $RPM_BUILD_ROOT%{_libdir}/sasl2/*.{la,a}
500 install utils/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
501 install saslauthd/saslauthd.mdoc $RPM_BUILD_ROOT%{_mandir}/man8/saslauthd.8
503 ln -sf libsasl2.so $RPM_BUILD_ROOT%{_libdir}/libsasl.so
505 touch $RPM_BUILD_ROOT/var/lib/sasl2/sasl.db
507 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/saslauthd
508 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/saslauthd
509 install %{SOURCE3} ./cyrus.pam
511 install saslauthd/{testsaslauthd,saslcache} $RPM_BUILD_ROOT%{_sbindir}
514 rm -rf $RPM_BUILD_ROOT
516 %post -p /sbin/ldconfig
517 %postun -p /sbin/ldconfig
520 /sbin/chkconfig --add saslauthd
521 if [ -f /var/lock/subsys/saslauthd ]; then
522 /etc/rc.d/init.d/saslauthd restart 1>&2
524 echo "Run \"/etc/rc.d/init.d/saslauthd start\" to start saslauthd."
528 if [ "$1" = "0" ]; then
529 if [ -f /var/lock/subsys/saslauthd ]; then
530 /etc/rc.d/init.d/saslauthd stop 1>&2
532 /sbin/chkconfig --del saslauthd
536 %defattr(644,root,root,755)
537 %doc AUTHORS COPYING ChangeLog NEWS README
538 %doc doc/{ONEWS,TODO,*.txt,*.html,*.fig,rfc-compliance}
540 %dir %{_libdir}/sasl2
542 %attr(755,root,root) %{_libdir}/lib*.so.*.*
543 %attr(755,root,root) %{_sbindir}/sasldblistusers2
544 %attr(755,root,root) %{_sbindir}/saslpasswd2
546 %attr(640,root,mail) %ghost %config(noreplace) %verify(not mtime md5 size) /var/lib/sasl2/sasl.db
547 %{_mandir}/man8/sasldblistusers2.*
548 %{_mandir}/man8/saslpasswd2.*
551 %defattr(644,root,root,755)
553 %attr(755,root,root) %{_libdir}/lib*.so
558 %defattr(644,root,root,755)
562 %defattr(644,root,root,755)
563 %attr(755,root,root) %{_libdir}/sasl2/libanonymous.so*
567 %defattr(644,root,root,755)
568 %attr(755,root,root) %{_libdir}/sasl2/libgssapiv2.so*
572 %defattr(644,root,root,755)
573 %attr(755,root,root) %{_libdir}/sasl2/libcrammd5.so*
576 %defattr(644,root,root,755)
577 %attr(755,root,root) %{_libdir}/sasl2/libdigestmd5.so*
580 %defattr(644,root,root,755)
581 %attr(755,root,root) %{_libdir}/sasl2/liblogin.so*
584 %defattr(644,root,root,755)
585 %attr(755,root,root) %{_libdir}/sasl2/libotp.so*
589 %defattr(644,root,root,755)
590 %attr(755,root,root) %{_libdir}/sasl2/libopie.so*
594 %defattr(644,root,root,755)
595 %attr(755,root,root) %{_libdir}/sasl2/libplain.so*
598 %defattr(644,root,root,755)
599 %attr(755,root,root) %{_libdir}/sasl2/libsasldb.so*
603 %defattr(644,root,root,755)
604 %attr(755,root,root) %{_libdir}/sasl2/libmysql.so*
609 %defattr(644,root,root,755)
610 %attr(755,root,root) %{_libdir}/sasl2/libpgsql.so*
615 %defattr(644,root,root,755)
616 %attr(755,root,root) %{_libdir}/sasl2/libsqlite.so*
621 %defattr(644,root,root,755)
622 %attr(755,root,root) %{_libdir}/sasl2/libsrp.so*
627 %defattr(644,root,root,755)
628 %attr(755,root,root) %{_libdir}/sasl2/libx509.so*
633 %defattr(644,root,root,755)
634 %attr(755,root,root) %{_sbindir}/pwcheck
638 %defattr(644,root,root,755)
640 %attr(755,root,root) %{_sbindir}/saslauthd
641 %attr(755,root,root) %{_sbindir}/testsaslauthd
642 %attr(755,root,root) %{_sbindir}/saslcache
643 %attr(754,root,root) /etc/rc.d/init.d/saslauthd
644 %config(noreplace) %verify(not mtime md5 size) /etc/sysconfig/saslauthd
645 %{_mandir}/man8/saslauthd.*