devel/jabberd jabberd.spec,1.1,1.2

Adrian Reber (adrian) fedora-extras-commits at redhat.com
Wed Mar 9 08:00:03 UTC 2005


Author: adrian

Update of /cvs/extras/devel/jabberd
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10730

Modified Files:
	jabberd.spec 
Log Message:
* made password more random (/dev/random)
* replace password in the config without making it visible in ps
* enable ldap, mysql, postgresql backends
* remove dependency on perl during build
* make pam default authentication backend in c2s.xml
* make files in etc (640, jabber, jabber)
* enabled SSL certificate in c2s.xml
* enabled auto creation of accounts in sm.xml (necessary for usage with PAM)
* enabled require-startls



Index: jabberd.spec
===================================================================
RCS file: /cvs/extras/devel/jabberd/jabberd.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jabberd.spec	7 Mar 2005 08:23:35 -0000	1.1
+++ jabberd.spec	9 Mar 2005 08:00:01 -0000	1.2
@@ -1,7 +1,7 @@
 Summary:        OpenSource server implementation of the Jabber protocols
 Name:           jabberd
 Version:        2.0
-Release:        0.s6.3
+Release:        0.s6.4
 Epoch:          0
 License:        GPL
 Group:          System Environment/Daemons
@@ -9,7 +9,8 @@
 Source1:        jabberd
 URL:            http://jabberd.jabberstudio.org/2/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires:  openssl-devel, db4-devel, libidn-devel, pam-devel
+BuildRequires:  openssl-devel db4-devel libidn-devel pam-devel
+BuildRequires:  openldap-devel postgresql-devel mysql-devel
 Requires(post): openssl
 
 %description
@@ -22,14 +23,19 @@
 from the ground up to be scalable, architecturally sound, and to support the
 latest protocol extensions coming out of the JSF.
 
+This packages defaults to use pam and the Berkeley DB.
+
 %prep
 %setup -q -n %{name}-%{version}s6
 
 %build
 %define _sysconfdir /etc/jabberd
 %define sysconfdir /etc/jabberd
-%{__perl} -pi -e 's,sysconfdir=\"\$sysconfdir\/jabberd\",#sysconfdir=\"\$sysconfdir\/jabberd\",g' configure
-%configure --enable-db --disable-mysql --enable-pam
+%{__sed} -i -e "s,sysconfdir=\"\$sysconfdir\/jabberd\",#sysconfdir=\"\$sysconfdir\/jabberd\",g" \
+		configure
+%configure --enable-db --enable-mysql --enable-pam --enable-ldap \
+		--enable-pgsql --with-extra-library-path=%{_libdir}/mysql \
+		--enable-debug
 %{__make} %{?_smp_mflags}
 
 %install
@@ -45,9 +51,11 @@
 %{__mkdir_p} $RPM_BUILD_ROOT%{_initrddir}
 %{__install} -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/%{name}
 
-%{__perl} -pi -e 's,__BINDIR__,%{_bindir},g; \
-                  s,__ETCDIR__,%{sysconfdir},g; \
-                  s,__PIDDIR__,%{_localstatedir}/jabberd/pid,g;' \
+%{__sed} -i -e "s,__BINDIR__,%{_bindir},g" \
+          $RPM_BUILD_ROOT%{_initrddir}/%{name}
+%{__sed} -i -e "s,__ETCDIR__,%{sysconfdir},g" \
+          $RPM_BUILD_ROOT%{_initrddir}/%{name}
+%{__sed} -i -e "s,__PIDDIR__,%{_localstatedir}/jabberd/pid,g" \
           $RPM_BUILD_ROOT%{_initrddir}/%{name}
 
 %{__mkdir_p} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/
@@ -59,9 +67,25 @@
 session    required     pam_stack.so service=system-auth
 END
 
+#default driver for storage
 %{__sed} -i -e "s,<driver>mysql</driver>,<driver>db</driver>,g" \
 	$RPM_BUILD_ROOT%{sysconfdir}/sm.xml
 
+#default authentication backend
+%{__sed} -i -e "s,<module>mysql</module>,<module>pam</module>,g" \
+	$RPM_BUILD_ROOT%{sysconfdir}/c2s.xml
+
+#enable SSL certificate
+%{__sed} -i -e  ':a;N;$!ba;s,<!--\n    <pemfile>/etc/jabberd/server.pem</pemfile>\n    -->,<pemfile>/etc/jAbberd/server.pem</pemfile>,g' $RPM_BUILD_ROOT%{sysconfdir}/c2s.xml
+
+#the default pam backend needs auto creation of accounts
+%{__sed} -i -e  ':a;N;$!ba;s,<!--\n    <auto-create/>\n    -->,<auto-create/>,g' \
+	$RPM_BUILD_ROOT%{sysconfdir}/sm.xml
+
+#clients must do STARTTLS
+%{__sed} -i -e  ':a;N;$!ba;s,<!--\n    <require-startls/>\n    -->,<require-startls/>,g' \
+	$RPM_BUILD_ROOT%{sysconfdir}/c2s.xml
+
 #ghost file
 touch $RPM_BUILD_ROOT%{sysconfdir}/server.pem
 
@@ -78,11 +102,16 @@
 	#register %{name} service
 	/sbin/chkconfig --add %{name}
 	#replace default passwords, yet another hack 
-	export NEWPASS="$RANDOM-newpass-$RANDOM"
+	export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \
+				| sha1sum | awk '{print $1}' )
 	cd %{sysconfdir}
-	%{__perl} -pi -e "s,<secret>secret</secret>,<secret>$NEWPASS</secret>,g" router-users.xml
-	%{__perl} -pi -e "s,<secret>secret</secret>,<secret>$NEWPASS</secret>,g" router.xml
-	%{__perl} -pi -e "s,<pass>secret</pass>,<pass>$NEWPASS</pass>,g" *.xml
+	%{__sed} -i -f- router-users.xml router.xml <<END
+s,<secret>secret</secret>,<secret>$NEWPASS</secret>,g
+END
+	%{__sed} -i -f- *.xml <<END
+s,<pass>secret</pass>,<pass>$NEWPASS</pass>,g
+END
+
 fi
 
 #create ssl certificate
@@ -111,7 +140,8 @@
 %defattr(-,root,root)
 %doc AUTHORS COPYING ChangeLog INSTALL NEWS README PROTOCOL TODO
 %{_bindir}/*
-%config(noreplace) %{sysconfdir}/
+%attr(750, jabber, jabber) %dir %{sysconfdir}/
+%attr(640, jabber, jabber) %config(noreplace) %{sysconfdir}/*
 %{_datadir}/man/man8/*
 %{_datadir}/%{name}/
 %config(noreplace) %{_initrddir}/%{name}
@@ -120,6 +150,17 @@
 %ghost %{_sysconfdir}/jabberd/server.pem
 
 %changelog
+* Tue Mar 08 2005 Adrian Reber <adrian at lisas.de> - 2.0-0.s6.4
+- made password more random (/dev/random)
+- replace password in the config without making it visible in ps
+- enable ldap, mysql, postgresql backends
+- remove dependency on perl during build
+- make pam default authentication backend in c2s.xml
+- make files in etc (640, jabber, jabber)
+- enabled SSL certificate in c2s.xml
+- enabled auto creation of accounts in sm.xml (necessary for usage with PAM)
+- enabled require-startls
+
 * Mon Mar 07 2005 Adrian Reber <adrian at lisas.de> - 2.0-0.s6.3
 - changed startscript again
 




More information about the fedora-extras-commits mailing list