/[smeserver]/rpms/qpsmtpd/sme9/qpsmtpd.spec
ViewVC logotype

Annotation of /rpms/qpsmtpd/sme9/qpsmtpd.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.7 - (hide annotations) (download)
Mon Dec 9 19:47:15 2013 UTC (10 years, 11 months ago) by vip-ire
Branch: MAIN
Changes since 1.6: +4 -3 lines
Update changelog to be more descriptive

1 vip-ire 1.7 # $Id: qpsmtpd.spec,v 1.6 2013/12/09 15:53:46 vip-ire Exp $
2 slords 1.1
3     Name: qpsmtpd
4     Version: 0.84
5 vip-ire 1.6 Release: 8%{?dist}
6 slords 1.1 Summary: qpsmtpd + qpsmtpd-apache + qpsmtpd-async
7     License: MIT
8     Group: System Environment/Daemons
9     URL: http://smtpd.develooper.com/
10     BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
11     BuildRequires: perl >= 0:5.00503
12     BuildRequires: perl(ExtUtils::MakeMaker)
13     BuildArch: noarch
14     Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP)
15     Requires(pre): coreutils, shadow-utils, perl
16    
17     Source0: %{name}-%{version}.tar.gz
18     Source1: qpsmtpd-forkserver.rc
19     Source2: qpsmtpd-forkserver.sysconfig
20     Source3: qpsmtpd-plugin-file_connection
21     Source4: qpsmtpd-xinetd
22     Source5: in.qpsmtpd
23     Source6: qpsmtpd.conf
24     Source7: README.selinux
25    
26     Patch1: 0001-Misc-documentation-updates.patch
27     Patch2: 0002-added-ClamAV-version-to-the-X-Virus-Checked-header.patch
28     Patch3: 0003-new-plugin-check_bogus_bounce.patch
29     Patch4: 0004-microoptimizations-replace-regex-with-lc-eq.patch
30     Patch5: 0005-remove-vestiges-of-a-bygone-RCS.patch
31     Patch6: 0006-added-definedness-test-to-local_port-as-it-was-emitt.patch
32     Patch7: 0007-Add-guidelines-for-commit-messages.patch
33     Patch8: 0008-added-auth_checkpassword-plugin.patch
34     Patch9: 0009-updates-to-auth_vpopmail_sql-module.patch
35     Patch10: 0010-new-plugin-auth_vpopmaild.patch
36     Patch11: 0011-start-working-on-Changes-file-for-0.84-next.patch
37     Patch12: 0012-fix-copy-paste-error-in-auth_flat_file.patch
38     Patch13: 0013-added-auth_vpopmail-plugin.patch
39     Patch14: 0014-rewrote-sender_permitted_from.patch
40     Patch15: 0015-add-TCPLOCAL-variables-to-qp-connection.patch
41     Patch16: 0016-added-local_ip-option-to-p0f-plugin.patch
42     Patch17: 0017-added-p0f-support-to-greylist-plugin.patch
43     Patch18: 0018-packaging-updates.patch
44     Patch19: 0019-Check-for-the-exact-string-resonses-from-vpopmaild-r.patch
45     Patch20: 0020-new-plugin-check_badmailfrom_patterns.patch
46     Patch21: 0021-ignore-search-path-in-DNS-lookups.patch
47     Patch22: 0022-don-t-create-homedir-in-RPM.patch
48     Patch23: 0023-corrected-email-address.patch
49     Patch24: 0024-increased-default-TLS-security-setting.patch
50     Patch25: 0025-give-badrcptto-a-reasonable-name.patch
51     Patch26: 0026-add-test-name-to-test-output.patch
52     Patch27: 0027-renamed-test-from-foo-to-rcpt_ok.patch
53     Patch28: 0028-Shorten-clarify-Connection-and-Transaction-notes.patch
54     Patch29: 0029-Run-hook_reset_transaction-after-all-connections.patch
55     Patch30: 0030-Add-support-for-multiple-postfix-cleanup-sockets.patch
56     Patch31: 0031-Adds-the-ability-to-have-multiple-instances-each-wit.patch
57     Patch32: 0032-I-forgot-to-sync-the-code-that-calls-the-original-co.patch
58     Patch33: 0033-new-plugin-rcpt_map.patch
59     Patch34: 0034-plugins-rcpt_map-cleanup.patch
60     Patch35: 0035-Fix-for-plugins-returning-DONE-from-HELO-EHLO.patch
61     Patch36: 0036-prefork-use-new-instance-instead-of-cloning.patch
62     Patch37: 0037-Revert-Spool-body-when-transaction-body_fh-is-called.patch
63     Patch38: 0038-Patch-FATAL-PLUGIN-ERROR-check_basicheaders.patch
64 vip-ire 1.2 Patch39: 0039-qpsmtpd-0.84-spamassassin_size_limit.patch
65 burnat 1.3 Patch40: 0040-qpsmtpd-forkserver_fix_Net_DNS_update_breaks_qpsmtpd.patch
66 slords 1.1
67     Patch100: qpsmtpd-0.40-badrcptto_allowrelay.patch
68     Patch101: qpsmtpd-0.83-peer_hooks.patch
69     Patch102: qpsmtpd-0.83-loginit.patch
70     Patch103: qpsmtpd-forkserver-keepalive.patch
71 wellsi 1.5 Patch104: qpsmtpd-0.84-accept-empty-email.patch
72 vip-ire 1.6 Patch105: qpsmtpd-0.84-fix_eq_operator.patch
73 slords 1.1
74     %description
75     qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core
76     SMTP features, all functionality is implemented in small "extension
77     plugins" using the easy to use object oriented plugin API.
78    
79     qpsmtpd was originally written as a drop-in qmail-smtpd replacement, but
80     now it also includes a smtp forward and a postfix "backend".
81    
82     %package apache
83     Requires: perl(mod_perl2)
84     Summary: mod_perl-2 connection handler for qpsmtpd
85     Group: System Environment/Daemons
86    
87     %package async
88     Summary: qpsmtpd using async I/O in a single process
89     Group: System Environment/Daemons
90    
91     %description apache
92    
93     This module implements a mod_perl/apache 2.0 connection handler
94     that turns Apache into an SMTP server using Qpsmtpd.
95    
96     %description async
97     This package contains the Qpsmtpd::PollServer module, which allows
98     qpsmtd to handle many connections in a single process and the
99     qpsmpd-async which uses it.
100    
101     %prep
102     %setup -q
103     %patch1 -p1
104     %patch2 -p1
105     %patch3 -p1
106     %patch4 -p1
107     %patch5 -p1
108     %patch6 -p1
109     %patch7 -p1
110     %patch8 -p1
111     %patch9 -p1
112     %patch10 -p1
113     %patch11 -p1
114     %patch12 -p1
115     %patch13 -p1
116     %patch14 -p1
117     %patch15 -p1
118     %patch16 -p1
119     %patch17 -p1
120     %patch18 -p1
121     %patch19 -p1
122     %patch20 -p1
123     %patch21 -p1
124     #%patch22 -p1
125     %patch23 -p1
126     %patch24 -p1
127     %patch25 -p1
128     %patch26 -p1
129     %patch27 -p1
130     %patch28 -p1
131     %patch29 -p1
132     %patch30 -p1
133     %patch31 -p1
134     %patch32 -p1
135     %patch33 -p1
136     %patch34 -p1
137     %patch35 -p1
138     %patch36 -p1
139     %patch37 -p1
140     %patch38 -p1
141 vip-ire 1.2 %patch39 -p1
142 burnat 1.3 %patch40 -p1
143 slords 1.1
144     %patch100 -p1
145     %patch101 -p1
146     %patch102 -p1
147     %patch103 -p0
148 wellsi 1.5 %patch104 -p1
149 vip-ire 1.6 %patch105 -p1
150 slords 1.1
151     %build
152     CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
153     make
154    
155     %clean
156     rm -rf $RPM_BUILD_ROOT
157     %install
158    
159     rm -rf $RPM_BUILD_ROOT
160     find blib/lib -name '*.pm.*' -exec rm -f {} \;
161     make pure_install
162    
163     mkdir -p %{buildroot}%{_datadir}/%{name}
164     rm -f %{buildroot}%{_datadir}/%{name}/plugins/*.*
165     cp -r plugins %{buildroot}%{_datadir}/%{name}/plugins
166     mkdir -p %{buildroot}%{_sysconfdir}/%{name}
167     rm -f %{buildroot}%{_sysconfdir}/%{name}/*.*
168     cp -r config.sample/* %{buildroot}%{_sysconfdir}/%{name}/
169     echo %{_datadir}/%{name}/plugins > %{buildroot}%{_sysconfdir}/%{name}/plugin_dirs
170     echo %{_localstatedir}/spool/qpsmtpd > %{buildroot}%{_sysconfdir}/%{name}/spool_dir
171     echo logging/file_connection loglevel LOGINFO %{_localstatedir}/log/qpsmtpd/%Y-%m-%d > %{buildroot}%{_sysconfdir}/%{name}/logging
172     mkdir -p %{buildroot}%{_initrddir}
173     cp %{SOURCE1} %{buildroot}%{_initrddir}/qpsmtpd-forkserver
174     mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
175     cp %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/qpsmtpd-forkserver
176     cp %{SOURCE3} %{buildroot}%{_datadir}/%{name}/plugins/logging/file_connection
177     mkdir -p %{buildroot}%{_localstatedir}/spool/qpsmtpd
178     mkdir -p %{buildroot}%{_localstatedir}/log/qpsmtpd
179     mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d
180     cp %{SOURCE4} %{buildroot}%{_sysconfdir}/xinetd.d/smtp
181     mkdir -p %{buildroot}%{_sbindir}
182     cp %{SOURCE5} %{buildroot}%{_sbindir}/in.smtp
183     mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
184     cp %{SOURCE6} %{buildroot}%{_sysconfdir}/httpd/conf.d
185     mkdir -p %{buildroot}%{_docdir}/%{name}-apache-%{version}
186     cp %{SOURCE7} %{buildroot}%{_docdir}/%{name}-apache-%{version}
187    
188     [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress
189    
190     find %{buildroot}%{_prefix} \( -name perllocal.pod -o -name .packlist \) -exec rm {} \;
191     find %{buildroot}%{_prefix} -type f -print | \
192     sed "s@^%{buildroot}@@g" | \
193     grep -v [Aa]sync | \
194     grep -v packaging | \
195     grep -v README.selinux | \
196     grep -v /Apache | \
197     grep -v /Danga | \
198     grep -v Qpsmtpd/ConfigServer.pm | \
199     grep -v Qpsmtpd/PollServer.pm > %{name}-%{version}-%{release}-filelist
200     if [ "$(cat %{name}-%{version}-%{release}-filelist)X" = "X" ] ; then
201     echo "ERROR: EMPTY FILE LIST"
202     exit -1
203     fi
204    
205     %files -f %{name}-%{version}-%{release}-filelist
206     %defattr(-,root,root)
207     %doc CREDITS Changes LICENSE README README.plugins STATUS
208     %{_initrddir}/qpsmtpd-forkserver
209     %config(noreplace) %{_sysconfdir}/qpsmtpd/*
210     %config(noreplace) %{_sysconfdir}/xinetd.d/smtp
211     %config(noreplace) %{_sysconfdir}/sysconfig/qpsmtpd-forkserver
212    
213     %files apache
214     %defattr(-,root,root)
215     %{_prefix}/share/perl5/vendor_perl/Apache/Qpsmtpd.pm
216     %{_mandir}/man3/Apache::Qpsmtpd.3pm.gz
217     %config(noreplace) %{_sysconfdir}/httpd/conf.d/*
218     %doc %{_docdir}/%{name}-apache-%{version}/README.selinux
219    
220     %files async
221     %defattr(-,root,root)
222     %{_bindir}/qpsmtpd-async
223     %{_prefix}/share/perl5/vendor_perl/Danga/Client.pm
224     %{_prefix}/share/perl5/vendor_perl/Danga/TimeoutSocket.pm
225     %{_prefix}/share/perl5/vendor_perl/Qpsmtpd/ConfigServer.pm
226     %{_prefix}/share/perl5/vendor_perl/Qpsmtpd/Plugin/Async/DNSBLBase.pm
227     %{_prefix}/share/perl5/vendor_perl/Qpsmtpd/PollServer.pm
228     %{_mandir}/man1/qpsmtpd-async.1.gz
229     %{_datadir}/%{name}/plugins/async/*
230    
231     %pre
232    
233     %changelog
234 vip-ire 1.7 * Mon Dec 9 2013 Daniel Berteaud <daniel@firewall-services.com> 0.84-8.sme
235     - Fix handling of messages with no body and no trailing \n after headers (eq was
236     used in attempted assignment). [SME: 8051, see SME: 7754]
237 vip-ire 1.6
238 wellsi 1.5 * Fri Jul 5 2013 Ian Wells <esmith@wellsi.com> 0.84-7.sme
239     - Accept messages with no body and no trailing \n after headers [SME: 7754]
240    
241 burnat 1.3 * Thu Apr 25 2013 chris burnat <devlist@burnat.com> 0.84-6.sme
242     - Fix Net::DNS update breaks qpsmtpd, codes suggested by Ian [SME: 7561]
243    
244 vip-ire 1.2 * Wed Apr 24 2013 Daniel Berteaud <daniel@firewall-services.com> 0.84-5.sme
245     - allows the spamassassin plugin to read the size limit from its
246     arguments [SME: 7559]
247    
248 slords 1.1 * Fri Feb 1 2013 Shad L. Lords <slords@mail.com> 0.84-4.sme
249     - Update spec so building on rhel6 works [SME: 7263]
250    
251     * Fri May 04 2012 Charlie Brady <charlie_brady@mitel.com> 0.84-3.sme
252     - Set SO_KEEPALIVE option on client socket - to detect dead
253     connections. [SME: 6924]
254    
255     * Sun Nov 14 2010 <slords@mail.com> 0.84-2.sme
256     - Sync with upstream git repo.
257     - Fix require_resolvable_fromhost doesn't work [SME: 6369]
258     - Fix TLS security defaults [SME: 6241]
259     - Fix fatal errors when mail has no headers [SME: 6345]
260    
261     * Wed Apr 14 2010 <slords@mail.com> 0.84-0.1.sme
262     - Update to 0.84
263     - add sme specific patches
264 wellsi 1.4 - Perl module rpms moved to /usr/share/perl5/vendor_perl [SME: 7223]
265 slords 1.1
266     * Wed Mar 3 2010 <filippo.carletti@gmail.com> 0.83-0.7.sme
267     - Remove spool and log dir from package (in smeserver-qpsmtpd)
268     - Don't create smtpd user (unused in sme) [SME: 5815]
269    
270     * Thu Nov 5 2009 <smeserver-contribs@snetram.nl> 0.83-0.6.sme
271     - Apply qpsmtpd git changesets to implement custom SPAM
272     subject prefix [SME: 5031]
273    
274     * Tue Nov 3 2009 <slords@mail.com> 0.83-0.5.sme
275     - Update pre requires so scripts don't fail on install [SME: 5558]
276    
277     * Sat Oct 31 2009 <slords@mail.com> 0.83-0.4.sme
278     - Rebase bad_rcptto patch to remove orig file [SME: 5548]
279     - Change logging in tls init to prevent warnings [SME: 5551]
280    
281     * Thu Oct 29 2009 <slords@mail.com> 0.83-0.3.sme
282     - Only run/initialize plugins once [SME: 5533]
283    
284     * Mon Oct 26 2009 <filippo.carletti@gmail.com> 0.83-0.2.sme
285     - Change spool dir permissions and owner to qpsmtpd:clamav
286     - Change log dir permissions and owner to smelog:smelog
287    
288     * Tue Sep 22 2009 <filippo.carletti@gmail.com> 0.83-0.1.sme
289     - add sme specific patches
290    
291     * Fri Sep 18 2009 <rpmbuild@robinbowes.com> 0.83-0.1
292     - Update to 0.83
293    
294     * Sun Jul 12 2009 <rpmbuild@robinbowes.com> 0.82-0.1
295     - Update to latest release
296     - don't add qpsmtpd to start-up by default
297     - add apache config file to qpsmtpd-apache package
298     - remove all patches
299     - use rpm macros for dirs
300     - use a filelist for main package instead of a long list of files
301    
302     * Tue Jul 15 2008 <rpmbuild@robinbowes.com> 0.43-0.7
303     - Removed SelectServer.pm from .spec file
304    
305     * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.6
306     - moved config files back to /etc/qpsmtpd following some changes
307     to the qpsmtpd src
308    
309     * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.5
310     - moved config files to /etc/qpsmtpd/config
311    
312     * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.4
313     - Moved qpsmtpd-async to /usr/bin
314     - Added qpsmtpd-async man page to async package
315     - Added async smtproute plugin to async package
316    
317     * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.3
318     - Makefile.PL now updated in svn, so remove hack
319    
320     * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.2
321     - Added qpsmtpd-prefork to qpsmtpd RPM, inc. hack to work round
322     deficiency in Makefile.PL
323    
324     * Mon Mar 10 2008 <rpmbuild@robinbowes.com> 0.43-0.1
325     - Updated to work with Makefile to build from svn
326    
327     * Wed Sep 12 2007 <rpmbuild@robinbowes.com> 0.40-2.0
328     - Updated to build trunk-r790
329    
330     * Tue Jun 12 2007 <hjp@hjp.at> 0.40-1.0
331     - updated to 0.40 - no code change.
332    
333     * Thu Jun 07 2007 <hjp@hjp.at> 0.40-0.2
334     - unset environment variables which are normally tainted in perl.
335     - updated to 0.40rc1
336     - added dependency on Net::IP (needed by some plugins)
337    
338     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.5
339     - moved environment cleanup into start() function, otherwise
340     LANG just gets reinitialized.
341    
342     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.4
343     - split qpsmtpd-async into a separate package to avoid dependency
344     on ParaDNS.
345    
346     * Sat May 05 2007 <hjp@hjp.at> 0.33-0.3
347     - also unset LANG, LC_ALL and LC_TIME in startup script to prevent
348     locale specific Received headers (bug reported by Dominik Meyer)
349    
350     * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.2
351     - 0.3x branch has been merged back to trunk.
352     Got current snapshot (r715) from trunk.
353    
354     * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.1
355     - Start forkserver via "daemon" (Gavin Carr)
356     - Fixed 'service qpsmtpd-forkserver status' (Gavin Carr)
357     - Changed policy for config files to noreplace (Gavin Carr)
358    
359     * Sun Nov 05 2006 <hjp@hjp.at> 0.33-0.0
360     - Upgraded to current snapshot from 0.3x branch (which should become
361     0.33 soon-ish)
362     - included xinetd-support again.
363    
364     * Sat Mar 18 2006 <hjp@hjp.at> 0.32-2
365     - fix dnsbl to check whether answer fits query.
366     - randomize Net::DNS ids for qpsmtpd-forkserver child processes.
367    
368     * Wed Mar 08 2006 <hjp@hjp.at> 0.32-1
369     - New upstream 0.32
370     - rc-file unsets PERL_UNICODE (bug #38397)
371    
372     * Sat Jan 28 2006 <hjp@hjp.at> 0.31.1-3
373     - Use ${SOURCE*} macros to refer to source files
374     - Avoid invoking rpm and other cleanup in %pre section
375     - Invoke chkconfig in %post.
376     - (Thanks to Josko Plazonic for the reporting these problems and
377     suggesting fixes)
378    
379     * Tue Nov 30 2005 <hjp@hjp.at> 0.31.1-2
380     - Revision 170 of plugins/loggin/file_connection:
381     Return DECLINED from open_log.
382     Open log in write_log if it isn't already open.
383    
384     * Tue Nov 29 2005 <hjp@hjp.at> 0.31.1-1
385     - Commented out queue plugins from sample config
386     - Added dependencies
387     - Create smtpd user if it doesn't exist
388     - Added /var/log/qpsmtpd and /var/spool/qpsmtpd
389    
390     * Sat Nov 26 2005 <hjp@hjp.at>
391     - Added file_connection plugin
392     - Startup file for qpsmtpd-forkserver now uses --detach and assumes that
393     a suitable logging module is configured (file_connection by default)
394    
395     * Wed Nov 23 2005 <hjp@hjp.at>
396     - Forkserver drops privileges before loading plugins now.
397    
398     * Sun Nov 20 2005 <hjp@hjp.at>
399     - New upstream 0.31.1
400    
401     * Mon Nov 14 2005 <hjp@hjp.at> 0.31-8
402     - New upstream 0.31rc3.
403     - pre-connection patch slightly simplified since upstream fixed one of
404     the bugs.
405    
406     * Tue Aug 23 2005 <hjp@hjp.at>
407     - forced INSTALLSITELIB=/usr/lib/perl5/site_perl as suggested by
408     Charlie Brady.
409    
410     * Sat Aug 20 2005 <hjp@hjp.at> 0.31-7
411     - RC2 from upstream.
412     - Removed patches which aren't applied from spec file.
413    
414     * Fri Jul 22 2005 <hjp@hjp.at> 0.31-6
415     - New upstream snapshot from 0.31 branch: svn revision 509.
416    
417     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-5
418     - include only /etc/init.d/qpsmtpd-forkserver, not /etc/init.d
419     it conflicts with old initscripts packages.
420    
421     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-4
422     - removed tabs from forkserver
423    
424     * Sun Jul 17 2005 <hjp@hjp.at> 0.31-3
425     - added startup script for forkserver
426     - changed BuildArchitectures to noarch.
427    
428     * Sat Jul 16 2005 <hjp@hjp.at> 0.31-2
429     - pre-connection hook is now actually called, not just defined.
430    
431     * Fri Jul 15 2005 <hjp@hjp.at> 0.31-1
432     - merged with 0.31. Most of my patches are now in the official release.
433     - merged Gavin's per-user-config patch with my dirs patch, since the
434     latter needs a way to turn off logging.
435     - added /etc/qpsmtpd/plugin_dir to package.
436    
437     * Mon Jun 13 2005 <hjp@hjp.at> 0.29-6
438     - fixed removal of patch backup files
439     - fixed option --pid-file
440    
441     * Sun Jun 12 2005 <hjp@hjp.at>
442     - avoid installing patch backup files
443     - split Apache::Qpsmtpd into separate package to avoid dependency hell.
444     - fixed URL
445     - changed group to Daemons.
446     - Fixed installation for newer versions of ExtUtils::MakeMaker
447    
448     * Wed Jun 1 2005 <hjp@hjp.at> 0.29-5
449     - Really don't reap children in signal handler.
450    
451     * Tue May 31 2005 <hjp@hjp.at> 0.29-4
452     - Return 421 for DENYSOFT_DISCONNECT
453     - Don't reap children in signal handler.
454    
455     * Thu May 19 2005 <hjp@hjp.at> 0.29-3
456     - removed code to accept paths without <>.
457    
458     * Thu May 19 2005 <hjp@hjp.at> 0.29-2
459     - added QPSMTPD_CONFIG env variable and plugin_dir config.
460     - added supplemental groups and support for pid file
461     - added shared_connect hook
462     - changed log level for SMTP dialog from DEBUG to INFO
463    
464     * Thu Apr 21 2005 hjp@hjp.at
465     - added plugins, /etc and docs.
466    
467     * Mon Apr 18 2005 hjp@hjp.at
468     - Specfile autogenerated
469    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed