/trunk/debian/changelog |
---|
0,0 → 1,472 |
prayer (1.3.5-dfsg1-8) unstable; urgency=low |
* Breaking Build-Depends into Build-Depends and Build-Depends-Arch is |
not something that works when the Makefile isn't designed to build |
arch-independent parts separately. |
-- Magnus Holmgren <holmgren@debian.org> Sat, 15 Aug 2020 23:00:24 +0200 |
prayer (1.3.5-dfsg1-7) unstable; urgency=low |
* template_index_externs.patch: Fix FTBFS (Closes: #957707). |
* Set home directory to /run/prayer instead of /var/run/prayer on |
install, and create /run/prayer when starting the service, avoiding |
the compatibility symlink. |
-- Magnus Holmgren <holmgren@debian.org> Sun, 09 Aug 2020 21:56:58 +0200 |
prayer (1.3.5-dfsg1-6.1) unstable; urgency=medium |
* Non-maintainer upload. |
* Fix FTBFS. (Closes: #954039) |
- Thanks to Logan Rosen. |
-- Sudip Mukherjee <sudipm.mukherjee@gmail.com> Thu, 09 Apr 2020 17:50:55 +0100 |
prayer (1.3.5-dfsg1-6) unstable; urgency=medium |
* Merge changes from Ubuntu (Closes: #913848). |
-- Magnus Holmgren <holmgren@debian.org> Sun, 16 Dec 2018 22:27:47 +0100 |
prayer (1.3.5-dfsg1-5ubuntu1) disco; urgency=medium |
* debian/patches/glibc-2.28.patch: drop wrong prototype for crypt(). |
-- Steve Langasek <steve.langasek@ubuntu.com> Thu, 15 Nov 2018 22:34:06 +0000 |
prayer (1.3.5-dfsg1-5) unstable; urgency=medium |
* [SECURITY] CVE-2018-18655 (information disclosure) no-referrer.patch: |
Add no-referrer meta header to templates (Closes: #911842). |
* Replace exim4 dependency with default-mta. |
* Install init script initially disabled instead of using an ENABLED |
flag in /etc/default/prayer to prevent premature start (note: also |
affects prayer-accountd). |
* Upgrade Standards-Version to 4.2.1 with the preceding change. |
-- Magnus Holmgren <holmgren@debian.org> Sat, 27 Oct 2018 22:08:08 +0200 |
prayer (1.3.5-dfsg1-4) unstable; urgency=low |
* Switch from CDBS to dh and debhelper compat level 9. |
* openssl1.1.patch: Support OpenSSL 1.1 API changes (Closes: #828512). |
* Support for Entropy Gathering Daemon removed because it's really old |
and support for it is no longer enabled in OpenSSL by default. |
* Add missing lsb-base dependencies. |
* prayer.postrm: remove hard-coded path to deluser. |
* Bump Standards-Version to 3.9.8. |
-- Magnus Holmgren <holmgren@debian.org> Sat, 29 Oct 2016 14:15:05 +0200 |
prayer (1.3.5-dfsg1-3) unstable; urgency=low |
* disable_ssl3.patch (new): Disable SSL 3.0 due to CVE-2014-3566 |
(POODLE). |
* debian/Config: Disable ACCOUNTD_SSL_ENABLE since the SSL/TLS support |
in prayer-accountd and prayer-session is incomplete and never was |
functional. |
-- Magnus Holmgren <holmgren@debian.org> Wed, 29 Oct 2014 22:32:18 +0100 |
prayer (1.3.5-dfsg1-2) unstable; urgency=high |
* dlopen_templates.patch: Use MYCFLAGS (which is initialized to the |
value of CFLAGS from dpkg-buildflags in the Config file) instead of |
CFLAGS in templates/{src,cam,old}/Makefile (Closes: #715310, LP: |
#1201216). The --defsym options were lost when we let CDBS override |
CFLAGS in the previous upload. |
-- Magnus Holmgren <holmgren@debian.org> Thu, 18 Jul 2013 22:47:08 +0200 |
prayer (1.3.5-dfsg1-1) unstable; urgency=low |
* New upstream release. |
* Refresh patches. |
* Drop dummy package prayer-templates. |
* No longer override CDBS overriding CFLAGS, thereby allowing hardening |
flags to be properly propagated. I think it caused internal include |
flags to be lost, but since at least 1.3.2 that's no longer the case. |
* Bump Standards-Version to 3.9.4. |
* hurd.patch: Always define HAVE_SHADOW. The test for BSD4_4 seems |
bogus; it is defined on Hurd, but crypt(3) is available there. |
-- Magnus Holmgren <holmgren@debian.org> Wed, 12 Jun 2013 00:09:05 +0200 |
prayer (1.3.4-dfsg1-1) unstable; urgency=low |
* New upstream release. |
- Drop ipv6_v6only.patch; fixed upstream. |
* template_sdk.patch: templates/src/build_index.pl no longer need to |
be patched. |
* Bump Standards-Version to 3.9.2. |
-- Magnus Holmgren <holmgren@debian.org> Sat, 27 Aug 2011 22:24:50 +0200 |
prayer (1.3.3-dfsg1-4) unstable; urgency=low |
* Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
(Closes: #607559). |
* dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
servers/prayer_shared.h. |
* hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
setproctitle() on the Hurd. |
* Add basic manpage for prayer-accountd(8). |
* unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
filter handling. |
* Drop obsolete Build-Depends alternative libc-client2007b-dev. |
* Increase Debhelper compat level to 7. |
-- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
* Fix FTBFS with ld --as-needed. |
-- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
prayer (1.3.3-dfsg1-3) unstable; urgency=high |
* ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
AF_INET6 sockets; since Prayer by default enumerates available address |
families and calls bind() once for each, conflicts will occur |
otherwise (Closes: #607261). |
-- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
prayer (1.3.3-dfsg1-2) unstable; urgency=high |
* Convert (trivially, since CDBS with quilt was already used) to source |
format 3.0 (quilt). |
* no_db_version_check.patch: Remove unnecessary and incorrect check that |
not only the major and minor version numbers of the current libdb are |
the same as at compile time, but also that the patch number is equal |
or greater, which should not be a concern (Closes: #592119). |
-- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
prayer (1.3.3-dfsg1-1) unstable; urgency=low |
* New upstream release. |
- Dropped kfreebsd.patch, clean_completely.patch, and |
manpage_error.patch; all incorporated upstream. |
* makefile_install_config.patch: Updated; some parts incorporated |
upstream. |
* prayer-templates-dev.install: Only template_structs.h and misc.h |
needed henceforth, since only those files are #included by compiled |
templates. |
* template_sdk.patch: The #include that templates/src/build_index.pl |
generates was not changed, though. |
* debian/Config, debian/control: Enable libtidy for HTML parsing and |
sanitisation, fixing certain XSS problems, which were due to simple |
substring matching being used. |
* prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
$local_fs to, Required-Start. |
* Upgrade to Standards-Version 3.9.0: |
* Use Breaks instead of Conflicts to handle the renaming of |
prayer-templates. |
-- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
prayer (1.3.2-dfsg1-4) unstable; urgency=low |
* Undo inadvertent inclusion of /usr/include/prayer in |
prayer-templates-src (Closes: #557056). |
-- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
prayer (1.3.2-dfsg1-3) unstable; urgency=low |
* Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
among the libc-client Build-Depends alternatives (Closes: #552717). |
-- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
prayer (1.3.2-dfsg1-2) unstable; urgency=low |
* dlopen_templates.patch: |
* templates/{cam,old}/Makefile: Define the symbols template_map and |
template_map_count as aliases to the template_$(TYPE)_map and |
template_$(TYPE)_map_count when linking, so that template libraries |
can be loaded by other names than the original one. Also remove some |
cruft. |
* shared/dlopen_templates.c: Use those symbols instead. |
* Add symlinks so that template_set = xhtml_strict will still work. |
* Update the names of the directories for locally modified templates |
(under /etc/prayer/templates) to reflect the new template names. |
* template_sdk.patch (new): Create makefile for building template set |
libraries. Install it together with binaries and scripts needed. |
* Rename prayer-templates as prayer-templates-src and add new binary |
package prayer-templates-dev containing the aforementioned |
template-building tools as well as a README.Debian explaining how to |
use it all. |
* Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
prayer-templates-src in addition to prayer-templates-dev. |
-- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
prayer (1.3.2-dfsg1-1) unstable; urgency=low |
* New upstream release (Closes: #546918). |
* The set of available template sets has changed and several |
obsolete configuration options are no longer recognized. Please |
see NEWS.Debian for more information. |
- Repacked without University of Cambridge logos with dubious |
copyright/license status (more info in debian/copyright). |
- unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
from 'cam' template set. |
- Drop unlimit_login_username.patch (fixed upstream when replacing |
the old login screen with frontend templates) and |
usernames_with_at.patch (incorporated upstream). |
* clean_completely.patch: Partially implemented upstream. |
* Manpages incorporated upstream. |
* dlopen_templates.patch: Experimental support for dynamically loading |
templates. |
* Update README.Debian. |
* makefile_install_config.patch(share/config.c): Change default |
template_set to "old". |
* makefile_install_config.patch(files/Makefile): Fix permissions on |
icons and static files. |
* manpage_error.patch: Fix missing .El in prayer-session(8). |
-- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
prayer (1.2.3-2) unstable; urgency=low |
* welcome_is_template.patch wasn't fully incorporated upstream. Remove |
the help_dir setting and check in makefile_install_config.patch instead.c |
* Make Prayer work on kFreeBSD. Unfortunately there is no support for |
SysV semaphores. |
* kfreebsd.patch: Include the right headers under glibc. Detect that |
semtimedop is a stub. |
* debian/Config: Add -lutils to LIBS. |
* makefile_install_config.patch: put back a default value for |
lock_dir. |
* makefile_install_config.patch: Set imap_server to localhost/notls in |
default prayer.cf (Closes: #531801). |
* Depend on exim4 | mail-transport-agent. |
* Increase Standards-Version to 3.8.3. |
-- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
prayer (1.2.3-1) unstable; urgency=low |
* New upstream release. |
- Drop repair_ssl_session_db_on_version_mismatch.patch, |
remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
welcome_is_template.patch, template_find_bug.patch; all incorporated |
upstream. |
- Update makefile_install_config.patch after welcome.html gone. |
* kfreebsd.patch (new): Try to get Prayer to work on Debian |
GNU/kFreeBSD. |
* Add ${misc:Depends} to Depends for prayer-templates. |
* Upgrade to Standards-Version 3.8.1. |
+ Add debian/README.source. |
* clean_completely.patch (new): Fix a few makefiles that didn't remove |
their build targets in the clean target (Closes: #521369). Thanks to |
Simon McVittie. |
-- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
prayer (1.2.2.1-7) unstable; urgency=high |
* Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
as part of the package but create it in the init script (LP: #304071). |
Also, var_prefix, pid_dir and prayer_user will by default be overriden |
from the command line to make sure that they get the values expected by |
the init script. |
-- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
prayer (1.2.2.1-6) unstable; urgency=low |
* prayer.init: Correctly check for the presence of the executables. |
* Split out templates to a separate arch-indep package. |
* Change the default value of the tmp_dir option back to |
${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
secure. |
* usernames_with_at.patch (new, from upstream CVS): If a username |
contains an @, it will be assumed to be a valid email address and be |
used as envelope sender address and default "From" address when |
sending mail (Closes: #497016). |
-- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
prayer (1.2.2.1-5a) unstable; urgency=medium |
* Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
language code. |
-- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
prayer (1.2.2.1-4) unstable; urgency=medium |
* Urgency medium since fixing fairly serious bug(s). |
* debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
environment or command line, breaking a circular definition of |
LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
* unlimit_login_username.patch (new): |
- servers/prayer_login.c: Remove 8 character username limit from login |
form (Closes: #494517). |
* prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
start in restart. |
* Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
versions from source package. |
-- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
prayer (1.2.2.1-3) unstable; urgency=low |
* welcome_is_template.patch: |
- shared/config.c: Don't require that the help_dir option, which was |
removed from the default prayer.cf earlier, is defined |
(Closes: #493009). |
* makefile_install_config.patch: |
- shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
-- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
prayer (1.2.2.1-2) unstable; urgency=low |
* Acknowledge NMU, but change the build dependency to |
libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
(>= 7:2007~), since we need at least that version. |
-- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
prayer (1.2.2.1-1.1) unstable; urgency=low |
* Non-maintainer upload. |
* Build-depend on unversioned libc-client-dev to allow BinNMUs. |
Closes: bug#492285. |
-- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
prayer (1.2.2.1-1) unstable; urgency=low |
* New upstream release featuring XHTML templates and fixes to various |
bugs created by the reorganisation. |
- Drop accountd_makefile_typo.patch; fixed upstream. |
* makefile_install_config.patch: Changes to the default config: |
- Disable SSL session caching. |
- Clean out "direct connection stuff". Remove lock_dir since we use |
SysV semaphores. |
* Point login_prefix_path, motd_path, and login_suffix_path towards |
/etc/prayer. |
* Change postponed-mail and sent-mail to Drafts and Sent. |
* Improve SSL/TLS configuration: |
* makefile_install_config.patch: Point ssl_cert_file and |
ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ Add dependency on ssl-cert (>= 1.0.11). |
+ prayer.postinst: Add prayer to group ssl-cert on fresh install or |
when upgrading from versions prior to this one. |
* welcome_is_template.patch (new): Although the welcome screen is now a |
template among others, cmd_welcome.c still tried to read the file |
specified by welcome_path (welcome.html by default) and wouldn't show |
the welcome screen if the option was unset or the file couldn't be |
read. This patch removes that check as well as the welcome_path and |
help_path options from prayer.cf. |
* No longer install welcome.html (see above) and motd.html (no real |
content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
and motd.html (the versions found in files/etc.hermes in the |
distribution tarball) in /usr/share/doc/prayer/examples instead. |
* Do not install prayer-chroot (too experimental, hardcoded chroot path) |
or prayer-sem-prune (does nothing that ipcrm cannot do). |
* templates_fallback_to_compiled.patch (new): If the |
template_use_compiled option is false, nevertheless use compiled-in |
templates in template_expand.c if the requested template cannot be |
found on disk. Change default template_path to /etc/prayer/templates. |
Install said directory as well as subdirectories for available |
template sets. |
* Update and improve README.Debian. |
* Add logrotate dependency. |
* makefile_install_config.patch: Remove call to install.sh from |
files/Makefile and replace it with single tar pipeline; thus |
install.sh no longer needs to be patched. |
* remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
transaction logs if dirname = NULL, then call it (via DB->archive()) |
from ssl_prune_sessions() in lib/ssl.c. |
- prayer-db-prune thus unnecessary. |
* template_find_bug.patch (new): Fix segfault in template_find() when |
template_set specifies a non-existing set. Also update default set. |
-- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
prayer (1.2.0-1) unstable; urgency=low |
* New upstream release featuring a major code reorganisation and a new |
template system. |
- Drop obsolete folder_list_cosmetics.patch and includes.patch. |
- Note: SSL support has been removed from prayer-accountd for now. |
* Changed defaults (manual intervention may be needed): |
- Let prayer-accountd.pid reside in /var/run; letting the two packages |
share /var/run/prayer caused too much trouble. |
- prayer.cf (makefile_install_config.patch and debian/Config): |
var_prefix set to /var/run/prayer and referred to in other |
settings. socket_split_dir disabled by default and default sockets |
directory changed to /var/run/prayer/sockets. |
* debian/control: |
+ Build-depend on latest Berkley DB library (libdb-dev). |
+ Add Homepage field. |
* repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
environment when upgrading from a version of Prayer that used an older |
BDB library. |
* prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
* prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
on remove or disappear and correctly remove statoverrides (Closes: #483176). |
Also check that deluser exists; it may be gone at purge time. |
* Package build details: |
- Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
- Override CDBS overriding CFLAGS. |
* debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
not to be used. |
-- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
prayer (1.1.0-2) unstable; urgency=low |
* Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
used. |
* makefile_install_config.patch: Modify prayer/Makefile so that the |
above definition isn't lost if CFLAGS is overridden. |
* Improve prayer.postrm to clean /var/run/prayer on removal and |
disappearence. |
* Use dpkg-override to allow the administrator to change mode of |
/var/run/prayer and /var/log/prayer. |
* Add postinst and postrm scripts for prayer-accountd. |
* makefile_install_config.patch: Set authtype = pam in accountd.cf so |
that accountd will start. |
* Bump Standards-Version to 3.7.3. No changes necessary. |
* Override Lintian warnings about GPL code linked with OpenSSL. Special |
exception has been granted. |
* Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
-- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
prayer (1.1.0-1) unstable; urgency=low |
* First upload to unstable. |
* New upstream release. |
+ Requires development version of the c-client library (libc-client2007-dev). |
- Drop pidfiles_extension.patch, session_unix_bugs.patch, |
session_server_bugs.patch; all incorporated upstream. |
- Drop ipv6.patch; incorporated upstream. |
- Drop utf8.patch; incorporated and improved upstream. |
- Drop hasnochildren_means_noinferiors.patch since upstream now |
handles dual-use mailboxes. |
* New maintainer email address. |
* Update README.Debian, removing lies about TLS not being possible to |
disable (Closes: #440462). |
* folder_list_cosmetics.patch: Remove space between expand/collapse |
arrow and folder icon in the folder list and change the alt texts so |
that the tree looks nicer in text browsers. |
-- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
prayer (1.0.18-1) experimental; urgency=low |
* Initial release (Closes: #392823) |
-- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
/trunk/debian/control |
---|
0,0 → 1,97 |
Source: prayer |
Section: mail |
Priority: optional |
Maintainer: Magnus Holmgren <holmgren@debian.org> |
Build-Depends: debhelper (>= 9), libc-client2007e-dev | libc-client-dev, |
libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
libtidy-dev |
Standards-Version: 4.2.1 |
Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
Vcs-Browser: http://svn.kibibyte.se/prayer |
Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
Package: prayer |
Architecture: any |
Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
lsb-base (>= 3.0-6), logrotate, default-mta | mail-transport-agent |
Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
Description: standalone IMAP-based webmail server |
Prayer is yet another Webmail interface. |
. |
It is unusual in that it is a complete, standalone, HTTP server and proxy |
rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
the IMAP server and is written entirely in C. Consequently it is much |
faster than most open source Webmail interfaces and puts very little load |
on either the machines running the Web server or the backend IMAP servers |
(even if traditional Unix format mailfolders are in use). |
. |
Prayer has very few external dependencies as user preferences are stored on |
the IMAP server rather than in a SQL database. It does however implement a |
full range of features and user preference settings. |
Package: prayer-templates-src |
Architecture: all |
Depends: ${misc:Depends} |
Recommends: prayer (>= 1.3.0) |
Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
Suggests: prayer-templates-dev |
Description: templates for customizing Prayer Webmail |
Prayer is yet another Webmail interface. |
. |
It is unusual in that it is a complete, standalone, HTTP server and proxy |
rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
the IMAP server and is written entirely in C. Consequently it is much |
faster than most open source Webmail interfaces and puts very little load |
on either the machines running the Web server or the backend IMAP servers |
(even if traditional Unix format mailfolders are in use). |
. |
This package contains, in source form, the templates for the HTML |
that Prayer outputs. |
. |
As all the templates are included with the main prayer package in |
compiled form, you only need to install this package if you need to |
customize one or more pages and you want something to start from. |
Package: prayer-templates-dev |
Architecture: any |
Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
Suggests: prayer-templates-src, prayer |
Description: tools for compiling Prayer templates |
Prayer is yet another Webmail interface. |
. |
It is unusual in that it is a complete, standalone, HTTP server and proxy |
rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
the IMAP server and is written entirely in C. Consequently it is much |
faster than most open source Webmail interfaces and puts very little load |
on either the machines running the Web server or the backend IMAP servers |
(even if traditional Unix format mailfolders are in use). |
. |
Prayer uses its own macro expansion language for the HTML it |
outputs. This package contains the programs and scripts needed to |
build template libraries, as well as a makefile to facilitate the |
process. |
Package: prayer-accountd |
Architecture: any |
Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.0-6) |
Suggests: prayer |
Recommends: exim4 |
Description: account management daemon for Prayer |
Prayer is yet another Webmail interface. |
. |
It is unusual in that it is a complete, standalone, HTTP server and proxy |
rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
the IMAP server and is written entirely in C. Consequently it is much |
faster than most open source Webmail interfaces and puts very little load |
on either the machines running the Web server or the backend IMAP servers |
(even if traditional Unix format mailfolders are in use). |
. |
This package contains a daemon that can do the following for users: |
. |
* Change passwords |
* Change their full name |
* Manage mail filtering (requires Exim) and forwarding |
* Manage vacation messages and logs |
. |
NOTE: This package is currently not very useful. |
/trunk/debian/prayer.init |
---|
0,0 → 1,91 |
#!/bin/sh |
# |
### BEGIN INIT INFO |
# Provides: prayer |
# Required-Start: $local_fs $remote_fs |
# Required-Stop: $local_fs $remote_fs |
# Should-Start: |
# Should-Stop: |
# Default-Start: 2 3 4 5 |
# Default-Stop: 0 1 6 |
# Short-Description: Prayer init script |
# Description: Init script for prayer services |
### END INIT INFO |
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
FRONTEND_DAEMON=/usr/sbin/prayer |
SESSION_DAEMON=/usr/sbin/prayer-session |
VAR_PREFIX=/run/prayer |
PRAYER_USER=prayer |
DESC="webmail server" |
test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
. /lib/lsb/init-functions |
# Include prayer defaults if available |
if [ -f /etc/default/prayer ] ; then |
. /etc/default/prayer |
fi |
FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
set +e |
start() { |
log_daemon_msg "Starting $DESC" "prayer" |
start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
--exec "$FRONTEND_DAEMON" \ |
-- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
--config-option "var_prefix=$VAR_PREFIX" \ |
--config-option "pid_dir=$VAR_PREFIX" |
log_end_msg $? |
} |
stop() { |
log_daemon_msg "Stopping $DESC" |
if [ -f "$SESSION_PIDFILE" ]; then |
start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
log_progress_msg "prayer-session" |
fi |
if [ -f "$FRONTEND_PIDFILE" ]; then |
start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
log_progress_msg "prayer" |
fi |
rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
log_end_msg 0 |
} |
case "$1" in |
start) |
# Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
# If local admin |
install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
start |
;; |
stop) |
stop |
;; |
restart|force-reload) |
# |
# If the "reload" option is implemented, move the "force-reload" |
# option to the "reload" entry above. If not, "force-reload" is |
# just the same as "restart". |
# |
stop |
sleep 1 |
start |
;; |
*) |
N=/etc/init.d/prayer |
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
exit 1 |
;; |
esac |
exit 0 |
/trunk/debian/prayer.postinst |
---|
0,0 → 1,58 |
#!/bin/sh |
# postinst script for prayer |
# |
# see: dh_installdeb(1) |
set -e |
# summary of how this script can be called: |
# * <postinst> `configure' <most-recently-configured-version> |
# * <old-postinst> `abort-upgrade' <new version> |
# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
# <new-version> |
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
# <failed-install-package> <version> `removing' |
# <conflicting-package> <version> |
# for details, see http://www.debian.org/doc/debian-policy/ or |
# the debian-policy package |
# |
case "$1" in |
configure) |
adduser --quiet --system --no-create-home --home /run/prayer prayer |
dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
|| dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
dpkg-statoverride --remove /var/run/prayer |
fi |
# Add prayer user to the ssl-cert group on upgrades or fresh installs |
if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
if getent group ssl-cert >/dev/null; then |
adduser --quiet prayer ssl-cert |
fi |
fi |
;; |
abort-upgrade|abort-remove|abort-deconfigure) |
;; |
*) |
echo "postinst called with unknown argument \`$1'" >&2 |
exit 1 |
;; |
esac |
# dh_installdeb will replace this with shell code automatically |
# generated by other debhelper scripts. |
#DEBHELPER# |
exit 0 |
/trunk/debian/prayer.postrm |
---|
0,0 → 1,50 |
#!/bin/sh |
# postrm script for prayer |
# |
# see: dh_installdeb(1) |
set -e |
# summary of how this script can be called: |
# * <postrm> `remove' |
# * <postrm> `purge' |
# * <old-postrm> `upgrade' <new-version> |
# * <new-postrm> `failed-upgrade' <old-version> |
# * <new-postrm> `abort-install' |
# * <new-postrm> `abort-install' <old-version> |
# * <new-postrm> `abort-upgrade' <old-version> |
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
# for details, see http://www.debian.org/doc/debian-policy/ or |
# the debian-policy package |
case "$1" in |
upgrade|abort-install|failed-upgrade|abort-upgrade) |
;; |
remove|disappear) |
rm -rf /run/prayer |
;; |
purge) |
rm -rf /var/log/prayer |
if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
dpkg-statoverride --remove /var/log/prayer |
fi |
if [ -x "`which deluser 2>/dev/null`" ]; then |
deluser --system --quiet prayer || true |
fi |
;; |
*) |
echo "postrm called with unknown argument \`$1'" >&2 |
exit 1 |
esac |
# dh_installdeb will replace this with shell code automatically |
# generated by other debhelper scripts. |
#DEBHELPER# |
exit 0 |
/trunk/debian/patches/series |
---|
0,0 → 1,14 |
makefile_install_config.patch |
templates_fallback_to_compiled.patch |
dlopen_templates.patch |
unbrand_cam_template.patch |
unbrand_accountd.patch |
template_sdk.patch |
no_db_version_check.patch |
hurd.patch |
disable_ssl3.patch |
openssl1.1.patch |
no-referrer.patch |
glibc-2.28.patch |
glibc-2.30.patch |
template_index_externs.patch |
/trunk/debian/patches/template_index_externs.patch |
---|
0,0 → 1,14 |
Description: Add extern to struct declarations in template indices. |
Bug-Debian: https://bugs.debian.org/957707 |
--- a/templates/src/build_index.pl |
+++ b/templates/src/build_index.pl |
@@ -23,7 +23,7 @@ print <<'EOM'; |
EOM |
foreach $i (@templates) { |
- print "struct template _template_${prefix}_${i};\n"; |
+ print "extern struct template _template_${prefix}_${i};\n"; |
} |
print <<"EOM"; |
/trunk/debian/patches/glibc-2.30.patch |
---|
0,0 → 1,20 |
Description: Fix FTBFS |
glibc removed obsolete, never-implemented XSI STREAMS declarations via: |
https://sourceware.org/git/?p=glibc.git;a=commit;h=a0a0dc83173ce11ff45105fd32e5d14356cdfb9c |
And so stropts.h file is not available anymore. |
--- |
--- prayer-1.3.5-dfsg1.orig/lib/os_linux.h |
+++ prayer-1.3.5-dfsg1/lib/os_linux.h |
@@ -9,7 +9,10 @@ |
#include <signal.h> |
#include <netdb.h> |
#include <sys/file.h> |
+ |
+#ifdef HAVE_STROPTS_H |
#include <stropts.h> |
+#endif |
#include <sys/prctl.h> |
/trunk/debian/patches/glibc-2.28.patch |
---|
0,0 → 1,23 |
Description: drop wrong prototype for crypt() |
The code provides its own prototype for crypt, claiming that Linux doesn't |
have one in its system headers. Not only is that wrong, but the local |
prototype is now incorrect, causing a build failure. |
Author: Steve Langasek <steve.langasek@ubuntu.com> |
Last-Modified: 2018-11-15 |
Index: prayer-1.3.5-dfsg1/accountd/authenticate.c |
=================================================================== |
--- prayer-1.3.5-dfsg1.orig/accountd/authenticate.c |
+++ prayer-1.3.5-dfsg1/accountd/authenticate.c |
@@ -94,11 +94,6 @@ |
/* Definies a whole series of different authentication methods, including |
* PAM if PAM support configured in ../Config */ |
-/* No prototype for crypt, at least on Linux */ |
-#if HAVE_SHADOW |
-extern char *crypt(char *password, char *salt); |
-#endif |
- |
/* ====================================================================== */ |
#ifdef ACCOUNTD_PAM_ENABLE |
/trunk/debian/patches/no-referrer.patch |
---|
0,0 → 1,28 |
Bug-Debian: https://bugs.debian.org/911842 |
Description: Add no-referrer meta header to templates. |
* CVE-2018-18655 |
Index: prayer-1.3.5-dfsg1/templates/cam/header.t |
=================================================================== |
--- prayer-1.3.5-dfsg1.orig/templates/cam/header.t |
+++ prayer-1.3.5-dfsg1/templates/cam/header.t |
@@ -11,6 +11,7 @@ |
% ENDIF |
<meta name="robots" content="none" /> |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
+<meta name="referrer" content="no-referrer" /> |
<link rel="stylesheet" href="/static/layout.css" |
type="text/css" media="all" /> |
<link rel="stylesheet" href="/static/print.css" |
Index: prayer-1.3.5-dfsg1/templates/old/header.t |
=================================================================== |
--- prayer-1.3.5-dfsg1.orig/templates/old/header.t |
+++ prayer-1.3.5-dfsg1/templates/old/header.t |
@@ -11,6 +11,7 @@ |
% ENDIF |
<meta name="robots" content="none" /> |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
+<meta name="referrer" content="no-referrer" /> |
<link rel="stylesheet" href="/static/common.css" type="text/css" /> |
<link rel="stylesheet" |
href="/static/<% $g_theme->name |n %>.css" |
/trunk/debian/patches/openssl1.1.patch |
---|
0,0 → 1,119 |
Bug-Debian: https://bugs.debian.org/828512 |
Description: Support OpenSSL 1.1 API changes |
SSL_CTX_set_tmp_rsa_callback() (used for export-weakened keys) no longer does anything. |
--- a/lib/ssl.c |
+++ b/lib/ssl.c |
@@ -78,17 +78,6 @@ static void os_initialize_prng(struct ss |
int totbytes = 0; |
int bytes; |
- if (ssl_config->egd_socket) { |
- if ((bytes = RAND_egd(ssl_config->egd_socket)) == -1) { |
- log_fatal("EGD Socket %s failed", ssl_config->egd_socket); |
- } else { |
- totbytes += bytes; |
- log_debug("Snagged %d random bytes from EGD Socket %s", |
- bytes, ssl_config->egd_socket); |
- goto SEEDED; /* ditto */ |
- } |
- } |
- |
/* Try the good-old default /dev/urandom, if available */ |
totbytes += add_rand_file("/dev/urandom"); |
if (prng_seeded(totbytes)) { |
@@ -212,6 +201,8 @@ static int new_session_cb(SSL * ssl, SSL |
unsigned char *data = NULL, *asn; |
time_t expire; |
int ret = -1; |
+ unsigned int session_id_length; |
+ unsigned char *session_id = SSL_SESSION_get_id(sess, &session_id_length); |
if (!sess_dbopen) |
return 0; |
@@ -241,8 +232,7 @@ static int new_session_cb(SSL * ssl, SSL |
if (data && len) { |
/* store the session in our database */ |
do { |
- ret = DB->store(sessdb, (void *) sess->session_id, |
- sess->session_id_length, |
+ ret = DB->store(sessdb, (void *) session_id, session_id_length, |
(void *) data, len + sizeof(time_t), NULL); |
} |
while (ret == MYDB_AGAIN); |
@@ -255,8 +245,8 @@ static int new_session_cb(SSL * ssl, SSL |
if (ssl_verbose_logging) { |
int i; |
char idstr[SSL_MAX_SSL_SESSION_ID_LENGTH * 2 + 1]; |
- for (i = 0; i < sess->session_id_length; i++) |
- sprintf(idstr + i * 2, "%02X", sess->session_id[i]); |
+ for (i = 0; i < session_id_length; i++) |
+ sprintf(idstr + i * 2, "%02X", session_id[i]); |
log_debug("new SSL session: id=%s, expire=%s, status=%s", |
idstr, ctime(&expire), ret ? "failed" : "ok"); |
@@ -298,7 +288,10 @@ static void remove_session(unsigned char |
*/ |
static void remove_session_cb(SSL_CTX * ctx, SSL_SESSION * sess) |
{ |
- remove_session(sess->session_id, sess->session_id_length); |
+ unsigned int session_id_length; |
+ unsigned char *session_id = SSL_SESSION_get_id(sess, &session_id_length); |
+ |
+ remove_session(session_id, session_id_length); |
} |
/* |
@@ -398,9 +391,6 @@ void ssl_context_init(struct ssl_config |
/* SSLv3 now also obsolete */ |
SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv3); |
- if (SSL_CTX_need_tmp_RSA(client_ctx)) |
- SSL_CTX_set_tmp_rsa_callback(client_ctx, rsa_callback); |
- |
/* Don't bother with session cache for client side: not enough |
* connections to worry about caching */ |
SSL_CTX_set_session_cache_mode(client_ctx, SSL_SESS_CACHE_OFF); |
@@ -509,10 +499,6 @@ void ssl_context_init(struct ssl_config |
log_fatal("SSL_CTX_set_options(SSL_OP_CIPHER_SERVER_PREFERENCE)" |
"failed"); |
- /* Set up RSA temporary key callback routine */ |
- if (SSL_CTX_need_tmp_RSA(server_ctx)) |
- SSL_CTX_set_tmp_rsa_callback(server_ctx, rsa_callback); |
- |
/* Initialise RSA temporary key (will take a couple of secs to complete) */ |
ssl_init_rsakey(ssl_config); |
} |
@@ -621,7 +607,7 @@ void *ssl_start_server(int fd, unsigned |
else |
log_debug("SSL: No client certificate"); |
- switch (ssl->session->ssl_version) { |
+ switch (SSL_version(ssl)) { |
case SSL2_VERSION: |
ver = "SSLv2"; |
break; |
@@ -680,7 +666,7 @@ void *ssl_start_client(int fd, unsigned |
/* Verify certificate here? Need local context to play with? */ |
- switch (((SSL *) ssl)->session->ssl_version) { |
+ switch (SSL_version(ssl)) { |
case SSL2_VERSION: |
ver = "SSLv2"; |
break; |
--- a/shared/config.c |
+++ b/shared/config.c |
@@ -455,9 +455,9 @@ static struct { |
"draft_att_total_max", config_number, OFFSET(draft_att_total_max)} |
, { |
"dualuse", config_bool, OFFSET(dualuse)} |
- , { |
+ , /*{ |
"egd_socket", config_path, OFFSET(egd_socket)} |
- , { |
+ , */{ |
"expunge_on_exit", config_bool, OFFSET(expunge_on_exit)} |
, { |
"fatal_dump_core", config_bool, OFFSET(fatal_dump_core)} |
/trunk/debian/patches/disable_ssl3.patch |
---|
0,0 → 1,58 |
Description: Disable SSL 3.0 on client as well as server side |
Author: Magnus Holmgren <holmgren@debian.org> |
--- a/lib/ssl.c |
+++ b/lib/ssl.c |
@@ -387,12 +387,16 @@ void ssl_context_init(struct ssl_config |
SSL_load_error_strings(); |
/* Set up client context: only used by accountd */ |
- client_ctx = SSL_CTX_new(SSLv3_client_method()); |
+ client_ctx = SSL_CTX_new(SSLv23_client_method()); |
SSL_CTX_set_session_cache_mode(client_ctx, SSL_SESS_CACHE_BOTH); |
SSL_CTX_set_info_callback(client_ctx, info_callback); |
#ifdef SSL_MODE_AUTO_RETRY |
SSL_CTX_set_mode(client_ctx, SSL_MODE_AUTO_RETRY); |
#endif |
+ /* SSLv2 now obsolete */ |
+ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv2); |
+ /* SSLv3 now also obsolete */ |
+ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv3); |
if (SSL_CTX_need_tmp_RSA(client_ctx)) |
SSL_CTX_set_tmp_rsa_callback(client_ctx, rsa_callback); |
@@ -420,6 +424,8 @@ void ssl_context_init(struct ssl_config |
/* SSLv2 now obsolete */ |
SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv2); |
+ /* SSLv3 now also obsolete */ |
+ SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv3); |
/* Start off with the session cache disabled */ |
SSL_CTX_set_session_cache_mode(server_ctx, SSL_SESS_CACHE_OFF); |
@@ -625,6 +631,12 @@ void *ssl_start_server(int fd, unsigned |
case TLS1_VERSION: |
ver = "TLSv1"; |
break; |
+ case TLS1_1_VERSION: |
+ ver = "TLSv1.1"; |
+ break; |
+ case TLS1_2_VERSION: |
+ ver = "TLSv1.2"; |
+ break; |
default: |
ver = "UNKNOWN"; |
} |
@@ -678,6 +690,12 @@ void *ssl_start_client(int fd, unsigned |
case TLS1_VERSION: |
ver = "TLSv1"; |
break; |
+ case TLS1_1_VERSION: |
+ ver = "TLSv1.1"; |
+ break; |
+ case TLS1_2_VERSION: |
+ ver = "TLSv1.2"; |
+ break; |
default: |
ver = "UNKNOWN"; |
} |
/trunk/debian/patches/dlopen_templates.patch |
---|
0,0 → 1,241 |
Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
one is unloaded first. |
--- /dev/null |
+++ b/shared/dlopen_templates.c |
@@ -0,0 +1,34 @@ |
+#include <dlfcn.h> |
+#include "shared.h" |
+ |
+struct template_map_index template_map_index[] = { |
+ {NIL, NIL, NIL}, |
+ {NIL, NIL, NIL} |
+}; |
+ |
+struct template_map_index * |
+dlopen_templates(const char *set, const char *suffix) |
+{ |
+ struct template_map_index *tmi = &template_map_index[0]; |
+ static void *handle = 0; |
+ |
+ if (!handle || strcmp(tmi->name, set)) { |
+ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
+ set, suffix); |
+ |
+ if (handle) { |
+ dlclose(handle); |
+ free(tmi->name); |
+ } |
+ tmi->name = pool_strdup(NIL, set); |
+ if (!(handle = dlopen(filename, RTLD_NOW)) |
+ || !(tmi->template_map = dlsym(handle, "template_map")) |
+ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
+ log_fatal("Failed to load template library: %s", |
+ dlerror()); |
+ } |
+ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
+ free(filename); |
+ } |
+ return tmi; |
+} |
--- /dev/null |
+++ b/shared/dlopen_templates.h |
@@ -0,0 +1 @@ |
+struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
--- a/templates/cam/Makefile |
+++ b/templates/cam/Makefile |
@@ -6,12 +6,16 @@ else |
include ../../Config |
endif |
-CFLAGS = $(BASECFLAGS) |
-LDFLAGS = $(BASELDFLAGS) |
+MYCFLAGS = $(BASECFLAGS) -fPIC |
+MYLDFLAGS = $(BASELDFLAGS) -fPIC |
+LDFLAGS_TEMPLATELIB = \ |
+ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
+ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
+MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
TYPE=cam |
-TARGETS=templates.a templates_frontend.a |
+TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
T_FILES_FRONTEND=login.t login_hermes.t \ |
frontend_login_error.t frontend_security.t frontend_session.t \ |
@@ -111,8 +115,14 @@ templates.a: $(O_FILES) |
rm -f templates.a |
ar q templates.a $(O_FILES) |
+$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
+ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
+ |
+$(TYPE).so: $(O_FILES) |
+ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
+ |
%.o: %.c Makefile |
- $(CC) $(CFLAGS) -I../../lib -c $< |
+ $(CC) $(MYCFLAGS) -I../../lib -c $< |
_template_index_frontend.c: |
../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
@@ -129,6 +139,10 @@ install: |
cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
+ $(BROOT)$(LIB_PREFIX)/templates |
+ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
+ |
clean: |
rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
--- a/templates/old/Makefile |
+++ b/templates/old/Makefile |
@@ -6,12 +6,16 @@ else |
include ../../Config |
endif |
-CFLAGS = $(BASECFLAGS) |
-LDFLAGS = $(BASELDFLAGS) |
+MYCFLAGS = $(BASECFLAGS) -fPIC |
+MYLDFLAGS = $(BASELDFLAGS) -fPIC |
+LDFLAGS_TEMPLATELIB = \ |
+ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
+ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
+MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
TYPE=old |
-TARGETS=templates.a templates_frontend.a |
+TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
T_FILES_FRONTEND=login.t \ |
frontend_login_error.t frontend_security.t frontend_session.t \ |
@@ -110,8 +114,14 @@ templates.a: $(O_FILES) |
rm -f templates.a |
ar q templates.a $(O_FILES) |
+$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
+ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
+ |
+$(TYPE).so: $(O_FILES) |
+ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
+ |
%.o: %.c Makefile |
- $(CC) $(CFLAGS) -I../../lib -c $< |
+ $(CC) $(MYCFLAGS) -I../../lib -c $< |
_template_index_frontend.c: |
../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
@@ -128,6 +138,10 @@ install: |
cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
+ $(BROOT)$(LIB_PREFIX)/templates |
+ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
+ |
clean: |
rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
--- a/servers/prayer_chroot.c |
+++ b/servers/prayer_chroot.c |
@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
if (list_length(prayer->http_port_list) == 0L) |
prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ dlopen_templates(config->template_set, "_frontend"); |
+ |
if (config->prayer_background && !want_foreground) { |
pid_t pid = fork(); |
--- a/shared/Makefile |
+++ b/shared/Makefile |
@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
SHARED_OBJS = \ |
config.o gzip.o html_common.o log.o \ |
- request.o response.o user_agent.o |
+ request.o response.o user_agent.o dlopen_templates.o |
all: $(SHARED_OBJS) |
--- a/servers/prayer_main.c |
+++ b/servers/prayer_main.c |
@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
prayer_log_open(prayer); |
+ dlopen_templates(config->template_set, "_frontend"); |
+ |
if (config->limit_vm) |
os_limit_vm(config->limit_vm); |
--- a/shared/shared.h |
+++ b/shared/shared.h |
@@ -40,3 +40,4 @@ extern int errno; /* just |
#include "setproctitle.h" |
#include "mymutex.h" |
#include "log.h" |
+#include "dlopen_templates.h" |
--- a/servers/Makefile |
+++ b/servers/Makefile |
@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
endif |
endif |
-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
-SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) |
+PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
+SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) -ldl |
# Add SSL if c-client needs SSL |
ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
../templates/cam/templates_frontend.a |
PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
+ ../shared/shared.a $(LIB) |
SESSION_OBJS= \ |
session_config.o session_exchange.o session_unix.o session_server.o \ |
session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
../shared/shared.a ../lib/lib_nossl.a |
-SESSION_OBJS += $(TEMPLATES) |
- |
######################################################################### |
all: $(BIN) |
--- a/Makefile |
+++ b/Makefile |
@@ -28,7 +28,7 @@ install-cert: |
install: |
$(MAKE) -C files install |
$(MAKE) -C man install |
-# $(MAKE) -C templates install |
+ $(MAKE) -C templates install |
$(MAKE) -C servers install |
$(MAKE) -C utils install |
ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
--- a/servers/session_exchange.c |
+++ b/servers/session_exchange.c |
@@ -146,6 +146,8 @@ BOOL session_exchange(struct session * s |
else |
template_set = config->template_set; /* Safe default */ |
+ dlopen_templates(template_set, ""); |
+ |
/* Set up template_vars ready for dispatch */ |
session->template_vals = tvals |
= template_vals_create(request->pool, |
--- a/servers/prayer_shared.h |
+++ b/servers/prayer_shared.h |
@@ -44,3 +44,4 @@ extern int errno; /* just |
#include "mymutex.h" |
#include "log.h" |
#include "utf8.h" |
+#include "dlopen_templates.h" |
/trunk/debian/patches/hurd.patch |
---|
0,0 → 1,27 |
--- a/lib/setproctitle.h |
+++ b/lib/setproctitle.h |
@@ -8,7 +8,9 @@ |
#include <sys/param.h> |
-#ifdef __linux__ |
+#if defined(__GNU__) |
+# define SPT_TYPE SPT_CHANGEARGV |
+#elif defined(__linux__) |
# define SPT_TYPE SPT_REUSEARGV |
# define SPT_PADCHAR '\0' /* pad process title with nulls */ |
#elif (defined(BSD) && BSD >= 199306) |
--- a/accountd/authenticate.c |
+++ b/accountd/authenticate.c |
@@ -8,11 +8,7 @@ |
#include "accountd.h" |
-#ifdef BSD4_4 |
-#define HAVE_SHADOW 0 |
-#else |
#define HAVE_SHADOW 1 |
-#endif |
#include <pwd.h> |
#if HAVE_SHADOW |
/trunk/debian/patches/makefile_install_config.patch |
---|
0,0 → 1,170 |
--- a/files/etc/prayer-accountd.cf |
+++ b/files/etc/prayer-accountd.cf |
@@ -8,6 +8,10 @@ |
# Default accountd.cf file suitable for RedHat Linux only. |
# See distribution for some sample files for FreeBSD and Solaris |
+accountd_port = 145 |
+ |
+authtype = pam |
+ |
msforward_name = ".MSforward" |
forward_name = ".forward" |
aliases_name = "vacation.aliases" |
--- a/files/Makefile |
+++ b/files/Makefile |
@@ -66,21 +66,16 @@ install-aconfig: |
install-motd: |
$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
- etc/motd.html ${BROOT}${PREFIX}/etc |
+ etc/motd.html ${BROOT}/etc/prayer |
install: |
- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
- ./install.sh |
- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
+ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
+ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
+ |
+ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
redhat-install-init.d: |
install -D -o root -g root -m 755 \ |
--- a/files/etc/prayer.cf.SRC |
+++ b/files/etc/prayer.cf.SRC |
@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
# User ID to run as if we start off as root |
prayer_user = "prayer" |
# Group ID to run as if we start off as root |
-prayer_group = "prayer" |
+prayer_group = "nogroup" |
# Run prayer as background process. |
# TRUE => will return as soon as valid configuration is found. |
@@ -53,7 +53,7 @@ directory_perms = 0750 |
imapd_user_map = "" |
# Default imapd server. |
-imapd_server = localhost |
+imapd_server = localhost/notls |
# Name of Prayer user preferences file on IMAP server |
prefs_folder_name = ".prayer" |
@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
# Locatation of SSL certificate file (only used if SSL ports defined). |
# Required if we are going to provide SSL services. |
-ssl_cert_file = "$prefix/certs/prayer.pem" |
+ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
# Locatation of SSL private key file (only used if SSL ports defined). |
# Required if we are going to provide SSL services. |
-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
+ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
# Master server will regenerate shared RSA key at this interval: |
ssl_rsakey_lifespan = 15m |
@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
# RSA key remains fresh in child process for this long after first actual use. |
ssl_rsakey_freshen = 15m |
-# SSL session cache timeout. |
-ssl_session_timeout = 24h |
+# SSL session cache timeout. Uncomment to enable SSL session caching. |
+# You should also arrange for prayer-ssl-prune to be run periodically. |
+#ssl_session_timeout = 24h |
# EGD socket, if system has no /dev/urandom |
#egd_socket = "/var/prngd/urandom" |
@@ -374,13 +375,15 @@ sendmail_path = /usr/lib/sendmail |
ispell_path = /usr/bin/ispell |
# Message of the day file |
-motd_path = "$prefix/etc/motd.html" |
+#motd_path = "/etc/prayer/motd.html" |
-# HTML to insert into login page |
-#login_insert1_path = "$prefix/etc/ucsnews.html" |
- |
-# HTML to insert into login page |
-#login_insert2_path = "$prefix/etc/ucsnews.html" |
+# HTML to make available to login template as $login_insert1 |
+# (only used in "cam" template set). |
+#login_insert1_path = "/etc/prayer/login1.html" |
+ |
+# HTML to make available to login template as $login_insert2 |
+# (currently not used in any template set). |
+#login_insert2_path = "/etc/prayer/login2.html" |
# Login security: Prayer's front page defaults to a login form. |
# If the user does not connect via SSL then this can be changed |
@@ -409,10 +412,11 @@ bin_dir = "__BIN_DIR__" |
# Various directories used by the running system |
# Logs stored in $log_dir |
-log_dir = "$var_prefix/logs" |
+log_dir = "/var/log/prayer" |
# $lock_dir used for interlocking between prayer processes |
-lock_dir = "$var_prefix/locks" |
+# (only on Debian GNU/kFreeBSD) |
+lock_dir = "$var_prefix" |
# $socket_dir is location for unix domain sockets which connect frontend |
# to backend in proxy mode of operation. |
@@ -420,7 +424,7 @@ socket_dir = "$var_prefix/socke |
# Split socket directory into 64 subdirs keyed on first letter of sessionID |
# Code provides compatibility in both directions: can switch back and forward |
-socket_split_dir = TRUE |
+socket_split_dir = FALSE |
# Name of Unix domain socket (in $socket_dir) used for initial handshake |
# between prayer and prayer-session processes when a user logs in |
@@ -434,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
tmp_dir = "$var_prefix/tmp" |
# Location for PID files for prayer and prayer-session master processes. |
-pid_dir = "$var_prefix/pid" |
+pid_dir = "$var_prefix" |
# Interface to Hermes finger database |
#lookup_rpasswd = "/data/finger/rpasswd.cdb" |
@@ -452,7 +456,7 @@ pid_dir = "$var_prefix/pid" |
# Template stuff |
template_path = "__PREFIX__/templates" |
-template_set = "cam" |
+template_set = "old" |
template_use_compiled = TRUE |
template old "Traditional" |
@@ -601,14 +605,14 @@ hiersep = "/" |
dualuse = FALSE |
# Names of postponed_folder and sent_mail_folder, relative to maildir |
-postponed_folder = "postponed-msgs" |
-sent_mail_folder = "sent-mail" |
+postponed_folder = "Drafts" |
+sent_mail_folder = "Sent" |
# Default domain for outgoing mail. Defaults to "$hostname". |
# default_domain = "<valid mail domain>" |
# Language for ispell. |
-ispell_language = "british" |
+ispell_language = "american" |
# Size of small and large compose windows |
small_cols = 80 |
/trunk/debian/patches/templates_fallback_to_compiled.patch |
---|
0,0 → 1,45 |
--- a/lib/template_expand.c |
+++ b/lib/template_expand.c |
@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
char *s, *t; |
char *err = NIL; |
- if (tvals->use_compiled) |
+ if (tvals->use_compiled || |
+ !(template = template_parse(tvals->dir, tvals->set, |
+ item->name, tvals->pool))) |
template = template_find(tvals->set, item->name, tvals->pool); |
- else |
- template = template_parse(tvals->dir, tvals->set, |
- item->name, tvals->pool); |
+ |
if (!template) { |
str_printf(state->error, |
"Template \"%s\" not found (CALL from template \"%s\")\n", |
@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
struct str *error = tvals->error; |
char *err; |
- if (tvals->use_compiled) { |
+ if (tvals->use_compiled || |
+ !(template = template_parse(tvals->dir, tvals->set, |
+ name, tvals->pool))) |
template = template_find(tvals->set, name, tvals->pool); |
- } else { |
- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
- } |
+ |
if (!template) { |
str_printf(tvals->error, |
"Template %s not found (top level template_expand())\n", |
--- a/files/etc/prayer.cf.SRC |
+++ b/files/etc/prayer.cf.SRC |
@@ -455,7 +455,7 @@ pid_dir = "$var_prefix" |
###################################################################### |
# Template stuff |
-template_path = "__PREFIX__/templates" |
+template_path = "/etc/prayer/templates" |
template_set = "old" |
template_use_compiled = TRUE |
/trunk/debian/patches/template_sdk.patch |
---|
0,0 → 1,195 |
--- a/templates/src/Makefile |
+++ b/templates/src/Makefile |
@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
LIB= ../../lib/lib_nossl.a |
-all: template_expand template_compile |
+all: template_expand template_compile template-set.make |
template_expand: template_expand_main.o log.o empty.o $(LIB) |
$(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
template_compile: template_compile_main.o log.o empty.o $(LIB) |
$(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+template-set.make: template-set.make.in |
+ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
+ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
+ (echo include $(PREFIX)/config.make; echo;\ |
+ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
+ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
+ cat template-set.make.in) > template-set.make |
+ |
%.o: %.c Makefile |
$(CC) $(CFLAGS) -I../../lib -c $< |
install: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
+ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+ ../../lib/*.h ${BROOT}/usr/include/prayer |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+ template-set.make ${BROOT}$(PREFIX) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+ ../../Config ${BROOT}$(PREFIX)/config.make |
clean: |
rm -f template_expand template_compile *.o *~ \#*\# |
--- a/templates/src/makedeps.pl |
+++ b/templates/src/makedeps.pl |
@@ -4,51 +4,44 @@ |
# |
# Generate proper list of dependancies between templates |
-%uses = (); |
+my %index = (); |
+my %uses = (); |
-while ($file=shift(@ARGV)) { |
- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
+sub scan { |
+ my ($file) = @_; |
- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
- |
- while (<FILE>) { |
- next unless /^%\s+CALL ([\w-_]+)/; |
+ if (!exists $uses{$file}) { |
+ grep { |
+ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
+ } '.', split(/ :/, $ENV{'VPATH'} || '') |
+ or die "failed to open ${file}: $!\n"; |
+ while (<FILE>) { |
+ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
+ } |
+ close(FILE); |
- $uses{$file} = [] if (not $uses{$file}); |
- push(@{$uses{$file}}, $1); |
+ foreach (keys %{$uses{$file}}) { |
+ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
+ } |
+ $uses{$file}{$file} = 1; |
+ $index{$file} = 1; |
} |
- |
- close(FILE); |
+ return $uses{$file} |
} |
-foreach $i (sort keys %uses) { |
- # Sort and uniq |
- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
+my $suffix = ''; |
+if ($ARGV[0] eq '--frontend') { |
+ shift; |
+ $suffix = '_frontend'; |
} |
+my $name = shift; |
-foreach $i (sort keys %uses) { |
- printf("%s.html: %s.t", $i, $i); |
- foreach $j (@{$uses{$i}}) { |
- @list = (); |
- recurse($j, {}, \@list); |
- foreach $k (@list) { |
- printf(" %s.t", $k); |
- } |
- } |
- printf("\n"); |
+$, = ' '; $\ = "\n"; |
+foreach my $i (@ARGV) { |
+ $i =~ s/([\w-_]+)\.t/$1/; |
+ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
} |
-exit(0); |
- |
-sub recurse { |
- my ($i, $usedref, $listref) = @_; |
- |
- # Remove repeated references to any given template/ |
- return if defined($$usedref{$i}); |
- $$usedref{$i} = 1; |
- |
- push (@{$listref}, $i); |
- foreach $j (@{$uses{$i}}) { |
- recurse($j, $usedref, $listref); |
- } |
-} |
+my @all = sort keys %index; |
+print "_template_index$suffix.c:", map {"$_.t"} @all; |
+print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
--- /dev/null |
+++ b/templates/src/template-set.make.in |
@@ -0,0 +1,67 @@ |
+ifndef NAME |
+NAME := $(notdir $(CURDIR)) |
+endif |
+ |
+CPPFLAGS = -I/usr/include/prayer |
+CFLAGS += -fPIC |
+LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
+ -Wl,--defsym=template_map=template_map_$(NAME) \ |
+ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
+ |
+EXPAND = $(LIB_PREFIX)/template_expand |
+COMPILE = $(LIB_PREFIX)/template_compile |
+MKINDEX = $(LIB_PREFIX)/build_index.pl |
+MKDEPS = $(LIB_PREFIX)/makedeps.pl |
+ |
+SESSION_LIB = $(NAME)$(SHLIBEXT) |
+FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
+TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
+TARGETS ?= $(TEMPLATE_LIBS) |
+ |
+VARS=$(filter-out common.vars,$(wildcard *.vars)) |
+HTML=$(VARS:.vars=.html) |
+ |
+all: $(TARGETS) |
+ |
+$(TEMPLATE_LIBS): |
+ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
+ |
+_template_index.c _template_index_frontend.c: |
+ $(MKINDEX) $(NAME) $(^F) > $@ |
+ |
+%.c: %.t |
+ $(COMPILE) $(NAME) $@ $(basename $<) |
+ |
+install-sources: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
+ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
+ |
+install-libs: $(TEMPLATE_LIBS) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
+ -d $(DESTDIR)$(LIB_PREFIX)/templates |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
+ |
+clean: |
+ rm -f $(TARGETS) *.html *.o *.c |
+distclean: clean |
+ rm -f *.d |
+ |
+test: $(HTML) |
+ |
+%.html: %.t %.vars common.vars |
+ $(EXPAND) $@ $* common.vars $*.vars |
+ |
+%_frontend.d: FRONTEND_FLAG = --frontend |
+%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
+export VPATH |
+$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
+ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
+ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
+ |
+include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
+ |
+.PHONY: all install-sources install-libs clean distclean test |
+.DELETE_ON_ERROR: |
/trunk/debian/patches/unbrand_accountd.patch |
---|
0,0 → 1,32 |
--- a/accountd/filter.c |
+++ b/accountd/filter.c |
@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
fprintf(file, "# MSshell :: vacation\n"); |
fprintf(file, "if personal\n"); |
- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
if (!filter_print_aliases(config, file)) |
return (NIL); |
@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
fprintf(file, ("This message is automatically generated " |
"in response to your mail\\n\\" "\n")); |
fprintf(file, ("message (perhaps re-directed) to " |
- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
+ "$local_part@$local_domain.\\n\\n\"\n")); |
fprintf(file, " file ${home}/vacation.message\n"); |
fprintf(file, " log ${home}/vacation.log\n"); |
fprintf(file, " once ${home}/vacation.once\n"); |
@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
threshold = atoi(filter->threshold); |
/* XXX (threshold == 0) okay? */ |
- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
+ fprintf(file, "if $h_X-Spam-Level contains \""); |
for (i=0 ; i < threshold; i++) |
- fputc('s', file); |
+ fputc('*', file); |
fprintf(file, "\" then\n"); |
fprintf(file, " save mail/spam\n"); |
/trunk/debian/patches/no_db_version_check.patch |
---|
0,0 → 1,24 |
--- a/lib/mydb_db3.c |
+++ b/lib/mydb_db3.c |
@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
static int init(const char *dbdir, int myflags) |
{ |
- int maj, min, patch; |
- char *vstr; |
int r; |
if (dbinit++) return 0; |
- vstr = db_version(&maj, &min, &patch); |
- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
- DB_VERSION_PATCH > patch) { |
- log_fatal("incorrect version of Berkeley db: " |
- "compiled against %d.%d.%d, linked against %d.%d.%d", |
- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
- maj, min, patch); |
- } |
- |
if (!(r = myinit(dbdir, myflags))) |
return(0); |
/trunk/debian/patches/unbrand_cam_template.patch |
---|
0,0 → 1,38 |
--- a/templates/cam/compose_toolbar.t |
+++ b/templates/cam/compose_toolbar.t |
@@ -2,8 +2,6 @@ |
<div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
<div id="header"> |
<div id="branding"> |
- <a href="http://www.cam.ac.uk/" accesskey="1"> |
- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
</div> |
<div id="change-to"> |
<div class="change"> |
--- a/templates/cam/login.t |
+++ b/templates/cam/login.t |
@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
href="#skip-content" accesskey="2">Skip to content</a> </div> |
<div id="header"> |
<div id="branding"> |
-<a href="http://www.cam.ac.uk/" accesskey="1"> |
- <img src="/icons/identifier.gif" |
- alt="University of Cambridge" class="ucam" /> |
- <img src="/icons/ucs.gif" alt="" class="logo" /> |
-</a> |
</div> |
</div> |
% |
--- a/templates/cam/toolbar.t |
+++ b/templates/cam/toolbar.t |
@@ -4,9 +4,7 @@ |
href="#skip-content" accesskey="2">Skip to content</a> </div> |
<div id="header"> |
<div id="branding"> |
- <a href="http://www.cam.ac.uk/" accesskey="1"> |
- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
-</a></div> |
+</div> |
<div id="change-to"> |
<form method="post" accept-charset="UTF-8" |
enctype="multipart/form-data" action="<% change |s %>"> |
/trunk/debian/README.Debian |
---|
0,0 → 1,104 |
prayer for Debian |
----------------- |
The Debian version of Prayer is built with SSL support with session |
cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
and System V mutex support. The initial Debian release, which was only |
uloaded to the experimental distribution, was heavily patched to add |
UTF-8 and IPv6 support among other things. All that has been |
incorporated and improved by upstream in 1.1.0. The remaining patches |
concern changes to the default configuration as detailed below, or fix |
bugs. You can always find information about patches in |
changelog.Debian.gz. |
To enable Prayer, run update-rd.c prayer enable. But before you do |
that you should go through /etc/prayer/prayer.cf and adapt it to your |
needs. In particular, if you already run a web server on this machine |
you need to change use_http_port (and use_https_port) to something |
else. |
Debian-specific configuration defaults: |
* Static files (templates, icons, CSS files) are installed in |
/usr/share/prayer in accordance with policy. The prefix option |
points there, while var_prefix, the location of pid files |
(pid_dir), sockets (socket_dir), the SSL session cache |
(ssl_session_dir), and temporary storage of uploaded attachments |
(tmp_dir), is /var/run/prayer and subdirectories. Log files are |
written to /var/log/prayer (log_dir). |
* Prayer by default runs as user prayer (created on install) and |
group nogroup. The prayer user is added to the ssl-cert group on |
installation, so that it can access keys in /etc/ssl/private. |
* ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
certificate and key created by the ssl-cert package, so that you |
only have to uncomment use_https_port to enable encryption. For a |
production server you should of course install a real certificate. |
* Support for SSL session caching is compiled in, but caching is |
disabled by default, as it probably doesn't make that much a |
difference on modern hardware. To enable it, uncomment the |
ssl_session_timeout setting in prayer.cf. You should also arrange |
for prayer-ssl-prune to be run periodically, for example by placing |
a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
* The default IMAP folders for sent mail (sent_mail_folder) and |
drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
the default for Mozilla Thunderbird and others (although many IMAP |
clients unfortunately use localized folder names). |
* socket_split_dir is off by default to reduce complexity when |
testing. You will probably only need it if you have lots of |
simultaneous users and a file system without directory indexes. |
Customizing templates: |
To use customized templates you must set template_use_compiled to |
FALSE in prayer.cf. Then copy the template (.t file) you wish to |
customize from /usr/share/prayer/templates to the corresponding |
location under /etc/prayer/templates and edit it there. Prayer will |
still use the compiled-in versions of the remaining templates, thanks |
to a small patch. |
Quirks: |
* If your IMAP server supports STARTTLS, then Prayer (actually the |
libc-client IMAP client library) will use it automatically. To |
disable, append "/notls" to the IMAP server name(s) specified with |
imapd_server. To force TLS, append "/tls". Make sure that the |
server name you specify for imapd_server in prayer.cf matches the |
Common Name in the SSL certificate; otherwise libc-client will |
refuse to accept it. To disable that check, use "/novalidate-cert". |
Other switches you can append are listed in the file naming.txt.gz |
in the documentation directory of the C-client library. |
* If your IMAP server is Dovecot (or any of a number of others, |
probably), then you must change prefs_folder_name to something not |
containing a dot. Unfortunately this means that the preference |
folder will be fully visible. |
* Prayer doesn't handle signals gracefully yet, which means that it |
will leave SysV semaphores lying around when it is stopped or |
restarted. You can use ipcs to find them and ipcrm to delete them. |
* While Prayer does its best to remove potentially harmful tags from |
HTML email, it doesn't try to convert it to XHTML. This means that |
Prayer's output is conformant XHTML only when not viewing HTML |
mail. |
* Prayer deletes mail the IMAP way, which is by marking messages as |
deleted and leaving them in their folders. Prayer always lists |
deleted messages (with a special icon) and expunges (deletes |
permanently) deleted messages only when explicitly requested. |
Before that they can be undeleted at any time by "unmarking" them. |
Most mail client software deletes mail by moving it to a "trash" |
folder, which in reality means creating a copy in the trash folder |
and marking the original deleted. Messages that are marked as |
deleted are usually never listed, cannot be unmarked, and are often |
automatically expunged. These two approaches are rather |
incompatible, but some software can take either. |
-- Magnus Holmgren <holmgren@debian.org>, Sat, 27 Oct 2018 21:26:25 +0200 |
/trunk/debian/prayer.default |
---|
0,0 → 1,14 |
# Defaults for prayer initscript |
# sourced by /etc/init.d/prayer |
# installed at /etc/default/prayer by the maintainer scripts |
# This is a POSIX shell fragment |
# Default values for var_prefix (also used for pid_dir) and |
# prayer_user. These are set from the command line to make sure that |
# prayer uses the expected values. |
#VAR_PREFIX="/var/run/prayer" |
#PRAYER_USER="prayer" |
# Additional ptions. You probably won't need any. |
DAEMON_OPTS="" |
/trunk/debian/rules |
---|
0,0 → 1,22 |
#!/usr/bin/make -f |
%: |
dh $@ -Smakefile |
override_dh_auto_clean: |
$(MAKE) clean MAKE=$(MAKE) |
cp defaults/Config . |
override_dh_auto_configure: |
cp debian/Config . |
override_dh_auto_install: |
dh_auto_install -- BROOT=$(CURDIR)/debian/tmp |
override_dh_installchangelogs: |
dh_installchangelogs docs/DONE |
override_dh_installinit: |
dh_installinit --no-enable |
override_dh_installman: |
dh_installman --language=C |
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: trunk/debian/compat |
=================================================================== |
--- trunk/debian/compat (nonexistent) |
+++ trunk/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+9 |
Index: trunk/debian/Config |
=================================================================== |
--- trunk/debian/Config (nonexistent) |
+++ trunk/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = false # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: trunk/debian/watch |
=================================================================== |
--- trunk/debian/watch (nonexistent) |
+++ trunk/debian/watch (revision 180) |
@@ -0,0 +1,4 @@ |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: trunk/debian/copyright |
=================================================================== |
--- trunk/debian/copyright (nonexistent) |
+++ trunk/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2011 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: trunk/debian/prayer-accountd.8 |
=================================================================== |
--- trunk/debian/prayer-accountd.8 (nonexistent) |
+++ trunk/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: trunk/debian/prayer-accountd.manpages |
=================================================================== |
--- trunk/debian/prayer-accountd.manpages (nonexistent) |
+++ trunk/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: trunk/debian/source/format |
=================================================================== |
--- trunk/debian/source/format (nonexistent) |
+++ trunk/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: trunk/debian/prayer-accountd.init |
=================================================================== |
--- trunk/debian/prayer-accountd.init (nonexistent) |
+++ trunk/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: trunk/debian/prayer-templates-dev.install |
=================================================================== |
--- trunk/debian/prayer-templates-dev.install (nonexistent) |
+++ trunk/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: trunk/debian/prayer-templates-src.install |
=================================================================== |
--- trunk/debian/prayer-templates-src.install (nonexistent) |
+++ trunk/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: trunk/debian/prayer-templates-src.docs |
=================================================================== |
--- trunk/debian/prayer-templates-src.docs (nonexistent) |
+++ trunk/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: trunk/debian/prayer.docs |
=================================================================== |
--- trunk/debian/prayer.docs (nonexistent) |
+++ trunk/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: trunk/debian/prayer.NEWS |
=================================================================== |
--- trunk/debian/prayer.NEWS (nonexistent) |
+++ trunk/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: trunk/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- trunk/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ trunk/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: trunk/debian/prayer-templates-dev.docs |
=================================================================== |
--- trunk/debian/prayer-templates-dev.docs (nonexistent) |
+++ trunk/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: trunk/debian/prayer.install |
=================================================================== |
--- trunk/debian/prayer.install (nonexistent) |
+++ trunk/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: trunk/debian/prayer.dirs |
=================================================================== |
--- trunk/debian/prayer.dirs (nonexistent) |
+++ trunk/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: trunk/debian/prayer.links |
=================================================================== |
--- trunk/debian/prayer.links (nonexistent) |
+++ trunk/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: trunk/debian/prayer.manpages |
=================================================================== |
--- trunk/debian/prayer.manpages (nonexistent) |
+++ trunk/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: trunk/debian/prayer.examples |
=================================================================== |
--- trunk/debian/prayer.examples (nonexistent) |
+++ trunk/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: trunk/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- trunk/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ trunk/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: trunk/debian/prayer.lintian-overrides |
=================================================================== |
--- trunk/debian/prayer.lintian-overrides (nonexistent) |
+++ trunk/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: trunk/debian/prayer-accountd.docs |
=================================================================== |
--- trunk/debian/prayer-accountd.docs (nonexistent) |
+++ trunk/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: trunk/debian/prayer.logrotate |
=================================================================== |
--- trunk/debian/prayer.logrotate (nonexistent) |
+++ trunk/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: trunk/debian/prayer-accountd.install |
=================================================================== |
--- trunk/debian/prayer-accountd.install (nonexistent) |
+++ trunk/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: trunk/debian |
=================================================================== |
--- trunk/debian (nonexistent) |
+++ trunk/debian (revision 180) |
/trunk/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: trunk |
=================================================================== |
--- trunk (nonexistent) |
+++ trunk (revision 180) |
/trunk |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: branches/stretch/debian/changelog |
=================================================================== |
--- branches/stretch/debian/changelog (nonexistent) |
+++ branches/stretch/debian/changelog (revision 180) |
@@ -0,0 +1,423 @@ |
+prayer (1.3.5-dfsg1-4) unstable; urgency=low |
+ |
+ * Switch from CDBS to dh and debhelper compat level 9. |
+ * openssl1.1.patch: Support OpenSSL 1.1 API changes (Closes: #828512). |
+ * Support for Entropy Gathering Daemon removed because it's really old |
+ and support for it is no longer enabled in OpenSSL by default. |
+ * Add missing lsb-base dependencies. |
+ * prayer.postrm: remove hard-coded path to deluser. |
+ * Bump Standards-Version to 3.9.8. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 29 Oct 2016 14:15:05 +0200 |
+ |
+prayer (1.3.5-dfsg1-3) unstable; urgency=low |
+ |
+ * disable_ssl3.patch (new): Disable SSL 3.0 due to CVE-2014-3566 |
+ (POODLE). |
+ * debian/Config: Disable ACCOUNTD_SSL_ENABLE since the SSL/TLS support |
+ in prayer-accountd and prayer-session is incomplete and never was |
+ functional. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 29 Oct 2014 22:32:18 +0100 |
+ |
+prayer (1.3.5-dfsg1-2) unstable; urgency=high |
+ |
+ * dlopen_templates.patch: Use MYCFLAGS (which is initialized to the |
+ value of CFLAGS from dpkg-buildflags in the Config file) instead of |
+ CFLAGS in templates/{src,cam,old}/Makefile (Closes: #715310, LP: |
+ #1201216). The --defsym options were lost when we let CDBS override |
+ CFLAGS in the previous upload. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 18 Jul 2013 22:47:08 +0200 |
+ |
+prayer (1.3.5-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ * Refresh patches. |
+ * Drop dummy package prayer-templates. |
+ * No longer override CDBS overriding CFLAGS, thereby allowing hardening |
+ flags to be properly propagated. I think it caused internal include |
+ flags to be lost, but since at least 1.3.2 that's no longer the case. |
+ * Bump Standards-Version to 3.9.4. |
+ * hurd.patch: Always define HAVE_SHADOW. The test for BSD4_4 seems |
+ bogus; it is defined on Hurd, but crypt(3) is available there. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 12 Jun 2013 00:09:05 +0200 |
+ |
+prayer (1.3.4-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop ipv6_v6only.patch; fixed upstream. |
+ * template_sdk.patch: templates/src/build_index.pl no longer need to |
+ be patched. |
+ * Bump Standards-Version to 3.9.2. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 27 Aug 2011 22:24:50 +0200 |
+ |
+prayer (1.3.3-dfsg1-4) unstable; urgency=low |
+ |
+ * Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
+ (Closes: #607559). |
+ * dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
+ servers/prayer_shared.h. |
+ * hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
+ setproctitle() on the Hurd. |
+ * Add basic manpage for prayer-accountd(8). |
+ * unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
+ filter handling. |
+ * Drop obsolete Build-Depends alternative libc-client2007b-dev. |
+ * Increase Debhelper compat level to 7. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
+ |
+prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
+ |
+ * Fix FTBFS with ld --as-needed. |
+ |
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
+ |
+prayer (1.3.3-dfsg1-3) unstable; urgency=high |
+ |
+ * ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
+ AF_INET6 sockets; since Prayer by default enumerates available address |
+ families and calls bind() once for each, conflicts will occur |
+ otherwise (Closes: #607261). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
+ |
+prayer (1.3.3-dfsg1-2) unstable; urgency=high |
+ |
+ * Convert (trivially, since CDBS with quilt was already used) to source |
+ format 3.0 (quilt). |
+ * no_db_version_check.patch: Remove unnecessary and incorrect check that |
+ not only the major and minor version numbers of the current libdb are |
+ the same as at compile time, but also that the patch number is equal |
+ or greater, which should not be a concern (Closes: #592119). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
+ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: branches/stretch/debian/compat |
=================================================================== |
--- branches/stretch/debian/compat (nonexistent) |
+++ branches/stretch/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+9 |
Index: branches/stretch/debian/control |
=================================================================== |
--- branches/stretch/debian/control (nonexistent) |
+++ branches/stretch/debian/control (revision 180) |
@@ -0,0 +1,96 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: debhelper (>= 9), libc-client2007e-dev | libc-client-dev, |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.8 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ lsb-base (>= 3.0-6), logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.0-6) |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: branches/stretch/debian/rules |
=================================================================== |
--- branches/stretch/debian/rules (nonexistent) |
+++ branches/stretch/debian/rules (revision 180) |
@@ -0,0 +1,19 @@ |
+#!/usr/bin/make -f |
+%: |
+ dh $@ -Smakefile |
+ |
+override_dh_auto_clean: |
+ $(MAKE) clean MAKE=$(MAKE) |
+ cp defaults/Config . |
+ |
+override_dh_auto_configure: |
+ cp debian/Config . |
+ |
+override_dh_auto_install: |
+ dh_auto_install -- BROOT=$(CURDIR)/debian/tmp |
+ |
+override_dh_installchangelogs: |
+ dh_installchangelogs docs/DONE |
+ |
+override_dh_installman: |
+ dh_installman --language=C |
/branches/stretch/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: branches/stretch/debian/prayer.postrm |
=================================================================== |
--- branches/stretch/debian/prayer.postrm (nonexistent) |
+++ branches/stretch/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x "`which deluser 2>/dev/null`" ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: branches/stretch/debian/patches/openssl1.1.patch |
=================================================================== |
--- branches/stretch/debian/patches/openssl1.1.patch (nonexistent) |
+++ branches/stretch/debian/patches/openssl1.1.patch (revision 180) |
@@ -0,0 +1,119 @@ |
+Bug-Debian: https://bugs.debian.org/828512 |
+Description: Support OpenSSL 1.1 API changes |
+ SSL_CTX_set_tmp_rsa_callback() (used for export-weakened keys) no longer does anything. |
+ |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -78,17 +78,6 @@ static void os_initialize_prng(struct ss |
+ int totbytes = 0; |
+ int bytes; |
+ |
+- if (ssl_config->egd_socket) { |
+- if ((bytes = RAND_egd(ssl_config->egd_socket)) == -1) { |
+- log_fatal("EGD Socket %s failed", ssl_config->egd_socket); |
+- } else { |
+- totbytes += bytes; |
+- log_debug("Snagged %d random bytes from EGD Socket %s", |
+- bytes, ssl_config->egd_socket); |
+- goto SEEDED; /* ditto */ |
+- } |
+- } |
+- |
+ /* Try the good-old default /dev/urandom, if available */ |
+ totbytes += add_rand_file("/dev/urandom"); |
+ if (prng_seeded(totbytes)) { |
+@@ -212,6 +201,8 @@ static int new_session_cb(SSL * ssl, SSL |
+ unsigned char *data = NULL, *asn; |
+ time_t expire; |
+ int ret = -1; |
++ unsigned int session_id_length; |
++ unsigned char *session_id = SSL_SESSION_get_id(sess, &session_id_length); |
+ |
+ if (!sess_dbopen) |
+ return 0; |
+@@ -241,8 +232,7 @@ static int new_session_cb(SSL * ssl, SSL |
+ if (data && len) { |
+ /* store the session in our database */ |
+ do { |
+- ret = DB->store(sessdb, (void *) sess->session_id, |
+- sess->session_id_length, |
++ ret = DB->store(sessdb, (void *) session_id, session_id_length, |
+ (void *) data, len + sizeof(time_t), NULL); |
+ } |
+ while (ret == MYDB_AGAIN); |
+@@ -255,8 +245,8 @@ static int new_session_cb(SSL * ssl, SSL |
+ if (ssl_verbose_logging) { |
+ int i; |
+ char idstr[SSL_MAX_SSL_SESSION_ID_LENGTH * 2 + 1]; |
+- for (i = 0; i < sess->session_id_length; i++) |
+- sprintf(idstr + i * 2, "%02X", sess->session_id[i]); |
++ for (i = 0; i < session_id_length; i++) |
++ sprintf(idstr + i * 2, "%02X", session_id[i]); |
+ |
+ log_debug("new SSL session: id=%s, expire=%s, status=%s", |
+ idstr, ctime(&expire), ret ? "failed" : "ok"); |
+@@ -298,7 +288,10 @@ static void remove_session(unsigned char |
+ */ |
+ static void remove_session_cb(SSL_CTX * ctx, SSL_SESSION * sess) |
+ { |
+- remove_session(sess->session_id, sess->session_id_length); |
++ unsigned int session_id_length; |
++ unsigned char *session_id = SSL_SESSION_get_id(sess, &session_id_length); |
++ |
++ remove_session(session_id, session_id_length); |
+ } |
+ |
+ /* |
+@@ -398,9 +391,6 @@ void ssl_context_init(struct ssl_config |
+ /* SSLv3 now also obsolete */ |
+ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv3); |
+ |
+- if (SSL_CTX_need_tmp_RSA(client_ctx)) |
+- SSL_CTX_set_tmp_rsa_callback(client_ctx, rsa_callback); |
+- |
+ /* Don't bother with session cache for client side: not enough |
+ * connections to worry about caching */ |
+ SSL_CTX_set_session_cache_mode(client_ctx, SSL_SESS_CACHE_OFF); |
+@@ -509,10 +499,6 @@ void ssl_context_init(struct ssl_config |
+ log_fatal("SSL_CTX_set_options(SSL_OP_CIPHER_SERVER_PREFERENCE)" |
+ "failed"); |
+ |
+- /* Set up RSA temporary key callback routine */ |
+- if (SSL_CTX_need_tmp_RSA(server_ctx)) |
+- SSL_CTX_set_tmp_rsa_callback(server_ctx, rsa_callback); |
+- |
+ /* Initialise RSA temporary key (will take a couple of secs to complete) */ |
+ ssl_init_rsakey(ssl_config); |
+ } |
+@@ -621,7 +607,7 @@ void *ssl_start_server(int fd, unsigned |
+ else |
+ log_debug("SSL: No client certificate"); |
+ |
+- switch (ssl->session->ssl_version) { |
++ switch (SSL_version(ssl)) { |
+ case SSL2_VERSION: |
+ ver = "SSLv2"; |
+ break; |
+@@ -680,7 +666,7 @@ void *ssl_start_client(int fd, unsigned |
+ |
+ /* Verify certificate here? Need local context to play with? */ |
+ |
+- switch (((SSL *) ssl)->session->ssl_version) { |
++ switch (SSL_version(ssl)) { |
+ case SSL2_VERSION: |
+ ver = "SSLv2"; |
+ break; |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -455,9 +455,9 @@ static struct { |
+ "draft_att_total_max", config_number, OFFSET(draft_att_total_max)} |
+ , { |
+ "dualuse", config_bool, OFFSET(dualuse)} |
+- , { |
++ , /*{ |
+ "egd_socket", config_path, OFFSET(egd_socket)} |
+- , { |
++ , */{ |
+ "expunge_on_exit", config_bool, OFFSET(expunge_on_exit)} |
+ , { |
+ "fatal_dump_core", config_bool, OFFSET(fatal_dump_core)} |
Index: branches/stretch/debian/patches/series |
=================================================================== |
--- branches/stretch/debian/patches/series (nonexistent) |
+++ branches/stretch/debian/patches/series (revision 180) |
@@ -0,0 +1,10 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+unbrand_accountd.patch |
+template_sdk.patch |
+no_db_version_check.patch |
+hurd.patch |
+disable_ssl3.patch |
+openssl1.1.patch |
Index: branches/stretch/debian/patches/disable_ssl3.patch |
=================================================================== |
--- branches/stretch/debian/patches/disable_ssl3.patch (nonexistent) |
+++ branches/stretch/debian/patches/disable_ssl3.patch (revision 180) |
@@ -0,0 +1,58 @@ |
+Description: Disable SSL 3.0 on client as well as server side |
+Author: Magnus Holmgren <holmgren@debian.org> |
+ |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -387,12 +387,16 @@ void ssl_context_init(struct ssl_config |
+ SSL_load_error_strings(); |
+ |
+ /* Set up client context: only used by accountd */ |
+- client_ctx = SSL_CTX_new(SSLv3_client_method()); |
++ client_ctx = SSL_CTX_new(SSLv23_client_method()); |
+ SSL_CTX_set_session_cache_mode(client_ctx, SSL_SESS_CACHE_BOTH); |
+ SSL_CTX_set_info_callback(client_ctx, info_callback); |
+ #ifdef SSL_MODE_AUTO_RETRY |
+ SSL_CTX_set_mode(client_ctx, SSL_MODE_AUTO_RETRY); |
+ #endif |
++ /* SSLv2 now obsolete */ |
++ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv2); |
++ /* SSLv3 now also obsolete */ |
++ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv3); |
+ |
+ if (SSL_CTX_need_tmp_RSA(client_ctx)) |
+ SSL_CTX_set_tmp_rsa_callback(client_ctx, rsa_callback); |
+@@ -420,6 +424,8 @@ void ssl_context_init(struct ssl_config |
+ |
+ /* SSLv2 now obsolete */ |
+ SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv2); |
++ /* SSLv3 now also obsolete */ |
++ SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv3); |
+ |
+ /* Start off with the session cache disabled */ |
+ SSL_CTX_set_session_cache_mode(server_ctx, SSL_SESS_CACHE_OFF); |
+@@ -625,6 +631,12 @@ void *ssl_start_server(int fd, unsigned |
+ case TLS1_VERSION: |
+ ver = "TLSv1"; |
+ break; |
++ case TLS1_1_VERSION: |
++ ver = "TLSv1.1"; |
++ break; |
++ case TLS1_2_VERSION: |
++ ver = "TLSv1.2"; |
++ break; |
+ default: |
+ ver = "UNKNOWN"; |
+ } |
+@@ -678,6 +690,12 @@ void *ssl_start_client(int fd, unsigned |
+ case TLS1_VERSION: |
+ ver = "TLSv1"; |
+ break; |
++ case TLS1_1_VERSION: |
++ ver = "TLSv1.1"; |
++ break; |
++ case TLS1_2_VERSION: |
++ ver = "TLSv1.2"; |
++ break; |
+ default: |
+ ver = "UNKNOWN"; |
+ } |
Index: branches/stretch/debian/patches/dlopen_templates.patch |
=================================================================== |
--- branches/stretch/debian/patches/dlopen_templates.patch (nonexistent) |
+++ branches/stretch/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,241 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,8 +115,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,8 +114,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+ endif |
+ endif |
+ |
+-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
+-SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) |
++PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
++SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) -ldl |
+ |
+ # Add SSL if c-client needs SSL |
+ ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
+@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -146,6 +146,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
+--- a/servers/prayer_shared.h |
++++ b/servers/prayer_shared.h |
+@@ -44,3 +44,4 @@ extern int errno; /* just |
+ #include "mymutex.h" |
+ #include "log.h" |
+ #include "utf8.h" |
++#include "dlopen_templates.h" |
Index: branches/stretch/debian/patches/hurd.patch |
=================================================================== |
--- branches/stretch/debian/patches/hurd.patch (nonexistent) |
+++ branches/stretch/debian/patches/hurd.patch (revision 180) |
@@ -0,0 +1,27 @@ |
+--- a/lib/setproctitle.h |
++++ b/lib/setproctitle.h |
+@@ -8,7 +8,9 @@ |
+ |
+ #include <sys/param.h> |
+ |
+-#ifdef __linux__ |
++#if defined(__GNU__) |
++# define SPT_TYPE SPT_CHANGEARGV |
++#elif defined(__linux__) |
+ # define SPT_TYPE SPT_REUSEARGV |
+ # define SPT_PADCHAR '\0' /* pad process title with nulls */ |
+ #elif (defined(BSD) && BSD >= 199306) |
+--- a/accountd/authenticate.c |
++++ b/accountd/authenticate.c |
+@@ -8,11 +8,7 @@ |
+ |
+ #include "accountd.h" |
+ |
+-#ifdef BSD4_4 |
+-#define HAVE_SHADOW 0 |
+-#else |
+ #define HAVE_SHADOW 1 |
+-#endif |
+ |
+ #include <pwd.h> |
+ #if HAVE_SHADOW |
Index: branches/stretch/debian/patches/makefile_install_config.patch |
=================================================================== |
--- branches/stretch/debian/patches/makefile_install_config.patch (nonexistent) |
+++ branches/stretch/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -374,13 +375,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -409,10 +412,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -420,7 +424,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -434,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -452,7 +456,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -601,14 +605,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: branches/stretch/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- branches/stretch/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ branches/stretch/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -455,7 +455,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: branches/stretch/debian/patches/sighandling.patch |
=================================================================== |
--- branches/stretch/debian/patches/sighandling.patch (nonexistent) |
+++ branches/stretch/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,67 @@ |
+--- a/lib/os.h |
++++ b/lib/os.h |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+--- a/servers/session_server.c |
++++ b/servers/session_server.c |
+@@ -286,6 +286,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -348,6 +349,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+--- a/shared/log.c |
++++ b/shared/log.c |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+--- a/shared/log.h |
++++ b/shared/log.h |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: branches/stretch/debian/patches/template_sdk.patch |
=================================================================== |
--- branches/stretch/debian/patches/template_sdk.patch (nonexistent) |
+++ branches/stretch/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,195 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: branches/stretch/debian/patches/unbrand_accountd.patch |
=================================================================== |
--- branches/stretch/debian/patches/unbrand_accountd.patch (nonexistent) |
+++ branches/stretch/debian/patches/unbrand_accountd.patch (revision 180) |
@@ -0,0 +1,32 @@ |
+--- a/accountd/filter.c |
++++ b/accountd/filter.c |
+@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
+ |
+ fprintf(file, "# MSshell :: vacation\n"); |
+ fprintf(file, "if personal\n"); |
+- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
+ |
+ if (!filter_print_aliases(config, file)) |
+ return (NIL); |
+@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
+ fprintf(file, ("This message is automatically generated " |
+ "in response to your mail\\n\\" "\n")); |
+ fprintf(file, ("message (perhaps re-directed) to " |
+- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
++ "$local_part@$local_domain.\\n\\n\"\n")); |
+ fprintf(file, " file ${home}/vacation.message\n"); |
+ fprintf(file, " log ${home}/vacation.log\n"); |
+ fprintf(file, " once ${home}/vacation.once\n"); |
+@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
+ threshold = atoi(filter->threshold); |
+ |
+ /* XXX (threshold == 0) okay? */ |
+- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
++ fprintf(file, "if $h_X-Spam-Level contains \""); |
+ |
+ for (i=0 ; i < threshold; i++) |
+- fputc('s', file); |
++ fputc('*', file); |
+ |
+ fprintf(file, "\" then\n"); |
+ fprintf(file, " save mail/spam\n"); |
Index: branches/stretch/debian/patches/no_db_version_check.patch |
=================================================================== |
--- branches/stretch/debian/patches/no_db_version_check.patch (nonexistent) |
+++ branches/stretch/debian/patches/no_db_version_check.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
+ |
+ static int init(const char *dbdir, int myflags) |
+ { |
+- int maj, min, patch; |
+- char *vstr; |
+ int r; |
+ |
+ if (dbinit++) return 0; |
+ |
+- vstr = db_version(&maj, &min, &patch); |
+- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
+- DB_VERSION_PATCH > patch) { |
+- log_fatal("incorrect version of Berkeley db: " |
+- "compiled against %d.%d.%d, linked against %d.%d.%d", |
+- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
+- maj, min, patch); |
+- } |
+- |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
Index: branches/stretch/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- branches/stretch/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ branches/stretch/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: branches/stretch/debian/Config |
=================================================================== |
--- branches/stretch/debian/Config (nonexistent) |
+++ branches/stretch/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = false # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: branches/stretch/debian/watch |
=================================================================== |
--- branches/stretch/debian/watch (nonexistent) |
+++ branches/stretch/debian/watch (revision 180) |
@@ -0,0 +1,4 @@ |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: branches/stretch/debian/copyright |
=================================================================== |
--- branches/stretch/debian/copyright (nonexistent) |
+++ branches/stretch/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2011 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: branches/stretch/debian/prayer-accountd.8 |
=================================================================== |
--- branches/stretch/debian/prayer-accountd.8 (nonexistent) |
+++ branches/stretch/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: branches/stretch/debian/prayer-accountd.manpages |
=================================================================== |
--- branches/stretch/debian/prayer-accountd.manpages (nonexistent) |
+++ branches/stretch/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: branches/stretch/debian/source/format |
=================================================================== |
--- branches/stretch/debian/source/format (nonexistent) |
+++ branches/stretch/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: branches/stretch/debian/prayer-accountd.init |
=================================================================== |
--- branches/stretch/debian/prayer-accountd.init (nonexistent) |
+++ branches/stretch/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: branches/stretch/debian/prayer.init |
=================================================================== |
--- branches/stretch/debian/prayer.init (nonexistent) |
+++ branches/stretch/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: branches/stretch/debian/prayer-templates-dev.install |
=================================================================== |
--- branches/stretch/debian/prayer-templates-dev.install (nonexistent) |
+++ branches/stretch/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: branches/stretch/debian/prayer-templates-src.install |
=================================================================== |
--- branches/stretch/debian/prayer-templates-src.install (nonexistent) |
+++ branches/stretch/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: branches/stretch/debian/prayer-templates-src.docs |
=================================================================== |
--- branches/stretch/debian/prayer-templates-src.docs (nonexistent) |
+++ branches/stretch/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: branches/stretch/debian/prayer.docs |
=================================================================== |
--- branches/stretch/debian/prayer.docs (nonexistent) |
+++ branches/stretch/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: branches/stretch/debian/prayer.NEWS |
=================================================================== |
--- branches/stretch/debian/prayer.NEWS (nonexistent) |
+++ branches/stretch/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: branches/stretch/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- branches/stretch/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ branches/stretch/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: branches/stretch/debian/prayer-templates-dev.docs |
=================================================================== |
--- branches/stretch/debian/prayer-templates-dev.docs (nonexistent) |
+++ branches/stretch/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: branches/stretch/debian/prayer.install |
=================================================================== |
--- branches/stretch/debian/prayer.install (nonexistent) |
+++ branches/stretch/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: branches/stretch/debian/prayer.dirs |
=================================================================== |
--- branches/stretch/debian/prayer.dirs (nonexistent) |
+++ branches/stretch/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: branches/stretch/debian/prayer.links |
=================================================================== |
--- branches/stretch/debian/prayer.links (nonexistent) |
+++ branches/stretch/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: branches/stretch/debian/README.Debian |
=================================================================== |
--- branches/stretch/debian/README.Debian (nonexistent) |
+++ branches/stretch/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: branches/stretch/debian/prayer.manpages |
=================================================================== |
--- branches/stretch/debian/prayer.manpages (nonexistent) |
+++ branches/stretch/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: branches/stretch/debian/prayer.postinst |
=================================================================== |
--- branches/stretch/debian/prayer.postinst (nonexistent) |
+++ branches/stretch/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: branches/stretch/debian/prayer.default |
=================================================================== |
--- branches/stretch/debian/prayer.default (nonexistent) |
+++ branches/stretch/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: branches/stretch/debian/prayer.examples |
=================================================================== |
--- branches/stretch/debian/prayer.examples (nonexistent) |
+++ branches/stretch/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: branches/stretch/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- branches/stretch/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ branches/stretch/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: branches/stretch/debian/prayer.lintian-overrides |
=================================================================== |
--- branches/stretch/debian/prayer.lintian-overrides (nonexistent) |
+++ branches/stretch/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: branches/stretch/debian/prayer-accountd.docs |
=================================================================== |
--- branches/stretch/debian/prayer-accountd.docs (nonexistent) |
+++ branches/stretch/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: branches/stretch/debian/prayer.logrotate |
=================================================================== |
--- branches/stretch/debian/prayer.logrotate (nonexistent) |
+++ branches/stretch/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: branches/stretch/debian/prayer-accountd.install |
=================================================================== |
--- branches/stretch/debian/prayer-accountd.install (nonexistent) |
+++ branches/stretch/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: branches/stretch/debian |
=================================================================== |
--- branches/stretch/debian (nonexistent) |
+++ branches/stretch/debian (revision 180) |
/branches/stretch/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: branches/stretch |
=================================================================== |
--- branches/stretch (nonexistent) |
+++ branches/stretch (revision 180) |
/branches/stretch |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: branches/lenny/debian/changelog |
=================================================================== |
--- branches/lenny/debian/changelog (nonexistent) |
+++ branches/lenny/debian/changelog (revision 180) |
@@ -0,0 +1,192 @@ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: branches/lenny/debian/patches/usernames_with_at.patch |
=================================================================== |
--- branches/lenny/debian/patches/usernames_with_at.patch (nonexistent) |
+++ branches/lenny/debian/patches/usernames_with_at.patch (revision 180) |
@@ -0,0 +1,53 @@ |
+--- a/session/draft.c |
++++ b/session/draft.c |
+@@ -1399,10 +1399,12 @@ char *draft_make_msg(struct draft *draft |
+ if (draft->from_address && draft->from_address[0]) { |
+ from_address = draft->from_address; |
+ use_sender = T; |
+- } else |
+- from_address |
+- = |
++ } else if (strchr(session->username, '@')) { |
++ from_address = pool_strdup(pool, session->username); |
++ } else { |
++ from_address = |
+ pool_printf(pool, "%s@%s", session->username, default_domain); |
++ } |
+ |
+ if (draft->from_personal && draft->from_personal[0]) { |
+ from_personal = draft->from_personal; |
+@@ -1431,9 +1433,14 @@ char *draft_make_msg(struct draft *draft |
+ NIL); |
+ bputs(mb, "" CRLF); |
+ |
+- if (use_sender) |
+- bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
+- default_domain); |
++ if (use_sender) { |
++ if (strchr(session->username, '@')) { |
++ bprintf(mb, "Sender: %s" CRLF, session->username); |
++ } else { |
++ bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
++ default_domain); |
++ } |
++ } |
+ |
+ if (!(draft_make_abook_address(session, mb, "To", draft->to) && |
+ draft_make_abook_address(session, mb, "Cc", draft->cc) && |
+--- a/cmd/cmd_prefs.c |
++++ b/cmd/cmd_prefs.c |
+@@ -474,9 +474,12 @@ generate_compose1_form(struct session *s |
+ template_vals_string(tvals, "from_address", prefs->from_address); |
+ |
+ if (!(prefs->from_address && prefs->from_address[0])) { |
+- char *s = pool_printf(request->pool, "%s@%s", |
+- session->username, prefs->default_domain); |
++ char *s = session->username; |
+ |
++ if (!strchr(session->username, '@')) { |
++ s = pool_printf(request->pool, "%s@%s", |
++ session->username, prefs->default_domain); |
++ } |
+ template_vals_string(tvals, "default_from_address", s); |
+ } |
+ |
Index: branches/lenny/debian/patches/series |
=================================================================== |
--- branches/lenny/debian/patches/series (nonexistent) |
+++ branches/lenny/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+repair_ssl_session_db_on_version_mismatch.patch |
+makefile_install_config.patch |
+remove_old_db_logfiles_from_prayer-ssl-prune.patch |
+welcome_is_template.patch |
+templates_fallback_to_compiled.patch |
+template_find_bug.patch |
+unlimit_login_username.patch |
+usernames_with_at.patch |
Index: branches/lenny/debian/patches/makefile_install_config.patch |
=================================================================== |
--- branches/lenny/debian/patches/makefile_install_config.patch (nonexistent) |
+++ branches/lenny/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,180 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,21 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -271,11 +271,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -283,26 +283,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -387,13 +375,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -431,10 +419,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++log_dir = "/var/log/prayer" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -442,7 +427,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -453,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -617,14 +602,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2144,7 +2144,6 @@ BOOL config_check(struct config * config |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: branches/lenny/debian/patches/unlimit_login_username.patch |
=================================================================== |
--- branches/lenny/debian/patches/unlimit_login_username.patch (nonexistent) |
+++ branches/lenny/debian/patches/unlimit_login_username.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/servers/prayer_login.c |
++++ b/servers/prayer_login.c |
+@@ -116,7 +116,7 @@ prayer_login_generate(struct prayer *pra |
+ |
+ bputs(b, " <td>"); |
+ bprintf(b, |
+- "<input name=\"username\" value=\"%s\" size=\"8\" maxlength=\"8\" />", |
++ "<input name=\"username\" value=\"%s\" size=\"16\" />", |
+ user ? user : ""); |
+ bputs(b, "</td>" CRLF); |
+ bputs(b, "</tr>" CRLF); |
Index: branches/lenny/debian/patches/welcome_is_template.patch |
=================================================================== |
--- branches/lenny/debian/patches/welcome_is_template.patch (nonexistent) |
+++ branches/lenny/debian/patches/welcome_is_template.patch (revision 180) |
@@ -0,0 +1,41 @@ |
+--- a/cmd/cmd_welcome.c |
++++ b/cmd/cmd_welcome.c |
+@@ -74,12 +74,7 @@ void cmd_welcome(struct session *session |
+ unsigned long msgno; |
+ |
+ if ((request->method != POST) && (prefs->use_welcome)) { |
+- if (config->welcome_path && |
+- (string = read_welcome(request->pool, config->welcome_path))) |
+- generate_welcome_page(session, string); |
+- else |
+- session_redirect(session, request, "list"); |
+- |
++ generate_welcome_page(session, NULL); |
+ return; |
+ } |
+ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -402,12 +402,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Welcome text displayed when user first logs in |
+-welcome_path = "$prefix/etc/welcome.html" |
+- |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2139,7 +2139,6 @@ BOOL config_check(struct config * config |
+ struct config_http_port *chp; |
+ char hostname[MAX_ADDRESS+1], domainname[MAX_ADDRESS+1]; |
+ |
+- TEST_STRING(config->help_dir, "help_dir"); |
+ TEST_STRING(config->icon_dir, "icon_dir"); |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
Index: branches/lenny/debian/patches/template_find_bug.patch |
=================================================================== |
--- branches/lenny/debian/patches/template_find_bug.patch (nonexistent) |
+++ branches/lenny/debian/patches/template_find_bug.patch (revision 180) |
@@ -0,0 +1,28 @@ |
+--- a/lib/template.c |
++++ b/lib/template.c |
+@@ -199,10 +199,11 @@ template_find(char *set, char *name, str |
+ unsigned long first, last, middle; |
+ int rc; |
+ |
+- while (strcmp(tmi->name, set) != 0) |
++ while (strcmp(tmi->name, set) != 0) { |
+ tmi++; |
+- if (!tmi->name) |
+- return(NIL); |
++ if (!tmi->name) |
++ return(NIL); |
++ } |
+ |
+ tm = tmi->template_map; |
+ count = *(tmi->count); |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -168,7 +168,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "html4"; |
++ config->template_set = "xhtml_strict"; |
+ config->template_use_compiled = T; |
+ |
+ config->prayer_user = NIL; |
Index: branches/lenny/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch |
=================================================================== |
--- branches/lenny/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (nonexistent) |
+++ branches/lenny/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (revision 180) |
@@ -0,0 +1,34 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -289,9 +289,6 @@ static int myarchive(const char **fnames |
+ const char **fname; |
+ char dstname[1024], *dp; |
+ |
+- strcpy(dstname, dirname); |
+- dp = dstname + strlen(dstname); |
+- |
+ /* Get the list of log files to remove. */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS, NULL); |
+ if (r) { |
+@@ -312,6 +309,11 @@ static int myarchive(const char **fnames |
+ free (begin); |
+ } |
+ |
++ if (!dirname) return 0; |
++ |
++ strcpy(dstname, dirname); |
++ dp = dstname + strlen(dstname); |
++ |
+ /* Get the list of database files to archive. */ |
+ /* XXX Should we do this, or just use the list given to us? */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS | DB_ARCH_DATA, NULL); |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -837,6 +837,7 @@ int ssl_prune_sessions(struct ssl_config |
+ log_debug("tls_prune: purged %d out of %d entries", |
+ prock.deletions, prock.count); |
+ |
++ DB->archive(NULL, NULL); |
+ DB->done(); |
+ |
+ return (0); |
Index: branches/lenny/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- branches/lenny/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ branches/lenny/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: branches/lenny/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- branches/lenny/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ branches/lenny/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT |
++#ifdef DB_VERSION_MISMATCH |
++ && r != DB_VERSION_MISMATCH |
++#endif |
++ ) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: branches/lenny/debian/patches/sighandling.patch |
=================================================================== |
--- branches/lenny/debian/patches/sighandling.patch (nonexistent) |
+++ branches/lenny/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: branches/lenny/debian/control |
=================================================================== |
--- branches/lenny/debian/control (nonexistent) |
+++ branches/lenny/debian/control (revision 180) |
@@ -0,0 +1,66 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, prayer-templates, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Recommends: prayer (>= 1.2.0) |
+Replaces: prayer (<< 1.2.2.1-6) |
+Description: templates for customizing Prayer Webmail |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are compiled into the session daemon, |
+ prayer-session, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: branches/lenny/debian/prayer-session.8 |
=================================================================== |
--- branches/lenny/debian/prayer-session.8 (nonexistent) |
+++ branches/lenny/debian/prayer-session.8 (revision 180) |
@@ -0,0 +1,96 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SESSION 8 |
+.Sh NAME |
+.Nm prayer-session |
+.Nd Prayer user session backend daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground |
+.Sh DESCRIPTION |
+.Nm |
+is the backend process in the Prayer Webmail system. A fresh |
+.Nm |
+backend is forked off whenever a user logs in. |
+.Pp |
+This process contains all of the permanent state associated with that login |
+session including one or more connections to a IMAP server and possibly |
+connections to accountd servers. prayer-session communicates with the user |
+using HTML over HTTP connections via the |
+.Xr prayer 8 proxy. Each login has a session ID that the front end processes |
+use to find the correct backend. |
+.Pp |
+Backend server processes move into a dormant state after a certain period |
+of inactivity, shutting down IMAP and accountd connections which can be |
+easily resuscitated when the session wakes up. After a long period of |
+inactivity, typically several hours the session process shuts down. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width Ds |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default |
+.Pa /etc/prayer/prayer.cf . |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name |
+to |
+.Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width Ds |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. The |
+.Fl -config-file |
+option takes precedence over this variable. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+.Sh FILES |
+.Bl -tag -width Ds |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It /usr/share/prayer/templates/ |
+Location of standard templates (in the separate |
+.Em prayer-templates |
+package). The templates are compiled into |
+.Nm |
+for performance reasons, so the template files are actually not |
+used, but they are available for customization. |
+.It /etc/prayer/templates/ |
+The Debian pre-configured |
+.Cd template_path . |
+As a Debian extension, |
+.Nm |
+looks here before falling back to the compiled template if |
+.Cd template_use_compiled No is Li false . |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: branches/lenny/debian/prayer-templates.install |
=================================================================== |
--- branches/lenny/debian/prayer-templates.install (nonexistent) |
+++ branches/lenny/debian/prayer-templates.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: branches/lenny/debian/prayer.install |
=================================================================== |
--- branches/lenny/debian/prayer.install (nonexistent) |
+++ branches/lenny/debian/prayer.install (revision 180) |
@@ -0,0 +1,6 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+etc/prayer/prayer.cf |
Index: branches/lenny/debian/prayer.init |
=================================================================== |
--- branches/lenny/debian/prayer.init (nonexistent) |
+++ branches/lenny/debian/prayer.init (revision 180) |
@@ -0,0 +1,90 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: branches/lenny/debian/rules |
=================================================================== |
--- branches/lenny/debian/rules (nonexistent) |
+++ branches/lenny/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/branches/lenny/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: branches/lenny/debian/prayer.manpages |
=================================================================== |
--- branches/lenny/debian/prayer.manpages (nonexistent) |
+++ branches/lenny/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+debian/prayer.8 |
+debian/prayer-session.8 |
+debian/prayer.cf.5 |
+debian/prayer-ssl-prune.8 |
Index: branches/lenny/debian/prayer.cf.5 |
=================================================================== |
--- branches/lenny/debian/prayer.cf.5 (nonexistent) |
+++ branches/lenny/debian/prayer.cf.5 (revision 180) |
@@ -0,0 +1,1015 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER.CF 5 |
+.Sh NAME |
+.Nm prayer.cf |
+.Nd main Prayer configuration file |
+. |
+.Sh DESCRIPTION |
+. |
+.Pa prayer.cf |
+is the configuration file of |
+.Xr prayer 8 |
+and |
+.Xr prayer-session 8 . |
+. |
+.Sh SYNTAX |
+For the most part, prayer.cf consists of |
+.Ar option No = Ar value |
+pairs, but some configuration items are more complex. All values may |
+be enclosed in double quotes, which are stripped. Quotes must be used |
+if a value contains a |
+.Ql # |
+character. Otherwise, everything following it is treated as a comment. |
+Any line can be folded using a |
+.Ql \(rs |
+character at the end of the line; any linear white space at the beginning |
+of the next line is removed. |
+.Pp |
+Simple options can be of the following types: |
+.Bl -tag |
+. |
+.It Vt string |
+No particular restrictions. |
+.It Vt path |
+A file or directory name. The configuration parser expands occurences of a few macros |
+in settings of this type. See |
+.Cd prefix |
+.No and Cd var_prefix |
+below. |
+.It Vt boolean |
+The following forms are interpreted as |
+.Sy true : |
+.Ql true , |
+.Ql t , |
+and |
+.Ql 1 . |
+The following forms are interpreted as |
+.Sy false : |
+.Ql false , |
+.Ql nil , |
+.Ql 0 . |
+Capitalisation does not matter. |
+. |
+.It Vt number |
+An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
+.Ql K , |
+causing the number to be multiplied by 1024, or |
+.Ql M |
+multiplying it by 1024 \(pc 1024. |
+. |
+.It Vt time |
+An integer number (sequence of digits 0-9) of seconds, optionally immediately |
+followed by a single case-insignificant letter |
+.Ql s , |
+which has no effect, |
+.Ql m , |
+causing the number to be multiplied by 60, |
+.Ql h , |
+multiplying it by 60 \(pc 60, or |
+.Ql d , |
+for a multiple of 24 \(pc 60 \(pc 60. |
+.It Vt perm |
+A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
+.El |
+. |
+.Sh OPTIONS |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
+The values of these options can be referred to as |
+.Li $prefix |
+(or |
+.Li ${prefix} ) , |
+and |
+.Li $var_prefix |
+(or |
+.Li ${var_prefix} ) , |
+respectively, in settings of type |
+.Vt path |
+in the rest of the file. |
+.Pp |
+.Sy Default : No none. Need to be set only if referenced later. |
+. |
+.It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
+User name or ID to |
+.Xr setuid 2 |
+to if started as root. Either, but not both, must be set and must not specify |
+.Li uid 0 . |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
+Group name or ID to |
+.Xr setgid 2 |
+to if we start off as root. In addition, prayer calls |
+.Xr initgroups 3 |
+if |
+.Cd prayer_user |
+is set. |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_background Vt ( boolean ) |
+Run prayer as background process. If true, prayer will return as soon |
+as valid configuration is found. |
+.Sy Default : Li true |
+. |
+.It Cd file_perms Vt ( perm ) |
+Create mode for new files. |
+.Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
+. |
+.It Cd directory_perms Vt ( perm ) |
+Create mode for new directories. |
+.Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
+. |
+.It Cd check_directory_perms Vt ( boolean ) |
+Check existing directories under |
+.Li ${var_prefix} ? |
+.El |
+. |
+.Ss Mail server settings |
+. |
+.Bl -tag -width Ds |
+.It Cd imapd_server Vt ( string ) |
+Specifies the default IMAP server(s) using libc-client syntax: |
+.Bd -literal -offset indent |
+.Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
+.Sm on |
+.Ed |
+.Pp |
+Multiple server specifications can be listed, separated by commas. Common flags are: |
+.Bl -tag -compact |
+.It Li /ssl |
+Use SSL-on-connect (on port 993 by default). |
+.It Li /tls |
+Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
+session. Recommended if the server is remote, since otherwise a |
+downgrade attack is possible. |
+.It Li /notls |
+Don't issue STARTTLS even if the server supports it. Recommended if |
+the server is |
+.Li localhost . |
+.It Li /novalidate-cert |
+Don't check the integrity of the server certificate. |
+.El |
+For the full list of flags, see naming.txt.gz in the current |
+libc-client package. |
+. |
+.It Cd imapd_user_map Vt ( path ) |
+CDB lookup map overriding default imapd_server location. For information on CDB, see |
+.Bl -bullet -compact |
+.It |
+http://cr.yp.to/cdb.html |
+.It |
+http://en.wikipedia.org/wiki/Constant_Data_Base |
+.El |
+. |
+.It Cd prefs_folder_name Vt ( string ) |
+Name of Prayer user preferences folder on IMAP server. |
+. |
+.It Cd use_namespace ( Vt boolean ) |
+Use IMAP NAMESPACE command to find |
+.Cd personal_hierarchy No and Cd hiersep . |
+.Sy Default : Li true . |
+. |
+.It Cd personal_hierarchy ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """""" . |
+. |
+.It Cd hiersep ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """/""" . |
+. |
+.It Cd dualuse ( Vt boolean ) |
+Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
+mail and inferior mailboxes). Things will mostly work if dualuse set to |
+.Li false No on a server which supports it, but people will be |
+unable to create children of newly created mailboxes without |
+refreshing the view. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd sieved_server Vt ( string ) |
+Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
+.Cd imapd_server , |
+except the only recognised flag is |
+.Li /ssl . |
+. |
+.It Cd sieved_user_map Vt ( path ) |
+Can be used to provide individualised imapd_server settings in the form of a CDB file. |
+. |
+.It Cd sieved_timeout Vt ( time ) |
+Default timsieved timeout is 10 minutes |
+.El |
+. |
+.Ss Mail domain configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd local_domain |
+Define a valid local domain, and optionally the valid local parts in that domain. |
+This is a special directive that can appear multiple times and does not use an equals sign: |
+.Bd -unfilled |
+.Cd local_domain Ar domain Op Ar map |
+.Ed |
+.Pp |
+.No Without Ar map , Cd local_domain |
+simply defines a domain which will appear on the list visible to user |
+preferences. With |
+.Ar map , |
+it also defines a list a CDB map file which defines valid entries in |
+that domain; used for personal name expansion and checking for valid |
+addresses: The keys are the valid local parts and the values are the |
+corresponding full names of the users. |
+.Pp |
+.Sy Default : No A single entry which corresponds to |
+.Cd default_domain . |
+. |
+.It Cd return_path_domain Vt ( string ) |
+Domain used in the return address given to |
+.Xr sendmail 8 . |
+.Sy Default : No the default domain. |
+. |
+.It Cd filter_domain_pattern Vt ( string ) |
+A filter pattern which is equivalent to, or at least approximates the |
+list of local domains. |
+.Sy Default : No the default domain. |
+. |
+.It Cd hostname Vt ( string ) |
+Hostname is the canonical name for this particular system, used in |
+session and icon URLs which are generated by Prayer. This is derived |
+automatically using |
+.Xr gethostname 2 |
+.No and Xr gethostbyname 3 |
+if no value is provided. However, there are situations, especially |
+involving SSL certificates, where the default hostname may not be |
+appropriate. The special value |
+.Ql __UNDEFINED__ |
+here means the startup script or command line must provide a hostname |
+using a |
+.Fl -config-option |
+override or via the environment variable |
+.Ev PRAYER_HOSTNAME . |
+This is just a safeguard for systems which use DNS round robining to |
+distribute load across a number of machines. |
+. |
+.It Cd hostname_service Vt ( string ) |
+Host name common for all Prayer installations part of the same webmail |
+service. (Only) useful for large installations using DNS round robin |
+for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
+webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
+The user is redirected to this hostname after logging out, and HTTP |
+requests are sanity checked against it in addition to the canonical |
+hostname. |
+.Pp |
+.Sy Default : No none |
+. |
+.It Cd fix_from_address ( Vt boolean ) |
+suppresses the From address option from the Preferences and Roles |
+screens. |
+.Sy Default : Li false . |
+. |
+.It Cd lookup_rpasswd ( Vt path ) |
+Path to a CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Sy Note : No Keys must be Em lowercase ; |
+Prayer converts search strings to lowercase in order to provide |
+case-insensitive lookup. |
+. |
+.It Cd lookup_rusername ( Vt path ) |
+Path to a second CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Pp |
+If the user enters a valid and existing username according to |
+.Xr getpwnam 3 , Prayer does not search these first two CDB files, |
+but skips directly to the second stage of looking up user information. |
+. |
+.It Cd lookup_username ( Vt path ) |
+Path to a CDB file that maps usernames to records consisting of the user's |
+.Dq registered name |
+and his/her affiliation (department), separated by a vertical bar |
+.Ql ( "|" ) . |
+Additionally, if a second vertical bar follows, the account is |
+regarded as cancelled. |
+.Pp |
+When presenting the search results, the usernames found are combined with the |
+.Cd default_domain |
+to form email addresses. It is not possible at this time to let users |
+search for addresses in more than one domain using this facility. |
+. |
+.It Cd lookup_fullname ( Vt path ) |
+Path to a CDB file that maps usernames to |
+.Dq display names , |
+possibly provided by the users themselves in some way. The display name |
+of a user is used together with the email address in recipient fields |
+.Pp |
+Note that all four lookup options must be set to valid CDB files for |
+the local lookup to work, but more than one option may conceivably |
+point to the same file. |
+. |
+.It Cd ldap_server ( Vt string ) |
+Name or address of LDAP server. |
+. |
+.It Cd ldap_base_dn ( Vt string ) |
+Base DN to search. After binding anonymously, Prayer performs a |
+one-level-scope search for entries with |
+.Li surname No or Li mail No attributes containing the search string. |
+The following attributes are fetched and presented: |
+.Bl -bullet -compact |
+.It |
+.Li uid |
+.It |
+.Li displayName |
+.It |
+.Li cn Dq ( registered name ) |
+.It |
+.Li ou Dq ( affiliation ) |
+.It |
+.Li mail |
+.It |
+.Li telephoneNumber |
+.El |
+. |
+.It Cd ldap_timeout ( Vt time ) |
+Search timeout. |
+.Sy Default : Li 30s . |
+.El |
+. |
+.Ss HTTP and other frontend settings |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd use_http_port , use_https_port |
+Define a single HTTP[S] port to bind to. You can define an arbitary list |
+of ports of both kinds by using a series of separate |
+.Cd use_http_port No and Cd use_https_port |
+directives, with one port on each line. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_http_port Oo Ar interface : Oc Ns Ar port |
+.Cd use_https_port Oo Ar interface : Oc Ns Ar port |
+.Ed |
+.Pp |
+.Ar interface |
+can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
+.Xr getaddrinfo 3 |
+for resolution, and the first resulting address is used to bind to. Otherwise, |
+.Xr prayer 8 |
+.No binds to Ar port No on all interfaces. |
+. |
+.It Cd ssl_default_port Vt ( number ) |
+Prayer will put a warning on the login page for HTTP connections if |
+both HTTP and HTTPS sessions are available. This will provide a link |
+to the SSL version of the service, defaulting to port 443 or failing |
+that the first defined HTTPS port. ssl_default_port overrides the |
+built in logic. |
+.Pp |
+Should be rarely required now that Prayer automatically derives an |
+appropriate port if none is provided here. |
+. |
+.It Cd ssl_cert_file Vt ( path ) |
+Locatation of SSL certificate file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_privatekey_file Vt ( path ) |
+Location of SSL private key file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_rsakey_lifespan Vt ( time ) |
+Master server will regenerate shared RSA key at this interval. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_rsakey_freshen Vt ( time ) |
+RSA key remains fresh in child process for this long after first actual use. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_session_timeout Vt ( time ) |
+SSL session cache TTL. |
+.Sy Default : Li 0 No (SSL session cache not used). |
+.Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
+data from the DBD database. |
+. |
+.It Cd egd_socket Vt ( path ) |
+Path to entropy gathering daemon socket. If provided, it will be used in place of |
+or in addition to |
+.Pa /dev/urandom |
+. |
+.It Cd contact_email Vt ( string ) |
+System administrator email address. |
+.Sy This setting is currently not used. |
+If you want to display support information to your users, customise the templates. |
+. |
+.It Cd fatal_dump_core Vt ( boolean ) |
+Dump core on |
+.Fn fatal |
+error. |
+.Sy Default : No false. |
+. |
+.It Cd log_debug Vt ( boolean ) |
+Enable somewhat more verbose logging, mainly in relation to SSL. |
+.Sy Default : No false. |
+. |
+.It Cd fix_client_ipaddr Vt ( boolean ) |
+Client must connect from consistent IP addresses. May be useful as |
+a security measure in LAN environments. Painful for dialup users |
+whose connections may drop out. |
+.Sy Default : No false. |
+. |
+.It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
+.Xr prayer-session 8 |
+gzip-compresses pages sent to clients if: |
+.Bl -enum -compact |
+.It |
+gzip compression enabled at compile time, |
+.It |
+.Cd use_gzip No is set in user preferences, |
+.It |
+User agent is known to support Content-Encoding: gzip, |
+.It |
+User agent asks for Content-Encoding: gzip or x-gzip, |
+.It |
+IP address of client appears in |
+.Cd gzip_allow_nets |
+.Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
+.El |
+.Pp |
+The format of these options is a sequence of |
+.Ar ipaddr Ns Op / Ns Ar masklen |
+items, separated by colons |
+.Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
+.Ar masklen No is omitted, the item is interpreted as a full host address. |
+. |
+.It Cd log_name_nets Vt ( string ) |
+A network list in the same format as |
+.Cd gzip_allow_nets |
+above. To avoid delay when a user logs in, |
+.Xr prayer-session 8 |
+only performs a reverse lookup of the remote address if matches this list. |
+.Sy Default : No empty; no reverse lookup are performed. |
+. |
+.It Cd limit_vm Vt ( number ) |
+Virtual memory limit imposed on each process to stop runaway process killing system. See |
+.Xr setrlimit 2 . |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_method_size Vt ( number ) |
+Prayer should in theory be able to cope with input of arbitrary |
+size. In practice however, the incoming request has to be stored |
+somewhere and without limits an attacker may exhaust available memory, |
+causing a denial of service attack. |
+.Pp |
+This sets the maximum size of the initial line of an HTTP request. |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_hdr_size Vt ( number ) |
+Maximum for headers associated with this request. |
+. |
+.It Cd http_max_body_size Vt ( number ) |
+Maximum for HTTP payload. This is the most significant one in normal use. |
+. |
+.It Cd draft_att_single_max ( Vt number ) |
+Maximum size of a single attachment when composing a mail. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd draft_att_total_max ( Vt number ) |
+Maximum size of all attachments. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd http_min_servers Vt ( number ) |
+Minimum number of preforked |
+.Xr prayer 8 HTTP servers. The master process forks new slave processes |
+whenever the number of idle slaves falls below this number, unless the |
+total number of slaves would exceed |
+.Cd http_max_servers . |
+.Sy Default : Li 4. |
+. |
+.It Cd http_max_servers Vt ( number ) |
+Maximum number of preforked |
+.Xr prayer 8 HTTP servers (active and idle). The master process does not, |
+however, enforce any maximum number of |
+.Em idle No slave processes; they have to terminate voluntarily by timing out |
+or serving the maximum number of connections. |
+.Sy Default : Li 64 . |
+. |
+.It Cd http_max_connections Vt ( number ) |
+Maximum number of connections that each frontend server will process. |
+.Sy Default : Li 0 No (no limit). |
+. |
+.It Cd http_timeout_idle Vt ( time ) |
+Timeout for (dirty) spare server waiting for another HTTP connection. |
+.Sy Default : Li 30s . |
+. |
+.It Cd http_timeout_icons Vt ( time ) |
+Timeout for HTTP connection that last served static content. |
+.Sy Default : Li 10s . |
+. |
+.It Cd http_timeout_session Vt ( time ) |
+Timeout for HTTP connection that last served a session URL or has not served anything yet. |
+.Sy Default : Li 60s . |
+. |
+.It Cd http_cookie_use_port Vt ( boolean ) |
+Present HTTP cookies to browser as |
+.Dq Li username:port=value |
+rather than |
+.Dq Li username=value . |
+Allows simultaneous login sessions from a single client browser. |
+However can leave a trail of cookies behind. Probably don't want this |
+in the long term, it's here for experimentation purposes only at the |
+moment. |
+. |
+.It Cd icon_expire_timeout Vt ( time ) |
+The amount of time in the future to set the HTTP |
+.Li Expires: No field for static content. |
+.Sy Default : Li 7d . |
+(In contrast sessions URLs expire immediately: Browsers really |
+shouldn't be trying to cache this stuff, especially when it is coming |
+in over HTTPS). |
+.El |
+. |
+.Ss Session specific configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd session_idle_time Vt ( time ) |
+Session switches to idle mode after this much time: connections to |
+IMAP and accountd servers are shut down. |
+.Sy Default : Li 0 No (idle mode disabled). |
+. |
+.It Cd session_timeout Vt ( time ) |
+Session terminates after this much idle time. |
+.Ql 0 |
+means session never times out. |
+.Sy Default : Li 4h . |
+. |
+.It Cd session_timeout_compose Vt ( time ) |
+Session terminates after this much idle time instead when the last command was |
+.Ql compose |
+.No or Ql sieve . |
+It should probably not be set lower than |
+.Cd session_timeout . |
+.Sy Default : Li 0 No (always use the same timeout). |
+. |
+.It Cd stream_ping_interval Vt ( time ) |
+Ping INBOX, Other, and Draft streams at this interval. |
+.Sy Default : Li 5m . |
+. |
+.It Cd stream_checkpoint Vt ( boolean ) |
+.No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
+.Sy Default : Li true . |
+. |
+.It Cd stream_misc_timeout Vt ( time ) |
+Shut down Postponed, Preferences and Transfer streams entirely |
+after this much idle time, but only if idle mode doesn't beat us to it. |
+.Sy Default : Li 0 No (disabled). |
+. |
+.It Cd log_ping_interval Vt ( time ) |
+.Xr stat 2 log files at this interval to see if target file has been |
+renamed or removed. |
+.Ql 0s |
+means stat() log file every time something is logged. |
+.Sy Default : Li 5m . |
+. |
+.It Cd db_ping_interval Vt ( time ) |
+Interval at which to re-read CDB files containing the local domain. |
+.Sy Default : Li 30m . |
+.El |
+. |
+.Ss Display specific configuration |
+. |
+.Bl -tag -width Ds |
+.It Cd login_banner Vt ( string ) |
+Used in the |
+.Li <title> |
+and heading of the login page, unless |
+.Cd login_prefix_path |
+specifies a custom first HTML part. |
+.Sy Default : Li """Webmail Service Login""" . |
+. |
+.It Cd login_service_name Vt ( string ) |
+Used in the |
+.Li <title> No and elsewhere to refer to the webmail system |
+.Em after No the user has logged in. |
+.Sy Default : Li """Prayer""" . |
+. |
+.It Cd login_prefix_path Vt ( path ) |
+File to use as the part of the login page before the login |
+form. Should include everything including DOCTYPE and <html> tag. If |
+unset, Prayer constructs a fairly safe and boring login page |
+consisting of the |
+.Cd login_banner . |
+on the background colour of the default main theme. |
+. |
+.It Cd motd_path Vt ( path ) |
+File to use as the part of the login page immediately following the login form. |
+. |
+.It Cd login_suffix_path Vt ( path ) |
+File to use as the last part of the login page. If unset, Prayer simply outputs |
+.Dq Li </body></html> . |
+. |
+.It Cd ssl_encouraged ( Vt boolean ) |
+If the user connects over unencrypted HTTP, do not show the login form on the start |
+.Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
+.Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
+. |
+.It Cd ssl_redirect ( Vt boolean ) |
+If the user connects over unencrypted HTTP, return a |
+.Ql 302 |
+redirect to the default SSL port. Only the start |
+.Pa ( / ) No page is redirected and it may be possible to switch between http and |
+https after loggin in, subject to cookie rules. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd ssl_required ( Vt boolean ) |
+Return a |
+.Ql 403 Forbidden |
+error if the user tries to access anything over unencrypted HTTP. |
+.Cd ssl_redirect No still has effect, however. |
+. |
+.It Cd list_addr_maxlen Vt ( number ) |
+The maximum number of characters to show from addresses on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd list_subject_maxlen Vt ( number ) |
+The maximum number of characters to show from the subject on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd change_max_folders ( Vt number ) |
+The maximum number of folders allowed in the quick folder change |
+dropdown list. If there would be too many folders, the quick list is |
+disabled altogether. Only folders that are expanded in the folder view |
+are included. |
+.Pp |
+.Sy Default : Li 20 . |
+. |
+.It Cd template_path ( Vt path ) |
+Path to uncompiled template sets (directories). |
+.Sy Default : Li """../templates""" No (relative to |
+.Cd tmp_dir ) . |
+. |
+.It Cd template_set ( Vt string ) |
+Template set to use. |
+.Sy Default : Li """xhtml_strict""" . |
+. |
+.It Cd template_use_compiled ( Vt boolean ) |
+Use the compiled-in templates, ignoring |
+.Cd template_path . |
+.Sy Default : Li true . |
+.Pp |
+As a Debian extension, |
+.Xr prayer-session 8 |
+will fall back to the compiled-in template version of any template |
+that it cannot find in the template directory. This enables |
+customization of some templates without having to compile all of them |
+at run time, although attempting to open each template still incurs a |
+certain penalty. |
+. |
+.It Cd theme |
+Define themes and their colors. |
+.Em Semi-deprecated ; No Colours set with this directive are only used by the |
+.Li xhtml_transitional No template set. The |
+.Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
+It is still necessary to tell Prayer which themes are available, however. |
+.Pp |
+Syntax: |
+.Bd -literal -offset indent |
+.Cd theme Ar name Li description Ar description |
+.Cd theme Ar name element colour |
+.Cd theme Ar name element colour |
+\&... |
+.Ed |
+.Pp |
+.Ar description No is the label shown in the theme dropdown lists on the |
+General Preferences page. |
+.Pp |
+.Ar element No is one of |
+.Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
+.Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
+.Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
+The first three are not used by any standard template set, but are |
+available. Please study the templates to understand how the rest are |
+used. |
+.Pp |
+.Ar colour No is any valid HTML Vt %Color No value. |
+Remember that strings containing hash marks need to be quoted. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme. |
+. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme in help mode. |
+. |
+.It Cd use_ispell_language |
+Ispell languages that we want to support, with some descriptive text |
+for the preferences screen. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_ispell_language Ar wordlist Ar description |
+.Ed |
+.Pp |
+Example: |
+.Bd -literal -offset indent |
+.Li use_ispell_language british Qq British English |
+.Ed |
+.El |
+. |
+.Ss Paths etc. |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd aspell_path ( Vt path ) |
+Location of Aspell Binary (takes precedence over |
+.Cd ispell_path ) . |
+. |
+.It Cd bin_dir ( Vt path ) |
+Location of Prayer binaries |
+.Xr ( prayer 8 and |
+.Xr prayer-session 8 ) . |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd icon_dir ( Vt path ) |
+Location of icon files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ispell_path ( Vt path ) |
+Location of Ispell Binary (backwards compatibility only). |
+. |
+.It Cd log_dir ( Vt path ) |
+Location of log files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd pid_dir ( Vt path ) |
+Location for PID files of prayer and prayer-session master processes. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd sendmail_path ( Vt path ) |
+Location of sendmail binary or drop in replacement such as Exim. |
+.Sy Default : Pa /usr/lib/sendmail . |
+. |
+.It Cd socket_dir ( Vt path ) |
+Location for unix domain sockets which connect |
+.Xr ( prayer 8 to |
+.Xr prayer-session 8 ) . |
+. |
+.It Cd socket_split_dir ( Vt boolean ) |
+Split socket directory into 64 subdirs keyed on first letter of |
+sessionID. It is possible to switch back and forth without moving |
+sockets or killing sessions, since |
+.Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
+.Xr prayer-session 8 creates the socket files. |
+.Sy Default : Li false . |
+. |
+.It Cd init_socket_name ( Vt string ) |
+Name of Unix domain socket (in |
+.Cd socket_dir ) No used for initial handshake |
+between prayer and prayer-session processes when a user logs in. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ssl_session_dir ( Vt path ) |
+Location of the SSL session cache database. |
+.Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
+. |
+.It Cd static_dir ( Vt path ) |
+Location of other static files (CSS). |
+.Sy Default : No none. If unset, Prayer will not serve CSS files. |
+. |
+.It Cd tmp_dir ( Vt path ) |
+As the directory both daemons |
+.Xr chdir 2 |
+to at startup, it is where temporary files, such as attachments and |
+folders in transist during upload and download operations, are |
+written. Core files also end up here. |
+.Sy Default : No none. Sy Must be set. |
+.El |
+. |
+.Ss Defaults for user preferences |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd confirm_logout ( Vt boolean ) |
+Confirmation dialogue when user logs out. |
+.Sy Default : Li true . |
+. |
+.It Cd confirm_expunge ( Vt boolean ) |
+Confirmation dialogue when user hits expunge. |
+.Sy Default : Li false . |
+. |
+.It Cd confirm_rm ( Vt boolean ) |
+Confirmation dialogue when user deletes mail folder or directory. |
+.Sy Default : Li true . |
+. |
+.It Cd default_domain Vt ( string ) |
+Default domain for outgoing mail. Defaults to |
+.Cd hostname No setting. |
+. |
+.It Cd html_inline ( Vt boolean ) |
+Show text/html bodyparts inline. Content is scrubbed to remove |
+dangerous tags; see documentation for more details. |
+.Sy Default : Li true . |
+. |
+.It Cd html_inline_auto ( Vt boolean ) |
+Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
+Does anyone other than spammers actually use this? |
+.Sy Default : Li true . |
+. |
+.It Cd ispell_language ( Vt string ) |
+Language for ispell. |
+.Sy Default : Li """british""" . |
+. |
+.It Cd msgs_per_page ( Vt number ) |
+Number of messages per screen on message list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd msgs_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd msgs_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd abook_per_page ( Vt number ) |
+Number of addressbook entries per page on address book list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd abook_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd abook_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd maildir ( Vt string ) |
+Mail directory in user's account. |
+.Sy Default : Li """""" . |
+Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
+. |
+.It Cd suppress_dotfiles ( Vt boolean ) |
+Supress dotfiles from directory listing. |
+.Sy Default : Li true . |
+. |
+.It Cd postponed_folder ( Vt string ) |
+Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
+.Sy Default : Li """postponed-msgs""" . |
+. |
+.It Cd sent_mail_folder ( Vt string ) |
+Name of folder for sent mail. |
+.Sy Default : Li """sent-mail""" . |
+. |
+.It Cd small_cols ( Vt number ) |
+Width of small compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd small_rows ( Vt number ) |
+Height of small compose textarea in lines. |
+.Sy Default : Li 18 . |
+. |
+.It Cd large_cols ( Vt number ) |
+Width of large compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd large_rows ( Vt number ) |
+Height of large compose textarea in lines. |
+.Sy Default : Li 32 . |
+. |
+.It Cd sort_mode ( Vt string ) |
+Default Sort mode for mailbox list. One of |
+.Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
+.Sy Default : Li ARRIVAL No is most efficient, and recommended. |
+. |
+.It Cd sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd abook_sort_mode ( Vt string ) |
+Default Sort mode for addressbook list. One of: |
+.Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
+.Sy Default : Li ORDERED . |
+. |
+.It Cd abook_sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_len ( Vt number ) |
+Wrap lines at this many characters. |
+.Sy Default : Li 76 . |
+. |
+.It Cd line_wrap_advanced ( Vt boolean ) |
+Enable advanced line wrap options? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_on_reply ( Vt boolean ) |
+Line wrap automatically on reply. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_spell ( Vt boolean ) |
+Line wrap automatically on spell check. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_send ( Vt boolean ) |
+Line wrap automatically on send. |
+.Sy Default : Li true . |
+. |
+.It Cd preserve_mimetype ( Vt boolean ) |
+Send message Content-Type through to browser. If |
+.Li false , No Content-Type is replaced with |
+.Ql application/octet-stream |
+which should force download to local disk, bypassing any automatic |
+processing of bodyparts by the User-Agent. Unclear at the moment |
+whether we need to do this, or whether this should be done selectively |
+based on the User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_sent_mail ( Vt boolean ) |
+.No Make the Dq Save copy |
+checkbox on the compose screen checked default. |
+.Sy Default : Li true . |
+. |
+.It Cd use_mark_persist ( Vt boolean ) |
+Use persistent mark for aggregate operations. |
+.Sy Default : Li false . |
+. |
+.It Cd use_search_zoom ( Vt boolean ) |
+Zoom automatically after sucessful search |
+.Sy Default : Li true . |
+. |
+.It Cd use_agg_unmark ( Vt boolean ) |
+Unmark messages after sucessful aggregate operation. |
+.Sy Default : Li true . |
+. |
+.It Cd use_icons ( Vt boolean ) |
+Use icons: may be overriden by value of User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_welcome ( Vt boolean ) |
+Enable welcome screen . |
+.Sy Default : Li true . |
+. |
+.It Cd use_tail_banner ( Vt boolean ) |
+Duplicate banner icons (toolbar) at the bottom of the Message screen. |
+.Sy Default : Li true . |
+.El |
+. |
+.Ss Hidden preferences |
+. |
+The following options are internally handled as user preferences, but |
+the Preferences screen no longer provides any means for changing them. |
+. |
+.Bl -tag -width Ds |
+.It Cd use_cookie ( Vt boolean ) |
+Use HTTP cookie for Session-ID, if the browser supports cookies |
+If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
+.Sy Default : Li true . |
+. |
+.It Cd use_substitution ( Vt boolean ) |
+Use page substiution rather than HTTP redirects. Faster, but the URLs |
+that are generated are less predictable. Page substitution and browser |
+history mechanism don't coexist well at the moment (Prayer would need to |
+cache final page value for each substiution event). |
+.Pp |
+.Sy Default : Li true . |
+. |
+.It Cd use_http_1_1 ( Vt boolean ) |
+Allow HTTP/1.1, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_pipelining ( Vt boolean ) |
+Allow HTTP/1.1 pipelining, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_embed_http ( Vt boolean ) |
+Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_persist ( Vt boolean ) |
+Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
+if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_short ( Vt boolean ) |
+Allow short URLs, if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_gzip ( Vt boolean ) |
+Allow gzip compression, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer-session 8 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
Index: branches/lenny/debian/prayer-ssl-prune.8 |
=================================================================== |
--- branches/lenny/debian/prayer-ssl-prune.8 (nonexistent) |
+++ branches/lenny/debian/prayer-ssl-prune.8 (revision 180) |
@@ -0,0 +1,54 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SSL-PRUNE 8 |
+.Sh NAME |
+.Nm prayer-ssl-prune |
+.Nd purge stale SSL session data |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+should be run periodically (e.g. once a day) when using SSL session caching |
+.Cd ( ssl_session_timeout No > 0 in |
+.Pa prayer.cf ) . |
+It removes old transaction logs and stale session data. |
+It accepts the same configuration-overriding options as |
+.Xr prayer 8 and |
+.Xr prayer-session 8 . |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /var/run/prayer/ssl_scache/ |
+Default location of the SSL session cache database. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: branches/lenny/debian/prayer.8 |
=================================================================== |
--- branches/lenny/debian/prayer.8 (nonexistent) |
+++ branches/lenny/debian/prayer.8 (revision 180) |
@@ -0,0 +1,93 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER 8 |
+.Sh NAME |
+.Nm prayer |
+.Nd standalone IMAP-based webmail server |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground | -disable-prefork |
+.Oo Fl -disable-session | - |
+.Ar session-options Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is the normal frontend daemon in the Prayer Webmail system. It is a |
+simple HTTP server and proxy that serves icons and other static files, |
+but firstly and foremostly forwards requests to the correct backend |
+daemons based on session IDs passed either in cookies or as part of |
+the URL. |
+.Pp |
+The master daemon normally preforks a number of child processes that |
+each will serve a configurable number of requests. The total number of |
+child processes is limited to prevent denial of service attacks. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.It Fl -disable-prefork |
+Disable preforking. The master daemon will listen for connections |
+on the configured ports and spawn child processes one at a time. |
+.It Fl -disable-session |
+Do not start the session server, |
+.Xr prayer-session 8 . |
+.It Fl - |
+End of |
+.Nm |
+options; remaining options will be passed to |
+.Xr prayer-session 8 . |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /usr/share/prayer/icons/ |
+Location of the standard icons used by the interface. |
+.It Pa /usr/share/prayer/static/ |
+Directory containing other static files; currently only CSS files. |
+.It Pa /var/run/prayer/sockets/ |
+Pre-configured location of sockets for frontend to backend communication. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer-session 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+.No using documentation written by An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: branches/lenny/debian/Config |
=================================================================== |
--- branches/lenny/debian/Config (nonexistent) |
+++ branches/lenny/debian/Config (revision 180) |
@@ -0,0 +1,146 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: branches/lenny/debian/prayer-accountd.init |
=================================================================== |
--- branches/lenny/debian/prayer-accountd.init (nonexistent) |
+++ branches/lenny/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: branches/lenny/debian/README.Debian |
=================================================================== |
--- branches/lenny/debian/README.Debian (nonexistent) |
+++ branches/lenny/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: branches/lenny/debian/prayer.dirs |
=================================================================== |
--- branches/lenny/debian/prayer.dirs (nonexistent) |
+++ branches/lenny/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,4 @@ |
+var/run/prayer |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: branches/lenny/debian/prayer.examples |
=================================================================== |
--- branches/lenny/debian/prayer.examples (nonexistent) |
+++ branches/lenny/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: branches/lenny/debian/prayer.postinst |
=================================================================== |
--- branches/lenny/debian/prayer.postinst (nonexistent) |
+++ branches/lenny/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,56 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: branches/lenny/debian/copyright |
=================================================================== |
--- branches/lenny/debian/copyright (nonexistent) |
+++ branches/lenny/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: branches/lenny/debian/prayer.docs |
=================================================================== |
--- branches/lenny/debian/prayer.docs (nonexistent) |
+++ branches/lenny/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: branches/lenny/debian/prayer.postrm |
=================================================================== |
--- branches/lenny/debian/prayer.postrm (nonexistent) |
+++ branches/lenny/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,53 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: branches/lenny/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- branches/lenny/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ branches/lenny/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: branches/lenny/debian/prayer.lintian-overrides |
=================================================================== |
--- branches/lenny/debian/prayer.lintian-overrides (nonexistent) |
+++ branches/lenny/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: branches/lenny/debian/compat |
=================================================================== |
--- branches/lenny/debian/compat (nonexistent) |
+++ branches/lenny/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: branches/lenny/debian/prayer.default |
=================================================================== |
--- branches/lenny/debian/prayer.default (nonexistent) |
+++ branches/lenny/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: branches/lenny/debian/prayer-accountd.docs |
=================================================================== |
--- branches/lenny/debian/prayer-accountd.docs (nonexistent) |
+++ branches/lenny/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: branches/lenny/debian/prayer.logrotate |
=================================================================== |
--- branches/lenny/debian/prayer.logrotate (nonexistent) |
+++ branches/lenny/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: branches/lenny/debian/prayer-accountd.install |
=================================================================== |
--- branches/lenny/debian/prayer-accountd.install (nonexistent) |
+++ branches/lenny/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: branches/lenny/debian/watch |
=================================================================== |
--- branches/lenny/debian/watch (nonexistent) |
+++ branches/lenny/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: branches/lenny/debian |
=================================================================== |
--- branches/lenny/debian (nonexistent) |
+++ branches/lenny/debian (revision 180) |
/branches/lenny/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.5-dfsg1-4/debian/changelog |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/changelog (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/changelog (revision 180) |
@@ -0,0 +1,423 @@ |
+prayer (1.3.5-dfsg1-4) unstable; urgency=low |
+ |
+ * Switch from CDBS to dh and debhelper compat level 9. |
+ * openssl1.1.patch: Support OpenSSL 1.1 API changes (Closes: #828512). |
+ * Support for Entropy Gathering Daemon removed because it's really old |
+ and support for it is no longer enabled in OpenSSL by default. |
+ * Add missing lsb-base dependencies. |
+ * prayer.postrm: remove hard-coded path to deluser. |
+ * Bump Standards-Version to 3.9.8. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 29 Oct 2016 14:15:05 +0200 |
+ |
+prayer (1.3.5-dfsg1-3) unstable; urgency=low |
+ |
+ * disable_ssl3.patch (new): Disable SSL 3.0 due to CVE-2014-3566 |
+ (POODLE). |
+ * debian/Config: Disable ACCOUNTD_SSL_ENABLE since the SSL/TLS support |
+ in prayer-accountd and prayer-session is incomplete and never was |
+ functional. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 29 Oct 2014 22:32:18 +0100 |
+ |
+prayer (1.3.5-dfsg1-2) unstable; urgency=high |
+ |
+ * dlopen_templates.patch: Use MYCFLAGS (which is initialized to the |
+ value of CFLAGS from dpkg-buildflags in the Config file) instead of |
+ CFLAGS in templates/{src,cam,old}/Makefile (Closes: #715310, LP: |
+ #1201216). The --defsym options were lost when we let CDBS override |
+ CFLAGS in the previous upload. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 18 Jul 2013 22:47:08 +0200 |
+ |
+prayer (1.3.5-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ * Refresh patches. |
+ * Drop dummy package prayer-templates. |
+ * No longer override CDBS overriding CFLAGS, thereby allowing hardening |
+ flags to be properly propagated. I think it caused internal include |
+ flags to be lost, but since at least 1.3.2 that's no longer the case. |
+ * Bump Standards-Version to 3.9.4. |
+ * hurd.patch: Always define HAVE_SHADOW. The test for BSD4_4 seems |
+ bogus; it is defined on Hurd, but crypt(3) is available there. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 12 Jun 2013 00:09:05 +0200 |
+ |
+prayer (1.3.4-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop ipv6_v6only.patch; fixed upstream. |
+ * template_sdk.patch: templates/src/build_index.pl no longer need to |
+ be patched. |
+ * Bump Standards-Version to 3.9.2. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 27 Aug 2011 22:24:50 +0200 |
+ |
+prayer (1.3.3-dfsg1-4) unstable; urgency=low |
+ |
+ * Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
+ (Closes: #607559). |
+ * dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
+ servers/prayer_shared.h. |
+ * hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
+ setproctitle() on the Hurd. |
+ * Add basic manpage for prayer-accountd(8). |
+ * unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
+ filter handling. |
+ * Drop obsolete Build-Depends alternative libc-client2007b-dev. |
+ * Increase Debhelper compat level to 7. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
+ |
+prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
+ |
+ * Fix FTBFS with ld --as-needed. |
+ |
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
+ |
+prayer (1.3.3-dfsg1-3) unstable; urgency=high |
+ |
+ * ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
+ AF_INET6 sockets; since Prayer by default enumerates available address |
+ families and calls bind() once for each, conflicts will occur |
+ otherwise (Closes: #607261). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
+ |
+prayer (1.3.3-dfsg1-2) unstable; urgency=high |
+ |
+ * Convert (trivially, since CDBS with quilt was already used) to source |
+ format 3.0 (quilt). |
+ * no_db_version_check.patch: Remove unnecessary and incorrect check that |
+ not only the major and minor version numbers of the current libdb are |
+ the same as at compile time, but also that the patch number is equal |
+ or greater, which should not be a concern (Closes: #592119). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
+ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.5-dfsg1-4/debian/compat |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/compat (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+9 |
Index: tags/1.3.5-dfsg1-4/debian/control |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/control (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/control (revision 180) |
@@ -0,0 +1,96 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: debhelper (>= 9), libc-client2007e-dev | libc-client-dev, |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.8 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ lsb-base (>= 3.0-6), logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.0-6) |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.5-dfsg1-4/debian/rules |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/rules (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/rules (revision 180) |
@@ -0,0 +1,19 @@ |
+#!/usr/bin/make -f |
+%: |
+ dh $@ -Smakefile |
+ |
+override_dh_auto_clean: |
+ $(MAKE) clean MAKE=$(MAKE) |
+ cp defaults/Config . |
+ |
+override_dh_auto_configure: |
+ cp debian/Config . |
+ |
+override_dh_auto_install: |
+ dh_auto_install -- BROOT=$(CURDIR)/debian/tmp |
+ |
+override_dh_installchangelogs: |
+ dh_installchangelogs docs/DONE |
+ |
+override_dh_installman: |
+ dh_installman --language=C |
/tags/1.3.5-dfsg1-4/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.5-dfsg1-4/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x "`which deluser 2>/dev/null`" ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-4/debian/patches/openssl1.1.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/openssl1.1.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/openssl1.1.patch (revision 180) |
@@ -0,0 +1,119 @@ |
+Bug-Debian: https://bugs.debian.org/828512 |
+Description: Support OpenSSL 1.1 API changes |
+ SSL_CTX_set_tmp_rsa_callback() (used for export-weakened keys) no longer does anything. |
+ |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -78,17 +78,6 @@ static void os_initialize_prng(struct ss |
+ int totbytes = 0; |
+ int bytes; |
+ |
+- if (ssl_config->egd_socket) { |
+- if ((bytes = RAND_egd(ssl_config->egd_socket)) == -1) { |
+- log_fatal("EGD Socket %s failed", ssl_config->egd_socket); |
+- } else { |
+- totbytes += bytes; |
+- log_debug("Snagged %d random bytes from EGD Socket %s", |
+- bytes, ssl_config->egd_socket); |
+- goto SEEDED; /* ditto */ |
+- } |
+- } |
+- |
+ /* Try the good-old default /dev/urandom, if available */ |
+ totbytes += add_rand_file("/dev/urandom"); |
+ if (prng_seeded(totbytes)) { |
+@@ -212,6 +201,8 @@ static int new_session_cb(SSL * ssl, SSL |
+ unsigned char *data = NULL, *asn; |
+ time_t expire; |
+ int ret = -1; |
++ unsigned int session_id_length; |
++ unsigned char *session_id = SSL_SESSION_get_id(sess, &session_id_length); |
+ |
+ if (!sess_dbopen) |
+ return 0; |
+@@ -241,8 +232,7 @@ static int new_session_cb(SSL * ssl, SSL |
+ if (data && len) { |
+ /* store the session in our database */ |
+ do { |
+- ret = DB->store(sessdb, (void *) sess->session_id, |
+- sess->session_id_length, |
++ ret = DB->store(sessdb, (void *) session_id, session_id_length, |
+ (void *) data, len + sizeof(time_t), NULL); |
+ } |
+ while (ret == MYDB_AGAIN); |
+@@ -255,8 +245,8 @@ static int new_session_cb(SSL * ssl, SSL |
+ if (ssl_verbose_logging) { |
+ int i; |
+ char idstr[SSL_MAX_SSL_SESSION_ID_LENGTH * 2 + 1]; |
+- for (i = 0; i < sess->session_id_length; i++) |
+- sprintf(idstr + i * 2, "%02X", sess->session_id[i]); |
++ for (i = 0; i < session_id_length; i++) |
++ sprintf(idstr + i * 2, "%02X", session_id[i]); |
+ |
+ log_debug("new SSL session: id=%s, expire=%s, status=%s", |
+ idstr, ctime(&expire), ret ? "failed" : "ok"); |
+@@ -298,7 +288,10 @@ static void remove_session(unsigned char |
+ */ |
+ static void remove_session_cb(SSL_CTX * ctx, SSL_SESSION * sess) |
+ { |
+- remove_session(sess->session_id, sess->session_id_length); |
++ unsigned int session_id_length; |
++ unsigned char *session_id = SSL_SESSION_get_id(sess, &session_id_length); |
++ |
++ remove_session(session_id, session_id_length); |
+ } |
+ |
+ /* |
+@@ -398,9 +391,6 @@ void ssl_context_init(struct ssl_config |
+ /* SSLv3 now also obsolete */ |
+ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv3); |
+ |
+- if (SSL_CTX_need_tmp_RSA(client_ctx)) |
+- SSL_CTX_set_tmp_rsa_callback(client_ctx, rsa_callback); |
+- |
+ /* Don't bother with session cache for client side: not enough |
+ * connections to worry about caching */ |
+ SSL_CTX_set_session_cache_mode(client_ctx, SSL_SESS_CACHE_OFF); |
+@@ -509,10 +499,6 @@ void ssl_context_init(struct ssl_config |
+ log_fatal("SSL_CTX_set_options(SSL_OP_CIPHER_SERVER_PREFERENCE)" |
+ "failed"); |
+ |
+- /* Set up RSA temporary key callback routine */ |
+- if (SSL_CTX_need_tmp_RSA(server_ctx)) |
+- SSL_CTX_set_tmp_rsa_callback(server_ctx, rsa_callback); |
+- |
+ /* Initialise RSA temporary key (will take a couple of secs to complete) */ |
+ ssl_init_rsakey(ssl_config); |
+ } |
+@@ -621,7 +607,7 @@ void *ssl_start_server(int fd, unsigned |
+ else |
+ log_debug("SSL: No client certificate"); |
+ |
+- switch (ssl->session->ssl_version) { |
++ switch (SSL_version(ssl)) { |
+ case SSL2_VERSION: |
+ ver = "SSLv2"; |
+ break; |
+@@ -680,7 +666,7 @@ void *ssl_start_client(int fd, unsigned |
+ |
+ /* Verify certificate here? Need local context to play with? */ |
+ |
+- switch (((SSL *) ssl)->session->ssl_version) { |
++ switch (SSL_version(ssl)) { |
+ case SSL2_VERSION: |
+ ver = "SSLv2"; |
+ break; |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -455,9 +455,9 @@ static struct { |
+ "draft_att_total_max", config_number, OFFSET(draft_att_total_max)} |
+ , { |
+ "dualuse", config_bool, OFFSET(dualuse)} |
+- , { |
++ , /*{ |
+ "egd_socket", config_path, OFFSET(egd_socket)} |
+- , { |
++ , */{ |
+ "expunge_on_exit", config_bool, OFFSET(expunge_on_exit)} |
+ , { |
+ "fatal_dump_core", config_bool, OFFSET(fatal_dump_core)} |
Index: tags/1.3.5-dfsg1-4/debian/patches/series |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/series (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/series (revision 180) |
@@ -0,0 +1,10 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+unbrand_accountd.patch |
+template_sdk.patch |
+no_db_version_check.patch |
+hurd.patch |
+disable_ssl3.patch |
+openssl1.1.patch |
Index: tags/1.3.5-dfsg1-4/debian/patches/disable_ssl3.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/disable_ssl3.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/disable_ssl3.patch (revision 180) |
@@ -0,0 +1,58 @@ |
+Description: Disable SSL 3.0 on client as well as server side |
+Author: Magnus Holmgren <holmgren@debian.org> |
+ |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -387,12 +387,16 @@ void ssl_context_init(struct ssl_config |
+ SSL_load_error_strings(); |
+ |
+ /* Set up client context: only used by accountd */ |
+- client_ctx = SSL_CTX_new(SSLv3_client_method()); |
++ client_ctx = SSL_CTX_new(SSLv23_client_method()); |
+ SSL_CTX_set_session_cache_mode(client_ctx, SSL_SESS_CACHE_BOTH); |
+ SSL_CTX_set_info_callback(client_ctx, info_callback); |
+ #ifdef SSL_MODE_AUTO_RETRY |
+ SSL_CTX_set_mode(client_ctx, SSL_MODE_AUTO_RETRY); |
+ #endif |
++ /* SSLv2 now obsolete */ |
++ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv2); |
++ /* SSLv3 now also obsolete */ |
++ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv3); |
+ |
+ if (SSL_CTX_need_tmp_RSA(client_ctx)) |
+ SSL_CTX_set_tmp_rsa_callback(client_ctx, rsa_callback); |
+@@ -420,6 +424,8 @@ void ssl_context_init(struct ssl_config |
+ |
+ /* SSLv2 now obsolete */ |
+ SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv2); |
++ /* SSLv3 now also obsolete */ |
++ SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv3); |
+ |
+ /* Start off with the session cache disabled */ |
+ SSL_CTX_set_session_cache_mode(server_ctx, SSL_SESS_CACHE_OFF); |
+@@ -625,6 +631,12 @@ void *ssl_start_server(int fd, unsigned |
+ case TLS1_VERSION: |
+ ver = "TLSv1"; |
+ break; |
++ case TLS1_1_VERSION: |
++ ver = "TLSv1.1"; |
++ break; |
++ case TLS1_2_VERSION: |
++ ver = "TLSv1.2"; |
++ break; |
+ default: |
+ ver = "UNKNOWN"; |
+ } |
+@@ -678,6 +690,12 @@ void *ssl_start_client(int fd, unsigned |
+ case TLS1_VERSION: |
+ ver = "TLSv1"; |
+ break; |
++ case TLS1_1_VERSION: |
++ ver = "TLSv1.1"; |
++ break; |
++ case TLS1_2_VERSION: |
++ ver = "TLSv1.2"; |
++ break; |
+ default: |
+ ver = "UNKNOWN"; |
+ } |
Index: tags/1.3.5-dfsg1-4/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,241 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,8 +115,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,8 +114,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+ endif |
+ endif |
+ |
+-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
+-SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) |
++PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
++SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) -ldl |
+ |
+ # Add SSL if c-client needs SSL |
+ ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
+@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -146,6 +146,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
+--- a/servers/prayer_shared.h |
++++ b/servers/prayer_shared.h |
+@@ -44,3 +44,4 @@ extern int errno; /* just |
+ #include "mymutex.h" |
+ #include "log.h" |
+ #include "utf8.h" |
++#include "dlopen_templates.h" |
Index: tags/1.3.5-dfsg1-4/debian/patches/hurd.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/hurd.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/hurd.patch (revision 180) |
@@ -0,0 +1,27 @@ |
+--- a/lib/setproctitle.h |
++++ b/lib/setproctitle.h |
+@@ -8,7 +8,9 @@ |
+ |
+ #include <sys/param.h> |
+ |
+-#ifdef __linux__ |
++#if defined(__GNU__) |
++# define SPT_TYPE SPT_CHANGEARGV |
++#elif defined(__linux__) |
+ # define SPT_TYPE SPT_REUSEARGV |
+ # define SPT_PADCHAR '\0' /* pad process title with nulls */ |
+ #elif (defined(BSD) && BSD >= 199306) |
+--- a/accountd/authenticate.c |
++++ b/accountd/authenticate.c |
+@@ -8,11 +8,7 @@ |
+ |
+ #include "accountd.h" |
+ |
+-#ifdef BSD4_4 |
+-#define HAVE_SHADOW 0 |
+-#else |
+ #define HAVE_SHADOW 1 |
+-#endif |
+ |
+ #include <pwd.h> |
+ #if HAVE_SHADOW |
Index: tags/1.3.5-dfsg1-4/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -374,13 +375,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -409,10 +412,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -420,7 +424,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -434,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -452,7 +456,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -601,14 +605,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.3.5-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -455,7 +455,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.5-dfsg1-4/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,67 @@ |
+--- a/lib/os.h |
++++ b/lib/os.h |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+--- a/servers/session_server.c |
++++ b/servers/session_server.c |
+@@ -286,6 +286,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -348,6 +349,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+--- a/shared/log.c |
++++ b/shared/log.c |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+--- a/shared/log.h |
++++ b/shared/log.h |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.5-dfsg1-4/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,195 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.5-dfsg1-4/debian/patches/unbrand_accountd.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/unbrand_accountd.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/unbrand_accountd.patch (revision 180) |
@@ -0,0 +1,32 @@ |
+--- a/accountd/filter.c |
++++ b/accountd/filter.c |
+@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
+ |
+ fprintf(file, "# MSshell :: vacation\n"); |
+ fprintf(file, "if personal\n"); |
+- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
+ |
+ if (!filter_print_aliases(config, file)) |
+ return (NIL); |
+@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
+ fprintf(file, ("This message is automatically generated " |
+ "in response to your mail\\n\\" "\n")); |
+ fprintf(file, ("message (perhaps re-directed) to " |
+- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
++ "$local_part@$local_domain.\\n\\n\"\n")); |
+ fprintf(file, " file ${home}/vacation.message\n"); |
+ fprintf(file, " log ${home}/vacation.log\n"); |
+ fprintf(file, " once ${home}/vacation.once\n"); |
+@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
+ threshold = atoi(filter->threshold); |
+ |
+ /* XXX (threshold == 0) okay? */ |
+- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
++ fprintf(file, "if $h_X-Spam-Level contains \""); |
+ |
+ for (i=0 ; i < threshold; i++) |
+- fputc('s', file); |
++ fputc('*', file); |
+ |
+ fprintf(file, "\" then\n"); |
+ fprintf(file, " save mail/spam\n"); |
Index: tags/1.3.5-dfsg1-4/debian/patches/no_db_version_check.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/no_db_version_check.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/no_db_version_check.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
+ |
+ static int init(const char *dbdir, int myflags) |
+ { |
+- int maj, min, patch; |
+- char *vstr; |
+ int r; |
+ |
+ if (dbinit++) return 0; |
+ |
+- vstr = db_version(&maj, &min, &patch); |
+- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
+- DB_VERSION_PATCH > patch) { |
+- log_fatal("incorrect version of Berkeley db: " |
+- "compiled against %d.%d.%d, linked against %d.%d.%d", |
+- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
+- maj, min, patch); |
+- } |
+- |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
Index: tags/1.3.5-dfsg1-4/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.5-dfsg1-4/debian/Config |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/Config (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = false # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg1-4/debian/watch |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/watch (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/watch (revision 180) |
@@ -0,0 +1,4 @@ |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.5-dfsg1-4/debian/copyright |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/copyright (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2011 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.5-dfsg1-4/debian/prayer-accountd.8 |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-accountd.8 (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: tags/1.3.5-dfsg1-4/debian/prayer-accountd.manpages |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-accountd.manpages (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: tags/1.3.5-dfsg1-4/debian/source/format |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/source/format (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: tags/1.3.5-dfsg1-4/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-4/debian/prayer.init |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.init (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: tags/1.3.5-dfsg1-4/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.5-dfsg1-4/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg1-4/debian/prayer.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg1-4/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg1-4/debian/prayer.install |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.install (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.5-dfsg1-4/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.5-dfsg1-4/debian/prayer.links |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.links (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.5-dfsg1-4/debian/README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.5-dfsg1-4/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.5-dfsg1-4/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.5-dfsg1-4/debian/prayer.default |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.default (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.5-dfsg1-4/debian/prayer.examples |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.examples (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.5-dfsg1-4/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg1-4/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg1-4/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg1-4/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.5-dfsg1-4/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg1-4/debian |
=================================================================== |
--- tags/1.3.5-dfsg1-4/debian (nonexistent) |
+++ tags/1.3.5-dfsg1-4/debian (revision 180) |
/tags/1.3.5-dfsg1-4/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.5-dfsg1-4 |
=================================================================== |
--- tags/1.3.5-dfsg1-4 (nonexistent) |
+++ tags/1.3.5-dfsg1-4 (revision 180) |
/tags/1.3.5-dfsg1-4 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.5-dfsg1-3/debian/Config |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/Config (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = false # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg1-3/debian/changelog |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/changelog (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/changelog (revision 180) |
@@ -0,0 +1,411 @@ |
+prayer (1.3.5-dfsg1-3) unstable; urgency=low |
+ |
+ * disable_ssl3.patch (new): Disable SSL 3.0 due to CVE-2014-3566 |
+ (POODLE). |
+ * debian/Config: Disable ACCOUNTD_SSL_ENABLE since the SSL/TLS support |
+ in prayer-accountd and prayer-session is incomplete and never was |
+ functional. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 29 Oct 2014 22:32:18 +0100 |
+ |
+prayer (1.3.5-dfsg1-2) unstable; urgency=high |
+ |
+ * dlopen_templates.patch: Use MYCFLAGS (which is initialized to the |
+ value of CFLAGS from dpkg-buildflags in the Config file) instead of |
+ CFLAGS in templates/{src,cam,old}/Makefile (Closes: #715310, LP: |
+ #1201216). The --defsym options were lost when we let CDBS override |
+ CFLAGS in the previous upload. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 18 Jul 2013 22:47:08 +0200 |
+ |
+prayer (1.3.5-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ * Refresh patches. |
+ * Drop dummy package prayer-templates. |
+ * No longer override CDBS overriding CFLAGS, thereby allowing hardening |
+ flags to be properly propagated. I think it caused internal include |
+ flags to be lost, but since at least 1.3.2 that's no longer the case. |
+ * Bump Standards-Version to 3.9.4. |
+ * hurd.patch: Always define HAVE_SHADOW. The test for BSD4_4 seems |
+ bogus; it is defined on Hurd, but crypt(3) is available there. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 12 Jun 2013 00:09:05 +0200 |
+ |
+prayer (1.3.4-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop ipv6_v6only.patch; fixed upstream. |
+ * template_sdk.patch: templates/src/build_index.pl no longer need to |
+ be patched. |
+ * Bump Standards-Version to 3.9.2. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 27 Aug 2011 22:24:50 +0200 |
+ |
+prayer (1.3.3-dfsg1-4) unstable; urgency=low |
+ |
+ * Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
+ (Closes: #607559). |
+ * dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
+ servers/prayer_shared.h. |
+ * hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
+ setproctitle() on the Hurd. |
+ * Add basic manpage for prayer-accountd(8). |
+ * unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
+ filter handling. |
+ * Drop obsolete Build-Depends alternative libc-client2007b-dev. |
+ * Increase Debhelper compat level to 7. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
+ |
+prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
+ |
+ * Fix FTBFS with ld --as-needed. |
+ |
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
+ |
+prayer (1.3.3-dfsg1-3) unstable; urgency=high |
+ |
+ * ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
+ AF_INET6 sockets; since Prayer by default enumerates available address |
+ families and calls bind() once for each, conflicts will occur |
+ otherwise (Closes: #607261). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
+ |
+prayer (1.3.3-dfsg1-2) unstable; urgency=high |
+ |
+ * Convert (trivially, since CDBS with quilt was already used) to source |
+ format 3.0 (quilt). |
+ * no_db_version_check.patch: Remove unnecessary and incorrect check that |
+ not only the major and minor version numbers of the current libdb are |
+ the same as at compile time, but also that the patch number is equal |
+ or greater, which should not be a concern (Closes: #592119). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
+ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.5-dfsg1-3/debian/control |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/control (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/control (revision 180) |
@@ -0,0 +1,97 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 7), |
+ libc-client2007e-dev | libc-client-dev, |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.4 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.5-dfsg1-3/debian/patches/disable_ssl3.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/disable_ssl3.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/disable_ssl3.patch (revision 180) |
@@ -0,0 +1,58 @@ |
+Description: Disable SSL 3.0 on client as well as server side |
+Author: Magnus Holmgren <holmgren@debian.org> |
+ |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -387,12 +387,16 @@ void ssl_context_init(struct ssl_config |
+ SSL_load_error_strings(); |
+ |
+ /* Set up client context: only used by accountd */ |
+- client_ctx = SSL_CTX_new(SSLv3_client_method()); |
++ client_ctx = SSL_CTX_new(SSLv23_client_method()); |
+ SSL_CTX_set_session_cache_mode(client_ctx, SSL_SESS_CACHE_BOTH); |
+ SSL_CTX_set_info_callback(client_ctx, info_callback); |
+ #ifdef SSL_MODE_AUTO_RETRY |
+ SSL_CTX_set_mode(client_ctx, SSL_MODE_AUTO_RETRY); |
+ #endif |
++ /* SSLv2 now obsolete */ |
++ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv2); |
++ /* SSLv3 now also obsolete */ |
++ SSL_CTX_set_options(client_ctx, SSL_OP_NO_SSLv3); |
+ |
+ if (SSL_CTX_need_tmp_RSA(client_ctx)) |
+ SSL_CTX_set_tmp_rsa_callback(client_ctx, rsa_callback); |
+@@ -420,6 +424,8 @@ void ssl_context_init(struct ssl_config |
+ |
+ /* SSLv2 now obsolete */ |
+ SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv2); |
++ /* SSLv3 now also obsolete */ |
++ SSL_CTX_set_options(server_ctx, SSL_OP_NO_SSLv3); |
+ |
+ /* Start off with the session cache disabled */ |
+ SSL_CTX_set_session_cache_mode(server_ctx, SSL_SESS_CACHE_OFF); |
+@@ -625,6 +631,12 @@ void *ssl_start_server(int fd, unsigned |
+ case TLS1_VERSION: |
+ ver = "TLSv1"; |
+ break; |
++ case TLS1_1_VERSION: |
++ ver = "TLSv1.1"; |
++ break; |
++ case TLS1_2_VERSION: |
++ ver = "TLSv1.2"; |
++ break; |
+ default: |
+ ver = "UNKNOWN"; |
+ } |
+@@ -678,6 +690,12 @@ void *ssl_start_client(int fd, unsigned |
+ case TLS1_VERSION: |
+ ver = "TLSv1"; |
+ break; |
++ case TLS1_1_VERSION: |
++ ver = "TLSv1.1"; |
++ break; |
++ case TLS1_2_VERSION: |
++ ver = "TLSv1.2"; |
++ break; |
+ default: |
+ ver = "UNKNOWN"; |
+ } |
Index: tags/1.3.5-dfsg1-3/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,241 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,8 +115,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,8 +114,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+ endif |
+ endif |
+ |
+-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
+-SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) |
++PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
++SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) -ldl |
+ |
+ # Add SSL if c-client needs SSL |
+ ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
+@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -146,6 +146,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
+--- a/servers/prayer_shared.h |
++++ b/servers/prayer_shared.h |
+@@ -44,3 +44,4 @@ extern int errno; /* just |
+ #include "mymutex.h" |
+ #include "log.h" |
+ #include "utf8.h" |
++#include "dlopen_templates.h" |
Index: tags/1.3.5-dfsg1-3/debian/patches/hurd.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/hurd.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/hurd.patch (revision 180) |
@@ -0,0 +1,27 @@ |
+--- a/lib/setproctitle.h |
++++ b/lib/setproctitle.h |
+@@ -8,7 +8,9 @@ |
+ |
+ #include <sys/param.h> |
+ |
+-#ifdef __linux__ |
++#if defined(__GNU__) |
++# define SPT_TYPE SPT_CHANGEARGV |
++#elif defined(__linux__) |
+ # define SPT_TYPE SPT_REUSEARGV |
+ # define SPT_PADCHAR '\0' /* pad process title with nulls */ |
+ #elif (defined(BSD) && BSD >= 199306) |
+--- a/accountd/authenticate.c |
++++ b/accountd/authenticate.c |
+@@ -8,11 +8,7 @@ |
+ |
+ #include "accountd.h" |
+ |
+-#ifdef BSD4_4 |
+-#define HAVE_SHADOW 0 |
+-#else |
+ #define HAVE_SHADOW 1 |
+-#endif |
+ |
+ #include <pwd.h> |
+ #if HAVE_SHADOW |
Index: tags/1.3.5-dfsg1-3/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -374,13 +375,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -409,10 +412,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -420,7 +424,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -434,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -452,7 +456,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -601,14 +605,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.3.5-dfsg1-3/debian/patches/series |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/series (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/series (revision 180) |
@@ -0,0 +1,9 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+unbrand_accountd.patch |
+template_sdk.patch |
+no_db_version_check.patch |
+hurd.patch |
+disable_ssl3.patch |
Index: tags/1.3.5-dfsg1-3/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -455,7 +455,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.5-dfsg1-3/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,67 @@ |
+--- a/lib/os.h |
++++ b/lib/os.h |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+--- a/servers/session_server.c |
++++ b/servers/session_server.c |
+@@ -286,6 +286,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -348,6 +349,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+--- a/shared/log.c |
++++ b/shared/log.c |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+--- a/shared/log.h |
++++ b/shared/log.h |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.5-dfsg1-3/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,195 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.5-dfsg1-3/debian/patches/unbrand_accountd.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/unbrand_accountd.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/unbrand_accountd.patch (revision 180) |
@@ -0,0 +1,32 @@ |
+--- a/accountd/filter.c |
++++ b/accountd/filter.c |
+@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
+ |
+ fprintf(file, "# MSshell :: vacation\n"); |
+ fprintf(file, "if personal\n"); |
+- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
+ |
+ if (!filter_print_aliases(config, file)) |
+ return (NIL); |
+@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
+ fprintf(file, ("This message is automatically generated " |
+ "in response to your mail\\n\\" "\n")); |
+ fprintf(file, ("message (perhaps re-directed) to " |
+- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
++ "$local_part@$local_domain.\\n\\n\"\n")); |
+ fprintf(file, " file ${home}/vacation.message\n"); |
+ fprintf(file, " log ${home}/vacation.log\n"); |
+ fprintf(file, " once ${home}/vacation.once\n"); |
+@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
+ threshold = atoi(filter->threshold); |
+ |
+ /* XXX (threshold == 0) okay? */ |
+- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
++ fprintf(file, "if $h_X-Spam-Level contains \""); |
+ |
+ for (i=0 ; i < threshold; i++) |
+- fputc('s', file); |
++ fputc('*', file); |
+ |
+ fprintf(file, "\" then\n"); |
+ fprintf(file, " save mail/spam\n"); |
Index: tags/1.3.5-dfsg1-3/debian/patches/no_db_version_check.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/no_db_version_check.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/no_db_version_check.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
+ |
+ static int init(const char *dbdir, int myflags) |
+ { |
+- int maj, min, patch; |
+- char *vstr; |
+ int r; |
+ |
+ if (dbinit++) return 0; |
+ |
+- vstr = db_version(&maj, &min, &patch); |
+- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
+- DB_VERSION_PATCH > patch) { |
+- log_fatal("incorrect version of Berkeley db: " |
+- "compiled against %d.%d.%d, linked against %d.%d.%d", |
+- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
+- maj, min, patch); |
+- } |
+- |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
Index: tags/1.3.5-dfsg1-3/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.5-dfsg1-3/debian/rules |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/rules (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/rules (revision 180) |
@@ -0,0 +1,16 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+ |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.5-dfsg1-3/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.5-dfsg1-3/debian/watch |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/watch (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/watch (revision 180) |
@@ -0,0 +1,4 @@ |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.5-dfsg1-3/debian/copyright |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/copyright (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2011 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.5-dfsg1-3/debian/compat |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/compat (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+7 |
Index: tags/1.3.5-dfsg1-3/debian/prayer-accountd.8 |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-accountd.8 (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: tags/1.3.5-dfsg1-3/debian/prayer-accountd.manpages |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-accountd.manpages (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: tags/1.3.5-dfsg1-3/debian/source/format |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/source/format (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: tags/1.3.5-dfsg1-3/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-3/debian/prayer.init |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.init (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: tags/1.3.5-dfsg1-3/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.5-dfsg1-3/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg1-3/debian/prayer.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg1-3/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg1-3/debian/prayer.install |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.install (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.5-dfsg1-3/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.5-dfsg1-3/debian/prayer.links |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.links (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.5-dfsg1-3/debian/README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.5-dfsg1-3/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.5-dfsg1-3/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.5-dfsg1-3/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-3/debian/prayer.default |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.default (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.5-dfsg1-3/debian/prayer.examples |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.examples (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.5-dfsg1-3/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg1-3/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg1-3/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg1-3/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.5-dfsg1-3/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg1-3/debian |
=================================================================== |
--- tags/1.3.5-dfsg1-3/debian (nonexistent) |
+++ tags/1.3.5-dfsg1-3/debian (revision 180) |
/tags/1.3.5-dfsg1-3/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.5-dfsg1-3 |
=================================================================== |
--- tags/1.3.5-dfsg1-3 (nonexistent) |
+++ tags/1.3.5-dfsg1-3 (revision 180) |
/tags/1.3.5-dfsg1-3 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.5-dfsg1-2/debian/watch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/watch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/watch (revision 180) |
@@ -0,0 +1,4 @@ |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.5-dfsg1-2/debian/changelog |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/changelog (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/changelog (revision 180) |
@@ -0,0 +1,401 @@ |
+prayer (1.3.5-dfsg1-2) unstable; urgency=high |
+ |
+ * dlopen_templates.patch: Use MYCFLAGS (which is initialized to the |
+ value of CFLAGS from dpkg-buildflags in the Config file) instead of |
+ CFLAGS in templates/{src,cam,old}/Makefile (Closes: #715310, LP: |
+ #1201216). The --defsym options were lost when we let CDBS override |
+ CFLAGS in the previous upload. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 18 Jul 2013 22:47:08 +0200 |
+ |
+prayer (1.3.5-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ * Refresh patches. |
+ * Drop dummy package prayer-templates. |
+ * No longer override CDBS overriding CFLAGS, thereby allowing hardening |
+ flags to be properly propagated. I think it caused internal include |
+ flags to be lost, but since at least 1.3.2 that's no longer the case. |
+ * Bump Standards-Version to 3.9.4. |
+ * hurd.patch: Always define HAVE_SHADOW. The test for BSD4_4 seems |
+ bogus; it is defined on Hurd, but crypt(3) is available there. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 12 Jun 2013 00:09:05 +0200 |
+ |
+prayer (1.3.4-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop ipv6_v6only.patch; fixed upstream. |
+ * template_sdk.patch: templates/src/build_index.pl no longer need to |
+ be patched. |
+ * Bump Standards-Version to 3.9.2. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 27 Aug 2011 22:24:50 +0200 |
+ |
+prayer (1.3.3-dfsg1-4) unstable; urgency=low |
+ |
+ * Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
+ (Closes: #607559). |
+ * dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
+ servers/prayer_shared.h. |
+ * hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
+ setproctitle() on the Hurd. |
+ * Add basic manpage for prayer-accountd(8). |
+ * unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
+ filter handling. |
+ * Drop obsolete Build-Depends alternative libc-client2007b-dev. |
+ * Increase Debhelper compat level to 7. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
+ |
+prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
+ |
+ * Fix FTBFS with ld --as-needed. |
+ |
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
+ |
+prayer (1.3.3-dfsg1-3) unstable; urgency=high |
+ |
+ * ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
+ AF_INET6 sockets; since Prayer by default enumerates available address |
+ families and calls bind() once for each, conflicts will occur |
+ otherwise (Closes: #607261). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
+ |
+prayer (1.3.3-dfsg1-2) unstable; urgency=high |
+ |
+ * Convert (trivially, since CDBS with quilt was already used) to source |
+ format 3.0 (quilt). |
+ * no_db_version_check.patch: Remove unnecessary and incorrect check that |
+ not only the major and minor version numbers of the current libdb are |
+ the same as at compile time, but also that the patch number is equal |
+ or greater, which should not be a concern (Closes: #592119). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
+ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.5-dfsg1-2/debian/rules |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/rules (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/rules (revision 180) |
@@ -0,0 +1,16 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+ |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.5-dfsg1-2/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.5-dfsg1-2/debian/control |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/control (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/control (revision 180) |
@@ -0,0 +1,97 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 7), |
+ libc-client2007e-dev | libc-client-dev, |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.4 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.5-dfsg1-2/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -455,7 +455,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.5-dfsg1-2/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,241 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,8 +115,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++MYCFLAGS = $(BASECFLAGS) -fPIC |
++MYLDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++MYLDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,8 +114,14 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(MYLDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+- $(CC) $(CFLAGS) -I../../lib -c $< |
++ $(CC) $(MYCFLAGS) -I../../lib -c $< |
+ |
+ _template_index_frontend.c: |
+ ../src/build_index.pl $(TYPE) $(T_FILES_FRONTEND) > _template_index_frontend.c |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+ endif |
+ endif |
+ |
+-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
+-SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) |
++PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
++SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) -ldl |
+ |
+ # Add SSL if c-client needs SSL |
+ ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
+@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -146,6 +146,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
+--- a/servers/prayer_shared.h |
++++ b/servers/prayer_shared.h |
+@@ -44,3 +44,4 @@ extern int errno; /* just |
+ #include "mymutex.h" |
+ #include "log.h" |
+ #include "utf8.h" |
++#include "dlopen_templates.h" |
Index: tags/1.3.5-dfsg1-2/debian/patches/hurd.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/hurd.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/hurd.patch (revision 180) |
@@ -0,0 +1,27 @@ |
+--- a/lib/setproctitle.h |
++++ b/lib/setproctitle.h |
+@@ -8,7 +8,9 @@ |
+ |
+ #include <sys/param.h> |
+ |
+-#ifdef __linux__ |
++#if defined(__GNU__) |
++# define SPT_TYPE SPT_CHANGEARGV |
++#elif defined(__linux__) |
+ # define SPT_TYPE SPT_REUSEARGV |
+ # define SPT_PADCHAR '\0' /* pad process title with nulls */ |
+ #elif (defined(BSD) && BSD >= 199306) |
+--- a/accountd/authenticate.c |
++++ b/accountd/authenticate.c |
+@@ -8,11 +8,7 @@ |
+ |
+ #include "accountd.h" |
+ |
+-#ifdef BSD4_4 |
+-#define HAVE_SHADOW 0 |
+-#else |
+ #define HAVE_SHADOW 1 |
+-#endif |
+ |
+ #include <pwd.h> |
+ #if HAVE_SHADOW |
Index: tags/1.3.5-dfsg1-2/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -374,13 +375,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -409,10 +412,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -420,7 +424,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -434,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -452,7 +456,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -601,14 +605,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.3.5-dfsg1-2/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,67 @@ |
+--- a/lib/os.h |
++++ b/lib/os.h |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+--- a/servers/session_server.c |
++++ b/servers/session_server.c |
+@@ -286,6 +286,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -348,6 +349,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+--- a/shared/log.c |
++++ b/shared/log.c |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+--- a/shared/log.h |
++++ b/shared/log.h |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.5-dfsg1-2/debian/patches/series |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/series (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+unbrand_accountd.patch |
+template_sdk.patch |
+no_db_version_check.patch |
+hurd.patch |
Index: tags/1.3.5-dfsg1-2/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,195 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.5-dfsg1-2/debian/patches/unbrand_accountd.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/unbrand_accountd.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/unbrand_accountd.patch (revision 180) |
@@ -0,0 +1,32 @@ |
+--- a/accountd/filter.c |
++++ b/accountd/filter.c |
+@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
+ |
+ fprintf(file, "# MSshell :: vacation\n"); |
+ fprintf(file, "if personal\n"); |
+- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
+ |
+ if (!filter_print_aliases(config, file)) |
+ return (NIL); |
+@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
+ fprintf(file, ("This message is automatically generated " |
+ "in response to your mail\\n\\" "\n")); |
+ fprintf(file, ("message (perhaps re-directed) to " |
+- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
++ "$local_part@$local_domain.\\n\\n\"\n")); |
+ fprintf(file, " file ${home}/vacation.message\n"); |
+ fprintf(file, " log ${home}/vacation.log\n"); |
+ fprintf(file, " once ${home}/vacation.once\n"); |
+@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
+ threshold = atoi(filter->threshold); |
+ |
+ /* XXX (threshold == 0) okay? */ |
+- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
++ fprintf(file, "if $h_X-Spam-Level contains \""); |
+ |
+ for (i=0 ; i < threshold; i++) |
+- fputc('s', file); |
++ fputc('*', file); |
+ |
+ fprintf(file, "\" then\n"); |
+ fprintf(file, " save mail/spam\n"); |
Index: tags/1.3.5-dfsg1-2/debian/patches/no_db_version_check.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/no_db_version_check.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/no_db_version_check.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
+ |
+ static int init(const char *dbdir, int myflags) |
+ { |
+- int maj, min, patch; |
+- char *vstr; |
+ int r; |
+ |
+ if (dbinit++) return 0; |
+ |
+- vstr = db_version(&maj, &min, &patch); |
+- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
+- DB_VERSION_PATCH > patch) { |
+- log_fatal("incorrect version of Berkeley db: " |
+- "compiled against %d.%d.%d, linked against %d.%d.%d", |
+- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
+- maj, min, patch); |
+- } |
+- |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
Index: tags/1.3.5-dfsg1-2/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.5-dfsg1-2/debian/copyright |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/copyright (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2011 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.5-dfsg1-2/debian/compat |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/compat (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+7 |
Index: tags/1.3.5-dfsg1-2/debian/prayer-accountd.8 |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-accountd.8 (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: tags/1.3.5-dfsg1-2/debian/prayer-accountd.manpages |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-accountd.manpages (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: tags/1.3.5-dfsg1-2/debian/source/format |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/source/format (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: tags/1.3.5-dfsg1-2/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-2/debian/prayer.init |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.init (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-2/debian/Config |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/Config (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: tags/1.3.5-dfsg1-2/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.5-dfsg1-2/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg1-2/debian/prayer.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg1-2/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg1-2/debian/prayer.install |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.install (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.5-dfsg1-2/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.5-dfsg1-2/debian/prayer.links |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.links (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.5-dfsg1-2/debian/README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.5-dfsg1-2/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.5-dfsg1-2/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.5-dfsg1-2/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg1-2/debian/prayer.default |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.default (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.5-dfsg1-2/debian/prayer.examples |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.examples (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.5-dfsg1-2/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg1-2/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg1-2/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg1-2/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.5-dfsg1-2/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg1-2/debian |
=================================================================== |
--- tags/1.3.5-dfsg1-2/debian (nonexistent) |
+++ tags/1.3.5-dfsg1-2/debian (revision 180) |
/tags/1.3.5-dfsg1-2/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.5-dfsg1-2 |
=================================================================== |
--- tags/1.3.5-dfsg1-2 (nonexistent) |
+++ tags/1.3.5-dfsg1-2 (revision 180) |
/tags/1.3.5-dfsg1-2 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.5-dfsg-1/debian/changelog |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/changelog (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/changelog (revision 180) |
@@ -0,0 +1,391 @@ |
+prayer (1.3.5-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ * Refresh patches. |
+ * Drop dummy package prayer-templates. |
+ * No longer override CDBS overriding CFLAGS, thereby allowing hardening |
+ flags to be properly propagated. I think it caused internal include |
+ flags to be lost, but since at least 1.3.2 that's no longer the case. |
+ * Bump Standards-Version to 3.9.4. |
+ * hurd.patch: Always define HAVE_SHADOW. The test for BSD4_4 seems |
+ bogus; it is defined on Hurd, but crypt(3) is available there. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 12 Jun 2013 00:09:05 +0200 |
+ |
+prayer (1.3.4-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop ipv6_v6only.patch; fixed upstream. |
+ * template_sdk.patch: templates/src/build_index.pl no longer need to |
+ be patched. |
+ * Bump Standards-Version to 3.9.2. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 27 Aug 2011 22:24:50 +0200 |
+ |
+prayer (1.3.3-dfsg1-4) unstable; urgency=low |
+ |
+ * Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
+ (Closes: #607559). |
+ * dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
+ servers/prayer_shared.h. |
+ * hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
+ setproctitle() on the Hurd. |
+ * Add basic manpage for prayer-accountd(8). |
+ * unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
+ filter handling. |
+ * Drop obsolete Build-Depends alternative libc-client2007b-dev. |
+ * Increase Debhelper compat level to 7. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
+ |
+prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
+ |
+ * Fix FTBFS with ld --as-needed. |
+ |
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
+ |
+prayer (1.3.3-dfsg1-3) unstable; urgency=high |
+ |
+ * ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
+ AF_INET6 sockets; since Prayer by default enumerates available address |
+ families and calls bind() once for each, conflicts will occur |
+ otherwise (Closes: #607261). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
+ |
+prayer (1.3.3-dfsg1-2) unstable; urgency=high |
+ |
+ * Convert (trivially, since CDBS with quilt was already used) to source |
+ format 3.0 (quilt). |
+ * no_db_version_check.patch: Remove unnecessary and incorrect check that |
+ not only the major and minor version numbers of the current libdb are |
+ the same as at compile time, but also that the patch number is equal |
+ or greater, which should not be a concern (Closes: #592119). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
+ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.5-dfsg-1/debian/patches/hurd.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/hurd.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/hurd.patch (revision 180) |
@@ -0,0 +1,27 @@ |
+--- a/lib/setproctitle.h |
++++ b/lib/setproctitle.h |
+@@ -8,7 +8,9 @@ |
+ |
+ #include <sys/param.h> |
+ |
+-#ifdef __linux__ |
++#if defined(__GNU__) |
++# define SPT_TYPE SPT_CHANGEARGV |
++#elif defined(__linux__) |
+ # define SPT_TYPE SPT_REUSEARGV |
+ # define SPT_PADCHAR '\0' /* pad process title with nulls */ |
+ #elif (defined(BSD) && BSD >= 199306) |
+--- a/accountd/authenticate.c |
++++ b/accountd/authenticate.c |
+@@ -8,11 +8,7 @@ |
+ |
+ #include "accountd.h" |
+ |
+-#ifdef BSD4_4 |
+-#define HAVE_SHADOW 0 |
+-#else |
+ #define HAVE_SHADOW 1 |
+-#endif |
+ |
+ #include <pwd.h> |
+ #if HAVE_SHADOW |
Index: tags/1.3.5-dfsg-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -374,13 +375,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -409,10 +412,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -420,7 +424,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -434,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -452,7 +456,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -601,14 +605,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.3.5-dfsg-1/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -455,7 +455,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.5-dfsg-1/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,235 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,6 +115,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,6 +114,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+ endif |
+ endif |
+ |
+-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
+-SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) |
++PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
++SESSION_LIBS = $(CCLIENT_LIBS) $(BASE_LIBS) -ldl |
+ |
+ # Add SSL if c-client needs SSL |
+ ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
+@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -146,6 +146,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
+--- a/servers/prayer_shared.h |
++++ b/servers/prayer_shared.h |
+@@ -44,3 +44,4 @@ extern int errno; /* just |
+ #include "mymutex.h" |
+ #include "log.h" |
+ #include "utf8.h" |
++#include "dlopen_templates.h" |
Index: tags/1.3.5-dfsg-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,67 @@ |
+--- a/lib/os.h |
++++ b/lib/os.h |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+--- a/servers/session_server.c |
++++ b/servers/session_server.c |
+@@ -286,6 +286,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -348,6 +349,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+--- a/shared/log.c |
++++ b/shared/log.c |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+--- a/shared/log.h |
++++ b/shared/log.h |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.5-dfsg-1/debian/patches/series |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/series (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+unbrand_accountd.patch |
+template_sdk.patch |
+no_db_version_check.patch |
+hurd.patch |
Index: tags/1.3.5-dfsg-1/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,195 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.5-dfsg-1/debian/patches/unbrand_accountd.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/unbrand_accountd.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/unbrand_accountd.patch (revision 180) |
@@ -0,0 +1,32 @@ |
+--- a/accountd/filter.c |
++++ b/accountd/filter.c |
+@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
+ |
+ fprintf(file, "# MSshell :: vacation\n"); |
+ fprintf(file, "if personal\n"); |
+- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
+ |
+ if (!filter_print_aliases(config, file)) |
+ return (NIL); |
+@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
+ fprintf(file, ("This message is automatically generated " |
+ "in response to your mail\\n\\" "\n")); |
+ fprintf(file, ("message (perhaps re-directed) to " |
+- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
++ "$local_part@$local_domain.\\n\\n\"\n")); |
+ fprintf(file, " file ${home}/vacation.message\n"); |
+ fprintf(file, " log ${home}/vacation.log\n"); |
+ fprintf(file, " once ${home}/vacation.once\n"); |
+@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
+ threshold = atoi(filter->threshold); |
+ |
+ /* XXX (threshold == 0) okay? */ |
+- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
++ fprintf(file, "if $h_X-Spam-Level contains \""); |
+ |
+ for (i=0 ; i < threshold; i++) |
+- fputc('s', file); |
++ fputc('*', file); |
+ |
+ fprintf(file, "\" then\n"); |
+ fprintf(file, " save mail/spam\n"); |
Index: tags/1.3.5-dfsg-1/debian/patches/no_db_version_check.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/no_db_version_check.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/no_db_version_check.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
+ |
+ static int init(const char *dbdir, int myflags) |
+ { |
+- int maj, min, patch; |
+- char *vstr; |
+ int r; |
+ |
+ if (dbinit++) return 0; |
+ |
+- vstr = db_version(&maj, &min, &patch); |
+- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
+- DB_VERSION_PATCH > patch) { |
+- log_fatal("incorrect version of Berkeley db: " |
+- "compiled against %d.%d.%d, linked against %d.%d.%d", |
+- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
+- maj, min, patch); |
+- } |
+- |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
Index: tags/1.3.5-dfsg-1/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.5-dfsg-1/debian/control |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/control (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/control (revision 180) |
@@ -0,0 +1,97 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 7), |
+ libc-client2007e-dev | libc-client-dev, |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.4 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.5-dfsg-1/debian/rules |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/rules (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/rules (revision 180) |
@@ -0,0 +1,16 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+ |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.5-dfsg-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.5-dfsg-1/debian/watch |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/watch (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/watch (revision 180) |
@@ -0,0 +1,4 @@ |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.5-dfsg-1/debian/copyright |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/copyright (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2011 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.5-dfsg-1/debian/compat |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/compat (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+7 |
Index: tags/1.3.5-dfsg-1/debian/prayer-accountd.8 |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-accountd.8 (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: tags/1.3.5-dfsg-1/debian/prayer-accountd.manpages |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-accountd.manpages (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: tags/1.3.5-dfsg-1/debian/source/format |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/source/format (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: tags/1.3.5-dfsg-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg-1/debian/prayer.init |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.init (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg-1/debian/Config |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/Config (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg-1/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: tags/1.3.5-dfsg-1/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.5-dfsg-1/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg-1/debian/prayer.docs |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.docs (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg-1/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.5-dfsg-1/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.5-dfsg-1/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.5-dfsg-1/debian/prayer.install |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.install (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.5-dfsg-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.5-dfsg-1/debian/prayer.links |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.links (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.5-dfsg-1/debian/README.Debian |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/README.Debian (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.5-dfsg-1/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.5-dfsg-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.5-dfsg-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.5-dfsg-1/debian/prayer.default |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.default (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.5-dfsg-1/debian/prayer.examples |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.examples (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.5-dfsg-1/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg-1/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.5-dfsg-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.5-dfsg-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.5-dfsg-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.5-dfsg-1/debian |
=================================================================== |
--- tags/1.3.5-dfsg-1/debian (nonexistent) |
+++ tags/1.3.5-dfsg-1/debian (revision 180) |
/tags/1.3.5-dfsg-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.5-dfsg-1 |
=================================================================== |
--- tags/1.3.5-dfsg-1 (nonexistent) |
+++ tags/1.3.5-dfsg-1 (revision 180) |
/tags/1.3.5-dfsg-1 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.4-dfsg1-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,67 @@ |
+--- a/lib/os.h |
++++ b/lib/os.h |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+--- a/servers/session_server.c |
++++ b/servers/session_server.c |
+@@ -286,6 +286,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -348,6 +349,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+--- a/shared/log.c |
++++ b/shared/log.c |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+--- a/shared/log.h |
++++ b/shared/log.h |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.4-dfsg1-1/debian/patches/series |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/series (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+unbrand_accountd.patch |
+template_sdk.patch |
+no_db_version_check.patch |
+hurd.patch |
Index: tags/1.3.4-dfsg1-1/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,195 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.4-dfsg1-1/debian/patches/unbrand_accountd.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/unbrand_accountd.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/unbrand_accountd.patch (revision 180) |
@@ -0,0 +1,32 @@ |
+--- a/accountd/filter.c |
++++ b/accountd/filter.c |
+@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
+ |
+ fprintf(file, "# MSshell :: vacation\n"); |
+ fprintf(file, "if personal\n"); |
+- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
+ |
+ if (!filter_print_aliases(config, file)) |
+ return (NIL); |
+@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
+ fprintf(file, ("This message is automatically generated " |
+ "in response to your mail\\n\\" "\n")); |
+ fprintf(file, ("message (perhaps re-directed) to " |
+- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
++ "$local_part@$local_domain.\\n\\n\"\n")); |
+ fprintf(file, " file ${home}/vacation.message\n"); |
+ fprintf(file, " log ${home}/vacation.log\n"); |
+ fprintf(file, " once ${home}/vacation.once\n"); |
+@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
+ threshold = atoi(filter->threshold); |
+ |
+ /* XXX (threshold == 0) okay? */ |
+- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
++ fprintf(file, "if $h_X-Spam-Level contains \""); |
+ |
+ for (i=0 ; i < threshold; i++) |
+- fputc('s', file); |
++ fputc('*', file); |
+ |
+ fprintf(file, "\" then\n"); |
+ fprintf(file, " save mail/spam\n"); |
Index: tags/1.3.4-dfsg1-1/debian/patches/hurd.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/hurd.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/hurd.patch (revision 180) |
@@ -0,0 +1,13 @@ |
+--- a/lib/setproctitle.h |
++++ b/lib/setproctitle.h |
+@@ -8,7 +8,9 @@ |
+ |
+ #include <sys/param.h> |
+ |
+-#ifdef __linux__ |
++#if defined(__GNU__) |
++# define SPT_TYPE SPT_CHANGEARGV |
++#elif defined(__linux__) |
+ # define SPT_TYPE SPT_REUSEARGV |
+ # define SPT_PADCHAR '\0' /* pad process title with nulls */ |
+ #elif (defined(BSD) && BSD >= 199306) |
Index: tags/1.3.4-dfsg1-1/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,235 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,6 +115,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,6 +114,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+ endif |
+ endif |
+ |
+-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
+-SESSION_LIBS = $(BASE_LIBS) $(CCLIENT_LIBS) |
++PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
++SESSION_LIBS = $(BASE_LIBS) $(CCLIENT_LIBS) -ldl |
+ |
+ # Add SSL if c-client needs SSL |
+ ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
+@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -144,6 +144,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
+--- a/servers/prayer_shared.h |
++++ b/servers/prayer_shared.h |
+@@ -44,3 +44,4 @@ extern int errno; /* just |
+ #include "mymutex.h" |
+ #include "log.h" |
+ #include "utf8.h" |
++#include "dlopen_templates.h" |
Index: tags/1.3.4-dfsg1-1/debian/patches/no_db_version_check.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/no_db_version_check.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/no_db_version_check.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
+ |
+ static int init(const char *dbdir, int myflags) |
+ { |
+- int maj, min, patch; |
+- char *vstr; |
+ int r; |
+ |
+ if (dbinit++) return 0; |
+ |
+- vstr = db_version(&maj, &min, &patch); |
+- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
+- DB_VERSION_PATCH > patch) { |
+- log_fatal("incorrect version of Berkeley db: " |
+- "compiled against %d.%d.%d, linked against %d.%d.%d", |
+- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
+- maj, min, patch); |
+- } |
+- |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
Index: tags/1.3.4-dfsg1-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -376,13 +364,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -411,10 +401,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -422,7 +413,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -436,7 +427,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -454,7 +445,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -603,14 +594,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.3.4-dfsg1-1/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.4-dfsg1-1/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -444,7 +444,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.4-dfsg1-1/debian/control |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/control (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/control (revision 180) |
@@ -0,0 +1,104 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 7), |
+ libc-client2007e-dev | libc-client-dev, |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.2 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: prayer-templates-src, ${misc:Depends} |
+Description: dummy package depending on prayer-templates-src |
+ The Prayer template source package is now called prayer-templates-src. |
+ This package can safely be removed after upgrade. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.4-dfsg1-1/debian/changelog |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/changelog (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/changelog (revision 180) |
@@ -0,0 +1,377 @@ |
+prayer (1.3.4-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop ipv6_v6only.patch; fixed upstream. |
+ * template_sdk.patch: templates/src/build_index.pl no longer need to |
+ be patched. |
+ * Bump Standards-Version to 3.9.2. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 27 Aug 2011 22:24:50 +0200 |
+ |
+prayer (1.3.3-dfsg1-4) unstable; urgency=low |
+ |
+ * Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
+ (Closes: #607559). |
+ * dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
+ servers/prayer_shared.h. |
+ * hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
+ setproctitle() on the Hurd. |
+ * Add basic manpage for prayer-accountd(8). |
+ * unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
+ filter handling. |
+ * Drop obsolete Build-Depends alternative libc-client2007b-dev. |
+ * Increase Debhelper compat level to 7. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
+ |
+prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
+ |
+ * Fix FTBFS with ld --as-needed. |
+ |
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
+ |
+prayer (1.3.3-dfsg1-3) unstable; urgency=high |
+ |
+ * ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
+ AF_INET6 sockets; since Prayer by default enumerates available address |
+ families and calls bind() once for each, conflicts will occur |
+ otherwise (Closes: #607261). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
+ |
+prayer (1.3.3-dfsg1-2) unstable; urgency=high |
+ |
+ * Convert (trivially, since CDBS with quilt was already used) to source |
+ format 3.0 (quilt). |
+ * no_db_version_check.patch: Remove unnecessary and incorrect check that |
+ not only the major and minor version numbers of the current libdb are |
+ the same as at compile time, but also that the patch number is equal |
+ or greater, which should not be a concern (Closes: #592119). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
+ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.4-dfsg1-1/debian/copyright |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/copyright (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2011 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.4-dfsg1-1/debian/compat |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/compat (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+7 |
Index: tags/1.3.4-dfsg1-1/debian/prayer-accountd.8 |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-accountd.8 (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: tags/1.3.4-dfsg1-1/debian/prayer-accountd.manpages |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-accountd.manpages (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: tags/1.3.4-dfsg1-1/debian/rules |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/rules (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_prayer-templates = --link-doc=prayer-templates-src |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.4-dfsg1-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.4-dfsg1-1/debian/source/format |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/source/format (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: tags/1.3.4-dfsg1-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.4-dfsg1-1/debian/prayer.init |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.init (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.4-dfsg1-1/debian/Config |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/Config (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: tags/1.3.4-dfsg1-1/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.4-dfsg1-1/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.4-dfsg1-1/debian/prayer.docs |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.docs (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.4-dfsg1-1/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.4-dfsg1-1/debian/prayer.install |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.install (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.4-dfsg1-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.4-dfsg1-1/debian/prayer.links |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.links (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.4-dfsg1-1/debian/README.Debian |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/README.Debian (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.4-dfsg1-1/debian/watch |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/watch (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/watch (revision 180) |
@@ -0,0 +1,10 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.4-dfsg1-1/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.4-dfsg1-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.4-dfsg1-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.4-dfsg1-1/debian/prayer.default |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.default (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.4-dfsg1-1/debian/prayer.examples |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.examples (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.4-dfsg1-1/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.4-dfsg1-1/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.4-dfsg1-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.4-dfsg1-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.4-dfsg1-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.4-dfsg1-1/debian |
=================================================================== |
--- tags/1.3.4-dfsg1-1/debian (nonexistent) |
+++ tags/1.3.4-dfsg1-1/debian (revision 180) |
/tags/1.3.4-dfsg1-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.4-dfsg1-1 |
=================================================================== |
--- tags/1.3.4-dfsg1-1 (nonexistent) |
+++ tags/1.3.4-dfsg1-1 (revision 180) |
/tags/1.3.4-dfsg1-1 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.3-dfsg1-4/debian/control |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/control (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/control (revision 180) |
@@ -0,0 +1,104 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 7), |
+ libc-client2007e-dev | libc-client-dev, |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.1 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: prayer-templates-src, ${misc:Depends} |
+Description: dummy package depending on prayer-templates-src |
+ The Prayer template source package is now called prayer-templates-src. |
+ This package can safely be removed after upgrade. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.3-dfsg1-4/debian/patches/ipv6_v6only.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/ipv6_v6only.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/ipv6_v6only.patch (revision 180) |
@@ -0,0 +1,18 @@ |
+--- a/lib/os.c |
++++ b/lib/os.c |
+@@ -217,6 +217,15 @@ int *os_bind_inet_socket(unsigned long p |
+ close(sockfd); |
+ return(NIL); |
+ } |
++#if defined(IPV6_V6ONLY) && defined(AF_INET6) |
++ if (ai->ai_family == AF_INET6) { |
++ if (setsockopt |
++ (sockfd, IPPROTO_IPV6, IPV6_V6ONLY, (void *) &optval, sizeof(int))) |
++ log_misc(("[os_bind_inet_socket()] setsockopt() failed: " |
++ "couldn't set IPV6_V6ONLY: %s"), strerror(errno)); |
++ } |
++#endif |
++ |
+ |
+ /* bind() as Internet domain socket */ |
+ memcpy(&serv_addr, ai->ai_addr, ai->ai_addrlen); |
Index: tags/1.3.3-dfsg1-4/debian/patches/hurd.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/hurd.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/hurd.patch (revision 180) |
@@ -0,0 +1,13 @@ |
+--- a/lib/setproctitle.h |
++++ b/lib/setproctitle.h |
+@@ -8,7 +8,9 @@ |
+ |
+ #include <sys/param.h> |
+ |
+-#ifdef __linux__ |
++#if defined(__GNU__) |
++# define SPT_TYPE SPT_CHANGEARGV |
++#elif defined(__linux__) |
+ # define SPT_TYPE SPT_REUSEARGV |
+ # define SPT_PADCHAR '\0' /* pad process title with nulls */ |
+ #elif (defined(BSD) && BSD >= 199306) |
Index: tags/1.3.3-dfsg1-4/debian/patches/no_db_version_check.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/no_db_version_check.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/no_db_version_check.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -190,21 +190,10 @@ static int myinit(const char *dbdir, int |
+ |
+ static int init(const char *dbdir, int myflags) |
+ { |
+- int maj, min, patch; |
+- char *vstr; |
+ int r; |
+ |
+ if (dbinit++) return 0; |
+ |
+- vstr = db_version(&maj, &min, &patch); |
+- if (maj != DB_VERSION_MAJOR || min != DB_VERSION_MINOR || |
+- DB_VERSION_PATCH > patch) { |
+- log_fatal("incorrect version of Berkeley db: " |
+- "compiled against %d.%d.%d, linked against %d.%d.%d", |
+- DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, |
+- maj, min, patch); |
+- } |
+- |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
Index: tags/1.3.3-dfsg1-4/debian/patches/unbrand_accountd.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/unbrand_accountd.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/unbrand_accountd.patch (revision 180) |
@@ -0,0 +1,32 @@ |
+--- a/accountd/filter.c |
++++ b/accountd/filter.c |
+@@ -266,7 +266,6 @@ filter_print_vacation(struct config *con |
+ |
+ fprintf(file, "# MSshell :: vacation\n"); |
+ fprintf(file, "if personal\n"); |
+- fprintf(file, " alias %s@cam.ac.uk\n", pwd->pw_name); |
+ |
+ if (!filter_print_aliases(config, file)) |
+ return (NIL); |
+@@ -278,7 +277,7 @@ filter_print_vacation(struct config *con |
+ fprintf(file, ("This message is automatically generated " |
+ "in response to your mail\\n\\" "\n")); |
+ fprintf(file, ("message (perhaps re-directed) to " |
+- "$local_part@hermes.cam.ac.uk.\\n\\n\"\n")); |
++ "$local_part@$local_domain.\\n\\n\"\n")); |
+ fprintf(file, " file ${home}/vacation.message\n"); |
+ fprintf(file, " log ${home}/vacation.log\n"); |
+ fprintf(file, " once ${home}/vacation.once\n"); |
+@@ -307,10 +306,10 @@ filter_print_spam(struct config *config, |
+ threshold = atoi(filter->threshold); |
+ |
+ /* XXX (threshold == 0) okay? */ |
+- fprintf(file, "if $h_X-Cam-SpamScore contains \""); |
++ fprintf(file, "if $h_X-Spam-Level contains \""); |
+ |
+ for (i=0 ; i < threshold; i++) |
+- fputc('s', file); |
++ fputc('*', file); |
+ |
+ fprintf(file, "\" then\n"); |
+ fprintf(file, " save mail/spam\n"); |
Index: tags/1.3.3-dfsg1-4/debian/patches/series |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/series (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/series (revision 180) |
@@ -0,0 +1,9 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+unbrand_accountd.patch |
+template_sdk.patch |
+no_db_version_check.patch |
+ipv6_v6only.patch |
+hurd.patch |
Index: tags/1.3.3-dfsg1-4/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,235 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,6 +115,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,6 +114,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -60,8 +60,8 @@ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+ endif |
+ endif |
+ |
+-PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) |
+-SESSION_LIBS = $(BASE_LIBS) $(CCLIENT_LIBS) |
++PRAYER_LIBS = $(BASE_LIBS) $(SERVER_SSL_LIBS) -ldl |
++SESSION_LIBS = $(BASE_LIBS) $(CCLIENT_LIBS) -ldl |
+ |
+ # Add SSL if c-client needs SSL |
+ ifeq ($(strip $(CCLIENT_SSL_ENABLE)), true) |
+@@ -90,15 +90,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -144,6 +144,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
+--- a/servers/prayer_shared.h |
++++ b/servers/prayer_shared.h |
+@@ -44,3 +44,4 @@ extern int errno; /* just |
+ #include "mymutex.h" |
+ #include "log.h" |
+ #include "utf8.h" |
++#include "dlopen_templates.h" |
Index: tags/1.3.3-dfsg1-4/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,207 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
+--- a/templates/src/build_index.pl |
++++ b/templates/src/build_index.pl |
+@@ -18,7 +18,8 @@ foreach $i (@ARGV) { |
+ @templates = sort(@templates); |
+ |
+ print <<'EOM'; |
+-#include "lib.h" |
++#include "misc.h" |
++#include "template_structs.h" |
+ |
+ EOM |
+ |
Index: tags/1.3.3-dfsg1-4/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -376,13 +364,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -411,10 +401,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -422,7 +413,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -436,7 +427,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -454,7 +445,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -603,14 +594,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.3.3-dfsg1-4/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.3-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -444,7 +444,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.3-dfsg1-4/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.3-dfsg1-4/debian/prayer-accountd.manpages |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-accountd.manpages (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-accountd.manpages (revision 180) |
@@ -0,0 +1 @@ |
+debian/prayer-accountd.8 |
Index: tags/1.3.3-dfsg1-4/debian/compat |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/compat (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+7 |
Index: tags/1.3.3-dfsg1-4/debian/changelog |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/changelog (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/changelog (revision 180) |
@@ -0,0 +1,367 @@ |
+prayer (1.3.3-dfsg1-4) unstable; urgency=low |
+ |
+ * Merge ld-as-needed.diff from Ubuntu into dlopen_templates.patch |
+ (Closes: #607559). |
+ * dlopen_templates.patch: Add missing #include "dlopen_templates.h" to |
+ servers/prayer_shared.h. |
+ * hurd.patch (new): Use the SPT_CHANGEARGV implementation of |
+ setproctitle() on the Hurd. |
+ * Add basic manpage for prayer-accountd(8). |
+ * unbrand_accountd.patch: Remove some Cambridge-specific parts of the |
+ filter handling. |
+ * Drop obsolete Build-Depends alternative libc-client2007b-dev. |
+ * Increase Debhelper compat level to 7. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Mar 2011 22:49:18 +0200 |
+ |
+prayer (1.3.3-dfsg1-3ubuntu1) natty; urgency=low |
+ |
+ * Fix FTBFS with ld --as-needed. |
+ |
+ -- Matthias Klose <doko@ubuntu.com> Sun, 19 Dec 2010 19:07:04 +0100 |
+ |
+prayer (1.3.3-dfsg1-3) unstable; urgency=high |
+ |
+ * ipv6_v6only.patch (new): Set the IPV6_V6ONLY socket option on |
+ AF_INET6 sockets; since Prayer by default enumerates available address |
+ families and calls bind() once for each, conflicts will occur |
+ otherwise (Closes: #607261). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 16 Dec 2010 20:16:41 +0100 |
+ |
+prayer (1.3.3-dfsg1-2) unstable; urgency=high |
+ |
+ * Convert (trivially, since CDBS with quilt was already used) to source |
+ format 3.0 (quilt). |
+ * no_db_version_check.patch: Remove unnecessary and incorrect check that |
+ not only the major and minor version numbers of the current libdb are |
+ the same as at compile time, but also that the patch number is equal |
+ or greater, which should not be a concern (Closes: #592119). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 07 Aug 2010 21:07:53 +0200 |
+ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.3-dfsg1-4/debian/rules |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/rules (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_prayer-templates = --link-doc=prayer-templates-src |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.3-dfsg1-4/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.3-dfsg1-4/debian/source/format |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/source/format (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/source/format (revision 180) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: tags/1.3.3-dfsg1-4/debian/prayer-accountd.8 |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-accountd.8 (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-accountd.8 (revision 180) |
@@ -0,0 +1,78 @@ |
+.Dd 27 March 2011 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-ACCOUNTD 8 |
+.Sh NAME |
+.Nm prayer-accountd |
+.Nd Prayer system account helper daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -enable-fork | -disable-fork |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is an auxilliary daemon that allows users to perform various tasks |
+with respect to their UNIX system account: |
+.Bl -bullet |
+.It |
+Change passwords |
+.It |
+Change their name |
+.It |
+Check filesystem quota |
+.El |
+.Pp |
+Furthermore it can help users set up an |
+.Sy ( Exim-only ) |
+.Pa .forward |
+file for Spam filtering, vacation auto-replies etc. |
+.Pp |
+.Nm |
+can be installed on a separate host from the main Prayer services if necessary. |
+It needs to be able to run |
+.Xr passwd 1 , |
+.Xr chfn 1 , |
+and |
+.Xr quota 1 |
+for the user, and access users' home directories. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -enable-fork |
+Fork subprocesses as requests come in. This is the default. |
+.It Fl -disable-fork |
+Don't fork; process one request in at the time (debug mode). |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/accountd.cf |
+Default configuration file. |
+.El |
+. |
+.Sh BUGS |
+.Nm |
+is rather customized to the needs of the University of Cambridge, |
+though some patches have been applied to the Debian package. System |
+administrators should study the source code to see what this means. |
+. |
+.Sh AUTHORS |
+. |
+This introductory manual page was put together for Debian by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> . |
Index: tags/1.3.3-dfsg1-4/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.3-dfsg1-4/debian/prayer.init |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.init (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.3-dfsg1-4/debian/Config |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/Config (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: tags/1.3.3-dfsg1-4/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.3-dfsg1-4/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.3-dfsg1-4/debian/prayer.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.3-dfsg1-4/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.3-dfsg1-4/debian/prayer.install |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.install (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.3-dfsg1-4/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.3-dfsg1-4/debian/prayer.links |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.links (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.3-dfsg1-4/debian/README.Debian |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/README.Debian (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.3-dfsg1-4/debian/watch |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/watch (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/watch (revision 180) |
@@ -0,0 +1,10 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.3-dfsg1-4/debian/copyright |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/copyright (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.3-dfsg1-4/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.3-dfsg1-4/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.3-dfsg1-4/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.3-dfsg1-4/debian/prayer.default |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.default (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.3-dfsg1-4/debian/prayer.examples |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.examples (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.3-dfsg1-4/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.3-dfsg1-4/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.3-dfsg1-4/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.3-dfsg1-4/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.3-dfsg1-4/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.3-dfsg1-4/debian |
=================================================================== |
--- tags/1.3.3-dfsg1-4/debian (nonexistent) |
+++ tags/1.3.3-dfsg1-4/debian (revision 180) |
/tags/1.3.3-dfsg1-4/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.3-dfsg1-4 |
=================================================================== |
--- tags/1.3.3-dfsg1-4 (nonexistent) |
+++ tags/1.3.3-dfsg1-4 (revision 180) |
/tags/1.3.3-dfsg1-4 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.3-dfsg1-1/debian/changelog |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/changelog (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/changelog (revision 180) |
@@ -0,0 +1,325 @@ |
+prayer (1.3.3-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Dropped kfreebsd.patch, clean_completely.patch, and |
+ manpage_error.patch; all incorporated upstream. |
+ * makefile_install_config.patch: Updated; some parts incorporated |
+ upstream. |
+ * prayer-templates-dev.install: Only template_structs.h and misc.h |
+ needed henceforth, since only those files are #included by compiled |
+ templates. |
+ * template_sdk.patch: The #include that templates/src/build_index.pl |
+ generates was not changed, though. |
+ * debian/Config, debian/control: Enable libtidy for HTML parsing and |
+ sanitisation, fixing certain XSS problems, which were due to simple |
+ substring matching being used. |
+ * prayer.init, prayer-accountd.init: Add $remote_fs to, and move |
+ $local_fs to, Required-Start. |
+ * Upgrade to Standards-Version 3.9.0: |
+ * Use Breaks instead of Conflicts to handle the renaming of |
+ prayer-templates. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 22 Jul 2010 03:27:52 +0200 |
+ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.3-dfsg1-1/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,207 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) $(BASE_LIBS) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) $(BASE_LIBS) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- a/templates/src/makedeps.pl |
++++ b/templates/src/makedeps.pl |
+@@ -4,51 +4,44 @@ |
+ # |
+ # Generate proper list of dependancies between templates |
+ |
+-%uses = (); |
++my %index = (); |
++my %uses = (); |
+ |
+-while ($file=shift(@ARGV)) { |
+- $file = $1 if ($file =~ /([\w-_]+)\.t/); |
++sub scan { |
++ my ($file) = @_; |
+ |
+- open(FILE, "<${file}.t") or die "failed to open ${file}: $!\n"; |
+- |
+- while (<FILE>) { |
+- next unless /^%\s+CALL ([\w-_]+)/; |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
+ |
+- $uses{$file} = [] if (not $uses{$file}); |
+- push(@{$uses{$file}}, $1); |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
+ } |
+- |
+- close(FILE); |
++ return $uses{$file} |
+ } |
+ |
+-foreach $i (sort keys %uses) { |
+- # Sort and uniq |
+- @{$uses{$i}} = keys %{{ map { $_ => 1 } sort(@{$uses{$i}}) }}; |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
+ } |
++my $name = shift; |
+ |
+-foreach $i (sort keys %uses) { |
+- printf("%s.html: %s.t", $i, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- @list = (); |
+- recurse($j, {}, \@list); |
+- foreach $k (@list) { |
+- printf(" %s.t", $k); |
+- } |
+- } |
+- printf("\n"); |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
+ } |
+ |
+-exit(0); |
+- |
+-sub recurse { |
+- my ($i, $usedref, $listref) = @_; |
+- |
+- # Remove repeated references to any given template/ |
+- return if defined($$usedref{$i}); |
+- $$usedref{$i} = 1; |
+- |
+- push (@{$listref}, $i); |
+- foreach $j (@{$uses{$i}}) { |
+- recurse($j, $usedref, $listref); |
+- } |
+-} |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
+--- a/templates/src/build_index.pl |
++++ b/templates/src/build_index.pl |
+@@ -18,7 +18,8 @@ foreach $i (@ARGV) { |
+ @templates = sort(@templates); |
+ |
+ print <<'EOM'; |
+-#include "lib.h" |
++#include "misc.h" |
++#include "template_structs.h" |
+ |
+ EOM |
+ |
Index: tags/1.3.3-dfsg1-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,170 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,8 +282,9 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+@@ -376,13 +364,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -411,10 +401,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -422,7 +413,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -436,7 +427,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -454,7 +445,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -603,14 +594,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.3.3-dfsg1-1/debian/patches/series |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/patches/series (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/patches/series (revision 180) |
@@ -0,0 +1,5 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+template_sdk.patch |
Index: tags/1.3.3-dfsg1-1/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,226 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,6 +115,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,6 +114,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -73,7 +73,7 @@ ifeq ($(strip $(CCLIENT_KERB_ENABLE)), t |
+ endif |
+ |
+ MYCFLAGS = $(BASECFLAGS) $(SERVER_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
+-MYLDFLAGS = $(BASELDFLAGS) |
++MYLDFLAGS = $(BASELDFLAGS) -ldl |
+ |
+ TEMPLATES= ../templates/index.o \ |
+ ../templates/old/templates.a \ |
+@@ -84,15 +84,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -212,6 +212,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
Index: tags/1.3.3-dfsg1-1/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.3-dfsg1-1/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -444,7 +444,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.3-dfsg1-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.3-dfsg1-1/debian/control |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/control (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/control (revision 180) |
@@ -0,0 +1,104 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007e-dev | libc-client2007b-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, libtidy-dev |
+Standards-Version: 3.9.0 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: prayer-templates-src, ${misc:Depends} |
+Description: dummy package depending on prayer-templates-src |
+ The Prayer template source package is now called prayer-templates-src. |
+ This package can safely be removed after upgrade. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Breaks: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.3-dfsg1-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.3-dfsg1-1/debian/prayer.init |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.init (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Should-Start: |
+# Should-Stop: |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.3-dfsg1-1/debian/Config |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/Config (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/Config (revision 180) |
@@ -0,0 +1,154 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+TIDY_ENABLE = true # Use libtidy for HTML sanitisation |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Tidy library (required if TIDY_ENABLE set) |
+TIDY_INCLUDE=-I/usr/include/tidy |
+TIDY_LIBS=-ltidy |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,5 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer/template_structs.h |
+/usr/include/prayer/misc.h |
+/usr/share/prayer/*.make |
Index: tags/1.3.3-dfsg1-1/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.3-dfsg1-1/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.3-dfsg1-1/debian/prayer.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.3-dfsg1-1/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.3-dfsg1-1/debian/rules |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/rules (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/rules (revision 180) |
@@ -0,0 +1,19 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_prayer-templates = --link-doc=prayer-templates-src |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.3-dfsg1-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.3-dfsg1-1/debian/prayer.install |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.install (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.3-dfsg1-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.3-dfsg1-1/debian/prayer.links |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.links (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.3-dfsg1-1/debian/README.Debian |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/README.Debian (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.3-dfsg1-1/debian/watch |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/watch (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/watch (revision 180) |
@@ -0,0 +1,10 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.3-dfsg1-1/debian/copyright |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/copyright (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.3-dfsg1-1/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.3-dfsg1-1/debian/README.source |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/README.source (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/README.source (revision 180) |
@@ -0,0 +1,8 @@ |
+This package uses quilt to manage all modifications to the upstream |
+source. Changes are stored in the source package as diffs in |
+debian/patches and applied during the build. For basic usage |
+information, see |
+ |
+ /usr/share/doc/quilt/README.source |
+ |
+(after installing quilt). |
Index: tags/1.3.3-dfsg1-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.3-dfsg1-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.3-dfsg1-1/debian/prayer.default |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.default (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.3-dfsg1-1/debian/prayer.examples |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.examples (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.3-dfsg1-1/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.3-dfsg1-1/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.3-dfsg1-1/debian/compat |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/compat (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.3.3-dfsg1-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.3-dfsg1-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.3-dfsg1-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.3-dfsg1-1/debian |
=================================================================== |
--- tags/1.3.3-dfsg1-1/debian (nonexistent) |
+++ tags/1.3.3-dfsg1-1/debian (revision 180) |
/tags/1.3.3-dfsg1-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.3-dfsg1-1 |
=================================================================== |
--- tags/1.3.3-dfsg1-1 (nonexistent) |
+++ tags/1.3.3-dfsg1-1 (revision 180) |
/tags/1.3.3-dfsg1-1 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.2-dfsg1-4/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.3.2-dfsg1-4/debian/changelog |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/changelog (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/changelog (revision 180) |
@@ -0,0 +1,302 @@ |
+prayer (1.3.2-dfsg1-4) unstable; urgency=low |
+ |
+ * Undo inadvertent inclusion of /usr/include/prayer in |
+ prayer-templates-src (Closes: #557056). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Nov 2009 23:14:12 +0100 |
+ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.2-dfsg1-4/debian/control |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/control (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/control (revision 180) |
@@ -0,0 +1,104 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007e-dev | libc-client2007b-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev |
+Standards-Version: 3.8.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: prayer-templates-src, ${misc:Depends} |
+Description: dummy package depending on prayer-templates-src |
+ The Prayer template source package is now called prayer-templates-src. |
+ This package can safely be removed after upgrade. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Conflicts: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.2-dfsg1-4/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,158 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a $(BASE_LIBS) |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- /dev/null |
++++ b/templates/src/makedeps.pl |
+@@ -0,0 +1,45 @@ |
++#!/usr/bin/perl |
++# |
++# Generate proper list of dependancies between templates |
++ |
++my %index = (); |
++my %uses = (); |
++ |
++sub scan { |
++ my ($file) = @_; |
++ |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
++ |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
++ } |
++ return $uses{$file} |
++} |
++ |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
++} |
++my $name = shift; |
++ |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
++} |
++ |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.2-dfsg1-4/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,226 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,6 +115,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,6 +114,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -73,7 +73,7 @@ ifeq ($(strip $(CCLIENT_KERB_ENABLE)), t |
+ endif |
+ |
+ MYCFLAGS = $(BASECFLAGS) $(SERVER_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
+-MYLDFLAGS = $(BASELDFLAGS) |
++MYLDFLAGS = $(BASELDFLAGS) -ldl |
+ |
+ TEMPLATES= ../templates/index.o \ |
+ ../templates/old/templates.a \ |
+@@ -84,15 +84,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -212,6 +212,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
Index: tags/1.3.2-dfsg1-4/debian/patches/series |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/series (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+kfreebsd.patch |
+clean_completely.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+manpage_error.patch |
+template_sdk.patch |
Index: tags/1.3.2-dfsg1-4/debian/patches/manpage_error.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/manpage_error.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/manpage_error.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/man/prayer-session.8 |
++++ b/man/prayer-session.8 |
+@@ -72,7 +72,7 @@ Location of standard templates. The temp |
+ .Nm |
+ for performance reasons, so the template files are actually not |
+ used, but they are available for customization. |
+-. |
++.El |
+ .Sh SEE ALSO |
+ . |
+ .Xr prayer 8 , |
Index: tags/1.3.2-dfsg1-4/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.2-dfsg1-4/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,199 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,26 +282,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -376,13 +364,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -411,10 +401,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -422,7 +413,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -436,7 +427,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -454,7 +445,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -603,14 +594,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -167,7 +167,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "xhtml_strict"; |
++ config->template_set = "old"; |
+ config->template_use_compiled = T; |
+ config->template_list = NIL; |
+ |
Index: tags/1.3.2-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -444,7 +444,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.2-dfsg1-4/debian/patches/clean_completely.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/clean_completely.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/clean_completely.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/lib/Makefile |
++++ b/lib/Makefile |
+@@ -71,7 +71,7 @@ mymutex.o: mymutex.c mymutex_sem.c mymu |
+ $(CC) $(MYCFLAGS) $(MUTEX_DEF) -c $< |
+ |
+ clean: |
+- rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# |
++ rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# $(TARGETS) |
+ |
+ install: all |
+ cp template_expand template_compile ../bin |
Index: tags/1.3.2-dfsg1-4/debian/patches/kfreebsd.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/kfreebsd.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/kfreebsd.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/lib/os.c |
++++ b/lib/os.c |
+@@ -26,7 +26,7 @@ |
+ #include "os_linux.c" |
+ #elif (defined(SOLARIS)) |
+ #include "os_solaris.c" |
+-#elif (defined(BSD) && BSD >= 199306) |
++#elif defined(__FreeBSD_kernel__) || (defined(BSD) && BSD >= 199306) |
+ #include "os_bsd.c" |
+ #else |
+ #error "No support for this operating system yet. Sorry!" |
+--- a/lib/os_bsd.c |
++++ b/lib/os_bsd.c |
+@@ -16,8 +16,12 @@ |
+ #include <arpa/inet.h> |
+ #include <signal.h> |
+ #include <netdb.h> |
+- |
++#ifdef __GLIBC__ |
++#include <sys/file.h> |
++#include <pty.h> |
++#else |
+ #include <libutil.h> |
++#endif |
+ |
+ /* ====================================================================== */ |
+ |
+--- a/lib/mymutex.c |
++++ b/lib/mymutex.c |
+@@ -9,7 +9,7 @@ |
+ |
+ #include "lib.h" |
+ |
+-#ifdef MUTEX_SEMAPHORE |
++#if defined(MUTEX_SEMAPHORE) && !defined(__stub_semtimedop) |
+ # include "mymutex_sem.c" |
+ #else |
+ # include "mymutex_file.c" |
Index: tags/1.3.2-dfsg1-4/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.2-dfsg1-4/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.2-dfsg1-4/debian/prayer.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.2-dfsg1-4/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,4 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer |
+/usr/share/prayer/*.make |
Index: tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.2-dfsg1-4/debian/rules |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/rules (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/rules (revision 180) |
@@ -0,0 +1,19 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_prayer-templates = --link-doc=prayer-templates-src |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.2-dfsg1-4/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.2-dfsg1-4/debian/prayer.install |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.install (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.2-dfsg1-4/debian/Config |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/Config (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/Config (revision 180) |
@@ -0,0 +1,149 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.2-dfsg1-4/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.2-dfsg1-4/debian/prayer.links |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.links (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.2-dfsg1-4/debian/README.Debian |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/README.Debian (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.2-dfsg1-4/debian/watch |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/watch (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/watch (revision 180) |
@@ -0,0 +1,10 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.2-dfsg1-4/debian/copyright |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/copyright (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.2-dfsg1-4/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.2-dfsg1-4/debian/README.source |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/README.source (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/README.source (revision 180) |
@@ -0,0 +1,8 @@ |
+This package uses quilt to manage all modifications to the upstream |
+source. Changes are stored in the source package as diffs in |
+debian/patches and applied during the build. For basic usage |
+information, see |
+ |
+ /usr/share/doc/quilt/README.source |
+ |
+(after installing quilt). |
Index: tags/1.3.2-dfsg1-4/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.2-dfsg1-4/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-4/debian/prayer.default |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.default (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.2-dfsg1-4/debian/prayer.init |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.init (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-4/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-4/debian/prayer.examples |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.examples (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.2-dfsg1-4/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.2-dfsg1-4/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.2-dfsg1-4/debian/compat |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/compat (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.3.2-dfsg1-4/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.2-dfsg1-4/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.2-dfsg1-4/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.2-dfsg1-4/debian |
=================================================================== |
--- tags/1.3.2-dfsg1-4/debian (nonexistent) |
+++ tags/1.3.2-dfsg1-4/debian (revision 180) |
/tags/1.3.2-dfsg1-4/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.2-dfsg1-4 |
=================================================================== |
--- tags/1.3.2-dfsg1-4 (nonexistent) |
+++ tags/1.3.2-dfsg1-4 (revision 180) |
/tags/1.3.2-dfsg1-4 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.2-dfsg1-3/debian/control |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/control (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/control (revision 180) |
@@ -0,0 +1,104 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007e-dev | libc-client2007b-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev |
+Standards-Version: 3.8.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: prayer-templates-src, ${misc:Depends} |
+Description: dummy package depending on prayer-templates-src |
+ The Prayer template source package is now called prayer-templates-src. |
+ This package can safely be removed after upgrade. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Conflicts: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.2-dfsg1-3/debian/changelog |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/changelog (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/changelog (revision 180) |
@@ -0,0 +1,295 @@ |
+prayer (1.3.2-dfsg1-3) unstable; urgency=low |
+ |
+ * Replace non-existing libc-client2007-dev with new libc-client2007e-dev |
+ among the libc-client Build-Depends alternatives (Closes: #552717). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 Oct 2009 13:57:08 +0100 |
+ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.2-dfsg1-3/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,158 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a $(BASE_LIBS) |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- /dev/null |
++++ b/templates/src/makedeps.pl |
+@@ -0,0 +1,45 @@ |
++#!/usr/bin/perl |
++# |
++# Generate proper list of dependancies between templates |
++ |
++my %index = (); |
++my %uses = (); |
++ |
++sub scan { |
++ my ($file) = @_; |
++ |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
++ |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
++ } |
++ return $uses{$file} |
++} |
++ |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
++} |
++my $name = shift; |
++ |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
++} |
++ |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.2-dfsg1-3/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,226 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,6 +115,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,6 +114,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -73,7 +73,7 @@ ifeq ($(strip $(CCLIENT_KERB_ENABLE)), t |
+ endif |
+ |
+ MYCFLAGS = $(BASECFLAGS) $(SERVER_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
+-MYLDFLAGS = $(BASELDFLAGS) |
++MYLDFLAGS = $(BASELDFLAGS) -ldl |
+ |
+ TEMPLATES= ../templates/index.o \ |
+ ../templates/old/templates.a \ |
+@@ -84,15 +84,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -212,6 +212,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
Index: tags/1.3.2-dfsg1-3/debian/patches/series |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/series (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+kfreebsd.patch |
+clean_completely.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+manpage_error.patch |
+template_sdk.patch |
Index: tags/1.3.2-dfsg1-3/debian/patches/manpage_error.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/manpage_error.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/manpage_error.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/man/prayer-session.8 |
++++ b/man/prayer-session.8 |
+@@ -72,7 +72,7 @@ Location of standard templates. The temp |
+ .Nm |
+ for performance reasons, so the template files are actually not |
+ used, but they are available for customization. |
+-. |
++.El |
+ .Sh SEE ALSO |
+ . |
+ .Xr prayer 8 , |
Index: tags/1.3.2-dfsg1-3/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.2-dfsg1-3/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,199 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,26 +282,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -376,13 +364,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -411,10 +401,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -422,7 +413,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -436,7 +427,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -454,7 +445,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -603,14 +594,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -167,7 +167,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "xhtml_strict"; |
++ config->template_set = "old"; |
+ config->template_use_compiled = T; |
+ config->template_list = NIL; |
+ |
Index: tags/1.3.2-dfsg1-3/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -444,7 +444,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.2-dfsg1-3/debian/patches/clean_completely.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/clean_completely.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/clean_completely.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/lib/Makefile |
++++ b/lib/Makefile |
+@@ -71,7 +71,7 @@ mymutex.o: mymutex.c mymutex_sem.c mymu |
+ $(CC) $(MYCFLAGS) $(MUTEX_DEF) -c $< |
+ |
+ clean: |
+- rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# |
++ rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# $(TARGETS) |
+ |
+ install: all |
+ cp template_expand template_compile ../bin |
Index: tags/1.3.2-dfsg1-3/debian/patches/kfreebsd.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/kfreebsd.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/kfreebsd.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/lib/os.c |
++++ b/lib/os.c |
+@@ -26,7 +26,7 @@ |
+ #include "os_linux.c" |
+ #elif (defined(SOLARIS)) |
+ #include "os_solaris.c" |
+-#elif (defined(BSD) && BSD >= 199306) |
++#elif defined(__FreeBSD_kernel__) || (defined(BSD) && BSD >= 199306) |
+ #include "os_bsd.c" |
+ #else |
+ #error "No support for this operating system yet. Sorry!" |
+--- a/lib/os_bsd.c |
++++ b/lib/os_bsd.c |
+@@ -16,8 +16,12 @@ |
+ #include <arpa/inet.h> |
+ #include <signal.h> |
+ #include <netdb.h> |
+- |
++#ifdef __GLIBC__ |
++#include <sys/file.h> |
++#include <pty.h> |
++#else |
+ #include <libutil.h> |
++#endif |
+ |
+ /* ====================================================================== */ |
+ |
+--- a/lib/mymutex.c |
++++ b/lib/mymutex.c |
+@@ -9,7 +9,7 @@ |
+ |
+ #include "lib.h" |
+ |
+-#ifdef MUTEX_SEMAPHORE |
++#if defined(MUTEX_SEMAPHORE) && !defined(__stub_semtimedop) |
+ # include "mymutex_sem.c" |
+ #else |
+ # include "mymutex_file.c" |
Index: tags/1.3.2-dfsg1-3/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.2-dfsg1-3/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.2-dfsg1-3/debian/prayer.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.2-dfsg1-3/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,4 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer |
+/usr/share/prayer/*.make |
Index: tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.2-dfsg1-3/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/share/prayer/templates |
+usr/include/prayer |
Index: tags/1.3.2-dfsg1-3/debian/rules |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/rules (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/rules (revision 180) |
@@ -0,0 +1,19 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_prayer-templates = --link-doc=prayer-templates-src |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.2-dfsg1-3/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.2-dfsg1-3/debian/prayer.install |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.install (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.2-dfsg1-3/debian/Config |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/Config (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/Config (revision 180) |
@@ -0,0 +1,149 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.2-dfsg1-3/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.2-dfsg1-3/debian/prayer.links |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.links (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.2-dfsg1-3/debian/README.Debian |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/README.Debian (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.2-dfsg1-3/debian/watch |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/watch (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/watch (revision 180) |
@@ -0,0 +1,10 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.2-dfsg1-3/debian/copyright |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/copyright (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.2-dfsg1-3/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.2-dfsg1-3/debian/README.source |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/README.source (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/README.source (revision 180) |
@@ -0,0 +1,8 @@ |
+This package uses quilt to manage all modifications to the upstream |
+source. Changes are stored in the source package as diffs in |
+debian/patches and applied during the build. For basic usage |
+information, see |
+ |
+ /usr/share/doc/quilt/README.source |
+ |
+(after installing quilt). |
Index: tags/1.3.2-dfsg1-3/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.2-dfsg1-3/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-3/debian/prayer.default |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.default (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.2-dfsg1-3/debian/prayer.init |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.init (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-3/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-3/debian/prayer.examples |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.examples (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.2-dfsg1-3/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.2-dfsg1-3/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.2-dfsg1-3/debian/compat |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/compat (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.3.2-dfsg1-3/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.2-dfsg1-3/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.2-dfsg1-3/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.2-dfsg1-3/debian |
=================================================================== |
--- tags/1.3.2-dfsg1-3/debian (nonexistent) |
+++ tags/1.3.2-dfsg1-3/debian (revision 180) |
/tags/1.3.2-dfsg1-3/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.2-dfsg1-3 |
=================================================================== |
--- tags/1.3.2-dfsg1-3 (nonexistent) |
+++ tags/1.3.2-dfsg1-3 (revision 180) |
/tags/1.3.2-dfsg1-3 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.3.2-dfsg1-2/debian/patches/template_sdk.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/template_sdk.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/template_sdk.patch (revision 180) |
@@ -0,0 +1,158 @@ |
+--- a/templates/src/Makefile |
++++ b/templates/src/Makefile |
+@@ -11,7 +11,7 @@ LDFLAGS = $(BASELDFLAGS) |
+ |
+ LIB= ../../lib/lib_nossl.a $(BASE_LIBS) |
+ |
+-all: template_expand template_compile |
++all: template_expand template_compile template-set.make |
+ |
+ template_expand: template_expand_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_expand log.o empty.o template_expand_main.o $(LIB) |
+@@ -19,10 +19,28 @@ template_expand: template_expand_main.o |
+ template_compile: template_compile_main.o log.o empty.o $(LIB) |
+ $(CC) $(LDFLAGS) -o template_compile log.o empty.o template_compile_main.o $(LIB) |
+ |
++template-set.make: template-set.make.in |
++ find_templates () { sed -rn 's/.*template_expand\("([^"]*)".*/\1/p' "$$@" | sort -u; };\ |
++ format_variable () { (echo $$1 '='; shift; echo -n ' '$$@) | fmt -c | sed '$$!s/$$/ \\/'; };\ |
++ (echo include $(PREFIX)/config.make; echo;\ |
++ format_variable TEMPLATES `find_templates ../../cmd/cmd_*`; echo;\ |
++ format_variable TEMPLATES_FRONTEND login `find_templates ../../servers/prayer*`; echo;\ |
++ cat template-set.make.in) > template-set.make |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+ install: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(BROOT)$(LIB_PREFIX) $(BROOT)$(PREFIX) $(BROOT)/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
++ template_compile template_expand build_index.pl makedeps.pl ${BROOT}${LIB_PREFIX} |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../lib/*.h ${BROOT}/usr/include/prayer |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ template-set.make ${BROOT}$(PREFIX) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ ../../Config ${BROOT}$(PREFIX)/config.make |
+ |
+ clean: |
+ rm -f template_expand template_compile *.o *~ \#*\# |
+--- /dev/null |
++++ b/templates/src/makedeps.pl |
+@@ -0,0 +1,45 @@ |
++#!/usr/bin/perl |
++# |
++# Generate proper list of dependancies between templates |
++ |
++my %index = (); |
++my %uses = (); |
++ |
++sub scan { |
++ my ($file) = @_; |
++ |
++ if (!exists $uses{$file}) { |
++ grep { |
++ $_ ne '' and open(FILE, '<', "$_/${file}.t") |
++ } '.', split(/ :/, $ENV{'VPATH'} || '') |
++ or die "failed to open ${file}: $!\n"; |
++ while (<FILE>) { |
++ $uses{$file}{$1} = 1 if /^%\s+CALL ([\w-_]+)/; |
++ } |
++ close(FILE); |
++ |
++ foreach (keys %{$uses{$file}}) { |
++ $uses{$file}{$_} = 1 foreach keys %{scan($_)}; |
++ } |
++ $uses{$file}{$file} = 1; |
++ $index{$file} = 1; |
++ } |
++ return $uses{$file} |
++} |
++ |
++my $suffix = ''; |
++if ($ARGV[0] eq '--frontend') { |
++ shift; |
++ $suffix = '_frontend'; |
++} |
++my $name = shift; |
++ |
++$, = ' '; $\ = "\n"; |
++foreach my $i (@ARGV) { |
++ $i =~ s/([\w-_]+)\.t/$1/; |
++ print "$i.html:", map {"$_.t"} sort keys %{scan($i)}; |
++} |
++ |
++my @all = sort keys %index; |
++print "_template_index$suffix.c:", map {"$_.t"} @all; |
++print "$name$suffix.so:", "_template_index$suffix.o", map {"$_.o"} @all; |
+--- /dev/null |
++++ b/templates/src/template-set.make.in |
+@@ -0,0 +1,67 @@ |
++ifndef NAME |
++NAME := $(notdir $(CURDIR)) |
++endif |
++ |
++CPPFLAGS = -I/usr/include/prayer |
++CFLAGS += -fPIC |
++LDFLAGS_TEMPLATELIB = -shared -fPIC \ |
++ -Wl,--defsym=template_map=template_map_$(NAME) \ |
++ -Wl,--defsym=template_map_count=template_map_$(NAME)_count |
++ |
++EXPAND = $(LIB_PREFIX)/template_expand |
++COMPILE = $(LIB_PREFIX)/template_compile |
++MKINDEX = $(LIB_PREFIX)/build_index.pl |
++MKDEPS = $(LIB_PREFIX)/makedeps.pl |
++ |
++SESSION_LIB = $(NAME)$(SHLIBEXT) |
++FRONTEND_LIB = $(NAME)_frontend$(SHLIBEXT) |
++TEMPLATE_LIBS ?= $(SESSION_LIB) $(FRONTEND_LIB) |
++TARGETS ?= $(TEMPLATE_LIBS) |
++ |
++VARS=$(filter-out common.vars,$(wildcard *.vars)) |
++HTML=$(VARS:.vars=.html) |
++ |
++all: $(TARGETS) |
++ |
++$(TEMPLATE_LIBS): |
++ $(CC) $(LDFLAGS) $(LDFLAGS_TEMPLATELIB) -o $@ $^ |
++ |
++_template_index.c _template_index_frontend.c: |
++ $(MKINDEX) $(NAME) $(^F) > $@ |
++ |
++%.c: %.t |
++ $(COMPILE) $(NAME) $@ $(basename $<) |
++ |
++install-sources: |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ *.t *.vars $(DESTDIR)$(PREFIX)/templates/$(NAME) |
++ |
++install-libs: $(TEMPLATE_LIBS) |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) \ |
++ -d $(DESTDIR)$(LIB_PREFIX)/templates |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
++ $(TEMPLATE_LIBS) $(DESTDIR)$(LIB_PREFIX)/templates/ |
++ |
++clean: |
++ rm -f $(TARGETS) *.html *.o *.c |
++distclean: clean |
++ rm -f *.d |
++ |
++test: $(HTML) |
++ |
++%.html: %.t %.vars common.vars |
++ $(EXPAND) $@ $* common.vars $*.vars |
++ |
++%_frontend.d: FRONTEND_FLAG = --frontend |
++%_frontend.d: TEMPLATES = $(TEMPLATES_FRONTEND) |
++export VPATH |
++$(TEMPLATE_LIBS:$(SHLIBEXT)=.d): |
++ $(MKDEPS) $(FRONTEND_FLAG) $(NAME) $(TEMPLATES) > $@ |
++ sed -ri 's/^(_template_index[^:]*)/\1 $@/' $@ |
++ |
++include $(TEMPLATE_LIBS:$(SHLIBEXT)=.d) |
++ |
++.PHONY: all install-sources install-libs clean distclean test |
++.DELETE_ON_ERROR: |
Index: tags/1.3.2-dfsg1-2/debian/patches/dlopen_templates.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/dlopen_templates.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/dlopen_templates.patch (revision 180) |
@@ -0,0 +1,226 @@ |
+Experimental support for dynamically loading templates. Low-level template handling is unchanged; |
+main programs call dlopen_templates() at appropriate times. If template set has changed, the old |
+one is unloaded first. |
+--- /dev/null |
++++ b/shared/dlopen_templates.c |
+@@ -0,0 +1,34 @@ |
++#include <dlfcn.h> |
++#include "shared.h" |
++ |
++struct template_map_index template_map_index[] = { |
++ {NIL, NIL, NIL}, |
++ {NIL, NIL, NIL} |
++}; |
++ |
++struct template_map_index * |
++dlopen_templates(const char *set, const char *suffix) |
++{ |
++ struct template_map_index *tmi = &template_map_index[0]; |
++ static void *handle = 0; |
++ |
++ if (!handle || strcmp(tmi->name, set)) { |
++ char *filename = pool_printf(NIL, "/usr/lib/prayer/templates/%s%s.so", |
++ set, suffix); |
++ |
++ if (handle) { |
++ dlclose(handle); |
++ free(tmi->name); |
++ } |
++ tmi->name = pool_strdup(NIL, set); |
++ if (!(handle = dlopen(filename, RTLD_NOW)) |
++ || !(tmi->template_map = dlsym(handle, "template_map")) |
++ || !(tmi->count = dlsym(handle, "template_map_count"))) { |
++ log_fatal("Failed to load template library: %s", |
++ dlerror()); |
++ } |
++ log_debug("Loaded library %s with %d templates", filename, *tmi->count); |
++ free(filename); |
++ } |
++ return tmi; |
++} |
+--- /dev/null |
++++ b/shared/dlopen_templates.h |
+@@ -0,0 +1 @@ |
++struct template_map_index *dlopen_templates(const char *set, const char *suffix); |
+--- a/templates/cam/Makefile |
++++ b/templates/cam/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=cam |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t login_hermes.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -111,6 +115,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -129,6 +139,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/templates/old/Makefile |
++++ b/templates/old/Makefile |
+@@ -6,12 +6,16 @@ else |
+ include ../../Config |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) -fPIC |
++LDFLAGS = $(BASELDFLAGS) -fPIC |
++LDFLAGS_TEMPLATELIB = \ |
++ -Wl,--defsym=template_map=template_map_$(TYPE) \ |
++ -Wl,--defsym=template_map_count=template_map_$(TYPE)_count |
++LDFLAGS += $(LDFLAGS_TEMPLATELIB) |
+ |
+ TYPE=old |
+ |
+-TARGETS=templates.a templates_frontend.a |
++TARGETS=templates.a templates_frontend.a $(TYPE).so $(TYPE)_frontend.so |
+ |
+ T_FILES_FRONTEND=login.t \ |
+ frontend_login_error.t frontend_security.t frontend_session.t \ |
+@@ -110,6 +114,12 @@ templates.a: $(O_FILES) |
+ rm -f templates.a |
+ ar q templates.a $(O_FILES) |
+ |
++$(TYPE)_frontend.so: $(O_FILES_FRONTEND) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES_FRONTEND) |
++ |
++$(TYPE).so: $(O_FILES) |
++ $(CC) $(LDFLAGS) -shared -o $@ $(O_FILES) |
++ |
+ %.o: %.c Makefile |
+ $(CC) $(CFLAGS) -I../../lib -c $< |
+ |
+@@ -128,6 +138,10 @@ install: |
+ cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
++ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
++ $(BROOT)$(LIB_PREFIX)/templates |
++ cp *.so $(BROOT)$(LIB_PREFIX)/templates/ |
++ |
+ clean: |
+ rm -f $(TARGETS) *.html *.o *.c \#*\# *~ |
+ |
+--- a/servers/prayer_chroot.c |
++++ b/servers/prayer_chroot.c |
+@@ -255,6 +255,8 @@ int main(int argc, char *argv[]) |
+ if (list_length(prayer->http_port_list) == 0L) |
+ prayer_fatal(prayer, "No HTTP or HTTPS ports active"); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->prayer_background && !want_foreground) { |
+ pid_t pid = fork(); |
+ |
+--- a/shared/Makefile |
++++ b/shared/Makefile |
+@@ -33,7 +33,7 @@ MYCFLAGS = $(BASECFLAGS) |
+ |
+ SHARED_OBJS = \ |
+ config.o gzip.o html_common.o log.o \ |
+- request.o response.o user_agent.o |
++ request.o response.o user_agent.o dlopen_templates.o |
+ |
+ |
+ all: $(SHARED_OBJS) |
+--- a/servers/prayer_main.c |
++++ b/servers/prayer_main.c |
+@@ -290,6 +290,8 @@ int main(int argc, char *argv[]) |
+ |
+ prayer_log_open(prayer); |
+ |
++ dlopen_templates(config->template_set, "_frontend"); |
++ |
+ if (config->limit_vm) |
+ os_limit_vm(config->limit_vm); |
+ |
+--- a/shared/shared.h |
++++ b/shared/shared.h |
+@@ -40,3 +40,4 @@ extern int errno; /* just |
+ #include "setproctitle.h" |
+ #include "mymutex.h" |
+ #include "log.h" |
++#include "dlopen_templates.h" |
+--- a/servers/Makefile |
++++ b/servers/Makefile |
+@@ -73,7 +73,7 @@ ifeq ($(strip $(CCLIENT_KERB_ENABLE)), t |
+ endif |
+ |
+ MYCFLAGS = $(BASECFLAGS) $(SERVER_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
+-MYLDFLAGS = $(BASELDFLAGS) |
++MYLDFLAGS = $(BASELDFLAGS) -ldl |
+ |
+ TEMPLATES= ../templates/index.o \ |
+ ../templates/old/templates.a \ |
+@@ -84,15 +84,13 @@ TEMPLATES_FRONTEND= ../templates/index.o |
+ ../templates/cam/templates_frontend.a |
+ |
+ PRAYER_OBJS= prayer.o prayer_login.o prayer_server.o portlist.o \ |
+- ../shared/shared.a $(LIB) $(TEMPLATES_FRONTEND) |
++ ../shared/shared.a $(LIB) |
+ |
+ SESSION_OBJS= \ |
+ session_config.o session_exchange.o session_unix.o session_server.o \ |
+ session_main.o portlist.o ../cmd/cmd.a ../session/session.a \ |
+ ../shared/shared.a ../lib/lib_nossl.a |
+ |
+-SESSION_OBJS += $(TEMPLATES) |
+- |
+ ######################################################################### |
+ |
+ all: $(BIN) |
+--- a/Makefile |
++++ b/Makefile |
+@@ -28,7 +28,7 @@ install-cert: |
+ install: |
+ $(MAKE) -C files install |
+ $(MAKE) -C man install |
+-# $(MAKE) -C templates install |
++ $(MAKE) -C templates install |
+ $(MAKE) -C servers install |
+ $(MAKE) -C utils install |
+ ifeq ($(strip $(ACCOUNTD_ENABLE)), true) |
+--- a/servers/session_exchange.c |
++++ b/servers/session_exchange.c |
+@@ -212,6 +212,8 @@ BOOL session_exchange(struct session * s |
+ else |
+ template_set = config->template_set; /* Safe default */ |
+ |
++ dlopen_templates(template_set, ""); |
++ |
+ /* Set up template_vars ready for dispatch */ |
+ session->template_vals = tvals |
+ = template_vals_create(request->pool, |
Index: tags/1.3.2-dfsg1-2/debian/patches/series |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/series (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+kfreebsd.patch |
+clean_completely.patch |
+dlopen_templates.patch |
+unbrand_cam_template.patch |
+manpage_error.patch |
+template_sdk.patch |
Index: tags/1.3.2-dfsg1-2/debian/patches/manpage_error.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/manpage_error.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/manpage_error.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/man/prayer-session.8 |
++++ b/man/prayer-session.8 |
+@@ -72,7 +72,7 @@ Location of standard templates. The temp |
+ .Nm |
+ for performance reasons, so the template files are actually not |
+ used, but they are available for customization. |
+-. |
++.El |
+ .Sh SEE ALSO |
+ . |
+ .Xr prayer 8 , |
Index: tags/1.3.2-dfsg1-2/debian/patches/unbrand_cam_template.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/unbrand_cam_template.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/unbrand_cam_template.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/templates/cam/compose_toolbar.t |
++++ b/templates/cam/compose_toolbar.t |
+@@ -2,8 +2,6 @@ |
+ <div id="skip"> <a href="#skip-content" accesskey="2">Skip to content</a></div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /></a> |
+ </div> |
+ <div id="change-to"> |
+ <div class="change"> |
+--- a/templates/cam/login.t |
++++ b/templates/cam/login.t |
+@@ -42,11 +42,6 @@ table#login td input {margin:0 0 0.5em 0 |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+-<a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/identifier.gif" |
+- alt="University of Cambridge" class="ucam" /> |
+- <img src="/icons/ucs.gif" alt="" class="logo" /> |
+-</a> |
+ </div> |
+ </div> |
+ % |
+--- a/templates/cam/toolbar.t |
++++ b/templates/cam/toolbar.t |
+@@ -4,9 +4,7 @@ |
+ href="#skip-content" accesskey="2">Skip to content</a> </div> |
+ <div id="header"> |
+ <div id="branding"> |
+- <a href="http://www.cam.ac.uk/" accesskey="1"> |
+- <img src="/icons/ucs-id-small.jpg" alt="" class="logo" /> |
+-</a></div> |
++</div> |
+ <div id="change-to"> |
+ <form method="post" accept-charset="UTF-8" |
+ enctype="multipart/form-data" action="<% change |s %>"> |
Index: tags/1.3.2-dfsg1-2/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,199 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -66,21 +66,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} --mode "a-x+X" icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -270,11 +270,11 @@ icon_expire_timeout = 7d |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -282,26 +282,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -376,13 +364,15 @@ sendmail_path = /usr/lib/sendmail |
+ ispell_path = /usr/bin/ispell |
+ |
+ # Message of the day file |
+-motd_path = "$prefix/etc/motd.html" |
+- |
+-# HTML to insert into login page |
+-#login_insert1_path = "$prefix/etc/ucsnews.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+-# HTML to insert into login page |
+-#login_insert2_path = "$prefix/etc/ucsnews.html" |
++# HTML to make available to login template as $login_insert1 |
++# (only used in "cam" template set). |
++#login_insert1_path = "/etc/prayer/login1.html" |
++ |
++# HTML to make available to login template as $login_insert2 |
++# (currently not used in any template set). |
++#login_insert2_path = "/etc/prayer/login2.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -411,10 +401,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -422,7 +413,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -436,7 +427,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -454,7 +445,7 @@ pid_dir = "$var_prefix/pid" |
+ # Template stuff |
+ |
+ template_path = "__PREFIX__/templates" |
+-template_set = "cam" |
++template_set = "old" |
+ template_use_compiled = TRUE |
+ |
+ template old "Traditional" |
+@@ -603,14 +594,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -167,7 +167,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "xhtml_strict"; |
++ config->template_set = "old"; |
+ config->template_use_compiled = T; |
+ config->template_list = NIL; |
+ |
Index: tags/1.3.2-dfsg1-2/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -475,11 +475,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -558,11 +558,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())\n", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -444,7 +444,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "old" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.3.2-dfsg1-2/debian/patches/clean_completely.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/clean_completely.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/clean_completely.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/lib/Makefile |
++++ b/lib/Makefile |
+@@ -71,7 +71,7 @@ mymutex.o: mymutex.c mymutex_sem.c mymu |
+ $(CC) $(MYCFLAGS) $(MUTEX_DEF) -c $< |
+ |
+ clean: |
+- rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# |
++ rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# $(TARGETS) |
+ |
+ install: all |
+ cp template_expand template_compile ../bin |
Index: tags/1.3.2-dfsg1-2/debian/patches/kfreebsd.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/kfreebsd.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/kfreebsd.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/lib/os.c |
++++ b/lib/os.c |
+@@ -26,7 +26,7 @@ |
+ #include "os_linux.c" |
+ #elif (defined(SOLARIS)) |
+ #include "os_solaris.c" |
+-#elif (defined(BSD) && BSD >= 199306) |
++#elif defined(__FreeBSD_kernel__) || (defined(BSD) && BSD >= 199306) |
+ #include "os_bsd.c" |
+ #else |
+ #error "No support for this operating system yet. Sorry!" |
+--- a/lib/os_bsd.c |
++++ b/lib/os_bsd.c |
+@@ -16,8 +16,12 @@ |
+ #include <arpa/inet.h> |
+ #include <signal.h> |
+ #include <netdb.h> |
+- |
++#ifdef __GLIBC__ |
++#include <sys/file.h> |
++#include <pty.h> |
++#else |
+ #include <libutil.h> |
++#endif |
+ |
+ /* ====================================================================== */ |
+ |
+--- a/lib/mymutex.c |
++++ b/lib/mymutex.c |
+@@ -9,7 +9,7 @@ |
+ |
+ #include "lib.h" |
+ |
+-#ifdef MUTEX_SEMAPHORE |
++#if defined(MUTEX_SEMAPHORE) && !defined(__stub_semtimedop) |
+ # include "mymutex_sem.c" |
+ #else |
+ # include "mymutex_file.c" |
Index: tags/1.3.2-dfsg1-2/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.3.2-dfsg1-2/debian/prayer-templates-src.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-templates-src.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-templates-src.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.2-dfsg1-2/debian/changelog |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/changelog (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/changelog (revision 180) |
@@ -0,0 +1,288 @@ |
+prayer (1.3.2-dfsg1-2) unstable; urgency=low |
+ |
+ * dlopen_templates.patch: |
+ * templates/{cam,old}/Makefile: Define the symbols template_map and |
+ template_map_count as aliases to the template_$(TYPE)_map and |
+ template_$(TYPE)_map_count when linking, so that template libraries |
+ can be loaded by other names than the original one. Also remove some |
+ cruft. |
+ * shared/dlopen_templates.c: Use those symbols instead. |
+ * Add symlinks so that template_set = xhtml_strict will still work. |
+ * Update the names of the directories for locally modified templates |
+ (under /etc/prayer/templates) to reflect the new template names. |
+ * template_sdk.patch (new): Create makefile for building template set |
+ libraries. Install it together with binaries and scripts needed. |
+ * Rename prayer-templates as prayer-templates-src and add new binary |
+ package prayer-templates-dev containing the aforementioned |
+ template-building tools as well as a README.Debian explaining how to |
+ use it all. |
+ * Ship NEWS.Debian only in the prayer package. Ship TEMPLATES in |
+ prayer-templates-src in addition to prayer-templates-dev. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 25 Oct 2009 19:22:13 +0100 |
+ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * New upstream release (Closes: #546918). |
+ * The set of available template sets has changed and several |
+ obsolete configuration options are no longer recognized. Please |
+ see NEWS.Debian for more information. |
+ - Repacked without University of Cambridge logos with dubious |
+ copyright/license status (more info in debian/copyright). |
+ - unbrand_cam_template.patch: Remove said Cambridge-specific graphics |
+ from 'cam' template set. |
+ - Drop unlimit_login_username.patch (fixed upstream when replacing |
+ the old login screen with frontend templates) and |
+ usernames_with_at.patch (incorporated upstream). |
+ * clean_completely.patch: Partially implemented upstream. |
+ * Manpages incorporated upstream. |
+ * dlopen_templates.patch: Experimental support for dynamically loading |
+ templates. |
+ * Update README.Debian. |
+ * makefile_install_config.patch(share/config.c): Change default |
+ template_set to "old". |
+ * makefile_install_config.patch(files/Makefile): Fix permissions on |
+ icons and static files. |
+ * manpage_error.patch: Fix missing .El in prayer-session(8). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 07 Oct 2009 22:50:45 +0200 |
+ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.3.2-dfsg1-2/debian/prayer.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.docs (revision 180) |
@@ -0,0 +1,10 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.2-dfsg1-2/debian/prayer.NEWS |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.NEWS (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.NEWS (revision 180) |
@@ -0,0 +1,21 @@ |
+prayer (1.3.2-dfsg1-1) unstable; urgency=low |
+ |
+ * This version of Prayer Webmail (again) changes the set of available |
+ templates sets. The "xhtml_transitional" set is removed and |
+ "xhtml_strict" is now called "old". A new set is added: "cam" is the |
+ style used at the University of Cambridge. |
+ * This version also removes several obsolete configuration options: |
+ - login_prefix_path, login_suffix_path: login page is now a |
+ template. |
+ - session_banner_path, help_dir, contact_email: unused since |
+ templates were introduced in 1.2.0. |
+ - contact_warning: unused since before 1.0.18. |
+ - use_embed_http, http_icon_embed, http_icon_port: Serving icons from |
+ a different port is no longer supported. |
+ - is_netscape4: Netscape 4 is long obsolete. |
+ * You will probably have to edit /etc/prayer/prayer.cf to choose a new |
+ default template set and delete any instances of the aforementioned |
+ configuration options. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 04 Oct 2009 20:36:42 +0200 |
+ |
Index: tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.install |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.install (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.install (revision 180) |
@@ -0,0 +1,4 @@ |
+/usr/lib/prayer/template_* |
+/usr/lib/prayer/*.pl |
+/usr/include/prayer |
+/usr/share/prayer/*.make |
Index: tags/1.3.2-dfsg1-2/debian/control |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/control (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/control (revision 180) |
@@ -0,0 +1,104 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev |
+Standards-Version: 3.8.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates-src, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: prayer-templates-src, ${misc:Depends} |
+Description: dummy package depending on prayer-templates-src |
+ The Prayer template source package is now called prayer-templates-src. |
+ This package can safely be removed after upgrade. |
+ |
+Package: prayer-templates-src |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.3.0) |
+Replaces: prayer-templates (<< 1.3.2-dfsg1-2) |
+Conflicts: prayer-templates (<< 1.3.2-dfsg1-2) |
+Suggests: prayer-templates-dev |
+Description: templates for customizing Prayer Webmail |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are included with the main prayer package in |
+ compiled form, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-templates-dev |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, make, gcc |
+Suggests: prayer-templates-src, prayer |
+Description: tools for compiling Prayer templates |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer uses its own macro expansion language for the HTML it |
+ outputs. This package contains the programs and scripts needed to |
+ build template libraries, as well as a makefile to facilitate the |
+ process. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.README.Debian |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.README.Debian (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.README.Debian (revision 180) |
@@ -0,0 +1,73 @@ |
+How to build new template packages for Prayer Webmail |
+================================================= |
+ |
+Prayer uses its own macro expansion language, which is documented in |
+TEMPLATES. The templates (filename extension .t) are first translated |
+into C code (actually no executable code, merely data structures), |
+which is then compiled to object form. Originally, the object files |
+had to be linked with the prayer executables, but as a Debian |
+extension they can be assembled in shared libraries and loaded |
+dynamically. |
+ |
+This package contains the programs and scripts needed to build |
+template libraries, as well as a makefile to facilitate the process. |
+ |
+ |
+template-set.make |
+----------------- |
+ |
+/usr/share/prayer/template-set.make can be used directly (via make -f) |
+or included from an ordinary Makefile. |
+ |
+The variable NAME defines the name of the template set. By default |
+it's set to the name of the current directory. NAME must be set on the |
+command line or *before* including template-set.make. An alternative |
+is to follow chapter 3.8 in the GNU Make documentation and _delegate_ |
+certain or all targets to template-set.make: |
+ |
+ %: force |
+ @$(MAKE) -f /usr/share/prayer/template-set.make NAME=foobar |
+ force: ; |
+ |
+The variables TEMPLATES and TEMPLATES_FRONTEND list the top-level |
+templates that Prayer is known to use, and which should be defined |
+lest the user be met with a page saying nothing but "Template not |
+found". Unless all those templates are defined, or you redefine the |
+variables, the build will fail, but you can set VPATH to a directory |
+containing an existing template set to take the missing templates from |
+there. Just be sure that there are no intermediate files lying around! |
+ |
+Templates can call other templates by means of the CALL macro. They |
+are scanned recursively to make sure that all referenced templates are |
+included in the respective library. |
+ |
+A complete template package should consist of two libraries: one for |
+the session daemon and one for the front-end. The latter contains the |
+templates for the login screen and certain messages when no session |
+exists or none can be found, and since the users can't choose the |
+front-end template set it can be considered pretty much optional. To |
+skip building the front-end library, set TEMPLATE_LIBS = $(SESSION_LIB) |
+(also on the command line or before including template-set.make). |
+ |
+ |
+Installing |
+---------- |
+ |
+To help build separate architecture-independent and architecture- |
+specific packages (as well as to avoid conflicts with the "install" |
+target you may want to use yourself), template-set.make provides two |
+install targets, "install-sources" and "install-libs", which do the |
+right thing. The standard DESTDIR variable is supported (instead of |
+BROOT, which is used in Prayer's own makefiles). |
+ |
+ |
+Images and CSS files |
+-------------------- |
+ |
+This package contains no tools to organise static files. Those should |
+simply be installed in /usr/share/prayer/icons and |
+/usr/share/prayer/static. Note that Prayer doesn't support sub- |
+directories, so files should be named in a way that avoids conflicts. |
+ |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Sun, 25 Oct 2009 18:36:44 +0100 |
Index: tags/1.3.2-dfsg1-2/debian/prayer-templates-src.install |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-templates-src.install (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-templates-src.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/share/prayer/templates |
+usr/include/prayer |
Index: tags/1.3.2-dfsg1-2/debian/rules |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/rules (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/rules (revision 180) |
@@ -0,0 +1,19 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_prayer-templates = --link-doc=prayer-templates-src |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.3.2-dfsg1-2/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-templates-dev.docs (revision 180) |
@@ -0,0 +1 @@ |
+docs/TEMPLATES |
Index: tags/1.3.2-dfsg1-2/debian/prayer.install |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.install (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.install (revision 180) |
@@ -0,0 +1,7 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+usr/lib/prayer/templates/ |
+etc/prayer/prayer.cf |
Index: tags/1.3.2-dfsg1-2/debian/Config |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/Config (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/Config (revision 180) |
@@ -0,0 +1,149 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+LIB_PREFIX = /usr/lib/prayer |
+SHLIBEXT = .so |
+ |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.3.2-dfsg1-2/debian/prayer.dirs |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.dirs (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/old |
+etc/prayer/templates/cam |
Index: tags/1.3.2-dfsg1-2/debian/prayer.links |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.links (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.links (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/lib/prayer/templates/old.so usr/lib/prayer/templates/xhtml_strict.so |
+usr/lib/prayer/templates/old_frontend.so usr/lib/prayer/templates/xhtml_strict_frontend.so |
Index: tags/1.3.2-dfsg1-2/debian/README.Debian |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/README.Debian (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/README.Debian (revision 180) |
@@ -0,0 +1,104 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using the latest libdb, gzip Content-Transfer-Encoding, LDAP, |
+and System V mutex support. The initial Debian release, which was only |
+uloaded to the experimental distribution, was heavily patched to add |
+UTF-8 and IPv6 support among other things. All that has been |
+incorporated and improved by upstream in 1.1.0. The remaining patches |
+concern changes to the default configuration as detailed below, or fix |
+bugs. You can always find information about patches in |
+changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), the SSL session cache |
+ (ssl_session_dir), and temporary storage of uploaded attachments |
+ (tmp_dir), is /var/run/prayer and subdirectories. Log files are |
+ written to /var/log/prayer (log_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Wed, 30 Sep 2009 22:57:19 +0200 |
+ |
Index: tags/1.3.2-dfsg1-2/debian/watch |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/watch (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/watch (revision 180) |
@@ -0,0 +1,10 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+opts=dversionmangle=s/-dfsg\d*$// \ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz |
Index: tags/1.3.2-dfsg1-2/debian/copyright |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/copyright (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/copyright (revision 180) |
@@ -0,0 +1,93 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+However, due to dubious copyright/licensing status of the coat of |
+arms/logo of the University of Cambridge, the upstream (.orig) tarball |
+has been modified by removing the following files from the files/icons |
+directory: |
+ |
+ identifier.gif |
+ identifier800.gif |
+ ucs-id-small.jpg |
+ univheader.gif |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.3.2-dfsg1-2/debian/prayer.manpages |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.manpages (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+man/prayer.8 |
+man/prayer-session.8 |
+man/prayer.cf.5 |
+man/prayer-ssl-prune.8 |
Index: tags/1.3.2-dfsg1-2/debian/README.source |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/README.source (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/README.source (revision 180) |
@@ -0,0 +1,8 @@ |
+This package uses quilt to manage all modifications to the upstream |
+source. Changes are stored in the source package as diffs in |
+debian/patches and applied during the build. For basic usage |
+information, see |
+ |
+ /usr/share/doc/quilt/README.source |
+ |
+(after installing quilt). |
Index: tags/1.3.2-dfsg1-2/debian/prayer.postinst |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.postinst (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.3.2-dfsg1-2/debian/prayer.postrm |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.postrm (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-2/debian/prayer.default |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.default (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.3.2-dfsg1-2/debian/prayer.init |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.init (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-2/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.3.2-dfsg1-2/debian/prayer.examples |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.examples (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.3.2-dfsg1-2/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.2-dfsg1-2/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.3.2-dfsg1-2/debian/compat |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/compat (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.3.2-dfsg1-2/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.3.2-dfsg1-2/debian/prayer.logrotate |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer.logrotate (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.3.2-dfsg1-2/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.3.2-dfsg1-2/debian |
=================================================================== |
--- tags/1.3.2-dfsg1-2/debian (nonexistent) |
+++ tags/1.3.2-dfsg1-2/debian (revision 180) |
/tags/1.3.2-dfsg1-2/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.3.2-dfsg1-2 |
=================================================================== |
--- tags/1.3.2-dfsg1-2 (nonexistent) |
+++ tags/1.3.2-dfsg1-2 (revision 180) |
/tags/1.3.2-dfsg1-2 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.2.3-2/debian/changelog |
=================================================================== |
--- tags/1.2.3-2/debian/changelog (nonexistent) |
+++ tags/1.2.3-2/debian/changelog (revision 180) |
@@ -0,0 +1,239 @@ |
+prayer (1.2.3-2) unstable; urgency=low |
+ |
+ * welcome_is_template.patch wasn't fully incorporated upstream. Remove |
+ the help_dir setting and check in makefile_install_config.patch instead.c |
+ * Make Prayer work on kFreeBSD. Unfortunately there is no support for |
+ SysV semaphores. |
+ * kfreebsd.patch: Include the right headers under glibc. Detect that |
+ semtimedop is a stub. |
+ * debian/Config: Add -lutils to LIBS. |
+ * makefile_install_config.patch: put back a default value for |
+ lock_dir. |
+ * makefile_install_config.patch: Set imap_server to localhost/notls in |
+ default prayer.cf (Closes: #531801). |
+ * Depend on exim4 | mail-transport-agent. |
+ * Increase Standards-Version to 3.8.3. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Mon, 31 Aug 2009 23:48:04 +0200 |
+ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: #304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.3-2/debian/control |
=================================================================== |
--- tags/1.2.3-2/debian/control (nonexistent) |
+++ tags/1.2.3-2/debian/control (revision 180) |
@@ -0,0 +1,67 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev |
+Standards-Version: 3.8.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate, exim4 | mail-transport-agent |
+Suggests: prayer-accountd, prayer-templates, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.2.0) |
+Replaces: prayer (<< 1.2.2.1-6) |
+Description: templates for customizing Prayer Webmail |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are compiled into the session daemon, |
+ prayer-session, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.3-2/debian/patches/kfreebsd.patch |
=================================================================== |
--- tags/1.2.3-2/debian/patches/kfreebsd.patch (nonexistent) |
+++ tags/1.2.3-2/debian/patches/kfreebsd.patch (revision 180) |
@@ -0,0 +1,38 @@ |
+--- a/lib/os.c |
++++ b/lib/os.c |
+@@ -26,7 +26,7 @@ |
+ #include "os_linux.c" |
+ #elif (defined(SOLARIS)) |
+ #include "os_solaris.c" |
+-#elif (defined(BSD) && BSD >= 199306) |
++#elif defined(__FreeBSD_kernel__) || (defined(BSD) && BSD >= 199306) |
+ #include "os_bsd.c" |
+ #else |
+ #error "No support for this operating system yet. Sorry!" |
+--- a/lib/os_bsd.c |
++++ b/lib/os_bsd.c |
+@@ -16,8 +16,12 @@ |
+ #include <arpa/inet.h> |
+ #include <signal.h> |
+ #include <netdb.h> |
+- |
++#ifdef __GLIBC__ |
++#include <sys/file.h> |
++#include <pty.h> |
++#else |
+ #include <libutil.h> |
++#endif |
+ |
+ /* ====================================================================== */ |
+ |
+--- a/lib/mymutex.c |
++++ b/lib/mymutex.c |
+@@ -9,7 +9,7 @@ |
+ |
+ #include "lib.h" |
+ |
+-#ifdef MUTEX_SEMAPHORE |
++#if defined(MUTEX_SEMAPHORE) && !defined(__stub_semtimedop) |
+ # include "mymutex_sem.c" |
+ #else |
+ # include "mymutex_file.c" |
Index: tags/1.2.3-2/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.3-2/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.3-2/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,199 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,21 +65,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -53,7 +53,7 @@ directory_perms = 0750 |
+ imapd_user_map = "" |
+ |
+ # Default imapd server. |
+-imapd_server = localhost |
++imapd_server = localhost/notls |
+ |
+ # Name of Prayer user preferences file on IMAP server |
+ prefs_folder_name = ".prayer" |
+@@ -266,11 +266,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -278,26 +278,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -382,13 +370,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/prayer/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -409,9 +397,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
+@@ -423,10 +408,11 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++# (only on Debian GNU/kFreeBSD) |
++lock_dir = "$var_prefix" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -434,7 +420,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -448,7 +434,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -609,14 +595,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2139,12 +2139,10 @@ BOOL config_check(struct config * config |
+ struct config_http_port *chp; |
+ char hostname[MAX_ADDRESS+1], domainname[MAX_ADDRESS+1]; |
+ |
+- TEST_STRING(config->help_dir, "help_dir"); |
+ TEST_STRING(config->icon_dir, "icon_dir"); |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: tags/1.2.3-2/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.3-2/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.3-2/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -450,7 +447,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.3-2/debian/patches/series |
=================================================================== |
--- tags/1.2.3-2/debian/patches/series (nonexistent) |
+++ tags/1.2.3-2/debian/patches/series (revision 180) |
@@ -0,0 +1,6 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+kfreebsd.patch |
+unlimit_login_username.patch |
+usernames_with_at.patch |
+clean_completely.patch |
Index: tags/1.2.3-2/debian/patches/clean_completely.patch |
=================================================================== |
--- tags/1.2.3-2/debian/patches/clean_completely.patch (nonexistent) |
+++ tags/1.2.3-2/debian/patches/clean_completely.patch (revision 180) |
@@ -0,0 +1,33 @@ |
+--- a/lib/Makefile |
++++ b/lib/Makefile |
+@@ -74,7 +74,7 @@ mymutex.o: mymutex.c mymutex_sem.c mymu |
+ $(CC) $(CFLAGS) $(MUTEX_DEF) -c $< |
+ |
+ clean: |
+- rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# |
++ rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# $(TARGETS) |
+ |
+ install: all |
+ cp template_expand template_compile ../bin |
+--- a/templates/xhtml_strict/Makefile |
++++ b/templates/xhtml_strict/Makefile |
+@@ -108,7 +108,7 @@ install: |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
+ clean: |
+- rm -f *.html *.o *.c \#*\# *~ |
++ rm -f *.html *.o *.c \#*\# *~ $(TARGET) |
+ |
+ include Makefile.deps |
+ |
+--- a/templates/xhtml_transitional/Makefile |
++++ b/templates/xhtml_transitional/Makefile |
+@@ -108,7 +108,7 @@ install: |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
+ clean: |
+- rm -f *.html *.o *.c \#*\# *~ |
++ rm -f *.html *.o *.c \#*\# *~ $(TARGET) |
+ |
+ include Makefile.deps |
+ |
Index: tags/1.2.3-2/debian/patches/unlimit_login_username.patch |
=================================================================== |
--- tags/1.2.3-2/debian/patches/unlimit_login_username.patch (nonexistent) |
+++ tags/1.2.3-2/debian/patches/unlimit_login_username.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/servers/prayer_login.c |
++++ b/servers/prayer_login.c |
+@@ -118,7 +118,7 @@ prayer_login_generate(struct prayer *pra |
+ bprintf(b, "<input name=\"username\" value=\""); |
+ if (user) |
+ html_quote_string(b, user); |
+- bputs(b, "\" size=\"8\" maxlength=\"8\" />"); |
++ bputs(b, "\" size=\"16\" />"); |
+ bputs(b, "</td>" CRLF); |
+ bputs(b, "</tr>" CRLF); |
+ |
Index: tags/1.2.3-2/debian/patches/usernames_with_at.patch |
=================================================================== |
--- tags/1.2.3-2/debian/patches/usernames_with_at.patch (nonexistent) |
+++ tags/1.2.3-2/debian/patches/usernames_with_at.patch (revision 180) |
@@ -0,0 +1,53 @@ |
+--- a/session/draft.c |
++++ b/session/draft.c |
+@@ -1399,10 +1399,12 @@ char *draft_make_msg(struct draft *draft |
+ if (draft->from_address && draft->from_address[0]) { |
+ from_address = draft->from_address; |
+ use_sender = T; |
+- } else |
+- from_address |
+- = |
++ } else if (strchr(session->username, '@')) { |
++ from_address = pool_strdup(pool, session->username); |
++ } else { |
++ from_address = |
+ pool_printf(pool, "%s@%s", session->username, default_domain); |
++ } |
+ |
+ if (draft->from_personal && draft->from_personal[0]) { |
+ from_personal = draft->from_personal; |
+@@ -1431,9 +1433,14 @@ char *draft_make_msg(struct draft *draft |
+ NIL); |
+ bputs(mb, "" CRLF); |
+ |
+- if (use_sender) |
+- bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
+- default_domain); |
++ if (use_sender) { |
++ if (strchr(session->username, '@')) { |
++ bprintf(mb, "Sender: %s" CRLF, session->username); |
++ } else { |
++ bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
++ default_domain); |
++ } |
++ } |
+ |
+ if (!(draft_make_abook_address(session, mb, "To", draft->to) && |
+ draft_make_abook_address(session, mb, "Cc", draft->cc) && |
+--- a/cmd/cmd_prefs.c |
++++ b/cmd/cmd_prefs.c |
+@@ -474,9 +474,12 @@ generate_compose1_form(struct session *s |
+ template_vals_string(tvals, "from_address", prefs->from_address); |
+ |
+ if (!(prefs->from_address && prefs->from_address[0])) { |
+- char *s = pool_printf(request->pool, "%s@%s", |
+- session->username, prefs->default_domain); |
++ char *s = session->username; |
+ |
++ if (!strchr(session->username, '@')) { |
++ s = pool_printf(request->pool, "%s@%s", |
++ session->username, prefs->default_domain); |
++ } |
+ template_vals_string(tvals, "default_from_address", s); |
+ } |
+ |
Index: tags/1.2.3-2/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.3-2/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.3-2/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.3-2/debian/Config |
=================================================================== |
--- tags/1.2.3-2/debian/Config (nonexistent) |
+++ tags/1.2.3-2/debian/Config (revision 180) |
@@ -0,0 +1,146 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt -lutil |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.3-2/debian/README.source |
=================================================================== |
--- tags/1.2.3-2/debian/README.source (nonexistent) |
+++ tags/1.2.3-2/debian/README.source (revision 180) |
@@ -0,0 +1,8 @@ |
+This package uses quilt to manage all modifications to the upstream |
+source. Changes are stored in the source package as diffs in |
+debian/patches and applied during the build. For basic usage |
+information, see |
+ |
+ /usr/share/doc/quilt/README.source |
+ |
+(after installing quilt). |
Index: tags/1.2.3-2/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.3-2/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.3-2/debian/prayer.default |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.default (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.3-2/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.3-2/debian/prayer.init |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.init (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.3-2/debian/prayer-session.8 |
=================================================================== |
--- tags/1.2.3-2/debian/prayer-session.8 (nonexistent) |
+++ tags/1.2.3-2/debian/prayer-session.8 (revision 180) |
@@ -0,0 +1,96 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SESSION 8 |
+.Sh NAME |
+.Nm prayer-session |
+.Nd Prayer user session backend daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground |
+.Sh DESCRIPTION |
+.Nm |
+is the backend process in the Prayer Webmail system. A fresh |
+.Nm |
+backend is forked off whenever a user logs in. |
+.Pp |
+This process contains all of the permanent state associated with that login |
+session including one or more connections to a IMAP server and possibly |
+connections to accountd servers. prayer-session communicates with the user |
+using HTML over HTTP connections via the |
+.Xr prayer 8 proxy. Each login has a session ID that the front end processes |
+use to find the correct backend. |
+.Pp |
+Backend server processes move into a dormant state after a certain period |
+of inactivity, shutting down IMAP and accountd connections which can be |
+easily resuscitated when the session wakes up. After a long period of |
+inactivity, typically several hours the session process shuts down. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width Ds |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default |
+.Pa /etc/prayer/prayer.cf . |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name |
+to |
+.Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width Ds |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. The |
+.Fl -config-file |
+option takes precedence over this variable. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+.Sh FILES |
+.Bl -tag -width Ds |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It /usr/share/prayer/templates/ |
+Location of standard templates (in the separate |
+.Em prayer-templates |
+package). The templates are compiled into |
+.Nm |
+for performance reasons, so the template files are actually not |
+used, but they are available for customization. |
+.It /etc/prayer/templates/ |
+The Debian pre-configured |
+.Cd template_path . |
+As a Debian extension, |
+.Nm |
+looks here before falling back to the compiled template if |
+.Cd template_use_compiled No is Li false . |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.3-2/debian/rules |
=================================================================== |
--- tags/1.2.3-2/debian/rules (nonexistent) |
+++ tags/1.2.3-2/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.2.3-2/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.3-2/debian/prayer.manpages |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.manpages (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+debian/prayer.8 |
+debian/prayer-session.8 |
+debian/prayer.cf.5 |
+debian/prayer-ssl-prune.8 |
Index: tags/1.2.3-2/debian/prayer.cf.5 |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.cf.5 (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.cf.5 (revision 180) |
@@ -0,0 +1,1015 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER.CF 5 |
+.Sh NAME |
+.Nm prayer.cf |
+.Nd main Prayer configuration file |
+. |
+.Sh DESCRIPTION |
+. |
+.Pa prayer.cf |
+is the configuration file of |
+.Xr prayer 8 |
+and |
+.Xr prayer-session 8 . |
+. |
+.Sh SYNTAX |
+For the most part, prayer.cf consists of |
+.Ar option No = Ar value |
+pairs, but some configuration items are more complex. All values may |
+be enclosed in double quotes, which are stripped. Quotes must be used |
+if a value contains a |
+.Ql # |
+character. Otherwise, everything following it is treated as a comment. |
+Any line can be folded using a |
+.Ql \(rs |
+character at the end of the line; any linear white space at the beginning |
+of the next line is removed. |
+.Pp |
+Simple options can be of the following types: |
+.Bl -tag |
+. |
+.It Vt string |
+No particular restrictions. |
+.It Vt path |
+A file or directory name. The configuration parser expands occurences of a few macros |
+in settings of this type. See |
+.Cd prefix |
+.No and Cd var_prefix |
+below. |
+.It Vt boolean |
+The following forms are interpreted as |
+.Sy true : |
+.Ql true , |
+.Ql t , |
+and |
+.Ql 1 . |
+The following forms are interpreted as |
+.Sy false : |
+.Ql false , |
+.Ql nil , |
+.Ql 0 . |
+Capitalisation does not matter. |
+. |
+.It Vt number |
+An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
+.Ql K , |
+causing the number to be multiplied by 1024, or |
+.Ql M |
+multiplying it by 1024 \(pc 1024. |
+. |
+.It Vt time |
+An integer number (sequence of digits 0-9) of seconds, optionally immediately |
+followed by a single case-insignificant letter |
+.Ql s , |
+which has no effect, |
+.Ql m , |
+causing the number to be multiplied by 60, |
+.Ql h , |
+multiplying it by 60 \(pc 60, or |
+.Ql d , |
+for a multiple of 24 \(pc 60 \(pc 60. |
+.It Vt perm |
+A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
+.El |
+. |
+.Sh OPTIONS |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
+The values of these options can be referred to as |
+.Li $prefix |
+(or |
+.Li ${prefix} ) , |
+and |
+.Li $var_prefix |
+(or |
+.Li ${var_prefix} ) , |
+respectively, in settings of type |
+.Vt path |
+in the rest of the file. |
+.Pp |
+.Sy Default : No none. Need to be set only if referenced later. |
+. |
+.It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
+User name or ID to |
+.Xr setuid 2 |
+to if started as root. Either, but not both, must be set and must not specify |
+.Li uid 0 . |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
+Group name or ID to |
+.Xr setgid 2 |
+to if we start off as root. In addition, prayer calls |
+.Xr initgroups 3 |
+if |
+.Cd prayer_user |
+is set. |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_background Vt ( boolean ) |
+Run prayer as background process. If true, prayer will return as soon |
+as valid configuration is found. |
+.Sy Default : Li true |
+. |
+.It Cd file_perms Vt ( perm ) |
+Create mode for new files. |
+.Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
+. |
+.It Cd directory_perms Vt ( perm ) |
+Create mode for new directories. |
+.Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
+. |
+.It Cd check_directory_perms Vt ( boolean ) |
+Check existing directories under |
+.Li ${var_prefix} ? |
+.El |
+. |
+.Ss Mail server settings |
+. |
+.Bl -tag -width Ds |
+.It Cd imapd_server Vt ( string ) |
+Specifies the default IMAP server(s) using libc-client syntax: |
+.Bd -literal -offset indent |
+.Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
+.Sm on |
+.Ed |
+.Pp |
+Multiple server specifications can be listed, separated by commas. Common flags are: |
+.Bl -tag -compact |
+.It Li /ssl |
+Use SSL-on-connect (on port 993 by default). |
+.It Li /tls |
+Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
+session. Recommended if the server is remote, since otherwise a |
+downgrade attack is possible. |
+.It Li /notls |
+Don't issue STARTTLS even if the server supports it. Recommended if |
+the server is |
+.Li localhost . |
+.It Li /novalidate-cert |
+Don't check the integrity of the server certificate. |
+.El |
+For the full list of flags, see naming.txt.gz in the current |
+libc-client package. |
+. |
+.It Cd imapd_user_map Vt ( path ) |
+CDB lookup map overriding default imapd_server location. For information on CDB, see |
+.Bl -bullet -compact |
+.It |
+http://cr.yp.to/cdb.html |
+.It |
+http://en.wikipedia.org/wiki/Constant_Data_Base |
+.El |
+. |
+.It Cd prefs_folder_name Vt ( string ) |
+Name of Prayer user preferences folder on IMAP server. |
+. |
+.It Cd use_namespace ( Vt boolean ) |
+Use IMAP NAMESPACE command to find |
+.Cd personal_hierarchy No and Cd hiersep . |
+.Sy Default : Li true . |
+. |
+.It Cd personal_hierarchy ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """""" . |
+. |
+.It Cd hiersep ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """/""" . |
+. |
+.It Cd dualuse ( Vt boolean ) |
+Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
+mail and inferior mailboxes). Things will mostly work if dualuse set to |
+.Li false No on a server which supports it, but people will be |
+unable to create children of newly created mailboxes without |
+refreshing the view. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd sieved_server Vt ( string ) |
+Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
+.Cd imapd_server , |
+except the only recognised flag is |
+.Li /ssl . |
+. |
+.It Cd sieved_user_map Vt ( path ) |
+Can be used to provide individualised imapd_server settings in the form of a CDB file. |
+. |
+.It Cd sieved_timeout Vt ( time ) |
+Default timsieved timeout is 10 minutes |
+.El |
+. |
+.Ss Mail domain configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd local_domain |
+Define a valid local domain, and optionally the valid local parts in that domain. |
+This is a special directive that can appear multiple times and does not use an equals sign: |
+.Bd -unfilled |
+.Cd local_domain Ar domain Op Ar map |
+.Ed |
+.Pp |
+.No Without Ar map , Cd local_domain |
+simply defines a domain which will appear on the list visible to user |
+preferences. With |
+.Ar map , |
+it also defines a list a CDB map file which defines valid entries in |
+that domain; used for personal name expansion and checking for valid |
+addresses: The keys are the valid local parts and the values are the |
+corresponding full names of the users. |
+.Pp |
+.Sy Default : No A single entry which corresponds to |
+.Cd default_domain . |
+. |
+.It Cd return_path_domain Vt ( string ) |
+Domain used in the return address given to |
+.Xr sendmail 8 . |
+.Sy Default : No the default domain. |
+. |
+.It Cd filter_domain_pattern Vt ( string ) |
+A filter pattern which is equivalent to, or at least approximates the |
+list of local domains. |
+.Sy Default : No the default domain. |
+. |
+.It Cd hostname Vt ( string ) |
+Hostname is the canonical name for this particular system, used in |
+session and icon URLs which are generated by Prayer. This is derived |
+automatically using |
+.Xr gethostname 2 |
+.No and Xr gethostbyname 3 |
+if no value is provided. However, there are situations, especially |
+involving SSL certificates, where the default hostname may not be |
+appropriate. The special value |
+.Ql __UNDEFINED__ |
+here means the startup script or command line must provide a hostname |
+using a |
+.Fl -config-option |
+override or via the environment variable |
+.Ev PRAYER_HOSTNAME . |
+This is just a safeguard for systems which use DNS round robining to |
+distribute load across a number of machines. |
+. |
+.It Cd hostname_service Vt ( string ) |
+Host name common for all Prayer installations part of the same webmail |
+service. (Only) useful for large installations using DNS round robin |
+for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
+webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
+The user is redirected to this hostname after logging out, and HTTP |
+requests are sanity checked against it in addition to the canonical |
+hostname. |
+.Pp |
+.Sy Default : No none |
+. |
+.It Cd fix_from_address ( Vt boolean ) |
+suppresses the From address option from the Preferences and Roles |
+screens. |
+.Sy Default : Li false . |
+. |
+.It Cd lookup_rpasswd ( Vt path ) |
+Path to a CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Sy Note : No Keys must be Em lowercase ; |
+Prayer converts search strings to lowercase in order to provide |
+case-insensitive lookup. |
+. |
+.It Cd lookup_rusername ( Vt path ) |
+Path to a second CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Pp |
+If the user enters a valid and existing username according to |
+.Xr getpwnam 3 , Prayer does not search these first two CDB files, |
+but skips directly to the second stage of looking up user information. |
+. |
+.It Cd lookup_username ( Vt path ) |
+Path to a CDB file that maps usernames to records consisting of the user's |
+.Dq registered name |
+and his/her affiliation (department), separated by a vertical bar |
+.Ql ( "|" ) . |
+Additionally, if a second vertical bar follows, the account is |
+regarded as cancelled. |
+.Pp |
+When presenting the search results, the usernames found are combined with the |
+.Cd default_domain |
+to form email addresses. It is not possible at this time to let users |
+search for addresses in more than one domain using this facility. |
+. |
+.It Cd lookup_fullname ( Vt path ) |
+Path to a CDB file that maps usernames to |
+.Dq display names , |
+possibly provided by the users themselves in some way. The display name |
+of a user is used together with the email address in recipient fields |
+.Pp |
+Note that all four lookup options must be set to valid CDB files for |
+the local lookup to work, but more than one option may conceivably |
+point to the same file. |
+. |
+.It Cd ldap_server ( Vt string ) |
+Name or address of LDAP server. |
+. |
+.It Cd ldap_base_dn ( Vt string ) |
+Base DN to search. After binding anonymously, Prayer performs a |
+one-level-scope search for entries with |
+.Li surname No or Li mail No attributes containing the search string. |
+The following attributes are fetched and presented: |
+.Bl -bullet -compact |
+.It |
+.Li uid |
+.It |
+.Li displayName |
+.It |
+.Li cn Dq ( registered name ) |
+.It |
+.Li ou Dq ( affiliation ) |
+.It |
+.Li mail |
+.It |
+.Li telephoneNumber |
+.El |
+. |
+.It Cd ldap_timeout ( Vt time ) |
+Search timeout. |
+.Sy Default : Li 30s . |
+.El |
+. |
+.Ss HTTP and other frontend settings |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd use_http_port , use_https_port |
+Define a single HTTP[S] port to bind to. You can define an arbitary list |
+of ports of both kinds by using a series of separate |
+.Cd use_http_port No and Cd use_https_port |
+directives, with one port on each line. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_http_port Oo Ar interface : Oc Ns Ar port |
+.Cd use_https_port Oo Ar interface : Oc Ns Ar port |
+.Ed |
+.Pp |
+.Ar interface |
+can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
+.Xr getaddrinfo 3 |
+for resolution, and the first resulting address is used to bind to. Otherwise, |
+.Xr prayer 8 |
+.No binds to Ar port No on all interfaces. |
+. |
+.It Cd ssl_default_port Vt ( number ) |
+Prayer will put a warning on the login page for HTTP connections if |
+both HTTP and HTTPS sessions are available. This will provide a link |
+to the SSL version of the service, defaulting to port 443 or failing |
+that the first defined HTTPS port. ssl_default_port overrides the |
+built in logic. |
+.Pp |
+Should be rarely required now that Prayer automatically derives an |
+appropriate port if none is provided here. |
+. |
+.It Cd ssl_cert_file Vt ( path ) |
+Locatation of SSL certificate file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_privatekey_file Vt ( path ) |
+Location of SSL private key file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_rsakey_lifespan Vt ( time ) |
+Master server will regenerate shared RSA key at this interval. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_rsakey_freshen Vt ( time ) |
+RSA key remains fresh in child process for this long after first actual use. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_session_timeout Vt ( time ) |
+SSL session cache TTL. |
+.Sy Default : Li 0 No (SSL session cache not used). |
+.Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
+data from the DBD database. |
+. |
+.It Cd egd_socket Vt ( path ) |
+Path to entropy gathering daemon socket. If provided, it will be used in place of |
+or in addition to |
+.Pa /dev/urandom |
+. |
+.It Cd contact_email Vt ( string ) |
+System administrator email address. |
+.Sy This setting is currently not used. |
+If you want to display support information to your users, customise the templates. |
+. |
+.It Cd fatal_dump_core Vt ( boolean ) |
+Dump core on |
+.Fn fatal |
+error. |
+.Sy Default : No false. |
+. |
+.It Cd log_debug Vt ( boolean ) |
+Enable somewhat more verbose logging, mainly in relation to SSL. |
+.Sy Default : No false. |
+. |
+.It Cd fix_client_ipaddr Vt ( boolean ) |
+Client must connect from consistent IP addresses. May be useful as |
+a security measure in LAN environments. Painful for dialup users |
+whose connections may drop out. |
+.Sy Default : No false. |
+. |
+.It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
+.Xr prayer-session 8 |
+gzip-compresses pages sent to clients if: |
+.Bl -enum -compact |
+.It |
+gzip compression enabled at compile time, |
+.It |
+.Cd use_gzip No is set in user preferences, |
+.It |
+User agent is known to support Content-Encoding: gzip, |
+.It |
+User agent asks for Content-Encoding: gzip or x-gzip, |
+.It |
+IP address of client appears in |
+.Cd gzip_allow_nets |
+.Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
+.El |
+.Pp |
+The format of these options is a sequence of |
+.Ar ipaddr Ns Op / Ns Ar masklen |
+items, separated by colons |
+.Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
+.Ar masklen No is omitted, the item is interpreted as a full host address. |
+. |
+.It Cd log_name_nets Vt ( string ) |
+A network list in the same format as |
+.Cd gzip_allow_nets |
+above. To avoid delay when a user logs in, |
+.Xr prayer-session 8 |
+only performs a reverse lookup of the remote address if matches this list. |
+.Sy Default : No empty; no reverse lookup are performed. |
+. |
+.It Cd limit_vm Vt ( number ) |
+Virtual memory limit imposed on each process to stop runaway process killing system. See |
+.Xr setrlimit 2 . |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_method_size Vt ( number ) |
+Prayer should in theory be able to cope with input of arbitrary |
+size. In practice however, the incoming request has to be stored |
+somewhere and without limits an attacker may exhaust available memory, |
+causing a denial of service attack. |
+.Pp |
+This sets the maximum size of the initial line of an HTTP request. |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_hdr_size Vt ( number ) |
+Maximum for headers associated with this request. |
+. |
+.It Cd http_max_body_size Vt ( number ) |
+Maximum for HTTP payload. This is the most significant one in normal use. |
+. |
+.It Cd draft_att_single_max ( Vt number ) |
+Maximum size of a single attachment when composing a mail. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd draft_att_total_max ( Vt number ) |
+Maximum size of all attachments. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd http_min_servers Vt ( number ) |
+Minimum number of preforked |
+.Xr prayer 8 HTTP servers. The master process forks new slave processes |
+whenever the number of idle slaves falls below this number, unless the |
+total number of slaves would exceed |
+.Cd http_max_servers . |
+.Sy Default : Li 4. |
+. |
+.It Cd http_max_servers Vt ( number ) |
+Maximum number of preforked |
+.Xr prayer 8 HTTP servers (active and idle). The master process does not, |
+however, enforce any maximum number of |
+.Em idle No slave processes; they have to terminate voluntarily by timing out |
+or serving the maximum number of connections. |
+.Sy Default : Li 64 . |
+. |
+.It Cd http_max_connections Vt ( number ) |
+Maximum number of connections that each frontend server will process. |
+.Sy Default : Li 0 No (no limit). |
+. |
+.It Cd http_timeout_idle Vt ( time ) |
+Timeout for (dirty) spare server waiting for another HTTP connection. |
+.Sy Default : Li 30s . |
+. |
+.It Cd http_timeout_icons Vt ( time ) |
+Timeout for HTTP connection that last served static content. |
+.Sy Default : Li 10s . |
+. |
+.It Cd http_timeout_session Vt ( time ) |
+Timeout for HTTP connection that last served a session URL or has not served anything yet. |
+.Sy Default : Li 60s . |
+. |
+.It Cd http_cookie_use_port Vt ( boolean ) |
+Present HTTP cookies to browser as |
+.Dq Li username:port=value |
+rather than |
+.Dq Li username=value . |
+Allows simultaneous login sessions from a single client browser. |
+However can leave a trail of cookies behind. Probably don't want this |
+in the long term, it's here for experimentation purposes only at the |
+moment. |
+. |
+.It Cd icon_expire_timeout Vt ( time ) |
+The amount of time in the future to set the HTTP |
+.Li Expires: No field for static content. |
+.Sy Default : Li 7d . |
+(In contrast sessions URLs expire immediately: Browsers really |
+shouldn't be trying to cache this stuff, especially when it is coming |
+in over HTTPS). |
+.El |
+. |
+.Ss Session specific configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd session_idle_time Vt ( time ) |
+Session switches to idle mode after this much time: connections to |
+IMAP and accountd servers are shut down. |
+.Sy Default : Li 0 No (idle mode disabled). |
+. |
+.It Cd session_timeout Vt ( time ) |
+Session terminates after this much idle time. |
+.Ql 0 |
+means session never times out. |
+.Sy Default : Li 4h . |
+. |
+.It Cd session_timeout_compose Vt ( time ) |
+Session terminates after this much idle time instead when the last command was |
+.Ql compose |
+.No or Ql sieve . |
+It should probably not be set lower than |
+.Cd session_timeout . |
+.Sy Default : Li 0 No (always use the same timeout). |
+. |
+.It Cd stream_ping_interval Vt ( time ) |
+Ping INBOX, Other, and Draft streams at this interval. |
+.Sy Default : Li 5m . |
+. |
+.It Cd stream_checkpoint Vt ( boolean ) |
+.No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
+.Sy Default : Li true . |
+. |
+.It Cd stream_misc_timeout Vt ( time ) |
+Shut down Postponed, Preferences and Transfer streams entirely |
+after this much idle time, but only if idle mode doesn't beat us to it. |
+.Sy Default : Li 0 No (disabled). |
+. |
+.It Cd log_ping_interval Vt ( time ) |
+.Xr stat 2 log files at this interval to see if target file has been |
+renamed or removed. |
+.Ql 0s |
+means stat() log file every time something is logged. |
+.Sy Default : Li 5m . |
+. |
+.It Cd db_ping_interval Vt ( time ) |
+Interval at which to re-read CDB files containing the local domain. |
+.Sy Default : Li 30m . |
+.El |
+. |
+.Ss Display specific configuration |
+. |
+.Bl -tag -width Ds |
+.It Cd login_banner Vt ( string ) |
+Used in the |
+.Li <title> |
+and heading of the login page, unless |
+.Cd login_prefix_path |
+specifies a custom first HTML part. |
+.Sy Default : Li """Webmail Service Login""" . |
+. |
+.It Cd login_service_name Vt ( string ) |
+Used in the |
+.Li <title> No and elsewhere to refer to the webmail system |
+.Em after No the user has logged in. |
+.Sy Default : Li """Prayer""" . |
+. |
+.It Cd login_prefix_path Vt ( path ) |
+File to use as the part of the login page before the login |
+form. Should include everything including DOCTYPE and <html> tag. If |
+unset, Prayer constructs a fairly safe and boring login page |
+consisting of the |
+.Cd login_banner . |
+on the background colour of the default main theme. |
+. |
+.It Cd motd_path Vt ( path ) |
+File to use as the part of the login page immediately following the login form. |
+. |
+.It Cd login_suffix_path Vt ( path ) |
+File to use as the last part of the login page. If unset, Prayer simply outputs |
+.Dq Li </body></html> . |
+. |
+.It Cd ssl_encouraged ( Vt boolean ) |
+If the user connects over unencrypted HTTP, do not show the login form on the start |
+.Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
+.Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
+. |
+.It Cd ssl_redirect ( Vt boolean ) |
+If the user connects over unencrypted HTTP, return a |
+.Ql 302 |
+redirect to the default SSL port. Only the start |
+.Pa ( / ) No page is redirected and it may be possible to switch between http and |
+https after loggin in, subject to cookie rules. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd ssl_required ( Vt boolean ) |
+Return a |
+.Ql 403 Forbidden |
+error if the user tries to access anything over unencrypted HTTP. |
+.Cd ssl_redirect No still has effect, however. |
+. |
+.It Cd list_addr_maxlen Vt ( number ) |
+The maximum number of characters to show from addresses on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd list_subject_maxlen Vt ( number ) |
+The maximum number of characters to show from the subject on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd change_max_folders ( Vt number ) |
+The maximum number of folders allowed in the quick folder change |
+dropdown list. If there would be too many folders, the quick list is |
+disabled altogether. Only folders that are expanded in the folder view |
+are included. |
+.Pp |
+.Sy Default : Li 20 . |
+. |
+.It Cd template_path ( Vt path ) |
+Path to uncompiled template sets (directories). |
+.Sy Default : Li """../templates""" No (relative to |
+.Cd tmp_dir ) . |
+. |
+.It Cd template_set ( Vt string ) |
+Template set to use. |
+.Sy Default : Li """xhtml_strict""" . |
+. |
+.It Cd template_use_compiled ( Vt boolean ) |
+Use the compiled-in templates, ignoring |
+.Cd template_path . |
+.Sy Default : Li true . |
+.Pp |
+As a Debian extension, |
+.Xr prayer-session 8 |
+will fall back to the compiled-in template version of any template |
+that it cannot find in the template directory. This enables |
+customization of some templates without having to compile all of them |
+at run time, although attempting to open each template still incurs a |
+certain penalty. |
+. |
+.It Cd theme |
+Define themes and their colors. |
+.Em Semi-deprecated ; No Colours set with this directive are only used by the |
+.Li xhtml_transitional No template set. The |
+.Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
+It is still necessary to tell Prayer which themes are available, however. |
+.Pp |
+Syntax: |
+.Bd -literal -offset indent |
+.Cd theme Ar name Li description Ar description |
+.Cd theme Ar name element colour |
+.Cd theme Ar name element colour |
+\&... |
+.Ed |
+.Pp |
+.Ar description No is the label shown in the theme dropdown lists on the |
+General Preferences page. |
+.Pp |
+.Ar element No is one of |
+.Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
+.Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
+.Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
+The first three are not used by any standard template set, but are |
+available. Please study the templates to understand how the rest are |
+used. |
+.Pp |
+.Ar colour No is any valid HTML Vt %Color No value. |
+Remember that strings containing hash marks need to be quoted. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme. |
+. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme in help mode. |
+. |
+.It Cd use_ispell_language |
+Ispell languages that we want to support, with some descriptive text |
+for the preferences screen. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_ispell_language Ar wordlist Ar description |
+.Ed |
+.Pp |
+Example: |
+.Bd -literal -offset indent |
+.Li use_ispell_language british Qq British English |
+.Ed |
+.El |
+. |
+.Ss Paths etc. |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd aspell_path ( Vt path ) |
+Location of Aspell Binary (takes precedence over |
+.Cd ispell_path ) . |
+. |
+.It Cd bin_dir ( Vt path ) |
+Location of Prayer binaries |
+.Xr ( prayer 8 and |
+.Xr prayer-session 8 ) . |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd icon_dir ( Vt path ) |
+Location of icon files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ispell_path ( Vt path ) |
+Location of Ispell Binary (backwards compatibility only). |
+. |
+.It Cd log_dir ( Vt path ) |
+Location of log files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd pid_dir ( Vt path ) |
+Location for PID files of prayer and prayer-session master processes. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd sendmail_path ( Vt path ) |
+Location of sendmail binary or drop in replacement such as Exim. |
+.Sy Default : Pa /usr/lib/sendmail . |
+. |
+.It Cd socket_dir ( Vt path ) |
+Location for unix domain sockets which connect |
+.Xr ( prayer 8 to |
+.Xr prayer-session 8 ) . |
+. |
+.It Cd socket_split_dir ( Vt boolean ) |
+Split socket directory into 64 subdirs keyed on first letter of |
+sessionID. It is possible to switch back and forth without moving |
+sockets or killing sessions, since |
+.Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
+.Xr prayer-session 8 creates the socket files. |
+.Sy Default : Li false . |
+. |
+.It Cd init_socket_name ( Vt string ) |
+Name of Unix domain socket (in |
+.Cd socket_dir ) No used for initial handshake |
+between prayer and prayer-session processes when a user logs in. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ssl_session_dir ( Vt path ) |
+Location of the SSL session cache database. |
+.Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
+. |
+.It Cd static_dir ( Vt path ) |
+Location of other static files (CSS). |
+.Sy Default : No none. If unset, Prayer will not serve CSS files. |
+. |
+.It Cd tmp_dir ( Vt path ) |
+As the directory both daemons |
+.Xr chdir 2 |
+to at startup, it is where temporary files, such as attachments and |
+folders in transist during upload and download operations, are |
+written. Core files also end up here. |
+.Sy Default : No none. Sy Must be set. |
+.El |
+. |
+.Ss Defaults for user preferences |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd confirm_logout ( Vt boolean ) |
+Confirmation dialogue when user logs out. |
+.Sy Default : Li true . |
+. |
+.It Cd confirm_expunge ( Vt boolean ) |
+Confirmation dialogue when user hits expunge. |
+.Sy Default : Li false . |
+. |
+.It Cd confirm_rm ( Vt boolean ) |
+Confirmation dialogue when user deletes mail folder or directory. |
+.Sy Default : Li true . |
+. |
+.It Cd default_domain Vt ( string ) |
+Default domain for outgoing mail. Defaults to |
+.Cd hostname No setting. |
+. |
+.It Cd html_inline ( Vt boolean ) |
+Show text/html bodyparts inline. Content is scrubbed to remove |
+dangerous tags; see documentation for more details. |
+.Sy Default : Li true . |
+. |
+.It Cd html_inline_auto ( Vt boolean ) |
+Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
+Does anyone other than spammers actually use this? |
+.Sy Default : Li true . |
+. |
+.It Cd ispell_language ( Vt string ) |
+Language for ispell. |
+.Sy Default : Li """british""" . |
+. |
+.It Cd msgs_per_page ( Vt number ) |
+Number of messages per screen on message list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd msgs_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd msgs_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd abook_per_page ( Vt number ) |
+Number of addressbook entries per page on address book list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd abook_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd abook_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd maildir ( Vt string ) |
+Mail directory in user's account. |
+.Sy Default : Li """""" . |
+Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
+. |
+.It Cd suppress_dotfiles ( Vt boolean ) |
+Supress dotfiles from directory listing. |
+.Sy Default : Li true . |
+. |
+.It Cd postponed_folder ( Vt string ) |
+Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
+.Sy Default : Li """postponed-msgs""" . |
+. |
+.It Cd sent_mail_folder ( Vt string ) |
+Name of folder for sent mail. |
+.Sy Default : Li """sent-mail""" . |
+. |
+.It Cd small_cols ( Vt number ) |
+Width of small compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd small_rows ( Vt number ) |
+Height of small compose textarea in lines. |
+.Sy Default : Li 18 . |
+. |
+.It Cd large_cols ( Vt number ) |
+Width of large compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd large_rows ( Vt number ) |
+Height of large compose textarea in lines. |
+.Sy Default : Li 32 . |
+. |
+.It Cd sort_mode ( Vt string ) |
+Default Sort mode for mailbox list. One of |
+.Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
+.Sy Default : Li ARRIVAL No is most efficient, and recommended. |
+. |
+.It Cd sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd abook_sort_mode ( Vt string ) |
+Default Sort mode for addressbook list. One of: |
+.Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
+.Sy Default : Li ORDERED . |
+. |
+.It Cd abook_sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_len ( Vt number ) |
+Wrap lines at this many characters. |
+.Sy Default : Li 76 . |
+. |
+.It Cd line_wrap_advanced ( Vt boolean ) |
+Enable advanced line wrap options? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_on_reply ( Vt boolean ) |
+Line wrap automatically on reply. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_spell ( Vt boolean ) |
+Line wrap automatically on spell check. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_send ( Vt boolean ) |
+Line wrap automatically on send. |
+.Sy Default : Li true . |
+. |
+.It Cd preserve_mimetype ( Vt boolean ) |
+Send message Content-Type through to browser. If |
+.Li false , No Content-Type is replaced with |
+.Ql application/octet-stream |
+which should force download to local disk, bypassing any automatic |
+processing of bodyparts by the User-Agent. Unclear at the moment |
+whether we need to do this, or whether this should be done selectively |
+based on the User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_sent_mail ( Vt boolean ) |
+.No Make the Dq Save copy |
+checkbox on the compose screen checked default. |
+.Sy Default : Li true . |
+. |
+.It Cd use_mark_persist ( Vt boolean ) |
+Use persistent mark for aggregate operations. |
+.Sy Default : Li false . |
+. |
+.It Cd use_search_zoom ( Vt boolean ) |
+Zoom automatically after sucessful search |
+.Sy Default : Li true . |
+. |
+.It Cd use_agg_unmark ( Vt boolean ) |
+Unmark messages after sucessful aggregate operation. |
+.Sy Default : Li true . |
+. |
+.It Cd use_icons ( Vt boolean ) |
+Use icons: may be overriden by value of User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_welcome ( Vt boolean ) |
+Enable welcome screen . |
+.Sy Default : Li true . |
+. |
+.It Cd use_tail_banner ( Vt boolean ) |
+Duplicate banner icons (toolbar) at the bottom of the Message screen. |
+.Sy Default : Li true . |
+.El |
+. |
+.Ss Hidden preferences |
+. |
+The following options are internally handled as user preferences, but |
+the Preferences screen no longer provides any means for changing them. |
+. |
+.Bl -tag -width Ds |
+.It Cd use_cookie ( Vt boolean ) |
+Use HTTP cookie for Session-ID, if the browser supports cookies |
+If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
+.Sy Default : Li true . |
+. |
+.It Cd use_substitution ( Vt boolean ) |
+Use page substiution rather than HTTP redirects. Faster, but the URLs |
+that are generated are less predictable. Page substitution and browser |
+history mechanism don't coexist well at the moment (Prayer would need to |
+cache final page value for each substiution event). |
+.Pp |
+.Sy Default : Li true . |
+. |
+.It Cd use_http_1_1 ( Vt boolean ) |
+Allow HTTP/1.1, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_pipelining ( Vt boolean ) |
+Allow HTTP/1.1 pipelining, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_embed_http ( Vt boolean ) |
+Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_persist ( Vt boolean ) |
+Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
+if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_short ( Vt boolean ) |
+Allow short URLs, if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_gzip ( Vt boolean ) |
+Allow gzip compression, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer-session 8 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
Index: tags/1.2.3-2/debian/prayer-ssl-prune.8 |
=================================================================== |
--- tags/1.2.3-2/debian/prayer-ssl-prune.8 (nonexistent) |
+++ tags/1.2.3-2/debian/prayer-ssl-prune.8 (revision 180) |
@@ -0,0 +1,54 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SSL-PRUNE 8 |
+.Sh NAME |
+.Nm prayer-ssl-prune |
+.Nd purge stale SSL session data |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+should be run periodically (e.g. once a day) when using SSL session caching |
+.Cd ( ssl_session_timeout No > 0 in |
+.Pa prayer.cf ) . |
+It removes old transaction logs and stale session data. |
+It accepts the same configuration-overriding options as |
+.Xr prayer 8 and |
+.Xr prayer-session 8 . |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /var/run/prayer/ssl_scache/ |
+Default location of the SSL session cache database. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.3-2/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.3-2/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.3-2/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.3-2/debian/prayer-templates.install |
=================================================================== |
--- tags/1.2.3-2/debian/prayer-templates.install (nonexistent) |
+++ tags/1.2.3-2/debian/prayer-templates.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.2.3-2/debian/prayer.install |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.install (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.install (revision 180) |
@@ -0,0 +1,6 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+etc/prayer/prayer.cf |
Index: tags/1.2.3-2/debian/prayer.8 |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.8 (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.8 (revision 180) |
@@ -0,0 +1,93 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER 8 |
+.Sh NAME |
+.Nm prayer |
+.Nd standalone IMAP-based webmail server |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground | -disable-prefork |
+.Oo Fl -disable-session | - |
+.Ar session-options Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is the normal frontend daemon in the Prayer Webmail system. It is a |
+simple HTTP server and proxy that serves icons and other static files, |
+but firstly and foremostly forwards requests to the correct backend |
+daemons based on session IDs passed either in cookies or as part of |
+the URL. |
+.Pp |
+The master daemon normally preforks a number of child processes that |
+each will serve a configurable number of requests. The total number of |
+child processes is limited to prevent denial of service attacks. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.It Fl -disable-prefork |
+Disable preforking. The master daemon will listen for connections |
+on the configured ports and spawn child processes one at a time. |
+.It Fl -disable-session |
+Do not start the session server, |
+.Xr prayer-session 8 . |
+.It Fl - |
+End of |
+.Nm |
+options; remaining options will be passed to |
+.Xr prayer-session 8 . |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /usr/share/prayer/icons/ |
+Location of the standard icons used by the interface. |
+.It Pa /usr/share/prayer/static/ |
+Directory containing other static files; currently only CSS files. |
+.It Pa /var/run/prayer/sockets/ |
+Pre-configured location of sockets for frontend to backend communication. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer-session 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+.No using documentation written by An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.3-2/debian/README.Debian |
=================================================================== |
--- tags/1.2.3-2/debian/README.Debian (nonexistent) |
+++ tags/1.2.3-2/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.3-2/debian/prayer.examples |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.examples (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.3-2/debian/copyright |
=================================================================== |
--- tags/1.2.3-2/debian/copyright (nonexistent) |
+++ tags/1.2.3-2/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.3-2/debian/prayer.docs |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.docs (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.3-2/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.3-2/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.3-2/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.3-2/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.3-2/debian/compat |
=================================================================== |
--- tags/1.2.3-2/debian/compat (nonexistent) |
+++ tags/1.2.3-2/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.3-2/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.3-2/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.3-2/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.3-2/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.3-2/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.3-2/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.3-2/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.3-2/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.3-2/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.3-2/debian/watch |
=================================================================== |
--- tags/1.2.3-2/debian/watch (nonexistent) |
+++ tags/1.2.3-2/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.3-2/debian |
=================================================================== |
--- tags/1.2.3-2/debian (nonexistent) |
+++ tags/1.2.3-2/debian (revision 180) |
/tags/1.2.3-2/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.3-2 |
=================================================================== |
--- tags/1.2.3-2 (nonexistent) |
+++ tags/1.2.3-2 (revision 180) |
/tags/1.2.3-2 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.2.3-1/debian/changelog |
=================================================================== |
--- tags/1.2.3-1/debian/changelog (nonexistent) |
+++ tags/1.2.3-1/debian/changelog (revision 180) |
@@ -0,0 +1,221 @@ |
+prayer (1.2.3-1) unstable; urgency=low |
+ |
+ * New upstream release. |
+ - Drop repair_ssl_session_db_on_version_mismatch.patch, |
+ remove_old_db_logfiles_from_prayer-ssl-prune.patch, |
+ welcome_is_template.patch, template_find_bug.patch; all incorporated |
+ upstream. |
+ - Update makefile_install_config.patch after welcome.html gone. |
+ * kfreebsd.patch (new): Try to get Prayer to work on Debian |
+ GNU/kFreeBSD. |
+ * Add ${misc:Depends} to Depends for prayer-templates. |
+ * Upgrade to Standards-Version 3.8.1. |
+ + Add debian/README.source. |
+ * clean_completely.patch (new): Fix a few makefiles that didn't remove |
+ their build targets in the clean target (Closes: #521369). Thanks to |
+ Simon McVittie. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 14 Apr 2009 00:50:31 +0200 |
+ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: 304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.3-1/debian/patches/series |
=================================================================== |
--- tags/1.2.3-1/debian/patches/series (nonexistent) |
+++ tags/1.2.3-1/debian/patches/series (revision 180) |
@@ -0,0 +1,6 @@ |
+makefile_install_config.patch |
+templates_fallback_to_compiled.patch |
+kfreebsd.patch |
+unlimit_login_username.patch |
+usernames_with_at.patch |
+clean_completely.patch |
Index: tags/1.2.3-1/debian/patches/clean_completely.patch |
=================================================================== |
--- tags/1.2.3-1/debian/patches/clean_completely.patch (nonexistent) |
+++ tags/1.2.3-1/debian/patches/clean_completely.patch (revision 180) |
@@ -0,0 +1,33 @@ |
+--- a/lib/Makefile |
++++ b/lib/Makefile |
+@@ -74,7 +74,7 @@ mymutex.o: mymutex.c mymutex_sem.c mymu |
+ $(CC) $(CFLAGS) $(MUTEX_DEF) -c $< |
+ |
+ clean: |
+- rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# |
++ rm -f lib.o $(OBJS) $(WITHSSL_OBJS) $(NOSSL_OBJS) *~ \#*\# $(TARGETS) |
+ |
+ install: all |
+ cp template_expand template_compile ../bin |
+--- a/templates/xhtml_strict/Makefile |
++++ b/templates/xhtml_strict/Makefile |
+@@ -108,7 +108,7 @@ install: |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
+ clean: |
+- rm -f *.html *.o *.c \#*\# *~ |
++ rm -f *.html *.o *.c \#*\# *~ $(TARGET) |
+ |
+ include Makefile.deps |
+ |
+--- a/templates/xhtml_transitional/Makefile |
++++ b/templates/xhtml_transitional/Makefile |
+@@ -108,7 +108,7 @@ install: |
+ cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE) |
+ |
+ clean: |
+- rm -f *.html *.o *.c \#*\# *~ |
++ rm -f *.html *.o *.c \#*\# *~ $(TARGET) |
+ |
+ include Makefile.deps |
+ |
Index: tags/1.2.3-1/debian/patches/unlimit_login_username.patch |
=================================================================== |
--- tags/1.2.3-1/debian/patches/unlimit_login_username.patch (nonexistent) |
+++ tags/1.2.3-1/debian/patches/unlimit_login_username.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/servers/prayer_login.c |
++++ b/servers/prayer_login.c |
+@@ -118,7 +118,7 @@ prayer_login_generate(struct prayer *pra |
+ bprintf(b, "<input name=\"username\" value=\""); |
+ if (user) |
+ html_quote_string(b, user); |
+- bputs(b, "\" size=\"8\" maxlength=\"8\" />"); |
++ bputs(b, "\" size=\"16\" />"); |
+ bputs(b, "</td>" CRLF); |
+ bputs(b, "</tr>" CRLF); |
+ |
Index: tags/1.2.3-1/debian/patches/usernames_with_at.patch |
=================================================================== |
--- tags/1.2.3-1/debian/patches/usernames_with_at.patch (nonexistent) |
+++ tags/1.2.3-1/debian/patches/usernames_with_at.patch (revision 180) |
@@ -0,0 +1,53 @@ |
+--- a/session/draft.c |
++++ b/session/draft.c |
+@@ -1399,10 +1399,12 @@ char *draft_make_msg(struct draft *draft |
+ if (draft->from_address && draft->from_address[0]) { |
+ from_address = draft->from_address; |
+ use_sender = T; |
+- } else |
+- from_address |
+- = |
++ } else if (strchr(session->username, '@')) { |
++ from_address = pool_strdup(pool, session->username); |
++ } else { |
++ from_address = |
+ pool_printf(pool, "%s@%s", session->username, default_domain); |
++ } |
+ |
+ if (draft->from_personal && draft->from_personal[0]) { |
+ from_personal = draft->from_personal; |
+@@ -1431,9 +1433,14 @@ char *draft_make_msg(struct draft *draft |
+ NIL); |
+ bputs(mb, "" CRLF); |
+ |
+- if (use_sender) |
+- bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
+- default_domain); |
++ if (use_sender) { |
++ if (strchr(session->username, '@')) { |
++ bprintf(mb, "Sender: %s" CRLF, session->username); |
++ } else { |
++ bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
++ default_domain); |
++ } |
++ } |
+ |
+ if (!(draft_make_abook_address(session, mb, "To", draft->to) && |
+ draft_make_abook_address(session, mb, "Cc", draft->cc) && |
+--- a/cmd/cmd_prefs.c |
++++ b/cmd/cmd_prefs.c |
+@@ -474,9 +474,12 @@ generate_compose1_form(struct session *s |
+ template_vals_string(tvals, "from_address", prefs->from_address); |
+ |
+ if (!(prefs->from_address && prefs->from_address[0])) { |
+- char *s = pool_printf(request->pool, "%s@%s", |
+- session->username, prefs->default_domain); |
++ char *s = session->username; |
+ |
++ if (!strchr(session->username, '@')) { |
++ s = pool_printf(request->pool, "%s@%s", |
++ session->username, prefs->default_domain); |
++ } |
+ template_vals_string(tvals, "default_from_address", s); |
+ } |
+ |
Index: tags/1.2.3-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.3-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.3-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,173 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,21 +65,16 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -266,11 +266,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -278,26 +278,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -382,13 +370,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -423,10 +411,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++log_dir = "/var/log/prayer" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -434,7 +419,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -448,7 +433,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -609,14 +594,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2144,7 +2144,6 @@ BOOL config_check(struct config * config |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: tags/1.2.3-1/debian/patches/kfreebsd.patch |
=================================================================== |
--- tags/1.2.3-1/debian/patches/kfreebsd.patch (nonexistent) |
+++ tags/1.2.3-1/debian/patches/kfreebsd.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/os.c |
++++ b/lib/os.c |
+@@ -26,7 +26,7 @@ |
+ #include "os_linux.c" |
+ #elif (defined(SOLARIS)) |
+ #include "os_solaris.c" |
+-#elif (defined(BSD) && BSD >= 199306) |
++#elif defined(__FreeBSD_kernel__) || (defined(BSD) && BSD >= 199306) |
+ #include "os_bsd.c" |
+ #else |
+ #error "No support for this operating system yet. Sorry!" |
+--- a/lib/os_bsd.c |
++++ b/lib/os_bsd.c |
+@@ -16,6 +16,10 @@ |
+ #include <arpa/inet.h> |
+ #include <signal.h> |
+ #include <netdb.h> |
++#ifdef __GLIBC__ |
++#include <sys/file.h> |
++#include <pty.h> |
++#endif |
+ |
+ #include <libutil.h> |
+ |
Index: tags/1.2.3-1/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.3-1/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.3-1/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.3-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.3-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.3-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.3-1/debian/control |
=================================================================== |
--- tags/1.2.3-1/debian/control (nonexistent) |
+++ tags/1.2.3-1/debian/control (revision 180) |
@@ -0,0 +1,67 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev |
+Standards-Version: 3.8.1 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, prayer-templates, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Depends: ${misc:Depends} |
+Recommends: prayer (>= 1.2.0) |
+Replaces: prayer (<< 1.2.2.1-6) |
+Description: templates for customizing Prayer Webmail |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are compiled into the session daemon, |
+ prayer-session, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.3-1/debian/README.source |
=================================================================== |
--- tags/1.2.3-1/debian/README.source (nonexistent) |
+++ tags/1.2.3-1/debian/README.source (revision 180) |
@@ -0,0 +1,8 @@ |
+This package uses quilt to manage all modifications to the upstream |
+source. Changes are stored in the source package as diffs in |
+debian/patches and applied during the build. For basic usage |
+information, see |
+ |
+ /usr/share/doc/quilt/README.source |
+ |
+(after installing quilt). |
Index: tags/1.2.3-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.3-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.3-1/debian/prayer.default |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.default (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.3-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.3-1/debian/prayer.init |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.init (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.3-1/debian/prayer-session.8 |
=================================================================== |
--- tags/1.2.3-1/debian/prayer-session.8 (nonexistent) |
+++ tags/1.2.3-1/debian/prayer-session.8 (revision 180) |
@@ -0,0 +1,96 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SESSION 8 |
+.Sh NAME |
+.Nm prayer-session |
+.Nd Prayer user session backend daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground |
+.Sh DESCRIPTION |
+.Nm |
+is the backend process in the Prayer Webmail system. A fresh |
+.Nm |
+backend is forked off whenever a user logs in. |
+.Pp |
+This process contains all of the permanent state associated with that login |
+session including one or more connections to a IMAP server and possibly |
+connections to accountd servers. prayer-session communicates with the user |
+using HTML over HTTP connections via the |
+.Xr prayer 8 proxy. Each login has a session ID that the front end processes |
+use to find the correct backend. |
+.Pp |
+Backend server processes move into a dormant state after a certain period |
+of inactivity, shutting down IMAP and accountd connections which can be |
+easily resuscitated when the session wakes up. After a long period of |
+inactivity, typically several hours the session process shuts down. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width Ds |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default |
+.Pa /etc/prayer/prayer.cf . |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name |
+to |
+.Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width Ds |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. The |
+.Fl -config-file |
+option takes precedence over this variable. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+.Sh FILES |
+.Bl -tag -width Ds |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It /usr/share/prayer/templates/ |
+Location of standard templates (in the separate |
+.Em prayer-templates |
+package). The templates are compiled into |
+.Nm |
+for performance reasons, so the template files are actually not |
+used, but they are available for customization. |
+.It /etc/prayer/templates/ |
+The Debian pre-configured |
+.Cd template_path . |
+As a Debian extension, |
+.Nm |
+looks here before falling back to the compiled template if |
+.Cd template_use_compiled No is Li false . |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.3-1/debian/rules |
=================================================================== |
--- tags/1.2.3-1/debian/rules (nonexistent) |
+++ tags/1.2.3-1/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.2.3-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.3-1/debian/prayer.manpages |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.manpages (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+debian/prayer.8 |
+debian/prayer-session.8 |
+debian/prayer.cf.5 |
+debian/prayer-ssl-prune.8 |
Index: tags/1.2.3-1/debian/prayer.cf.5 |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.cf.5 (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.cf.5 (revision 180) |
@@ -0,0 +1,1015 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER.CF 5 |
+.Sh NAME |
+.Nm prayer.cf |
+.Nd main Prayer configuration file |
+. |
+.Sh DESCRIPTION |
+. |
+.Pa prayer.cf |
+is the configuration file of |
+.Xr prayer 8 |
+and |
+.Xr prayer-session 8 . |
+. |
+.Sh SYNTAX |
+For the most part, prayer.cf consists of |
+.Ar option No = Ar value |
+pairs, but some configuration items are more complex. All values may |
+be enclosed in double quotes, which are stripped. Quotes must be used |
+if a value contains a |
+.Ql # |
+character. Otherwise, everything following it is treated as a comment. |
+Any line can be folded using a |
+.Ql \(rs |
+character at the end of the line; any linear white space at the beginning |
+of the next line is removed. |
+.Pp |
+Simple options can be of the following types: |
+.Bl -tag |
+. |
+.It Vt string |
+No particular restrictions. |
+.It Vt path |
+A file or directory name. The configuration parser expands occurences of a few macros |
+in settings of this type. See |
+.Cd prefix |
+.No and Cd var_prefix |
+below. |
+.It Vt boolean |
+The following forms are interpreted as |
+.Sy true : |
+.Ql true , |
+.Ql t , |
+and |
+.Ql 1 . |
+The following forms are interpreted as |
+.Sy false : |
+.Ql false , |
+.Ql nil , |
+.Ql 0 . |
+Capitalisation does not matter. |
+. |
+.It Vt number |
+An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
+.Ql K , |
+causing the number to be multiplied by 1024, or |
+.Ql M |
+multiplying it by 1024 \(pc 1024. |
+. |
+.It Vt time |
+An integer number (sequence of digits 0-9) of seconds, optionally immediately |
+followed by a single case-insignificant letter |
+.Ql s , |
+which has no effect, |
+.Ql m , |
+causing the number to be multiplied by 60, |
+.Ql h , |
+multiplying it by 60 \(pc 60, or |
+.Ql d , |
+for a multiple of 24 \(pc 60 \(pc 60. |
+.It Vt perm |
+A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
+.El |
+. |
+.Sh OPTIONS |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
+The values of these options can be referred to as |
+.Li $prefix |
+(or |
+.Li ${prefix} ) , |
+and |
+.Li $var_prefix |
+(or |
+.Li ${var_prefix} ) , |
+respectively, in settings of type |
+.Vt path |
+in the rest of the file. |
+.Pp |
+.Sy Default : No none. Need to be set only if referenced later. |
+. |
+.It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
+User name or ID to |
+.Xr setuid 2 |
+to if started as root. Either, but not both, must be set and must not specify |
+.Li uid 0 . |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
+Group name or ID to |
+.Xr setgid 2 |
+to if we start off as root. In addition, prayer calls |
+.Xr initgroups 3 |
+if |
+.Cd prayer_user |
+is set. |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_background Vt ( boolean ) |
+Run prayer as background process. If true, prayer will return as soon |
+as valid configuration is found. |
+.Sy Default : Li true |
+. |
+.It Cd file_perms Vt ( perm ) |
+Create mode for new files. |
+.Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
+. |
+.It Cd directory_perms Vt ( perm ) |
+Create mode for new directories. |
+.Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
+. |
+.It Cd check_directory_perms Vt ( boolean ) |
+Check existing directories under |
+.Li ${var_prefix} ? |
+.El |
+. |
+.Ss Mail server settings |
+. |
+.Bl -tag -width Ds |
+.It Cd imapd_server Vt ( string ) |
+Specifies the default IMAP server(s) using libc-client syntax: |
+.Bd -literal -offset indent |
+.Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
+.Sm on |
+.Ed |
+.Pp |
+Multiple server specifications can be listed, separated by commas. Common flags are: |
+.Bl -tag -compact |
+.It Li /ssl |
+Use SSL-on-connect (on port 993 by default). |
+.It Li /tls |
+Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
+session. Recommended if the server is remote, since otherwise a |
+downgrade attack is possible. |
+.It Li /notls |
+Don't issue STARTTLS even if the server supports it. Recommended if |
+the server is |
+.Li localhost . |
+.It Li /novalidate-cert |
+Don't check the integrity of the server certificate. |
+.El |
+For the full list of flags, see naming.txt.gz in the current |
+libc-client package. |
+. |
+.It Cd imapd_user_map Vt ( path ) |
+CDB lookup map overriding default imapd_server location. For information on CDB, see |
+.Bl -bullet -compact |
+.It |
+http://cr.yp.to/cdb.html |
+.It |
+http://en.wikipedia.org/wiki/Constant_Data_Base |
+.El |
+. |
+.It Cd prefs_folder_name Vt ( string ) |
+Name of Prayer user preferences folder on IMAP server. |
+. |
+.It Cd use_namespace ( Vt boolean ) |
+Use IMAP NAMESPACE command to find |
+.Cd personal_hierarchy No and Cd hiersep . |
+.Sy Default : Li true . |
+. |
+.It Cd personal_hierarchy ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """""" . |
+. |
+.It Cd hiersep ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """/""" . |
+. |
+.It Cd dualuse ( Vt boolean ) |
+Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
+mail and inferior mailboxes). Things will mostly work if dualuse set to |
+.Li false No on a server which supports it, but people will be |
+unable to create children of newly created mailboxes without |
+refreshing the view. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd sieved_server Vt ( string ) |
+Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
+.Cd imapd_server , |
+except the only recognised flag is |
+.Li /ssl . |
+. |
+.It Cd sieved_user_map Vt ( path ) |
+Can be used to provide individualised imapd_server settings in the form of a CDB file. |
+. |
+.It Cd sieved_timeout Vt ( time ) |
+Default timsieved timeout is 10 minutes |
+.El |
+. |
+.Ss Mail domain configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd local_domain |
+Define a valid local domain, and optionally the valid local parts in that domain. |
+This is a special directive that can appear multiple times and does not use an equals sign: |
+.Bd -unfilled |
+.Cd local_domain Ar domain Op Ar map |
+.Ed |
+.Pp |
+.No Without Ar map , Cd local_domain |
+simply defines a domain which will appear on the list visible to user |
+preferences. With |
+.Ar map , |
+it also defines a list a CDB map file which defines valid entries in |
+that domain; used for personal name expansion and checking for valid |
+addresses: The keys are the valid local parts and the values are the |
+corresponding full names of the users. |
+.Pp |
+.Sy Default : No A single entry which corresponds to |
+.Cd default_domain . |
+. |
+.It Cd return_path_domain Vt ( string ) |
+Domain used in the return address given to |
+.Xr sendmail 8 . |
+.Sy Default : No the default domain. |
+. |
+.It Cd filter_domain_pattern Vt ( string ) |
+A filter pattern which is equivalent to, or at least approximates the |
+list of local domains. |
+.Sy Default : No the default domain. |
+. |
+.It Cd hostname Vt ( string ) |
+Hostname is the canonical name for this particular system, used in |
+session and icon URLs which are generated by Prayer. This is derived |
+automatically using |
+.Xr gethostname 2 |
+.No and Xr gethostbyname 3 |
+if no value is provided. However, there are situations, especially |
+involving SSL certificates, where the default hostname may not be |
+appropriate. The special value |
+.Ql __UNDEFINED__ |
+here means the startup script or command line must provide a hostname |
+using a |
+.Fl -config-option |
+override or via the environment variable |
+.Ev PRAYER_HOSTNAME . |
+This is just a safeguard for systems which use DNS round robining to |
+distribute load across a number of machines. |
+. |
+.It Cd hostname_service Vt ( string ) |
+Host name common for all Prayer installations part of the same webmail |
+service. (Only) useful for large installations using DNS round robin |
+for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
+webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
+The user is redirected to this hostname after logging out, and HTTP |
+requests are sanity checked against it in addition to the canonical |
+hostname. |
+.Pp |
+.Sy Default : No none |
+. |
+.It Cd fix_from_address ( Vt boolean ) |
+suppresses the From address option from the Preferences and Roles |
+screens. |
+.Sy Default : Li false . |
+. |
+.It Cd lookup_rpasswd ( Vt path ) |
+Path to a CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Sy Note : No Keys must be Em lowercase ; |
+Prayer converts search strings to lowercase in order to provide |
+case-insensitive lookup. |
+. |
+.It Cd lookup_rusername ( Vt path ) |
+Path to a second CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Pp |
+If the user enters a valid and existing username according to |
+.Xr getpwnam 3 , Prayer does not search these first two CDB files, |
+but skips directly to the second stage of looking up user information. |
+. |
+.It Cd lookup_username ( Vt path ) |
+Path to a CDB file that maps usernames to records consisting of the user's |
+.Dq registered name |
+and his/her affiliation (department), separated by a vertical bar |
+.Ql ( "|" ) . |
+Additionally, if a second vertical bar follows, the account is |
+regarded as cancelled. |
+.Pp |
+When presenting the search results, the usernames found are combined with the |
+.Cd default_domain |
+to form email addresses. It is not possible at this time to let users |
+search for addresses in more than one domain using this facility. |
+. |
+.It Cd lookup_fullname ( Vt path ) |
+Path to a CDB file that maps usernames to |
+.Dq display names , |
+possibly provided by the users themselves in some way. The display name |
+of a user is used together with the email address in recipient fields |
+.Pp |
+Note that all four lookup options must be set to valid CDB files for |
+the local lookup to work, but more than one option may conceivably |
+point to the same file. |
+. |
+.It Cd ldap_server ( Vt string ) |
+Name or address of LDAP server. |
+. |
+.It Cd ldap_base_dn ( Vt string ) |
+Base DN to search. After binding anonymously, Prayer performs a |
+one-level-scope search for entries with |
+.Li surname No or Li mail No attributes containing the search string. |
+The following attributes are fetched and presented: |
+.Bl -bullet -compact |
+.It |
+.Li uid |
+.It |
+.Li displayName |
+.It |
+.Li cn Dq ( registered name ) |
+.It |
+.Li ou Dq ( affiliation ) |
+.It |
+.Li mail |
+.It |
+.Li telephoneNumber |
+.El |
+. |
+.It Cd ldap_timeout ( Vt time ) |
+Search timeout. |
+.Sy Default : Li 30s . |
+.El |
+. |
+.Ss HTTP and other frontend settings |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd use_http_port , use_https_port |
+Define a single HTTP[S] port to bind to. You can define an arbitary list |
+of ports of both kinds by using a series of separate |
+.Cd use_http_port No and Cd use_https_port |
+directives, with one port on each line. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_http_port Oo Ar interface : Oc Ns Ar port |
+.Cd use_https_port Oo Ar interface : Oc Ns Ar port |
+.Ed |
+.Pp |
+.Ar interface |
+can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
+.Xr getaddrinfo 3 |
+for resolution, and the first resulting address is used to bind to. Otherwise, |
+.Xr prayer 8 |
+.No binds to Ar port No on all interfaces. |
+. |
+.It Cd ssl_default_port Vt ( number ) |
+Prayer will put a warning on the login page for HTTP connections if |
+both HTTP and HTTPS sessions are available. This will provide a link |
+to the SSL version of the service, defaulting to port 443 or failing |
+that the first defined HTTPS port. ssl_default_port overrides the |
+built in logic. |
+.Pp |
+Should be rarely required now that Prayer automatically derives an |
+appropriate port if none is provided here. |
+. |
+.It Cd ssl_cert_file Vt ( path ) |
+Locatation of SSL certificate file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_privatekey_file Vt ( path ) |
+Location of SSL private key file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_rsakey_lifespan Vt ( time ) |
+Master server will regenerate shared RSA key at this interval. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_rsakey_freshen Vt ( time ) |
+RSA key remains fresh in child process for this long after first actual use. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_session_timeout Vt ( time ) |
+SSL session cache TTL. |
+.Sy Default : Li 0 No (SSL session cache not used). |
+.Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
+data from the DBD database. |
+. |
+.It Cd egd_socket Vt ( path ) |
+Path to entropy gathering daemon socket. If provided, it will be used in place of |
+or in addition to |
+.Pa /dev/urandom |
+. |
+.It Cd contact_email Vt ( string ) |
+System administrator email address. |
+.Sy This setting is currently not used. |
+If you want to display support information to your users, customise the templates. |
+. |
+.It Cd fatal_dump_core Vt ( boolean ) |
+Dump core on |
+.Fn fatal |
+error. |
+.Sy Default : No false. |
+. |
+.It Cd log_debug Vt ( boolean ) |
+Enable somewhat more verbose logging, mainly in relation to SSL. |
+.Sy Default : No false. |
+. |
+.It Cd fix_client_ipaddr Vt ( boolean ) |
+Client must connect from consistent IP addresses. May be useful as |
+a security measure in LAN environments. Painful for dialup users |
+whose connections may drop out. |
+.Sy Default : No false. |
+. |
+.It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
+.Xr prayer-session 8 |
+gzip-compresses pages sent to clients if: |
+.Bl -enum -compact |
+.It |
+gzip compression enabled at compile time, |
+.It |
+.Cd use_gzip No is set in user preferences, |
+.It |
+User agent is known to support Content-Encoding: gzip, |
+.It |
+User agent asks for Content-Encoding: gzip or x-gzip, |
+.It |
+IP address of client appears in |
+.Cd gzip_allow_nets |
+.Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
+.El |
+.Pp |
+The format of these options is a sequence of |
+.Ar ipaddr Ns Op / Ns Ar masklen |
+items, separated by colons |
+.Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
+.Ar masklen No is omitted, the item is interpreted as a full host address. |
+. |
+.It Cd log_name_nets Vt ( string ) |
+A network list in the same format as |
+.Cd gzip_allow_nets |
+above. To avoid delay when a user logs in, |
+.Xr prayer-session 8 |
+only performs a reverse lookup of the remote address if matches this list. |
+.Sy Default : No empty; no reverse lookup are performed. |
+. |
+.It Cd limit_vm Vt ( number ) |
+Virtual memory limit imposed on each process to stop runaway process killing system. See |
+.Xr setrlimit 2 . |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_method_size Vt ( number ) |
+Prayer should in theory be able to cope with input of arbitrary |
+size. In practice however, the incoming request has to be stored |
+somewhere and without limits an attacker may exhaust available memory, |
+causing a denial of service attack. |
+.Pp |
+This sets the maximum size of the initial line of an HTTP request. |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_hdr_size Vt ( number ) |
+Maximum for headers associated with this request. |
+. |
+.It Cd http_max_body_size Vt ( number ) |
+Maximum for HTTP payload. This is the most significant one in normal use. |
+. |
+.It Cd draft_att_single_max ( Vt number ) |
+Maximum size of a single attachment when composing a mail. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd draft_att_total_max ( Vt number ) |
+Maximum size of all attachments. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd http_min_servers Vt ( number ) |
+Minimum number of preforked |
+.Xr prayer 8 HTTP servers. The master process forks new slave processes |
+whenever the number of idle slaves falls below this number, unless the |
+total number of slaves would exceed |
+.Cd http_max_servers . |
+.Sy Default : Li 4. |
+. |
+.It Cd http_max_servers Vt ( number ) |
+Maximum number of preforked |
+.Xr prayer 8 HTTP servers (active and idle). The master process does not, |
+however, enforce any maximum number of |
+.Em idle No slave processes; they have to terminate voluntarily by timing out |
+or serving the maximum number of connections. |
+.Sy Default : Li 64 . |
+. |
+.It Cd http_max_connections Vt ( number ) |
+Maximum number of connections that each frontend server will process. |
+.Sy Default : Li 0 No (no limit). |
+. |
+.It Cd http_timeout_idle Vt ( time ) |
+Timeout for (dirty) spare server waiting for another HTTP connection. |
+.Sy Default : Li 30s . |
+. |
+.It Cd http_timeout_icons Vt ( time ) |
+Timeout for HTTP connection that last served static content. |
+.Sy Default : Li 10s . |
+. |
+.It Cd http_timeout_session Vt ( time ) |
+Timeout for HTTP connection that last served a session URL or has not served anything yet. |
+.Sy Default : Li 60s . |
+. |
+.It Cd http_cookie_use_port Vt ( boolean ) |
+Present HTTP cookies to browser as |
+.Dq Li username:port=value |
+rather than |
+.Dq Li username=value . |
+Allows simultaneous login sessions from a single client browser. |
+However can leave a trail of cookies behind. Probably don't want this |
+in the long term, it's here for experimentation purposes only at the |
+moment. |
+. |
+.It Cd icon_expire_timeout Vt ( time ) |
+The amount of time in the future to set the HTTP |
+.Li Expires: No field for static content. |
+.Sy Default : Li 7d . |
+(In contrast sessions URLs expire immediately: Browsers really |
+shouldn't be trying to cache this stuff, especially when it is coming |
+in over HTTPS). |
+.El |
+. |
+.Ss Session specific configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd session_idle_time Vt ( time ) |
+Session switches to idle mode after this much time: connections to |
+IMAP and accountd servers are shut down. |
+.Sy Default : Li 0 No (idle mode disabled). |
+. |
+.It Cd session_timeout Vt ( time ) |
+Session terminates after this much idle time. |
+.Ql 0 |
+means session never times out. |
+.Sy Default : Li 4h . |
+. |
+.It Cd session_timeout_compose Vt ( time ) |
+Session terminates after this much idle time instead when the last command was |
+.Ql compose |
+.No or Ql sieve . |
+It should probably not be set lower than |
+.Cd session_timeout . |
+.Sy Default : Li 0 No (always use the same timeout). |
+. |
+.It Cd stream_ping_interval Vt ( time ) |
+Ping INBOX, Other, and Draft streams at this interval. |
+.Sy Default : Li 5m . |
+. |
+.It Cd stream_checkpoint Vt ( boolean ) |
+.No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
+.Sy Default : Li true . |
+. |
+.It Cd stream_misc_timeout Vt ( time ) |
+Shut down Postponed, Preferences and Transfer streams entirely |
+after this much idle time, but only if idle mode doesn't beat us to it. |
+.Sy Default : Li 0 No (disabled). |
+. |
+.It Cd log_ping_interval Vt ( time ) |
+.Xr stat 2 log files at this interval to see if target file has been |
+renamed or removed. |
+.Ql 0s |
+means stat() log file every time something is logged. |
+.Sy Default : Li 5m . |
+. |
+.It Cd db_ping_interval Vt ( time ) |
+Interval at which to re-read CDB files containing the local domain. |
+.Sy Default : Li 30m . |
+.El |
+. |
+.Ss Display specific configuration |
+. |
+.Bl -tag -width Ds |
+.It Cd login_banner Vt ( string ) |
+Used in the |
+.Li <title> |
+and heading of the login page, unless |
+.Cd login_prefix_path |
+specifies a custom first HTML part. |
+.Sy Default : Li """Webmail Service Login""" . |
+. |
+.It Cd login_service_name Vt ( string ) |
+Used in the |
+.Li <title> No and elsewhere to refer to the webmail system |
+.Em after No the user has logged in. |
+.Sy Default : Li """Prayer""" . |
+. |
+.It Cd login_prefix_path Vt ( path ) |
+File to use as the part of the login page before the login |
+form. Should include everything including DOCTYPE and <html> tag. If |
+unset, Prayer constructs a fairly safe and boring login page |
+consisting of the |
+.Cd login_banner . |
+on the background colour of the default main theme. |
+. |
+.It Cd motd_path Vt ( path ) |
+File to use as the part of the login page immediately following the login form. |
+. |
+.It Cd login_suffix_path Vt ( path ) |
+File to use as the last part of the login page. If unset, Prayer simply outputs |
+.Dq Li </body></html> . |
+. |
+.It Cd ssl_encouraged ( Vt boolean ) |
+If the user connects over unencrypted HTTP, do not show the login form on the start |
+.Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
+.Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
+. |
+.It Cd ssl_redirect ( Vt boolean ) |
+If the user connects over unencrypted HTTP, return a |
+.Ql 302 |
+redirect to the default SSL port. Only the start |
+.Pa ( / ) No page is redirected and it may be possible to switch between http and |
+https after loggin in, subject to cookie rules. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd ssl_required ( Vt boolean ) |
+Return a |
+.Ql 403 Forbidden |
+error if the user tries to access anything over unencrypted HTTP. |
+.Cd ssl_redirect No still has effect, however. |
+. |
+.It Cd list_addr_maxlen Vt ( number ) |
+The maximum number of characters to show from addresses on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd list_subject_maxlen Vt ( number ) |
+The maximum number of characters to show from the subject on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd change_max_folders ( Vt number ) |
+The maximum number of folders allowed in the quick folder change |
+dropdown list. If there would be too many folders, the quick list is |
+disabled altogether. Only folders that are expanded in the folder view |
+are included. |
+.Pp |
+.Sy Default : Li 20 . |
+. |
+.It Cd template_path ( Vt path ) |
+Path to uncompiled template sets (directories). |
+.Sy Default : Li """../templates""" No (relative to |
+.Cd tmp_dir ) . |
+. |
+.It Cd template_set ( Vt string ) |
+Template set to use. |
+.Sy Default : Li """xhtml_strict""" . |
+. |
+.It Cd template_use_compiled ( Vt boolean ) |
+Use the compiled-in templates, ignoring |
+.Cd template_path . |
+.Sy Default : Li true . |
+.Pp |
+As a Debian extension, |
+.Xr prayer-session 8 |
+will fall back to the compiled-in template version of any template |
+that it cannot find in the template directory. This enables |
+customization of some templates without having to compile all of them |
+at run time, although attempting to open each template still incurs a |
+certain penalty. |
+. |
+.It Cd theme |
+Define themes and their colors. |
+.Em Semi-deprecated ; No Colours set with this directive are only used by the |
+.Li xhtml_transitional No template set. The |
+.Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
+It is still necessary to tell Prayer which themes are available, however. |
+.Pp |
+Syntax: |
+.Bd -literal -offset indent |
+.Cd theme Ar name Li description Ar description |
+.Cd theme Ar name element colour |
+.Cd theme Ar name element colour |
+\&... |
+.Ed |
+.Pp |
+.Ar description No is the label shown in the theme dropdown lists on the |
+General Preferences page. |
+.Pp |
+.Ar element No is one of |
+.Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
+.Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
+.Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
+The first three are not used by any standard template set, but are |
+available. Please study the templates to understand how the rest are |
+used. |
+.Pp |
+.Ar colour No is any valid HTML Vt %Color No value. |
+Remember that strings containing hash marks need to be quoted. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme. |
+. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme in help mode. |
+. |
+.It Cd use_ispell_language |
+Ispell languages that we want to support, with some descriptive text |
+for the preferences screen. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_ispell_language Ar wordlist Ar description |
+.Ed |
+.Pp |
+Example: |
+.Bd -literal -offset indent |
+.Li use_ispell_language british Qq British English |
+.Ed |
+.El |
+. |
+.Ss Paths etc. |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd aspell_path ( Vt path ) |
+Location of Aspell Binary (takes precedence over |
+.Cd ispell_path ) . |
+. |
+.It Cd bin_dir ( Vt path ) |
+Location of Prayer binaries |
+.Xr ( prayer 8 and |
+.Xr prayer-session 8 ) . |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd icon_dir ( Vt path ) |
+Location of icon files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ispell_path ( Vt path ) |
+Location of Ispell Binary (backwards compatibility only). |
+. |
+.It Cd log_dir ( Vt path ) |
+Location of log files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd pid_dir ( Vt path ) |
+Location for PID files of prayer and prayer-session master processes. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd sendmail_path ( Vt path ) |
+Location of sendmail binary or drop in replacement such as Exim. |
+.Sy Default : Pa /usr/lib/sendmail . |
+. |
+.It Cd socket_dir ( Vt path ) |
+Location for unix domain sockets which connect |
+.Xr ( prayer 8 to |
+.Xr prayer-session 8 ) . |
+. |
+.It Cd socket_split_dir ( Vt boolean ) |
+Split socket directory into 64 subdirs keyed on first letter of |
+sessionID. It is possible to switch back and forth without moving |
+sockets or killing sessions, since |
+.Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
+.Xr prayer-session 8 creates the socket files. |
+.Sy Default : Li false . |
+. |
+.It Cd init_socket_name ( Vt string ) |
+Name of Unix domain socket (in |
+.Cd socket_dir ) No used for initial handshake |
+between prayer and prayer-session processes when a user logs in. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ssl_session_dir ( Vt path ) |
+Location of the SSL session cache database. |
+.Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
+. |
+.It Cd static_dir ( Vt path ) |
+Location of other static files (CSS). |
+.Sy Default : No none. If unset, Prayer will not serve CSS files. |
+. |
+.It Cd tmp_dir ( Vt path ) |
+As the directory both daemons |
+.Xr chdir 2 |
+to at startup, it is where temporary files, such as attachments and |
+folders in transist during upload and download operations, are |
+written. Core files also end up here. |
+.Sy Default : No none. Sy Must be set. |
+.El |
+. |
+.Ss Defaults for user preferences |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd confirm_logout ( Vt boolean ) |
+Confirmation dialogue when user logs out. |
+.Sy Default : Li true . |
+. |
+.It Cd confirm_expunge ( Vt boolean ) |
+Confirmation dialogue when user hits expunge. |
+.Sy Default : Li false . |
+. |
+.It Cd confirm_rm ( Vt boolean ) |
+Confirmation dialogue when user deletes mail folder or directory. |
+.Sy Default : Li true . |
+. |
+.It Cd default_domain Vt ( string ) |
+Default domain for outgoing mail. Defaults to |
+.Cd hostname No setting. |
+. |
+.It Cd html_inline ( Vt boolean ) |
+Show text/html bodyparts inline. Content is scrubbed to remove |
+dangerous tags; see documentation for more details. |
+.Sy Default : Li true . |
+. |
+.It Cd html_inline_auto ( Vt boolean ) |
+Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
+Does anyone other than spammers actually use this? |
+.Sy Default : Li true . |
+. |
+.It Cd ispell_language ( Vt string ) |
+Language for ispell. |
+.Sy Default : Li """british""" . |
+. |
+.It Cd msgs_per_page ( Vt number ) |
+Number of messages per screen on message list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd msgs_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd msgs_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd abook_per_page ( Vt number ) |
+Number of addressbook entries per page on address book list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd abook_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd abook_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd maildir ( Vt string ) |
+Mail directory in user's account. |
+.Sy Default : Li """""" . |
+Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
+. |
+.It Cd suppress_dotfiles ( Vt boolean ) |
+Supress dotfiles from directory listing. |
+.Sy Default : Li true . |
+. |
+.It Cd postponed_folder ( Vt string ) |
+Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
+.Sy Default : Li """postponed-msgs""" . |
+. |
+.It Cd sent_mail_folder ( Vt string ) |
+Name of folder for sent mail. |
+.Sy Default : Li """sent-mail""" . |
+. |
+.It Cd small_cols ( Vt number ) |
+Width of small compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd small_rows ( Vt number ) |
+Height of small compose textarea in lines. |
+.Sy Default : Li 18 . |
+. |
+.It Cd large_cols ( Vt number ) |
+Width of large compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd large_rows ( Vt number ) |
+Height of large compose textarea in lines. |
+.Sy Default : Li 32 . |
+. |
+.It Cd sort_mode ( Vt string ) |
+Default Sort mode for mailbox list. One of |
+.Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
+.Sy Default : Li ARRIVAL No is most efficient, and recommended. |
+. |
+.It Cd sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd abook_sort_mode ( Vt string ) |
+Default Sort mode for addressbook list. One of: |
+.Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
+.Sy Default : Li ORDERED . |
+. |
+.It Cd abook_sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_len ( Vt number ) |
+Wrap lines at this many characters. |
+.Sy Default : Li 76 . |
+. |
+.It Cd line_wrap_advanced ( Vt boolean ) |
+Enable advanced line wrap options? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_on_reply ( Vt boolean ) |
+Line wrap automatically on reply. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_spell ( Vt boolean ) |
+Line wrap automatically on spell check. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_send ( Vt boolean ) |
+Line wrap automatically on send. |
+.Sy Default : Li true . |
+. |
+.It Cd preserve_mimetype ( Vt boolean ) |
+Send message Content-Type through to browser. If |
+.Li false , No Content-Type is replaced with |
+.Ql application/octet-stream |
+which should force download to local disk, bypassing any automatic |
+processing of bodyparts by the User-Agent. Unclear at the moment |
+whether we need to do this, or whether this should be done selectively |
+based on the User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_sent_mail ( Vt boolean ) |
+.No Make the Dq Save copy |
+checkbox on the compose screen checked default. |
+.Sy Default : Li true . |
+. |
+.It Cd use_mark_persist ( Vt boolean ) |
+Use persistent mark for aggregate operations. |
+.Sy Default : Li false . |
+. |
+.It Cd use_search_zoom ( Vt boolean ) |
+Zoom automatically after sucessful search |
+.Sy Default : Li true . |
+. |
+.It Cd use_agg_unmark ( Vt boolean ) |
+Unmark messages after sucessful aggregate operation. |
+.Sy Default : Li true . |
+. |
+.It Cd use_icons ( Vt boolean ) |
+Use icons: may be overriden by value of User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_welcome ( Vt boolean ) |
+Enable welcome screen . |
+.Sy Default : Li true . |
+. |
+.It Cd use_tail_banner ( Vt boolean ) |
+Duplicate banner icons (toolbar) at the bottom of the Message screen. |
+.Sy Default : Li true . |
+.El |
+. |
+.Ss Hidden preferences |
+. |
+The following options are internally handled as user preferences, but |
+the Preferences screen no longer provides any means for changing them. |
+. |
+.Bl -tag -width Ds |
+.It Cd use_cookie ( Vt boolean ) |
+Use HTTP cookie for Session-ID, if the browser supports cookies |
+If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
+.Sy Default : Li true . |
+. |
+.It Cd use_substitution ( Vt boolean ) |
+Use page substiution rather than HTTP redirects. Faster, but the URLs |
+that are generated are less predictable. Page substitution and browser |
+history mechanism don't coexist well at the moment (Prayer would need to |
+cache final page value for each substiution event). |
+.Pp |
+.Sy Default : Li true . |
+. |
+.It Cd use_http_1_1 ( Vt boolean ) |
+Allow HTTP/1.1, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_pipelining ( Vt boolean ) |
+Allow HTTP/1.1 pipelining, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_embed_http ( Vt boolean ) |
+Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_persist ( Vt boolean ) |
+Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
+if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_short ( Vt boolean ) |
+Allow short URLs, if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_gzip ( Vt boolean ) |
+Allow gzip compression, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer-session 8 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
Index: tags/1.2.3-1/debian/prayer-ssl-prune.8 |
=================================================================== |
--- tags/1.2.3-1/debian/prayer-ssl-prune.8 (nonexistent) |
+++ tags/1.2.3-1/debian/prayer-ssl-prune.8 (revision 180) |
@@ -0,0 +1,54 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SSL-PRUNE 8 |
+.Sh NAME |
+.Nm prayer-ssl-prune |
+.Nd purge stale SSL session data |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+should be run periodically (e.g. once a day) when using SSL session caching |
+.Cd ( ssl_session_timeout No > 0 in |
+.Pa prayer.cf ) . |
+It removes old transaction logs and stale session data. |
+It accepts the same configuration-overriding options as |
+.Xr prayer 8 and |
+.Xr prayer-session 8 . |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /var/run/prayer/ssl_scache/ |
+Default location of the SSL session cache database. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.3-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.3-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.3-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.3-1/debian/prayer-templates.install |
=================================================================== |
--- tags/1.2.3-1/debian/prayer-templates.install (nonexistent) |
+++ tags/1.2.3-1/debian/prayer-templates.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.2.3-1/debian/Config |
=================================================================== |
--- tags/1.2.3-1/debian/Config (nonexistent) |
+++ tags/1.2.3-1/debian/Config (revision 180) |
@@ -0,0 +1,146 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.3-1/debian/prayer.install |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.install (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,6 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+etc/prayer/prayer.cf |
Index: tags/1.2.3-1/debian/prayer.8 |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.8 (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.8 (revision 180) |
@@ -0,0 +1,93 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER 8 |
+.Sh NAME |
+.Nm prayer |
+.Nd standalone IMAP-based webmail server |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground | -disable-prefork |
+.Oo Fl -disable-session | - |
+.Ar session-options Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is the normal frontend daemon in the Prayer Webmail system. It is a |
+simple HTTP server and proxy that serves icons and other static files, |
+but firstly and foremostly forwards requests to the correct backend |
+daemons based on session IDs passed either in cookies or as part of |
+the URL. |
+.Pp |
+The master daemon normally preforks a number of child processes that |
+each will serve a configurable number of requests. The total number of |
+child processes is limited to prevent denial of service attacks. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.It Fl -disable-prefork |
+Disable preforking. The master daemon will listen for connections |
+on the configured ports and spawn child processes one at a time. |
+.It Fl -disable-session |
+Do not start the session server, |
+.Xr prayer-session 8 . |
+.It Fl - |
+End of |
+.Nm |
+options; remaining options will be passed to |
+.Xr prayer-session 8 . |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /usr/share/prayer/icons/ |
+Location of the standard icons used by the interface. |
+.It Pa /usr/share/prayer/static/ |
+Directory containing other static files; currently only CSS files. |
+.It Pa /var/run/prayer/sockets/ |
+Pre-configured location of sockets for frontend to backend communication. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer-session 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+.No using documentation written by An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.3-1/debian/README.Debian |
=================================================================== |
--- tags/1.2.3-1/debian/README.Debian (nonexistent) |
+++ tags/1.2.3-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.3-1/debian/prayer.examples |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.examples (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.3-1/debian/copyright |
=================================================================== |
--- tags/1.2.3-1/debian/copyright (nonexistent) |
+++ tags/1.2.3-1/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.3-1/debian/prayer.docs |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.docs (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.3-1/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.3-1/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.3-1/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.3-1/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.3-1/debian/compat |
=================================================================== |
--- tags/1.2.3-1/debian/compat (nonexistent) |
+++ tags/1.2.3-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.3-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.3-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.3-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.3-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.3-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.3-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.3-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.3-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.3-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.3-1/debian/watch |
=================================================================== |
--- tags/1.2.3-1/debian/watch (nonexistent) |
+++ tags/1.2.3-1/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.3-1/debian |
=================================================================== |
--- tags/1.2.3-1/debian (nonexistent) |
+++ tags/1.2.3-1/debian (revision 180) |
/tags/1.2.3-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.3-1 |
=================================================================== |
--- tags/1.2.3-1 (nonexistent) |
+++ tags/1.2.3-1 (revision 180) |
/tags/1.2.3-1 |
---|
Property changes: |
Added: svn:mergeinfo |
## -0,0 +0,3 ## |
Merged /tags/1.2.2.1-1:r47-51 |
Merged /branches/lenny:r52-71 |
Merged /tags/1.2.2.1-7:r53-72 |
Index: tags/1.2.2.1-7/debian/control |
=================================================================== |
--- tags/1.2.2.1-7/debian/control (nonexistent) |
+++ tags/1.2.2.1-7/debian/control (revision 180) |
@@ -0,0 +1,66 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, prayer-templates, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Recommends: prayer (>= 1.2.0) |
+Replaces: prayer (<< 1.2.2.1-6) |
+Description: templates for customizing Prayer Webmail |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are compiled into the session daemon, |
+ prayer-session, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.2.1-7/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,58 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-7" && |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.2.1-7/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,50 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.2.1-7/debian/prayer.default |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.default (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.default (revision 180) |
@@ -0,0 +1,17 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Default values for var_prefix (also used for pid_dir) and |
+# prayer_user. These are set from the command line to make sure that |
+# prayer uses the expected values. |
+#VAR_PREFIX="/var/run/prayer" |
+#PRAYER_USER="prayer" |
+ |
+# Additional ptions. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.2.1-7/debian/changelog |
=================================================================== |
--- tags/1.2.2.1-7/debian/changelog (nonexistent) |
+++ tags/1.2.2.1-7/debian/changelog (revision 180) |
@@ -0,0 +1,202 @@ |
+prayer (1.2.2.1-7) unstable; urgency=high |
+ |
+ * Since /var/run can be a tmpfs filesystem, don't ship /var/run/prayer |
+ as part of the package but create it in the init script (LP: 304071). |
+ Also, var_prefix, pid_dir and prayer_user will by default be overriden |
+ from the command line to make sure that they get the values expected by |
+ the init script. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:31:28 +0100 |
+ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.2.1-7/debian/patches/welcome_is_template.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/welcome_is_template.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/welcome_is_template.patch (revision 180) |
@@ -0,0 +1,41 @@ |
+--- a/cmd/cmd_welcome.c |
++++ b/cmd/cmd_welcome.c |
+@@ -74,12 +74,7 @@ void cmd_welcome(struct session *session |
+ unsigned long msgno; |
+ |
+ if ((request->method != POST) && (prefs->use_welcome)) { |
+- if (config->welcome_path && |
+- (string = read_welcome(request->pool, config->welcome_path))) |
+- generate_welcome_page(session, string); |
+- else |
+- session_redirect(session, request, "list"); |
+- |
++ generate_welcome_page(session, NULL); |
+ return; |
+ } |
+ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -402,12 +402,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Welcome text displayed when user first logs in |
+-welcome_path = "$prefix/etc/welcome.html" |
+- |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2139,7 +2139,6 @@ BOOL config_check(struct config * config |
+ struct config_http_port *chp; |
+ char hostname[MAX_ADDRESS+1], domainname[MAX_ADDRESS+1]; |
+ |
+- TEST_STRING(config->help_dir, "help_dir"); |
+ TEST_STRING(config->icon_dir, "icon_dir"); |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
Index: tags/1.2.2.1-7/debian/patches/usernames_with_at.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/usernames_with_at.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/usernames_with_at.patch (revision 180) |
@@ -0,0 +1,53 @@ |
+--- a/session/draft.c |
++++ b/session/draft.c |
+@@ -1399,10 +1399,12 @@ char *draft_make_msg(struct draft *draft |
+ if (draft->from_address && draft->from_address[0]) { |
+ from_address = draft->from_address; |
+ use_sender = T; |
+- } else |
+- from_address |
+- = |
++ } else if (strchr(session->username, '@')) { |
++ from_address = pool_strdup(pool, session->username); |
++ } else { |
++ from_address = |
+ pool_printf(pool, "%s@%s", session->username, default_domain); |
++ } |
+ |
+ if (draft->from_personal && draft->from_personal[0]) { |
+ from_personal = draft->from_personal; |
+@@ -1431,9 +1433,14 @@ char *draft_make_msg(struct draft *draft |
+ NIL); |
+ bputs(mb, "" CRLF); |
+ |
+- if (use_sender) |
+- bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
+- default_domain); |
++ if (use_sender) { |
++ if (strchr(session->username, '@')) { |
++ bprintf(mb, "Sender: %s" CRLF, session->username); |
++ } else { |
++ bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
++ default_domain); |
++ } |
++ } |
+ |
+ if (!(draft_make_abook_address(session, mb, "To", draft->to) && |
+ draft_make_abook_address(session, mb, "Cc", draft->cc) && |
+--- a/cmd/cmd_prefs.c |
++++ b/cmd/cmd_prefs.c |
+@@ -474,9 +474,12 @@ generate_compose1_form(struct session *s |
+ template_vals_string(tvals, "from_address", prefs->from_address); |
+ |
+ if (!(prefs->from_address && prefs->from_address[0])) { |
+- char *s = pool_printf(request->pool, "%s@%s", |
+- session->username, prefs->default_domain); |
++ char *s = session->username; |
+ |
++ if (!strchr(session->username, '@')) { |
++ s = pool_printf(request->pool, "%s@%s", |
++ session->username, prefs->default_domain); |
++ } |
+ template_vals_string(tvals, "default_from_address", s); |
+ } |
+ |
Index: tags/1.2.2.1-7/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,180 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,21 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -271,11 +271,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -283,26 +283,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -387,13 +375,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -431,10 +419,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++log_dir = "/var/log/prayer" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -442,7 +427,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -453,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -617,14 +602,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2144,7 +2144,6 @@ BOOL config_check(struct config * config |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: tags/1.2.2.1-7/debian/patches/unlimit_login_username.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/unlimit_login_username.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/unlimit_login_username.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/servers/prayer_login.c |
++++ b/servers/prayer_login.c |
+@@ -116,7 +116,7 @@ prayer_login_generate(struct prayer *pra |
+ |
+ bputs(b, " <td>"); |
+ bprintf(b, |
+- "<input name=\"username\" value=\"%s\" size=\"8\" maxlength=\"8\" />", |
++ "<input name=\"username\" value=\"%s\" size=\"16\" />", |
+ user ? user : ""); |
+ bputs(b, "</td>" CRLF); |
+ bputs(b, "</tr>" CRLF); |
Index: tags/1.2.2.1-7/debian/patches/series |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/series (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+repair_ssl_session_db_on_version_mismatch.patch |
+makefile_install_config.patch |
+remove_old_db_logfiles_from_prayer-ssl-prune.patch |
+welcome_is_template.patch |
+templates_fallback_to_compiled.patch |
+template_find_bug.patch |
+unlimit_login_username.patch |
+usernames_with_at.patch |
Index: tags/1.2.2.1-7/debian/patches/template_find_bug.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/template_find_bug.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/template_find_bug.patch (revision 180) |
@@ -0,0 +1,28 @@ |
+--- a/lib/template.c |
++++ b/lib/template.c |
+@@ -199,10 +199,11 @@ template_find(char *set, char *name, str |
+ unsigned long first, last, middle; |
+ int rc; |
+ |
+- while (strcmp(tmi->name, set) != 0) |
++ while (strcmp(tmi->name, set) != 0) { |
+ tmi++; |
+- if (!tmi->name) |
+- return(NIL); |
++ if (!tmi->name) |
++ return(NIL); |
++ } |
+ |
+ tm = tmi->template_map; |
+ count = *(tmi->count); |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -168,7 +168,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "html4"; |
++ config->template_set = "xhtml_strict"; |
+ config->template_use_compiled = T; |
+ |
+ config->prayer_user = NIL; |
Index: tags/1.2.2.1-7/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (revision 180) |
@@ -0,0 +1,34 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -289,9 +289,6 @@ static int myarchive(const char **fnames |
+ const char **fname; |
+ char dstname[1024], *dp; |
+ |
+- strcpy(dstname, dirname); |
+- dp = dstname + strlen(dstname); |
+- |
+ /* Get the list of log files to remove. */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS, NULL); |
+ if (r) { |
+@@ -312,6 +309,11 @@ static int myarchive(const char **fnames |
+ free (begin); |
+ } |
+ |
++ if (!dirname) return 0; |
++ |
++ strcpy(dstname, dirname); |
++ dp = dstname + strlen(dstname); |
++ |
+ /* Get the list of database files to archive. */ |
+ /* XXX Should we do this, or just use the list given to us? */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS | DB_ARCH_DATA, NULL); |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -837,6 +837,7 @@ int ssl_prune_sessions(struct ssl_config |
+ log_debug("tls_prune: purged %d out of %d entries", |
+ prock.deletions, prock.count); |
+ |
++ DB->archive(NULL, NULL); |
+ DB->done(); |
+ |
+ return (0); |
Index: tags/1.2.2.1-7/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.2.1-7/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT |
++#ifdef DB_VERSION_MISMATCH |
++ && r != DB_VERSION_MISMATCH |
++#endif |
++ ) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: tags/1.2.2.1-7/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.2.1-7/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.2.1-7/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.2.1-7/debian/prayer-session.8 |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer-session.8 (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer-session.8 (revision 180) |
@@ -0,0 +1,96 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SESSION 8 |
+.Sh NAME |
+.Nm prayer-session |
+.Nd Prayer user session backend daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground |
+.Sh DESCRIPTION |
+.Nm |
+is the backend process in the Prayer Webmail system. A fresh |
+.Nm |
+backend is forked off whenever a user logs in. |
+.Pp |
+This process contains all of the permanent state associated with that login |
+session including one or more connections to a IMAP server and possibly |
+connections to accountd servers. prayer-session communicates with the user |
+using HTML over HTTP connections via the |
+.Xr prayer 8 proxy. Each login has a session ID that the front end processes |
+use to find the correct backend. |
+.Pp |
+Backend server processes move into a dormant state after a certain period |
+of inactivity, shutting down IMAP and accountd connections which can be |
+easily resuscitated when the session wakes up. After a long period of |
+inactivity, typically several hours the session process shuts down. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width Ds |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default |
+.Pa /etc/prayer/prayer.cf . |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name |
+to |
+.Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width Ds |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. The |
+.Fl -config-file |
+option takes precedence over this variable. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+.Sh FILES |
+.Bl -tag -width Ds |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It /usr/share/prayer/templates/ |
+Location of standard templates (in the separate |
+.Em prayer-templates |
+package). The templates are compiled into |
+.Nm |
+for performance reasons, so the template files are actually not |
+used, but they are available for customization. |
+.It /etc/prayer/templates/ |
+The Debian pre-configured |
+.Cd template_path . |
+As a Debian extension, |
+.Nm |
+looks here before falling back to the compiled template if |
+.Cd template_use_compiled No is Li false . |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-7/debian/rules |
=================================================================== |
--- tags/1.2.2.1-7/debian/rules (nonexistent) |
+++ tags/1.2.2.1-7/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.2.2.1-7/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.2.1-7/debian/prayer.manpages |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.manpages (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+debian/prayer.8 |
+debian/prayer-session.8 |
+debian/prayer.cf.5 |
+debian/prayer-ssl-prune.8 |
Index: tags/1.2.2.1-7/debian/prayer.cf.5 |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.cf.5 (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.cf.5 (revision 180) |
@@ -0,0 +1,1015 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER.CF 5 |
+.Sh NAME |
+.Nm prayer.cf |
+.Nd main Prayer configuration file |
+. |
+.Sh DESCRIPTION |
+. |
+.Pa prayer.cf |
+is the configuration file of |
+.Xr prayer 8 |
+and |
+.Xr prayer-session 8 . |
+. |
+.Sh SYNTAX |
+For the most part, prayer.cf consists of |
+.Ar option No = Ar value |
+pairs, but some configuration items are more complex. All values may |
+be enclosed in double quotes, which are stripped. Quotes must be used |
+if a value contains a |
+.Ql # |
+character. Otherwise, everything following it is treated as a comment. |
+Any line can be folded using a |
+.Ql \(rs |
+character at the end of the line; any linear white space at the beginning |
+of the next line is removed. |
+.Pp |
+Simple options can be of the following types: |
+.Bl -tag |
+. |
+.It Vt string |
+No particular restrictions. |
+.It Vt path |
+A file or directory name. The configuration parser expands occurences of a few macros |
+in settings of this type. See |
+.Cd prefix |
+.No and Cd var_prefix |
+below. |
+.It Vt boolean |
+The following forms are interpreted as |
+.Sy true : |
+.Ql true , |
+.Ql t , |
+and |
+.Ql 1 . |
+The following forms are interpreted as |
+.Sy false : |
+.Ql false , |
+.Ql nil , |
+.Ql 0 . |
+Capitalisation does not matter. |
+. |
+.It Vt number |
+An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
+.Ql K , |
+causing the number to be multiplied by 1024, or |
+.Ql M |
+multiplying it by 1024 \(pc 1024. |
+. |
+.It Vt time |
+An integer number (sequence of digits 0-9) of seconds, optionally immediately |
+followed by a single case-insignificant letter |
+.Ql s , |
+which has no effect, |
+.Ql m , |
+causing the number to be multiplied by 60, |
+.Ql h , |
+multiplying it by 60 \(pc 60, or |
+.Ql d , |
+for a multiple of 24 \(pc 60 \(pc 60. |
+.It Vt perm |
+A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
+.El |
+. |
+.Sh OPTIONS |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
+The values of these options can be referred to as |
+.Li $prefix |
+(or |
+.Li ${prefix} ) , |
+and |
+.Li $var_prefix |
+(or |
+.Li ${var_prefix} ) , |
+respectively, in settings of type |
+.Vt path |
+in the rest of the file. |
+.Pp |
+.Sy Default : No none. Need to be set only if referenced later. |
+. |
+.It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
+User name or ID to |
+.Xr setuid 2 |
+to if started as root. Either, but not both, must be set and must not specify |
+.Li uid 0 . |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
+Group name or ID to |
+.Xr setgid 2 |
+to if we start off as root. In addition, prayer calls |
+.Xr initgroups 3 |
+if |
+.Cd prayer_user |
+is set. |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_background Vt ( boolean ) |
+Run prayer as background process. If true, prayer will return as soon |
+as valid configuration is found. |
+.Sy Default : Li true |
+. |
+.It Cd file_perms Vt ( perm ) |
+Create mode for new files. |
+.Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
+. |
+.It Cd directory_perms Vt ( perm ) |
+Create mode for new directories. |
+.Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
+. |
+.It Cd check_directory_perms Vt ( boolean ) |
+Check existing directories under |
+.Li ${var_prefix} ? |
+.El |
+. |
+.Ss Mail server settings |
+. |
+.Bl -tag -width Ds |
+.It Cd imapd_server Vt ( string ) |
+Specifies the default IMAP server(s) using libc-client syntax: |
+.Bd -literal -offset indent |
+.Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
+.Sm on |
+.Ed |
+.Pp |
+Multiple server specifications can be listed, separated by commas. Common flags are: |
+.Bl -tag -compact |
+.It Li /ssl |
+Use SSL-on-connect (on port 993 by default). |
+.It Li /tls |
+Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
+session. Recommended if the server is remote, since otherwise a |
+downgrade attack is possible. |
+.It Li /notls |
+Don't issue STARTTLS even if the server supports it. Recommended if |
+the server is |
+.Li localhost . |
+.It Li /novalidate-cert |
+Don't check the integrity of the server certificate. |
+.El |
+For the full list of flags, see naming.txt.gz in the current |
+libc-client package. |
+. |
+.It Cd imapd_user_map Vt ( path ) |
+CDB lookup map overriding default imapd_server location. For information on CDB, see |
+.Bl -bullet -compact |
+.It |
+http://cr.yp.to/cdb.html |
+.It |
+http://en.wikipedia.org/wiki/Constant_Data_Base |
+.El |
+. |
+.It Cd prefs_folder_name Vt ( string ) |
+Name of Prayer user preferences folder on IMAP server. |
+. |
+.It Cd use_namespace ( Vt boolean ) |
+Use IMAP NAMESPACE command to find |
+.Cd personal_hierarchy No and Cd hiersep . |
+.Sy Default : Li true . |
+. |
+.It Cd personal_hierarchy ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """""" . |
+. |
+.It Cd hiersep ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """/""" . |
+. |
+.It Cd dualuse ( Vt boolean ) |
+Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
+mail and inferior mailboxes). Things will mostly work if dualuse set to |
+.Li false No on a server which supports it, but people will be |
+unable to create children of newly created mailboxes without |
+refreshing the view. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd sieved_server Vt ( string ) |
+Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
+.Cd imapd_server , |
+except the only recognised flag is |
+.Li /ssl . |
+. |
+.It Cd sieved_user_map Vt ( path ) |
+Can be used to provide individualised imapd_server settings in the form of a CDB file. |
+. |
+.It Cd sieved_timeout Vt ( time ) |
+Default timsieved timeout is 10 minutes |
+.El |
+. |
+.Ss Mail domain configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd local_domain |
+Define a valid local domain, and optionally the valid local parts in that domain. |
+This is a special directive that can appear multiple times and does not use an equals sign: |
+.Bd -unfilled |
+.Cd local_domain Ar domain Op Ar map |
+.Ed |
+.Pp |
+.No Without Ar map , Cd local_domain |
+simply defines a domain which will appear on the list visible to user |
+preferences. With |
+.Ar map , |
+it also defines a list a CDB map file which defines valid entries in |
+that domain; used for personal name expansion and checking for valid |
+addresses: The keys are the valid local parts and the values are the |
+corresponding full names of the users. |
+.Pp |
+.Sy Default : No A single entry which corresponds to |
+.Cd default_domain . |
+. |
+.It Cd return_path_domain Vt ( string ) |
+Domain used in the return address given to |
+.Xr sendmail 8 . |
+.Sy Default : No the default domain. |
+. |
+.It Cd filter_domain_pattern Vt ( string ) |
+A filter pattern which is equivalent to, or at least approximates the |
+list of local domains. |
+.Sy Default : No the default domain. |
+. |
+.It Cd hostname Vt ( string ) |
+Hostname is the canonical name for this particular system, used in |
+session and icon URLs which are generated by Prayer. This is derived |
+automatically using |
+.Xr gethostname 2 |
+.No and Xr gethostbyname 3 |
+if no value is provided. However, there are situations, especially |
+involving SSL certificates, where the default hostname may not be |
+appropriate. The special value |
+.Ql __UNDEFINED__ |
+here means the startup script or command line must provide a hostname |
+using a |
+.Fl -config-option |
+override or via the environment variable |
+.Ev PRAYER_HOSTNAME . |
+This is just a safeguard for systems which use DNS round robining to |
+distribute load across a number of machines. |
+. |
+.It Cd hostname_service Vt ( string ) |
+Host name common for all Prayer installations part of the same webmail |
+service. (Only) useful for large installations using DNS round robin |
+for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
+webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
+The user is redirected to this hostname after logging out, and HTTP |
+requests are sanity checked against it in addition to the canonical |
+hostname. |
+.Pp |
+.Sy Default : No none |
+. |
+.It Cd fix_from_address ( Vt boolean ) |
+suppresses the From address option from the Preferences and Roles |
+screens. |
+.Sy Default : Li false . |
+. |
+.It Cd lookup_rpasswd ( Vt path ) |
+Path to a CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Sy Note : No Keys must be Em lowercase ; |
+Prayer converts search strings to lowercase in order to provide |
+case-insensitive lookup. |
+. |
+.It Cd lookup_rusername ( Vt path ) |
+Path to a second CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Pp |
+If the user enters a valid and existing username according to |
+.Xr getpwnam 3 , Prayer does not search these first two CDB files, |
+but skips directly to the second stage of looking up user information. |
+. |
+.It Cd lookup_username ( Vt path ) |
+Path to a CDB file that maps usernames to records consisting of the user's |
+.Dq registered name |
+and his/her affiliation (department), separated by a vertical bar |
+.Ql ( "|" ) . |
+Additionally, if a second vertical bar follows, the account is |
+regarded as cancelled. |
+.Pp |
+When presenting the search results, the usernames found are combined with the |
+.Cd default_domain |
+to form email addresses. It is not possible at this time to let users |
+search for addresses in more than one domain using this facility. |
+. |
+.It Cd lookup_fullname ( Vt path ) |
+Path to a CDB file that maps usernames to |
+.Dq display names , |
+possibly provided by the users themselves in some way. The display name |
+of a user is used together with the email address in recipient fields |
+.Pp |
+Note that all four lookup options must be set to valid CDB files for |
+the local lookup to work, but more than one option may conceivably |
+point to the same file. |
+. |
+.It Cd ldap_server ( Vt string ) |
+Name or address of LDAP server. |
+. |
+.It Cd ldap_base_dn ( Vt string ) |
+Base DN to search. After binding anonymously, Prayer performs a |
+one-level-scope search for entries with |
+.Li surname No or Li mail No attributes containing the search string. |
+The following attributes are fetched and presented: |
+.Bl -bullet -compact |
+.It |
+.Li uid |
+.It |
+.Li displayName |
+.It |
+.Li cn Dq ( registered name ) |
+.It |
+.Li ou Dq ( affiliation ) |
+.It |
+.Li mail |
+.It |
+.Li telephoneNumber |
+.El |
+. |
+.It Cd ldap_timeout ( Vt time ) |
+Search timeout. |
+.Sy Default : Li 30s . |
+.El |
+. |
+.Ss HTTP and other frontend settings |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd use_http_port , use_https_port |
+Define a single HTTP[S] port to bind to. You can define an arbitary list |
+of ports of both kinds by using a series of separate |
+.Cd use_http_port No and Cd use_https_port |
+directives, with one port on each line. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_http_port Oo Ar interface : Oc Ns Ar port |
+.Cd use_https_port Oo Ar interface : Oc Ns Ar port |
+.Ed |
+.Pp |
+.Ar interface |
+can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
+.Xr getaddrinfo 3 |
+for resolution, and the first resulting address is used to bind to. Otherwise, |
+.Xr prayer 8 |
+.No binds to Ar port No on all interfaces. |
+. |
+.It Cd ssl_default_port Vt ( number ) |
+Prayer will put a warning on the login page for HTTP connections if |
+both HTTP and HTTPS sessions are available. This will provide a link |
+to the SSL version of the service, defaulting to port 443 or failing |
+that the first defined HTTPS port. ssl_default_port overrides the |
+built in logic. |
+.Pp |
+Should be rarely required now that Prayer automatically derives an |
+appropriate port if none is provided here. |
+. |
+.It Cd ssl_cert_file Vt ( path ) |
+Locatation of SSL certificate file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_privatekey_file Vt ( path ) |
+Location of SSL private key file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_rsakey_lifespan Vt ( time ) |
+Master server will regenerate shared RSA key at this interval. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_rsakey_freshen Vt ( time ) |
+RSA key remains fresh in child process for this long after first actual use. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_session_timeout Vt ( time ) |
+SSL session cache TTL. |
+.Sy Default : Li 0 No (SSL session cache not used). |
+.Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
+data from the DBD database. |
+. |
+.It Cd egd_socket Vt ( path ) |
+Path to entropy gathering daemon socket. If provided, it will be used in place of |
+or in addition to |
+.Pa /dev/urandom |
+. |
+.It Cd contact_email Vt ( string ) |
+System administrator email address. |
+.Sy This setting is currently not used. |
+If you want to display support information to your users, customise the templates. |
+. |
+.It Cd fatal_dump_core Vt ( boolean ) |
+Dump core on |
+.Fn fatal |
+error. |
+.Sy Default : No false. |
+. |
+.It Cd log_debug Vt ( boolean ) |
+Enable somewhat more verbose logging, mainly in relation to SSL. |
+.Sy Default : No false. |
+. |
+.It Cd fix_client_ipaddr Vt ( boolean ) |
+Client must connect from consistent IP addresses. May be useful as |
+a security measure in LAN environments. Painful for dialup users |
+whose connections may drop out. |
+.Sy Default : No false. |
+. |
+.It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
+.Xr prayer-session 8 |
+gzip-compresses pages sent to clients if: |
+.Bl -enum -compact |
+.It |
+gzip compression enabled at compile time, |
+.It |
+.Cd use_gzip No is set in user preferences, |
+.It |
+User agent is known to support Content-Encoding: gzip, |
+.It |
+User agent asks for Content-Encoding: gzip or x-gzip, |
+.It |
+IP address of client appears in |
+.Cd gzip_allow_nets |
+.Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
+.El |
+.Pp |
+The format of these options is a sequence of |
+.Ar ipaddr Ns Op / Ns Ar masklen |
+items, separated by colons |
+.Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
+.Ar masklen No is omitted, the item is interpreted as a full host address. |
+. |
+.It Cd log_name_nets Vt ( string ) |
+A network list in the same format as |
+.Cd gzip_allow_nets |
+above. To avoid delay when a user logs in, |
+.Xr prayer-session 8 |
+only performs a reverse lookup of the remote address if matches this list. |
+.Sy Default : No empty; no reverse lookup are performed. |
+. |
+.It Cd limit_vm Vt ( number ) |
+Virtual memory limit imposed on each process to stop runaway process killing system. See |
+.Xr setrlimit 2 . |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_method_size Vt ( number ) |
+Prayer should in theory be able to cope with input of arbitrary |
+size. In practice however, the incoming request has to be stored |
+somewhere and without limits an attacker may exhaust available memory, |
+causing a denial of service attack. |
+.Pp |
+This sets the maximum size of the initial line of an HTTP request. |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_hdr_size Vt ( number ) |
+Maximum for headers associated with this request. |
+. |
+.It Cd http_max_body_size Vt ( number ) |
+Maximum for HTTP payload. This is the most significant one in normal use. |
+. |
+.It Cd draft_att_single_max ( Vt number ) |
+Maximum size of a single attachment when composing a mail. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd draft_att_total_max ( Vt number ) |
+Maximum size of all attachments. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd http_min_servers Vt ( number ) |
+Minimum number of preforked |
+.Xr prayer 8 HTTP servers. The master process forks new slave processes |
+whenever the number of idle slaves falls below this number, unless the |
+total number of slaves would exceed |
+.Cd http_max_servers . |
+.Sy Default : Li 4. |
+. |
+.It Cd http_max_servers Vt ( number ) |
+Maximum number of preforked |
+.Xr prayer 8 HTTP servers (active and idle). The master process does not, |
+however, enforce any maximum number of |
+.Em idle No slave processes; they have to terminate voluntarily by timing out |
+or serving the maximum number of connections. |
+.Sy Default : Li 64 . |
+. |
+.It Cd http_max_connections Vt ( number ) |
+Maximum number of connections that each frontend server will process. |
+.Sy Default : Li 0 No (no limit). |
+. |
+.It Cd http_timeout_idle Vt ( time ) |
+Timeout for (dirty) spare server waiting for another HTTP connection. |
+.Sy Default : Li 30s . |
+. |
+.It Cd http_timeout_icons Vt ( time ) |
+Timeout for HTTP connection that last served static content. |
+.Sy Default : Li 10s . |
+. |
+.It Cd http_timeout_session Vt ( time ) |
+Timeout for HTTP connection that last served a session URL or has not served anything yet. |
+.Sy Default : Li 60s . |
+. |
+.It Cd http_cookie_use_port Vt ( boolean ) |
+Present HTTP cookies to browser as |
+.Dq Li username:port=value |
+rather than |
+.Dq Li username=value . |
+Allows simultaneous login sessions from a single client browser. |
+However can leave a trail of cookies behind. Probably don't want this |
+in the long term, it's here for experimentation purposes only at the |
+moment. |
+. |
+.It Cd icon_expire_timeout Vt ( time ) |
+The amount of time in the future to set the HTTP |
+.Li Expires: No field for static content. |
+.Sy Default : Li 7d . |
+(In contrast sessions URLs expire immediately: Browsers really |
+shouldn't be trying to cache this stuff, especially when it is coming |
+in over HTTPS). |
+.El |
+. |
+.Ss Session specific configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd session_idle_time Vt ( time ) |
+Session switches to idle mode after this much time: connections to |
+IMAP and accountd servers are shut down. |
+.Sy Default : Li 0 No (idle mode disabled). |
+. |
+.It Cd session_timeout Vt ( time ) |
+Session terminates after this much idle time. |
+.Ql 0 |
+means session never times out. |
+.Sy Default : Li 4h . |
+. |
+.It Cd session_timeout_compose Vt ( time ) |
+Session terminates after this much idle time instead when the last command was |
+.Ql compose |
+.No or Ql sieve . |
+It should probably not be set lower than |
+.Cd session_timeout . |
+.Sy Default : Li 0 No (always use the same timeout). |
+. |
+.It Cd stream_ping_interval Vt ( time ) |
+Ping INBOX, Other, and Draft streams at this interval. |
+.Sy Default : Li 5m . |
+. |
+.It Cd stream_checkpoint Vt ( boolean ) |
+.No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
+.Sy Default : Li true . |
+. |
+.It Cd stream_misc_timeout Vt ( time ) |
+Shut down Postponed, Preferences and Transfer streams entirely |
+after this much idle time, but only if idle mode doesn't beat us to it. |
+.Sy Default : Li 0 No (disabled). |
+. |
+.It Cd log_ping_interval Vt ( time ) |
+.Xr stat 2 log files at this interval to see if target file has been |
+renamed or removed. |
+.Ql 0s |
+means stat() log file every time something is logged. |
+.Sy Default : Li 5m . |
+. |
+.It Cd db_ping_interval Vt ( time ) |
+Interval at which to re-read CDB files containing the local domain. |
+.Sy Default : Li 30m . |
+.El |
+. |
+.Ss Display specific configuration |
+. |
+.Bl -tag -width Ds |
+.It Cd login_banner Vt ( string ) |
+Used in the |
+.Li <title> |
+and heading of the login page, unless |
+.Cd login_prefix_path |
+specifies a custom first HTML part. |
+.Sy Default : Li """Webmail Service Login""" . |
+. |
+.It Cd login_service_name Vt ( string ) |
+Used in the |
+.Li <title> No and elsewhere to refer to the webmail system |
+.Em after No the user has logged in. |
+.Sy Default : Li """Prayer""" . |
+. |
+.It Cd login_prefix_path Vt ( path ) |
+File to use as the part of the login page before the login |
+form. Should include everything including DOCTYPE and <html> tag. If |
+unset, Prayer constructs a fairly safe and boring login page |
+consisting of the |
+.Cd login_banner . |
+on the background colour of the default main theme. |
+. |
+.It Cd motd_path Vt ( path ) |
+File to use as the part of the login page immediately following the login form. |
+. |
+.It Cd login_suffix_path Vt ( path ) |
+File to use as the last part of the login page. If unset, Prayer simply outputs |
+.Dq Li </body></html> . |
+. |
+.It Cd ssl_encouraged ( Vt boolean ) |
+If the user connects over unencrypted HTTP, do not show the login form on the start |
+.Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
+.Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
+. |
+.It Cd ssl_redirect ( Vt boolean ) |
+If the user connects over unencrypted HTTP, return a |
+.Ql 302 |
+redirect to the default SSL port. Only the start |
+.Pa ( / ) No page is redirected and it may be possible to switch between http and |
+https after loggin in, subject to cookie rules. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd ssl_required ( Vt boolean ) |
+Return a |
+.Ql 403 Forbidden |
+error if the user tries to access anything over unencrypted HTTP. |
+.Cd ssl_redirect No still has effect, however. |
+. |
+.It Cd list_addr_maxlen Vt ( number ) |
+The maximum number of characters to show from addresses on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd list_subject_maxlen Vt ( number ) |
+The maximum number of characters to show from the subject on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd change_max_folders ( Vt number ) |
+The maximum number of folders allowed in the quick folder change |
+dropdown list. If there would be too many folders, the quick list is |
+disabled altogether. Only folders that are expanded in the folder view |
+are included. |
+.Pp |
+.Sy Default : Li 20 . |
+. |
+.It Cd template_path ( Vt path ) |
+Path to uncompiled template sets (directories). |
+.Sy Default : Li """../templates""" No (relative to |
+.Cd tmp_dir ) . |
+. |
+.It Cd template_set ( Vt string ) |
+Template set to use. |
+.Sy Default : Li """xhtml_strict""" . |
+. |
+.It Cd template_use_compiled ( Vt boolean ) |
+Use the compiled-in templates, ignoring |
+.Cd template_path . |
+.Sy Default : Li true . |
+.Pp |
+As a Debian extension, |
+.Xr prayer-session 8 |
+will fall back to the compiled-in template version of any template |
+that it cannot find in the template directory. This enables |
+customization of some templates without having to compile all of them |
+at run time, although attempting to open each template still incurs a |
+certain penalty. |
+. |
+.It Cd theme |
+Define themes and their colors. |
+.Em Semi-deprecated ; No Colours set with this directive are only used by the |
+.Li xhtml_transitional No template set. The |
+.Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
+It is still necessary to tell Prayer which themes are available, however. |
+.Pp |
+Syntax: |
+.Bd -literal -offset indent |
+.Cd theme Ar name Li description Ar description |
+.Cd theme Ar name element colour |
+.Cd theme Ar name element colour |
+\&... |
+.Ed |
+.Pp |
+.Ar description No is the label shown in the theme dropdown lists on the |
+General Preferences page. |
+.Pp |
+.Ar element No is one of |
+.Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
+.Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
+.Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
+The first three are not used by any standard template set, but are |
+available. Please study the templates to understand how the rest are |
+used. |
+.Pp |
+.Ar colour No is any valid HTML Vt %Color No value. |
+Remember that strings containing hash marks need to be quoted. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme. |
+. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme in help mode. |
+. |
+.It Cd use_ispell_language |
+Ispell languages that we want to support, with some descriptive text |
+for the preferences screen. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_ispell_language Ar wordlist Ar description |
+.Ed |
+.Pp |
+Example: |
+.Bd -literal -offset indent |
+.Li use_ispell_language british Qq British English |
+.Ed |
+.El |
+. |
+.Ss Paths etc. |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd aspell_path ( Vt path ) |
+Location of Aspell Binary (takes precedence over |
+.Cd ispell_path ) . |
+. |
+.It Cd bin_dir ( Vt path ) |
+Location of Prayer binaries |
+.Xr ( prayer 8 and |
+.Xr prayer-session 8 ) . |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd icon_dir ( Vt path ) |
+Location of icon files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ispell_path ( Vt path ) |
+Location of Ispell Binary (backwards compatibility only). |
+. |
+.It Cd log_dir ( Vt path ) |
+Location of log files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd pid_dir ( Vt path ) |
+Location for PID files of prayer and prayer-session master processes. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd sendmail_path ( Vt path ) |
+Location of sendmail binary or drop in replacement such as Exim. |
+.Sy Default : Pa /usr/lib/sendmail . |
+. |
+.It Cd socket_dir ( Vt path ) |
+Location for unix domain sockets which connect |
+.Xr ( prayer 8 to |
+.Xr prayer-session 8 ) . |
+. |
+.It Cd socket_split_dir ( Vt boolean ) |
+Split socket directory into 64 subdirs keyed on first letter of |
+sessionID. It is possible to switch back and forth without moving |
+sockets or killing sessions, since |
+.Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
+.Xr prayer-session 8 creates the socket files. |
+.Sy Default : Li false . |
+. |
+.It Cd init_socket_name ( Vt string ) |
+Name of Unix domain socket (in |
+.Cd socket_dir ) No used for initial handshake |
+between prayer and prayer-session processes when a user logs in. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ssl_session_dir ( Vt path ) |
+Location of the SSL session cache database. |
+.Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
+. |
+.It Cd static_dir ( Vt path ) |
+Location of other static files (CSS). |
+.Sy Default : No none. If unset, Prayer will not serve CSS files. |
+. |
+.It Cd tmp_dir ( Vt path ) |
+As the directory both daemons |
+.Xr chdir 2 |
+to at startup, it is where temporary files, such as attachments and |
+folders in transist during upload and download operations, are |
+written. Core files also end up here. |
+.Sy Default : No none. Sy Must be set. |
+.El |
+. |
+.Ss Defaults for user preferences |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd confirm_logout ( Vt boolean ) |
+Confirmation dialogue when user logs out. |
+.Sy Default : Li true . |
+. |
+.It Cd confirm_expunge ( Vt boolean ) |
+Confirmation dialogue when user hits expunge. |
+.Sy Default : Li false . |
+. |
+.It Cd confirm_rm ( Vt boolean ) |
+Confirmation dialogue when user deletes mail folder or directory. |
+.Sy Default : Li true . |
+. |
+.It Cd default_domain Vt ( string ) |
+Default domain for outgoing mail. Defaults to |
+.Cd hostname No setting. |
+. |
+.It Cd html_inline ( Vt boolean ) |
+Show text/html bodyparts inline. Content is scrubbed to remove |
+dangerous tags; see documentation for more details. |
+.Sy Default : Li true . |
+. |
+.It Cd html_inline_auto ( Vt boolean ) |
+Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
+Does anyone other than spammers actually use this? |
+.Sy Default : Li true . |
+. |
+.It Cd ispell_language ( Vt string ) |
+Language for ispell. |
+.Sy Default : Li """british""" . |
+. |
+.It Cd msgs_per_page ( Vt number ) |
+Number of messages per screen on message list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd msgs_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd msgs_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd abook_per_page ( Vt number ) |
+Number of addressbook entries per page on address book list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd abook_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd abook_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd maildir ( Vt string ) |
+Mail directory in user's account. |
+.Sy Default : Li """""" . |
+Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
+. |
+.It Cd suppress_dotfiles ( Vt boolean ) |
+Supress dotfiles from directory listing. |
+.Sy Default : Li true . |
+. |
+.It Cd postponed_folder ( Vt string ) |
+Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
+.Sy Default : Li """postponed-msgs""" . |
+. |
+.It Cd sent_mail_folder ( Vt string ) |
+Name of folder for sent mail. |
+.Sy Default : Li """sent-mail""" . |
+. |
+.It Cd small_cols ( Vt number ) |
+Width of small compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd small_rows ( Vt number ) |
+Height of small compose textarea in lines. |
+.Sy Default : Li 18 . |
+. |
+.It Cd large_cols ( Vt number ) |
+Width of large compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd large_rows ( Vt number ) |
+Height of large compose textarea in lines. |
+.Sy Default : Li 32 . |
+. |
+.It Cd sort_mode ( Vt string ) |
+Default Sort mode for mailbox list. One of |
+.Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
+.Sy Default : Li ARRIVAL No is most efficient, and recommended. |
+. |
+.It Cd sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd abook_sort_mode ( Vt string ) |
+Default Sort mode for addressbook list. One of: |
+.Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
+.Sy Default : Li ORDERED . |
+. |
+.It Cd abook_sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_len ( Vt number ) |
+Wrap lines at this many characters. |
+.Sy Default : Li 76 . |
+. |
+.It Cd line_wrap_advanced ( Vt boolean ) |
+Enable advanced line wrap options? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_on_reply ( Vt boolean ) |
+Line wrap automatically on reply. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_spell ( Vt boolean ) |
+Line wrap automatically on spell check. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_send ( Vt boolean ) |
+Line wrap automatically on send. |
+.Sy Default : Li true . |
+. |
+.It Cd preserve_mimetype ( Vt boolean ) |
+Send message Content-Type through to browser. If |
+.Li false , No Content-Type is replaced with |
+.Ql application/octet-stream |
+which should force download to local disk, bypassing any automatic |
+processing of bodyparts by the User-Agent. Unclear at the moment |
+whether we need to do this, or whether this should be done selectively |
+based on the User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_sent_mail ( Vt boolean ) |
+.No Make the Dq Save copy |
+checkbox on the compose screen checked default. |
+.Sy Default : Li true . |
+. |
+.It Cd use_mark_persist ( Vt boolean ) |
+Use persistent mark for aggregate operations. |
+.Sy Default : Li false . |
+. |
+.It Cd use_search_zoom ( Vt boolean ) |
+Zoom automatically after sucessful search |
+.Sy Default : Li true . |
+. |
+.It Cd use_agg_unmark ( Vt boolean ) |
+Unmark messages after sucessful aggregate operation. |
+.Sy Default : Li true . |
+. |
+.It Cd use_icons ( Vt boolean ) |
+Use icons: may be overriden by value of User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_welcome ( Vt boolean ) |
+Enable welcome screen . |
+.Sy Default : Li true . |
+. |
+.It Cd use_tail_banner ( Vt boolean ) |
+Duplicate banner icons (toolbar) at the bottom of the Message screen. |
+.Sy Default : Li true . |
+.El |
+. |
+.Ss Hidden preferences |
+. |
+The following options are internally handled as user preferences, but |
+the Preferences screen no longer provides any means for changing them. |
+. |
+.Bl -tag -width Ds |
+.It Cd use_cookie ( Vt boolean ) |
+Use HTTP cookie for Session-ID, if the browser supports cookies |
+If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
+.Sy Default : Li true . |
+. |
+.It Cd use_substitution ( Vt boolean ) |
+Use page substiution rather than HTTP redirects. Faster, but the URLs |
+that are generated are less predictable. Page substitution and browser |
+history mechanism don't coexist well at the moment (Prayer would need to |
+cache final page value for each substiution event). |
+.Pp |
+.Sy Default : Li true . |
+. |
+.It Cd use_http_1_1 ( Vt boolean ) |
+Allow HTTP/1.1, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_pipelining ( Vt boolean ) |
+Allow HTTP/1.1 pipelining, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_embed_http ( Vt boolean ) |
+Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_persist ( Vt boolean ) |
+Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
+if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_short ( Vt boolean ) |
+Allow short URLs, if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_gzip ( Vt boolean ) |
+Allow gzip compression, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer-session 8 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
Index: tags/1.2.2.1-7/debian/prayer-ssl-prune.8 |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer-ssl-prune.8 (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer-ssl-prune.8 (revision 180) |
@@ -0,0 +1,54 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SSL-PRUNE 8 |
+.Sh NAME |
+.Nm prayer-ssl-prune |
+.Nd purge stale SSL session data |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+should be run periodically (e.g. once a day) when using SSL session caching |
+.Cd ( ssl_session_timeout No > 0 in |
+.Pa prayer.cf ) . |
+It removes old transaction logs and stale session data. |
+It accepts the same configuration-overriding options as |
+.Xr prayer 8 and |
+.Xr prayer-session 8 . |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /var/run/prayer/ssl_scache/ |
+Default location of the SSL session cache database. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-7/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,3 @@ |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.2.1-7/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-7/debian/prayer-templates.install |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer-templates.install (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer-templates.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.2.2.1-7/debian/prayer.init |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.init (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.init (revision 180) |
@@ -0,0 +1,99 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+VAR_PREFIX=/var/run/prayer |
+PRAYER_USER=prayer |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+FRONTEND_PIDFILE="$VAR_PREFIX/prayer.pid" |
+SESSION_PIDFILE="$VAR_PREFIX/prayer-session.pid" |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile "$FRONTEND_PIDFILE" \ |
+ --exec "$FRONTEND_DAEMON" \ |
+ -- $DAEMON_OPTS --config-option "prayer_user=$PRAYER_USER" \ |
+ --config-option "var_prefix=$VAR_PREFIX" \ |
+ --config-option "pid_dir=$VAR_PREFIX" |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$SESSION_PIDFILE" |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile "$FRONTEND_PIDFILE" |
+ start-stop-daemon --stop --quiet --oknodo --exec "$FRONTEND_DAEMON" |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ # Create /var/run/prayer with prayer as owner in case /var/run is a tmpfs. |
+ # If local admin |
+ install -d -m 2750 -o "$PRAYER_USER" "$VAR_PREFIX" |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-7/debian/Config |
=================================================================== |
--- tags/1.2.2.1-7/debian/Config (nonexistent) |
+++ tags/1.2.2.1-7/debian/Config (revision 180) |
@@ -0,0 +1,146 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.2.1-7/debian/prayer.install |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.install (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.install (revision 180) |
@@ -0,0 +1,6 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+etc/prayer/prayer.cf |
Index: tags/1.2.2.1-7/debian/prayer.8 |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.8 (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.8 (revision 180) |
@@ -0,0 +1,93 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER 8 |
+.Sh NAME |
+.Nm prayer |
+.Nd standalone IMAP-based webmail server |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground | -disable-prefork |
+.Oo Fl -disable-session | - |
+.Ar session-options Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is the normal frontend daemon in the Prayer Webmail system. It is a |
+simple HTTP server and proxy that serves icons and other static files, |
+but firstly and foremostly forwards requests to the correct backend |
+daemons based on session IDs passed either in cookies or as part of |
+the URL. |
+.Pp |
+The master daemon normally preforks a number of child processes that |
+each will serve a configurable number of requests. The total number of |
+child processes is limited to prevent denial of service attacks. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.It Fl -disable-prefork |
+Disable preforking. The master daemon will listen for connections |
+on the configured ports and spawn child processes one at a time. |
+.It Fl -disable-session |
+Do not start the session server, |
+.Xr prayer-session 8 . |
+.It Fl - |
+End of |
+.Nm |
+options; remaining options will be passed to |
+.Xr prayer-session 8 . |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /usr/share/prayer/icons/ |
+Location of the standard icons used by the interface. |
+.It Pa /usr/share/prayer/static/ |
+Directory containing other static files; currently only CSS files. |
+.It Pa /var/run/prayer/sockets/ |
+Pre-configured location of sockets for frontend to backend communication. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer-session 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+.No using documentation written by An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-7/debian/README.Debian |
=================================================================== |
--- tags/1.2.2.1-7/debian/README.Debian (nonexistent) |
+++ tags/1.2.2.1-7/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.2.1-7/debian/prayer.examples |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.examples (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.2.1-7/debian/copyright |
=================================================================== |
--- tags/1.2.2.1-7/debian/copyright (nonexistent) |
+++ tags/1.2.2.1-7/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.2.1-7/debian/prayer.docs |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.docs (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.2.1-7/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-7/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-7/debian/compat |
=================================================================== |
--- tags/1.2.2.1-7/debian/compat (nonexistent) |
+++ tags/1.2.2.1-7/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.2.1-7/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.2.1-7/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.2.1-7/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.2.1-7/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.2.1-7/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.2.1-7/debian/watch |
=================================================================== |
--- tags/1.2.2.1-7/debian/watch (nonexistent) |
+++ tags/1.2.2.1-7/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.2.1-7/debian |
=================================================================== |
--- tags/1.2.2.1-7/debian (nonexistent) |
+++ tags/1.2.2.1-7/debian (revision 180) |
/tags/1.2.2.1-7/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.2.1-6/debian/changelog |
=================================================================== |
--- tags/1.2.2.1-6/debian/changelog (nonexistent) |
+++ tags/1.2.2.1-6/debian/changelog (revision 180) |
@@ -0,0 +1,192 @@ |
+prayer (1.2.2.1-6) unstable; urgency=low |
+ |
+ * prayer.init: Correctly check for the presence of the executables. |
+ * Split out templates to a separate arch-indep package. |
+ * Change the default value of the tmp_dir option back to |
+ ${var_prefix}/tmp (/var/run/prayer/tmp) because using /tmp may not be |
+ secure. |
+ * usernames_with_at.patch (new, from upstream CVS): If a username |
+ contains an @, it will be assumed to be a valid email address and be |
+ used as envelope sender address and default "From" address when |
+ sending mail (Closes: #497016). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Fri, 31 Oct 2008 18:19:34 +0100 |
+ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.2.1-6/debian/patches/usernames_with_at.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/usernames_with_at.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/usernames_with_at.patch (revision 180) |
@@ -0,0 +1,53 @@ |
+--- a/session/draft.c |
++++ b/session/draft.c |
+@@ -1399,10 +1399,12 @@ char *draft_make_msg(struct draft *draft |
+ if (draft->from_address && draft->from_address[0]) { |
+ from_address = draft->from_address; |
+ use_sender = T; |
+- } else |
+- from_address |
+- = |
++ } else if (strchr(session->username, '@')) { |
++ from_address = pool_strdup(pool, session->username); |
++ } else { |
++ from_address = |
+ pool_printf(pool, "%s@%s", session->username, default_domain); |
++ } |
+ |
+ if (draft->from_personal && draft->from_personal[0]) { |
+ from_personal = draft->from_personal; |
+@@ -1431,9 +1433,14 @@ char *draft_make_msg(struct draft *draft |
+ NIL); |
+ bputs(mb, "" CRLF); |
+ |
+- if (use_sender) |
+- bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
+- default_domain); |
++ if (use_sender) { |
++ if (strchr(session->username, '@')) { |
++ bprintf(mb, "Sender: %s" CRLF, session->username); |
++ } else { |
++ bprintf(mb, "Sender: %s@%s" CRLF, session->username, |
++ default_domain); |
++ } |
++ } |
+ |
+ if (!(draft_make_abook_address(session, mb, "To", draft->to) && |
+ draft_make_abook_address(session, mb, "Cc", draft->cc) && |
+--- a/cmd/cmd_prefs.c |
++++ b/cmd/cmd_prefs.c |
+@@ -474,9 +474,12 @@ generate_compose1_form(struct session *s |
+ template_vals_string(tvals, "from_address", prefs->from_address); |
+ |
+ if (!(prefs->from_address && prefs->from_address[0])) { |
+- char *s = pool_printf(request->pool, "%s@%s", |
+- session->username, prefs->default_domain); |
++ char *s = session->username; |
+ |
++ if (!strchr(session->username, '@')) { |
++ s = pool_printf(request->pool, "%s@%s", |
++ session->username, prefs->default_domain); |
++ } |
+ template_vals_string(tvals, "default_from_address", s); |
+ } |
+ |
Index: tags/1.2.2.1-6/debian/patches/series |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/series (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+repair_ssl_session_db_on_version_mismatch.patch |
+makefile_install_config.patch |
+remove_old_db_logfiles_from_prayer-ssl-prune.patch |
+welcome_is_template.patch |
+templates_fallback_to_compiled.patch |
+template_find_bug.patch |
+unlimit_login_username.patch |
+usernames_with_at.patch |
Index: tags/1.2.2.1-6/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,180 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,21 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -271,11 +271,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -283,26 +283,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -387,13 +375,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -431,10 +419,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++log_dir = "/var/log/prayer" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -442,7 +427,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -453,7 +438,7 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ tmp_dir = "$var_prefix/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -617,14 +602,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2144,7 +2144,6 @@ BOOL config_check(struct config * config |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: tags/1.2.2.1-6/debian/patches/unlimit_login_username.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/unlimit_login_username.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/unlimit_login_username.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/servers/prayer_login.c |
++++ b/servers/prayer_login.c |
+@@ -116,7 +116,7 @@ prayer_login_generate(struct prayer *pra |
+ |
+ bputs(b, " <td>"); |
+ bprintf(b, |
+- "<input name=\"username\" value=\"%s\" size=\"8\" maxlength=\"8\" />", |
++ "<input name=\"username\" value=\"%s\" size=\"16\" />", |
+ user ? user : ""); |
+ bputs(b, "</td>" CRLF); |
+ bputs(b, "</tr>" CRLF); |
Index: tags/1.2.2.1-6/debian/patches/welcome_is_template.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/welcome_is_template.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/welcome_is_template.patch (revision 180) |
@@ -0,0 +1,41 @@ |
+--- a/cmd/cmd_welcome.c |
++++ b/cmd/cmd_welcome.c |
+@@ -74,12 +74,7 @@ void cmd_welcome(struct session *session |
+ unsigned long msgno; |
+ |
+ if ((request->method != POST) && (prefs->use_welcome)) { |
+- if (config->welcome_path && |
+- (string = read_welcome(request->pool, config->welcome_path))) |
+- generate_welcome_page(session, string); |
+- else |
+- session_redirect(session, request, "list"); |
+- |
++ generate_welcome_page(session, NULL); |
+ return; |
+ } |
+ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -402,12 +402,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Welcome text displayed when user first logs in |
+-welcome_path = "$prefix/etc/welcome.html" |
+- |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2139,7 +2139,6 @@ BOOL config_check(struct config * config |
+ struct config_http_port *chp; |
+ char hostname[MAX_ADDRESS+1], domainname[MAX_ADDRESS+1]; |
+ |
+- TEST_STRING(config->help_dir, "help_dir"); |
+ TEST_STRING(config->icon_dir, "icon_dir"); |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
Index: tags/1.2.2.1-6/debian/patches/template_find_bug.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/template_find_bug.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/template_find_bug.patch (revision 180) |
@@ -0,0 +1,28 @@ |
+--- a/lib/template.c |
++++ b/lib/template.c |
+@@ -199,10 +199,11 @@ template_find(char *set, char *name, str |
+ unsigned long first, last, middle; |
+ int rc; |
+ |
+- while (strcmp(tmi->name, set) != 0) |
++ while (strcmp(tmi->name, set) != 0) { |
+ tmi++; |
+- if (!tmi->name) |
+- return(NIL); |
++ if (!tmi->name) |
++ return(NIL); |
++ } |
+ |
+ tm = tmi->template_map; |
+ count = *(tmi->count); |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -168,7 +168,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "html4"; |
++ config->template_set = "xhtml_strict"; |
+ config->template_use_compiled = T; |
+ |
+ config->prayer_user = NIL; |
Index: tags/1.2.2.1-6/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (revision 180) |
@@ -0,0 +1,34 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -289,9 +289,6 @@ static int myarchive(const char **fnames |
+ const char **fname; |
+ char dstname[1024], *dp; |
+ |
+- strcpy(dstname, dirname); |
+- dp = dstname + strlen(dstname); |
+- |
+ /* Get the list of log files to remove. */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS, NULL); |
+ if (r) { |
+@@ -312,6 +309,11 @@ static int myarchive(const char **fnames |
+ free (begin); |
+ } |
+ |
++ if (!dirname) return 0; |
++ |
++ strcpy(dstname, dirname); |
++ dp = dstname + strlen(dstname); |
++ |
+ /* Get the list of database files to archive. */ |
+ /* XXX Should we do this, or just use the list given to us? */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS | DB_ARCH_DATA, NULL); |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -837,6 +837,7 @@ int ssl_prune_sessions(struct ssl_config |
+ log_debug("tls_prune: purged %d out of %d entries", |
+ prock.deletions, prock.count); |
+ |
++ DB->archive(NULL, NULL); |
+ DB->done(); |
+ |
+ return (0); |
Index: tags/1.2.2.1-6/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.2.1-6/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT |
++#ifdef DB_VERSION_MISMATCH |
++ && r != DB_VERSION_MISMATCH |
++#endif |
++ ) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: tags/1.2.2.1-6/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.2.1-6/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.2.1-6/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.2.1-6/debian/control |
=================================================================== |
--- tags/1.2.2.1-6/debian/control (nonexistent) |
+++ tags/1.2.2.1-6/debian/control (revision 180) |
@@ -0,0 +1,66 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, prayer-templates, imap-server, aspell | ispell |
+Description: standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-templates |
+Architecture: all |
+Recommends: prayer (>= 1.2.0) |
+Replaces: prayer (<< 1.2.2.1-6) |
+Description: templates for customizing Prayer Webmail |
+ This package contains, in source form, the templates for the HTML |
+ that Prayer outputs. |
+ . |
+ As all the templates are compiled into the session daemon, |
+ prayer-session, you only need to install this package if you need to |
+ customize one or more pages and you want something to start from. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.2.1-6/debian/prayer-session.8 |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer-session.8 (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer-session.8 (revision 180) |
@@ -0,0 +1,96 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SESSION 8 |
+.Sh NAME |
+.Nm prayer-session |
+.Nd Prayer user session backend daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground |
+.Sh DESCRIPTION |
+.Nm |
+is the backend process in the Prayer Webmail system. A fresh |
+.Nm |
+backend is forked off whenever a user logs in. |
+.Pp |
+This process contains all of the permanent state associated with that login |
+session including one or more connections to a IMAP server and possibly |
+connections to accountd servers. prayer-session communicates with the user |
+using HTML over HTTP connections via the |
+.Xr prayer 8 proxy. Each login has a session ID that the front end processes |
+use to find the correct backend. |
+.Pp |
+Backend server processes move into a dormant state after a certain period |
+of inactivity, shutting down IMAP and accountd connections which can be |
+easily resuscitated when the session wakes up. After a long period of |
+inactivity, typically several hours the session process shuts down. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width Ds |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default |
+.Pa /etc/prayer/prayer.cf . |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name |
+to |
+.Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width Ds |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. The |
+.Fl -config-file |
+option takes precedence over this variable. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+.Sh FILES |
+.Bl -tag -width Ds |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It /usr/share/prayer/templates/ |
+Location of standard templates (in the separate |
+.Em prayer-templates |
+package). The templates are compiled into |
+.Nm |
+for performance reasons, so the template files are actually not |
+used, but they are available for customization. |
+.It /etc/prayer/templates/ |
+The Debian pre-configured |
+.Cd template_path . |
+As a Debian extension, |
+.Nm |
+looks here before falling back to the compiled template if |
+.Cd template_use_compiled No is Li false . |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-6/debian/prayer-templates.install |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer-templates.install (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer-templates.install (revision 180) |
@@ -0,0 +1 @@ |
+usr/share/prayer/templates |
Index: tags/1.2.2.1-6/debian/prayer.install |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.install (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.install (revision 180) |
@@ -0,0 +1,6 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer/icons |
+usr/share/prayer/static |
+etc/prayer/prayer.cf |
Index: tags/1.2.2.1-6/debian/prayer.init |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.init (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.init (revision 180) |
@@ -0,0 +1,90 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $FRONTEND_DAEMON -a -x $SESSION_DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-6/debian/rules |
=================================================================== |
--- tags/1.2.2.1-6/debian/rules (nonexistent) |
+++ tags/1.2.2.1-6/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.2.2.1-6/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.2.1-6/debian/prayer.manpages |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.manpages (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+debian/prayer.8 |
+debian/prayer-session.8 |
+debian/prayer.cf.5 |
+debian/prayer-ssl-prune.8 |
Index: tags/1.2.2.1-6/debian/prayer.cf.5 |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.cf.5 (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.cf.5 (revision 180) |
@@ -0,0 +1,1015 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER.CF 5 |
+.Sh NAME |
+.Nm prayer.cf |
+.Nd main Prayer configuration file |
+. |
+.Sh DESCRIPTION |
+. |
+.Pa prayer.cf |
+is the configuration file of |
+.Xr prayer 8 |
+and |
+.Xr prayer-session 8 . |
+. |
+.Sh SYNTAX |
+For the most part, prayer.cf consists of |
+.Ar option No = Ar value |
+pairs, but some configuration items are more complex. All values may |
+be enclosed in double quotes, which are stripped. Quotes must be used |
+if a value contains a |
+.Ql # |
+character. Otherwise, everything following it is treated as a comment. |
+Any line can be folded using a |
+.Ql \(rs |
+character at the end of the line; any linear white space at the beginning |
+of the next line is removed. |
+.Pp |
+Simple options can be of the following types: |
+.Bl -tag |
+. |
+.It Vt string |
+No particular restrictions. |
+.It Vt path |
+A file or directory name. The configuration parser expands occurences of a few macros |
+in settings of this type. See |
+.Cd prefix |
+.No and Cd var_prefix |
+below. |
+.It Vt boolean |
+The following forms are interpreted as |
+.Sy true : |
+.Ql true , |
+.Ql t , |
+and |
+.Ql 1 . |
+The following forms are interpreted as |
+.Sy false : |
+.Ql false , |
+.Ql nil , |
+.Ql 0 . |
+Capitalisation does not matter. |
+. |
+.It Vt number |
+An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
+.Ql K , |
+causing the number to be multiplied by 1024, or |
+.Ql M |
+multiplying it by 1024 \(pc 1024. |
+. |
+.It Vt time |
+An integer number (sequence of digits 0-9) of seconds, optionally immediately |
+followed by a single case-insignificant letter |
+.Ql s , |
+which has no effect, |
+.Ql m , |
+causing the number to be multiplied by 60, |
+.Ql h , |
+multiplying it by 60 \(pc 60, or |
+.Ql d , |
+for a multiple of 24 \(pc 60 \(pc 60. |
+.It Vt perm |
+A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
+.El |
+. |
+.Sh OPTIONS |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
+The values of these options can be referred to as |
+.Li $prefix |
+(or |
+.Li ${prefix} ) , |
+and |
+.Li $var_prefix |
+(or |
+.Li ${var_prefix} ) , |
+respectively, in settings of type |
+.Vt path |
+in the rest of the file. |
+.Pp |
+.Sy Default : No none. Need to be set only if referenced later. |
+. |
+.It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
+User name or ID to |
+.Xr setuid 2 |
+to if started as root. Either, but not both, must be set and must not specify |
+.Li uid 0 . |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
+Group name or ID to |
+.Xr setgid 2 |
+to if we start off as root. In addition, prayer calls |
+.Xr initgroups 3 |
+if |
+.Cd prayer_user |
+is set. |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_background Vt ( boolean ) |
+Run prayer as background process. If true, prayer will return as soon |
+as valid configuration is found. |
+.Sy Default : Li true |
+. |
+.It Cd file_perms Vt ( perm ) |
+Create mode for new files. |
+.Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
+. |
+.It Cd directory_perms Vt ( perm ) |
+Create mode for new directories. |
+.Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
+. |
+.It Cd check_directory_perms Vt ( boolean ) |
+Check existing directories under |
+.Li ${var_prefix} ? |
+.El |
+. |
+.Ss Mail server settings |
+. |
+.Bl -tag -width Ds |
+.It Cd imapd_server Vt ( string ) |
+Specifies the default IMAP server(s) using libc-client syntax: |
+.Bd -literal -offset indent |
+.Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
+.Sm on |
+.Ed |
+.Pp |
+Multiple server specifications can be listed, separated by commas. Common flags are: |
+.Bl -tag -compact |
+.It Li /ssl |
+Use SSL-on-connect (on port 993 by default). |
+.It Li /tls |
+Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
+session. Recommended if the server is remote, since otherwise a |
+downgrade attack is possible. |
+.It Li /notls |
+Don't issue STARTTLS even if the server supports it. Recommended if |
+the server is |
+.Li localhost . |
+.It Li /novalidate-cert |
+Don't check the integrity of the server certificate. |
+.El |
+For the full list of flags, see naming.txt.gz in the current |
+libc-client package. |
+. |
+.It Cd imapd_user_map Vt ( path ) |
+CDB lookup map overriding default imapd_server location. For information on CDB, see |
+.Bl -bullet -compact |
+.It |
+http://cr.yp.to/cdb.html |
+.It |
+http://en.wikipedia.org/wiki/Constant_Data_Base |
+.El |
+. |
+.It Cd prefs_folder_name Vt ( string ) |
+Name of Prayer user preferences folder on IMAP server. |
+. |
+.It Cd use_namespace ( Vt boolean ) |
+Use IMAP NAMESPACE command to find |
+.Cd personal_hierarchy No and Cd hiersep . |
+.Sy Default : Li true . |
+. |
+.It Cd personal_hierarchy ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """""" . |
+. |
+.It Cd hiersep ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """/""" . |
+. |
+.It Cd dualuse ( Vt boolean ) |
+Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
+mail and inferior mailboxes). Things will mostly work if dualuse set to |
+.Li false No on a server which supports it, but people will be |
+unable to create children of newly created mailboxes without |
+refreshing the view. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd sieved_server Vt ( string ) |
+Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
+.Cd imapd_server , |
+except the only recognised flag is |
+.Li /ssl . |
+. |
+.It Cd sieved_user_map Vt ( path ) |
+Can be used to provide individualised imapd_server settings in the form of a CDB file. |
+. |
+.It Cd sieved_timeout Vt ( time ) |
+Default timsieved timeout is 10 minutes |
+.El |
+. |
+.Ss Mail domain configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd local_domain |
+Define a valid local domain, and optionally the valid local parts in that domain. |
+This is a special directive that can appear multiple times and does not use an equals sign: |
+.Bd -unfilled |
+.Cd local_domain Ar domain Op Ar map |
+.Ed |
+.Pp |
+.No Without Ar map , Cd local_domain |
+simply defines a domain which will appear on the list visible to user |
+preferences. With |
+.Ar map , |
+it also defines a list a CDB map file which defines valid entries in |
+that domain; used for personal name expansion and checking for valid |
+addresses: The keys are the valid local parts and the values are the |
+corresponding full names of the users. |
+.Pp |
+.Sy Default : No A single entry which corresponds to |
+.Cd default_domain . |
+. |
+.It Cd return_path_domain Vt ( string ) |
+Domain used in the return address given to |
+.Xr sendmail 8 . |
+.Sy Default : No the default domain. |
+. |
+.It Cd filter_domain_pattern Vt ( string ) |
+A filter pattern which is equivalent to, or at least approximates the |
+list of local domains. |
+.Sy Default : No the default domain. |
+. |
+.It Cd hostname Vt ( string ) |
+Hostname is the canonical name for this particular system, used in |
+session and icon URLs which are generated by Prayer. This is derived |
+automatically using |
+.Xr gethostname 2 |
+.No and Xr gethostbyname 3 |
+if no value is provided. However, there are situations, especially |
+involving SSL certificates, where the default hostname may not be |
+appropriate. The special value |
+.Ql __UNDEFINED__ |
+here means the startup script or command line must provide a hostname |
+using a |
+.Fl -config-option |
+override or via the environment variable |
+.Ev PRAYER_HOSTNAME . |
+This is just a safeguard for systems which use DNS round robining to |
+distribute load across a number of machines. |
+. |
+.It Cd hostname_service Vt ( string ) |
+Host name common for all Prayer installations part of the same webmail |
+service. (Only) useful for large installations using DNS round robin |
+for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
+webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
+The user is redirected to this hostname after logging out, and HTTP |
+requests are sanity checked against it in addition to the canonical |
+hostname. |
+.Pp |
+.Sy Default : No none |
+. |
+.It Cd fix_from_address ( Vt boolean ) |
+suppresses the From address option from the Preferences and Roles |
+screens. |
+.Sy Default : Li false . |
+. |
+.It Cd lookup_rpasswd ( Vt path ) |
+Path to a CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Sy Note : No Keys must be Em lowercase ; |
+Prayer converts search strings to lowercase in order to provide |
+case-insensitive lookup. |
+. |
+.It Cd lookup_rusername ( Vt path ) |
+Path to a second CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Pp |
+If the user enters a valid and existing username according to |
+.Xr getpwnam 3 , Prayer does not search these first two CDB files, |
+but skips directly to the second stage of looking up user information. |
+. |
+.It Cd lookup_username ( Vt path ) |
+Path to a CDB file that maps usernames to records consisting of the user's |
+.Dq registered name |
+and his/her affiliation (department), separated by a vertical bar |
+.Ql ( "|" ) . |
+Additionally, if a second vertical bar follows, the account is |
+regarded as cancelled. |
+.Pp |
+When presenting the search results, the usernames found are combined with the |
+.Cd default_domain |
+to form email addresses. It is not possible at this time to let users |
+search for addresses in more than one domain using this facility. |
+. |
+.It Cd lookup_fullname ( Vt path ) |
+Path to a CDB file that maps usernames to |
+.Dq display names , |
+possibly provided by the users themselves in some way. The display name |
+of a user is used together with the email address in recipient fields |
+.Pp |
+Note that all four lookup options must be set to valid CDB files for |
+the local lookup to work, but more than one option may conceivably |
+point to the same file. |
+. |
+.It Cd ldap_server ( Vt string ) |
+Name or address of LDAP server. |
+. |
+.It Cd ldap_base_dn ( Vt string ) |
+Base DN to search. After binding anonymously, Prayer performs a |
+one-level-scope search for entries with |
+.Li surname No or Li mail No attributes containing the search string. |
+The following attributes are fetched and presented: |
+.Bl -bullet -compact |
+.It |
+.Li uid |
+.It |
+.Li displayName |
+.It |
+.Li cn Dq ( registered name ) |
+.It |
+.Li ou Dq ( affiliation ) |
+.It |
+.Li mail |
+.It |
+.Li telephoneNumber |
+.El |
+. |
+.It Cd ldap_timeout ( Vt time ) |
+Search timeout. |
+.Sy Default : Li 30s . |
+.El |
+. |
+.Ss HTTP and other frontend settings |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd use_http_port , use_https_port |
+Define a single HTTP[S] port to bind to. You can define an arbitary list |
+of ports of both kinds by using a series of separate |
+.Cd use_http_port No and Cd use_https_port |
+directives, with one port on each line. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_http_port Oo Ar interface : Oc Ns Ar port |
+.Cd use_https_port Oo Ar interface : Oc Ns Ar port |
+.Ed |
+.Pp |
+.Ar interface |
+can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
+.Xr getaddrinfo 3 |
+for resolution, and the first resulting address is used to bind to. Otherwise, |
+.Xr prayer 8 |
+.No binds to Ar port No on all interfaces. |
+. |
+.It Cd ssl_default_port Vt ( number ) |
+Prayer will put a warning on the login page for HTTP connections if |
+both HTTP and HTTPS sessions are available. This will provide a link |
+to the SSL version of the service, defaulting to port 443 or failing |
+that the first defined HTTPS port. ssl_default_port overrides the |
+built in logic. |
+.Pp |
+Should be rarely required now that Prayer automatically derives an |
+appropriate port if none is provided here. |
+. |
+.It Cd ssl_cert_file Vt ( path ) |
+Locatation of SSL certificate file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_privatekey_file Vt ( path ) |
+Location of SSL private key file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_rsakey_lifespan Vt ( time ) |
+Master server will regenerate shared RSA key at this interval. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_rsakey_freshen Vt ( time ) |
+RSA key remains fresh in child process for this long after first actual use. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_session_timeout Vt ( time ) |
+SSL session cache TTL. |
+.Sy Default : Li 0 No (SSL session cache not used). |
+.Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
+data from the DBD database. |
+. |
+.It Cd egd_socket Vt ( path ) |
+Path to entropy gathering daemon socket. If provided, it will be used in place of |
+or in addition to |
+.Pa /dev/urandom |
+. |
+.It Cd contact_email Vt ( string ) |
+System administrator email address. |
+.Sy This setting is currently not used. |
+If you want to display support information to your users, customise the templates. |
+. |
+.It Cd fatal_dump_core Vt ( boolean ) |
+Dump core on |
+.Fn fatal |
+error. |
+.Sy Default : No false. |
+. |
+.It Cd log_debug Vt ( boolean ) |
+Enable somewhat more verbose logging, mainly in relation to SSL. |
+.Sy Default : No false. |
+. |
+.It Cd fix_client_ipaddr Vt ( boolean ) |
+Client must connect from consistent IP addresses. May be useful as |
+a security measure in LAN environments. Painful for dialup users |
+whose connections may drop out. |
+.Sy Default : No false. |
+. |
+.It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
+.Xr prayer-session 8 |
+gzip-compresses pages sent to clients if: |
+.Bl -enum -compact |
+.It |
+gzip compression enabled at compile time, |
+.It |
+.Cd use_gzip No is set in user preferences, |
+.It |
+User agent is known to support Content-Encoding: gzip, |
+.It |
+User agent asks for Content-Encoding: gzip or x-gzip, |
+.It |
+IP address of client appears in |
+.Cd gzip_allow_nets |
+.Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
+.El |
+.Pp |
+The format of these options is a sequence of |
+.Ar ipaddr Ns Op / Ns Ar masklen |
+items, separated by colons |
+.Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
+.Ar masklen No is omitted, the item is interpreted as a full host address. |
+. |
+.It Cd log_name_nets Vt ( string ) |
+A network list in the same format as |
+.Cd gzip_allow_nets |
+above. To avoid delay when a user logs in, |
+.Xr prayer-session 8 |
+only performs a reverse lookup of the remote address if matches this list. |
+.Sy Default : No empty; no reverse lookup are performed. |
+. |
+.It Cd limit_vm Vt ( number ) |
+Virtual memory limit imposed on each process to stop runaway process killing system. See |
+.Xr setrlimit 2 . |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_method_size Vt ( number ) |
+Prayer should in theory be able to cope with input of arbitrary |
+size. In practice however, the incoming request has to be stored |
+somewhere and without limits an attacker may exhaust available memory, |
+causing a denial of service attack. |
+.Pp |
+This sets the maximum size of the initial line of an HTTP request. |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_hdr_size Vt ( number ) |
+Maximum for headers associated with this request. |
+. |
+.It Cd http_max_body_size Vt ( number ) |
+Maximum for HTTP payload. This is the most significant one in normal use. |
+. |
+.It Cd draft_att_single_max ( Vt number ) |
+Maximum size of a single attachment when composing a mail. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd draft_att_total_max ( Vt number ) |
+Maximum size of all attachments. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd http_min_servers Vt ( number ) |
+Minimum number of preforked |
+.Xr prayer 8 HTTP servers. The master process forks new slave processes |
+whenever the number of idle slaves falls below this number, unless the |
+total number of slaves would exceed |
+.Cd http_max_servers . |
+.Sy Default : Li 4. |
+. |
+.It Cd http_max_servers Vt ( number ) |
+Maximum number of preforked |
+.Xr prayer 8 HTTP servers (active and idle). The master process does not, |
+however, enforce any maximum number of |
+.Em idle No slave processes; they have to terminate voluntarily by timing out |
+or serving the maximum number of connections. |
+.Sy Default : Li 64 . |
+. |
+.It Cd http_max_connections Vt ( number ) |
+Maximum number of connections that each frontend server will process. |
+.Sy Default : Li 0 No (no limit). |
+. |
+.It Cd http_timeout_idle Vt ( time ) |
+Timeout for (dirty) spare server waiting for another HTTP connection. |
+.Sy Default : Li 30s . |
+. |
+.It Cd http_timeout_icons Vt ( time ) |
+Timeout for HTTP connection that last served static content. |
+.Sy Default : Li 10s . |
+. |
+.It Cd http_timeout_session Vt ( time ) |
+Timeout for HTTP connection that last served a session URL or has not served anything yet. |
+.Sy Default : Li 60s . |
+. |
+.It Cd http_cookie_use_port Vt ( boolean ) |
+Present HTTP cookies to browser as |
+.Dq Li username:port=value |
+rather than |
+.Dq Li username=value . |
+Allows simultaneous login sessions from a single client browser. |
+However can leave a trail of cookies behind. Probably don't want this |
+in the long term, it's here for experimentation purposes only at the |
+moment. |
+. |
+.It Cd icon_expire_timeout Vt ( time ) |
+The amount of time in the future to set the HTTP |
+.Li Expires: No field for static content. |
+.Sy Default : Li 7d . |
+(In contrast sessions URLs expire immediately: Browsers really |
+shouldn't be trying to cache this stuff, especially when it is coming |
+in over HTTPS). |
+.El |
+. |
+.Ss Session specific configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd session_idle_time Vt ( time ) |
+Session switches to idle mode after this much time: connections to |
+IMAP and accountd servers are shut down. |
+.Sy Default : Li 0 No (idle mode disabled). |
+. |
+.It Cd session_timeout Vt ( time ) |
+Session terminates after this much idle time. |
+.Ql 0 |
+means session never times out. |
+.Sy Default : Li 4h . |
+. |
+.It Cd session_timeout_compose Vt ( time ) |
+Session terminates after this much idle time instead when the last command was |
+.Ql compose |
+.No or Ql sieve . |
+It should probably not be set lower than |
+.Cd session_timeout . |
+.Sy Default : Li 0 No (always use the same timeout). |
+. |
+.It Cd stream_ping_interval Vt ( time ) |
+Ping INBOX, Other, and Draft streams at this interval. |
+.Sy Default : Li 5m . |
+. |
+.It Cd stream_checkpoint Vt ( boolean ) |
+.No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
+.Sy Default : Li true . |
+. |
+.It Cd stream_misc_timeout Vt ( time ) |
+Shut down Postponed, Preferences and Transfer streams entirely |
+after this much idle time, but only if idle mode doesn't beat us to it. |
+.Sy Default : Li 0 No (disabled). |
+. |
+.It Cd log_ping_interval Vt ( time ) |
+.Xr stat 2 log files at this interval to see if target file has been |
+renamed or removed. |
+.Ql 0s |
+means stat() log file every time something is logged. |
+.Sy Default : Li 5m . |
+. |
+.It Cd db_ping_interval Vt ( time ) |
+Interval at which to re-read CDB files containing the local domain. |
+.Sy Default : Li 30m . |
+.El |
+. |
+.Ss Display specific configuration |
+. |
+.Bl -tag -width Ds |
+.It Cd login_banner Vt ( string ) |
+Used in the |
+.Li <title> |
+and heading of the login page, unless |
+.Cd login_prefix_path |
+specifies a custom first HTML part. |
+.Sy Default : Li """Webmail Service Login""" . |
+. |
+.It Cd login_service_name Vt ( string ) |
+Used in the |
+.Li <title> No and elsewhere to refer to the webmail system |
+.Em after No the user has logged in. |
+.Sy Default : Li """Prayer""" . |
+. |
+.It Cd login_prefix_path Vt ( path ) |
+File to use as the part of the login page before the login |
+form. Should include everything including DOCTYPE and <html> tag. If |
+unset, Prayer constructs a fairly safe and boring login page |
+consisting of the |
+.Cd login_banner . |
+on the background colour of the default main theme. |
+. |
+.It Cd motd_path Vt ( path ) |
+File to use as the part of the login page immediately following the login form. |
+. |
+.It Cd login_suffix_path Vt ( path ) |
+File to use as the last part of the login page. If unset, Prayer simply outputs |
+.Dq Li </body></html> . |
+. |
+.It Cd ssl_encouraged ( Vt boolean ) |
+If the user connects over unencrypted HTTP, do not show the login form on the start |
+.Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
+.Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
+. |
+.It Cd ssl_redirect ( Vt boolean ) |
+If the user connects over unencrypted HTTP, return a |
+.Ql 302 |
+redirect to the default SSL port. Only the start |
+.Pa ( / ) No page is redirected and it may be possible to switch between http and |
+https after loggin in, subject to cookie rules. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd ssl_required ( Vt boolean ) |
+Return a |
+.Ql 403 Forbidden |
+error if the user tries to access anything over unencrypted HTTP. |
+.Cd ssl_redirect No still has effect, however. |
+. |
+.It Cd list_addr_maxlen Vt ( number ) |
+The maximum number of characters to show from addresses on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd list_subject_maxlen Vt ( number ) |
+The maximum number of characters to show from the subject on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd change_max_folders ( Vt number ) |
+The maximum number of folders allowed in the quick folder change |
+dropdown list. If there would be too many folders, the quick list is |
+disabled altogether. Only folders that are expanded in the folder view |
+are included. |
+.Pp |
+.Sy Default : Li 20 . |
+. |
+.It Cd template_path ( Vt path ) |
+Path to uncompiled template sets (directories). |
+.Sy Default : Li """../templates""" No (relative to |
+.Cd tmp_dir ) . |
+. |
+.It Cd template_set ( Vt string ) |
+Template set to use. |
+.Sy Default : Li """xhtml_strict""" . |
+. |
+.It Cd template_use_compiled ( Vt boolean ) |
+Use the compiled-in templates, ignoring |
+.Cd template_path . |
+.Sy Default : Li true . |
+.Pp |
+As a Debian extension, |
+.Xr prayer-session 8 |
+will fall back to the compiled-in template version of any template |
+that it cannot find in the template directory. This enables |
+customization of some templates without having to compile all of them |
+at run time, although attempting to open each template still incurs a |
+certain penalty. |
+. |
+.It Cd theme |
+Define themes and their colors. |
+.Em Semi-deprecated ; No Colours set with this directive are only used by the |
+.Li xhtml_transitional No template set. The |
+.Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
+It is still necessary to tell Prayer which themes are available, however. |
+.Pp |
+Syntax: |
+.Bd -literal -offset indent |
+.Cd theme Ar name Li description Ar description |
+.Cd theme Ar name element colour |
+.Cd theme Ar name element colour |
+\&... |
+.Ed |
+.Pp |
+.Ar description No is the label shown in the theme dropdown lists on the |
+General Preferences page. |
+.Pp |
+.Ar element No is one of |
+.Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
+.Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
+.Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
+The first three are not used by any standard template set, but are |
+available. Please study the templates to understand how the rest are |
+used. |
+.Pp |
+.Ar colour No is any valid HTML Vt %Color No value. |
+Remember that strings containing hash marks need to be quoted. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme. |
+. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme in help mode. |
+. |
+.It Cd use_ispell_language |
+Ispell languages that we want to support, with some descriptive text |
+for the preferences screen. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_ispell_language Ar wordlist Ar description |
+.Ed |
+.Pp |
+Example: |
+.Bd -literal -offset indent |
+.Li use_ispell_language british Qq British English |
+.Ed |
+.El |
+. |
+.Ss Paths etc. |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd aspell_path ( Vt path ) |
+Location of Aspell Binary (takes precedence over |
+.Cd ispell_path ) . |
+. |
+.It Cd bin_dir ( Vt path ) |
+Location of Prayer binaries |
+.Xr ( prayer 8 and |
+.Xr prayer-session 8 ) . |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd icon_dir ( Vt path ) |
+Location of icon files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ispell_path ( Vt path ) |
+Location of Ispell Binary (backwards compatibility only). |
+. |
+.It Cd log_dir ( Vt path ) |
+Location of log files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd pid_dir ( Vt path ) |
+Location for PID files of prayer and prayer-session master processes. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd sendmail_path ( Vt path ) |
+Location of sendmail binary or drop in replacement such as Exim. |
+.Sy Default : Pa /usr/lib/sendmail . |
+. |
+.It Cd socket_dir ( Vt path ) |
+Location for unix domain sockets which connect |
+.Xr ( prayer 8 to |
+.Xr prayer-session 8 ) . |
+. |
+.It Cd socket_split_dir ( Vt boolean ) |
+Split socket directory into 64 subdirs keyed on first letter of |
+sessionID. It is possible to switch back and forth without moving |
+sockets or killing sessions, since |
+.Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
+.Xr prayer-session 8 creates the socket files. |
+.Sy Default : Li false . |
+. |
+.It Cd init_socket_name ( Vt string ) |
+Name of Unix domain socket (in |
+.Cd socket_dir ) No used for initial handshake |
+between prayer and prayer-session processes when a user logs in. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ssl_session_dir ( Vt path ) |
+Location of the SSL session cache database. |
+.Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
+. |
+.It Cd static_dir ( Vt path ) |
+Location of other static files (CSS). |
+.Sy Default : No none. If unset, Prayer will not serve CSS files. |
+. |
+.It Cd tmp_dir ( Vt path ) |
+As the directory both daemons |
+.Xr chdir 2 |
+to at startup, it is where temporary files, such as attachments and |
+folders in transist during upload and download operations, are |
+written. Core files also end up here. |
+.Sy Default : No none. Sy Must be set. |
+.El |
+. |
+.Ss Defaults for user preferences |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd confirm_logout ( Vt boolean ) |
+Confirmation dialogue when user logs out. |
+.Sy Default : Li true . |
+. |
+.It Cd confirm_expunge ( Vt boolean ) |
+Confirmation dialogue when user hits expunge. |
+.Sy Default : Li false . |
+. |
+.It Cd confirm_rm ( Vt boolean ) |
+Confirmation dialogue when user deletes mail folder or directory. |
+.Sy Default : Li true . |
+. |
+.It Cd default_domain Vt ( string ) |
+Default domain for outgoing mail. Defaults to |
+.Cd hostname No setting. |
+. |
+.It Cd html_inline ( Vt boolean ) |
+Show text/html bodyparts inline. Content is scrubbed to remove |
+dangerous tags; see documentation for more details. |
+.Sy Default : Li true . |
+. |
+.It Cd html_inline_auto ( Vt boolean ) |
+Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
+Does anyone other than spammers actually use this? |
+.Sy Default : Li true . |
+. |
+.It Cd ispell_language ( Vt string ) |
+Language for ispell. |
+.Sy Default : Li """british""" . |
+. |
+.It Cd msgs_per_page ( Vt number ) |
+Number of messages per screen on message list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd msgs_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd msgs_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd abook_per_page ( Vt number ) |
+Number of addressbook entries per page on address book list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd abook_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd abook_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd maildir ( Vt string ) |
+Mail directory in user's account. |
+.Sy Default : Li """""" . |
+Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
+. |
+.It Cd suppress_dotfiles ( Vt boolean ) |
+Supress dotfiles from directory listing. |
+.Sy Default : Li true . |
+. |
+.It Cd postponed_folder ( Vt string ) |
+Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
+.Sy Default : Li """postponed-msgs""" . |
+. |
+.It Cd sent_mail_folder ( Vt string ) |
+Name of folder for sent mail. |
+.Sy Default : Li """sent-mail""" . |
+. |
+.It Cd small_cols ( Vt number ) |
+Width of small compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd small_rows ( Vt number ) |
+Height of small compose textarea in lines. |
+.Sy Default : Li 18 . |
+. |
+.It Cd large_cols ( Vt number ) |
+Width of large compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd large_rows ( Vt number ) |
+Height of large compose textarea in lines. |
+.Sy Default : Li 32 . |
+. |
+.It Cd sort_mode ( Vt string ) |
+Default Sort mode for mailbox list. One of |
+.Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
+.Sy Default : Li ARRIVAL No is most efficient, and recommended. |
+. |
+.It Cd sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd abook_sort_mode ( Vt string ) |
+Default Sort mode for addressbook list. One of: |
+.Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
+.Sy Default : Li ORDERED . |
+. |
+.It Cd abook_sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_len ( Vt number ) |
+Wrap lines at this many characters. |
+.Sy Default : Li 76 . |
+. |
+.It Cd line_wrap_advanced ( Vt boolean ) |
+Enable advanced line wrap options? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_on_reply ( Vt boolean ) |
+Line wrap automatically on reply. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_spell ( Vt boolean ) |
+Line wrap automatically on spell check. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_send ( Vt boolean ) |
+Line wrap automatically on send. |
+.Sy Default : Li true . |
+. |
+.It Cd preserve_mimetype ( Vt boolean ) |
+Send message Content-Type through to browser. If |
+.Li false , No Content-Type is replaced with |
+.Ql application/octet-stream |
+which should force download to local disk, bypassing any automatic |
+processing of bodyparts by the User-Agent. Unclear at the moment |
+whether we need to do this, or whether this should be done selectively |
+based on the User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_sent_mail ( Vt boolean ) |
+.No Make the Dq Save copy |
+checkbox on the compose screen checked default. |
+.Sy Default : Li true . |
+. |
+.It Cd use_mark_persist ( Vt boolean ) |
+Use persistent mark for aggregate operations. |
+.Sy Default : Li false . |
+. |
+.It Cd use_search_zoom ( Vt boolean ) |
+Zoom automatically after sucessful search |
+.Sy Default : Li true . |
+. |
+.It Cd use_agg_unmark ( Vt boolean ) |
+Unmark messages after sucessful aggregate operation. |
+.Sy Default : Li true . |
+. |
+.It Cd use_icons ( Vt boolean ) |
+Use icons: may be overriden by value of User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_welcome ( Vt boolean ) |
+Enable welcome screen . |
+.Sy Default : Li true . |
+. |
+.It Cd use_tail_banner ( Vt boolean ) |
+Duplicate banner icons (toolbar) at the bottom of the Message screen. |
+.Sy Default : Li true . |
+.El |
+. |
+.Ss Hidden preferences |
+. |
+The following options are internally handled as user preferences, but |
+the Preferences screen no longer provides any means for changing them. |
+. |
+.Bl -tag -width Ds |
+.It Cd use_cookie ( Vt boolean ) |
+Use HTTP cookie for Session-ID, if the browser supports cookies |
+If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
+.Sy Default : Li true . |
+. |
+.It Cd use_substitution ( Vt boolean ) |
+Use page substiution rather than HTTP redirects. Faster, but the URLs |
+that are generated are less predictable. Page substitution and browser |
+history mechanism don't coexist well at the moment (Prayer would need to |
+cache final page value for each substiution event). |
+.Pp |
+.Sy Default : Li true . |
+. |
+.It Cd use_http_1_1 ( Vt boolean ) |
+Allow HTTP/1.1, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_pipelining ( Vt boolean ) |
+Allow HTTP/1.1 pipelining, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_embed_http ( Vt boolean ) |
+Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_persist ( Vt boolean ) |
+Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
+if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_short ( Vt boolean ) |
+Allow short URLs, if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_gzip ( Vt boolean ) |
+Allow gzip compression, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer-session 8 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
Index: tags/1.2.2.1-6/debian/prayer-ssl-prune.8 |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer-ssl-prune.8 (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer-ssl-prune.8 (revision 180) |
@@ -0,0 +1,54 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SSL-PRUNE 8 |
+.Sh NAME |
+.Nm prayer-ssl-prune |
+.Nd purge stale SSL session data |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+should be run periodically (e.g. once a day) when using SSL session caching |
+.Cd ( ssl_session_timeout No > 0 in |
+.Pa prayer.cf ) . |
+It removes old transaction logs and stale session data. |
+It accepts the same configuration-overriding options as |
+.Xr prayer 8 and |
+.Xr prayer-session 8 . |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /var/run/prayer/ssl_scache/ |
+Default location of the SSL session cache database. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-6/debian/prayer.8 |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.8 (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.8 (revision 180) |
@@ -0,0 +1,93 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER 8 |
+.Sh NAME |
+.Nm prayer |
+.Nd standalone IMAP-based webmail server |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground | -disable-prefork |
+.Oo Fl -disable-session | - |
+.Ar session-options Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is the normal frontend daemon in the Prayer Webmail system. It is a |
+simple HTTP server and proxy that serves icons and other static files, |
+but firstly and foremostly forwards requests to the correct backend |
+daemons based on session IDs passed either in cookies or as part of |
+the URL. |
+.Pp |
+The master daemon normally preforks a number of child processes that |
+each will serve a configurable number of requests. The total number of |
+child processes is limited to prevent denial of service attacks. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.It Fl -disable-prefork |
+Disable preforking. The master daemon will listen for connections |
+on the configured ports and spawn child processes one at a time. |
+.It Fl -disable-session |
+Do not start the session server, |
+.Xr prayer-session 8 . |
+.It Fl - |
+End of |
+.Nm |
+options; remaining options will be passed to |
+.Xr prayer-session 8 . |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /usr/share/prayer/icons/ |
+Location of the standard icons used by the interface. |
+.It Pa /usr/share/prayer/static/ |
+Directory containing other static files; currently only CSS files. |
+.It Pa /var/run/prayer/sockets/ |
+Pre-configured location of sockets for frontend to backend communication. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer-session 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+.No using documentation written by An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-6/debian/Config |
=================================================================== |
--- tags/1.2.2.1-6/debian/Config (nonexistent) |
+++ tags/1.2.2.1-6/debian/Config (revision 180) |
@@ -0,0 +1,146 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.2.1-6/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-6/debian/README.Debian |
=================================================================== |
--- tags/1.2.2.1-6/debian/README.Debian (nonexistent) |
+++ tags/1.2.2.1-6/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.2.1-6/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,4 @@ |
+var/run/prayer |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.2.1-6/debian/prayer.examples |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.examples (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.2.1-6/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,56 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.2.1-6/debian/copyright |
=================================================================== |
--- tags/1.2.2.1-6/debian/copyright (nonexistent) |
+++ tags/1.2.2.1-6/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.2.1-6/debian/prayer.docs |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.docs (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.2.1-6/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,53 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.2.1-6/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-6/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-6/debian/compat |
=================================================================== |
--- tags/1.2.2.1-6/debian/compat (nonexistent) |
+++ tags/1.2.2.1-6/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.2.1-6/debian/prayer.default |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.default (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.2.1-6/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.2.1-6/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.2.1-6/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.2.1-6/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.2.1-6/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.2.1-6/debian/watch |
=================================================================== |
--- tags/1.2.2.1-6/debian/watch (nonexistent) |
+++ tags/1.2.2.1-6/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.2.1-6/debian |
=================================================================== |
--- tags/1.2.2.1-6/debian (nonexistent) |
+++ tags/1.2.2.1-6/debian (revision 180) |
/tags/1.2.2.1-6/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.2.1-5a/debian/changelog |
=================================================================== |
--- tags/1.2.2.1-5a/debian/changelog (nonexistent) |
+++ tags/1.2.2.1-5a/debian/changelog (revision 180) |
@@ -0,0 +1,178 @@ |
+prayer (1.2.2.1-5a) unstable; urgency=medium |
+ |
+ * Prevent dh_installman from interpreting the cf in prayer.cf.5 as a |
+ language code. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 19:24:10 +0200 |
+ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.2.1-5a/debian/rules |
=================================================================== |
--- tags/1.2.2.1-5a/debian/rules (nonexistent) |
+++ tags/1.2.2.1-5a/debian/rules (revision 180) |
@@ -0,0 +1,18 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+DEB_INSTALL_MANPAGES_prayer = "--language=C" |
/tags/1.2.2.1-5a/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.2.1-5a/debian/prayer-session.8 |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer-session.8 (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer-session.8 (revision 180) |
@@ -0,0 +1,94 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SESSION 8 |
+.Sh NAME |
+.Nm prayer-session |
+.Nd Prayer user session backend daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground |
+.Sh DESCRIPTION |
+.Nm |
+is the backend process in the Prayer Webmail system. A fresh |
+.Nm |
+backend is forked off whenever a user logs in. |
+.Pp |
+This process contains all of the permanent state associated with that login |
+session including one or more connections to a IMAP server and possibly |
+connections to accountd servers. prayer-session communicates with the user |
+using HTML over HTTP connections via the |
+.Xr prayer 8 proxy. Each login has a session ID that the front end processes |
+use to find the correct backend. |
+.Pp |
+Backend server processes move into a dormant state after a certain period |
+of inactivity, shutting down IMAP and accountd connections which can be |
+easily resuscitated when the session wakes up. After a long period of |
+inactivity, typically several hours the session process shuts down. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width Ds |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default |
+.Pa /etc/prayer/prayer.cf . |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name |
+to |
+.Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width Ds |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. The |
+.Fl -config-file |
+option takes precedence over this variable. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+.Sh FILES |
+.Bl -tag -width Ds |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It /usr/share/prayer/templates/ |
+Location of standard templates. The templates are compiled into |
+.Nm |
+for performance reasons, so the template files are actually not |
+used, but they are available for customization. |
+.It /etc/prayer/templates/ |
+The Debian pre-configured |
+.Cd template_path . |
+As a Debian extension, |
+.Nm |
+looks here before falling back to the compiled template if |
+.Cd template_use_compiled No is Li false . |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-5a/debian/prayer.manpages |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.manpages (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+debian/prayer.8 |
+debian/prayer-session.8 |
+debian/prayer.cf.5 |
+debian/prayer-ssl-prune.8 |
Index: tags/1.2.2.1-5a/debian/prayer.cf.5 |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.cf.5 (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.cf.5 (revision 180) |
@@ -0,0 +1,1015 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER.CF 5 |
+.Sh NAME |
+.Nm prayer.cf |
+.Nd main Prayer configuration file |
+. |
+.Sh DESCRIPTION |
+. |
+.Pa prayer.cf |
+is the configuration file of |
+.Xr prayer 8 |
+and |
+.Xr prayer-session 8 . |
+. |
+.Sh SYNTAX |
+For the most part, prayer.cf consists of |
+.Ar option No = Ar value |
+pairs, but some configuration items are more complex. All values may |
+be enclosed in double quotes, which are stripped. Quotes must be used |
+if a value contains a |
+.Ql # |
+character. Otherwise, everything following it is treated as a comment. |
+Any line can be folded using a |
+.Ql \(rs |
+character at the end of the line; any linear white space at the beginning |
+of the next line is removed. |
+.Pp |
+Simple options can be of the following types: |
+.Bl -tag |
+. |
+.It Vt string |
+No particular restrictions. |
+.It Vt path |
+A file or directory name. The configuration parser expands occurences of a few macros |
+in settings of this type. See |
+.Cd prefix |
+.No and Cd var_prefix |
+below. |
+.It Vt boolean |
+The following forms are interpreted as |
+.Sy true : |
+.Ql true , |
+.Ql t , |
+and |
+.Ql 1 . |
+The following forms are interpreted as |
+.Sy false : |
+.Ql false , |
+.Ql nil , |
+.Ql 0 . |
+Capitalisation does not matter. |
+. |
+.It Vt number |
+An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
+.Ql K , |
+causing the number to be multiplied by 1024, or |
+.Ql M |
+multiplying it by 1024 \(pc 1024. |
+. |
+.It Vt time |
+An integer number (sequence of digits 0-9) of seconds, optionally immediately |
+followed by a single case-insignificant letter |
+.Ql s , |
+which has no effect, |
+.Ql m , |
+causing the number to be multiplied by 60, |
+.Ql h , |
+multiplying it by 60 \(pc 60, or |
+.Ql d , |
+for a multiple of 24 \(pc 60 \(pc 60. |
+.It Vt perm |
+A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
+.El |
+. |
+.Sh OPTIONS |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
+The values of these options can be referred to as |
+.Li $prefix |
+(or |
+.Li ${prefix} ) , |
+and |
+.Li $var_prefix |
+(or |
+.Li ${var_prefix} ) , |
+respectively, in settings of type |
+.Vt path |
+in the rest of the file. |
+.Pp |
+.Sy Default : No none. Need to be set only if referenced later. |
+. |
+.It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
+User name or ID to |
+.Xr setuid 2 |
+to if started as root. Either, but not both, must be set and must not specify |
+.Li uid 0 . |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
+Group name or ID to |
+.Xr setgid 2 |
+to if we start off as root. In addition, prayer calls |
+.Xr initgroups 3 |
+if |
+.Cd prayer_user |
+is set. |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_background Vt ( boolean ) |
+Run prayer as background process. If true, prayer will return as soon |
+as valid configuration is found. |
+.Sy Default : Li true |
+. |
+.It Cd file_perms Vt ( perm ) |
+Create mode for new files. |
+.Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
+. |
+.It Cd directory_perms Vt ( perm ) |
+Create mode for new directories. |
+.Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
+. |
+.It Cd check_directory_perms Vt ( boolean ) |
+Check existing directories under |
+.Li ${var_prefix} ? |
+.El |
+. |
+.Ss Mail server settings |
+. |
+.Bl -tag -width Ds |
+.It Cd imapd_server Vt ( string ) |
+Specifies the default IMAP server(s) using libc-client syntax: |
+.Bd -literal -offset indent |
+.Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
+.Sm on |
+.Ed |
+.Pp |
+Multiple server specifications can be listed, separated by commas. Common flags are: |
+.Bl -tag -compact |
+.It Li /ssl |
+Use SSL-on-connect (on port 993 by default). |
+.It Li /tls |
+Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
+session. Recommended if the server is remote, since otherwise a |
+downgrade attack is possible. |
+.It Li /notls |
+Don't issue STARTTLS even if the server supports it. Recommended if |
+the server is |
+.Li localhost . |
+.It Li /novalidate-cert |
+Don't check the integrity of the server certificate. |
+.El |
+For the full list of flags, see naming.txt.gz in the current |
+libc-client package. |
+. |
+.It Cd imapd_user_map Vt ( path ) |
+CDB lookup map overriding default imapd_server location. For information on CDB, see |
+.Bl -bullet -compact |
+.It |
+http://cr.yp.to/cdb.html |
+.It |
+http://en.wikipedia.org/wiki/Constant_Data_Base |
+.El |
+. |
+.It Cd prefs_folder_name Vt ( string ) |
+Name of Prayer user preferences folder on IMAP server. |
+. |
+.It Cd use_namespace ( Vt boolean ) |
+Use IMAP NAMESPACE command to find |
+.Cd personal_hierarchy No and Cd hiersep . |
+.Sy Default : Li true . |
+. |
+.It Cd personal_hierarchy ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """""" . |
+. |
+.It Cd hiersep ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """/""" . |
+. |
+.It Cd dualuse ( Vt boolean ) |
+Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
+mail and inferior mailboxes). Things will mostly work if dualuse set to |
+.Li false No on a server which supports it, but people will be |
+unable to create children of newly created mailboxes without |
+refreshing the view. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd sieved_server Vt ( string ) |
+Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
+.Cd imapd_server , |
+except the only recognised flag is |
+.Li /ssl . |
+. |
+.It Cd sieved_user_map Vt ( path ) |
+Can be used to provide individualised imapd_server settings in the form of a CDB file. |
+. |
+.It Cd sieved_timeout Vt ( time ) |
+Default timsieved timeout is 10 minutes |
+.El |
+. |
+.Ss Mail domain configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd local_domain |
+Define a valid local domain, and optionally the valid local parts in that domain. |
+This is a special directive that can appear multiple times and does not use an equals sign: |
+.Bd -unfilled |
+.Cd local_domain Ar domain Op Ar map |
+.Ed |
+.Pp |
+.No Without Ar map , Cd local_domain |
+simply defines a domain which will appear on the list visible to user |
+preferences. With |
+.Ar map , |
+it also defines a list a CDB map file which defines valid entries in |
+that domain; used for personal name expansion and checking for valid |
+addresses: The keys are the valid local parts and the values are the |
+corresponding full names of the users. |
+.Pp |
+.Sy Default : No A single entry which corresponds to |
+.Cd default_domain . |
+. |
+.It Cd return_path_domain Vt ( string ) |
+Domain used in the return address given to |
+.Xr sendmail 8 . |
+.Sy Default : No the default domain. |
+. |
+.It Cd filter_domain_pattern Vt ( string ) |
+A filter pattern which is equivalent to, or at least approximates the |
+list of local domains. |
+.Sy Default : No the default domain. |
+. |
+.It Cd hostname Vt ( string ) |
+Hostname is the canonical name for this particular system, used in |
+session and icon URLs which are generated by Prayer. This is derived |
+automatically using |
+.Xr gethostname 2 |
+.No and Xr gethostbyname 3 |
+if no value is provided. However, there are situations, especially |
+involving SSL certificates, where the default hostname may not be |
+appropriate. The special value |
+.Ql __UNDEFINED__ |
+here means the startup script or command line must provide a hostname |
+using a |
+.Fl -config-option |
+override or via the environment variable |
+.Ev PRAYER_HOSTNAME . |
+This is just a safeguard for systems which use DNS round robining to |
+distribute load across a number of machines. |
+. |
+.It Cd hostname_service Vt ( string ) |
+Host name common for all Prayer installations part of the same webmail |
+service. (Only) useful for large installations using DNS round robin |
+for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
+webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
+The user is redirected to this hostname after logging out, and HTTP |
+requests are sanity checked against it in addition to the canonical |
+hostname. |
+.Pp |
+.Sy Default : No none |
+. |
+.It Cd fix_from_address ( Vt boolean ) |
+suppresses the From address option from the Preferences and Roles |
+screens. |
+.Sy Default : Li false . |
+. |
+.It Cd lookup_rpasswd ( Vt path ) |
+Path to a CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Sy Note : No Keys must be Em lowercase ; |
+Prayer converts search strings to lowercase in order to provide |
+case-insensitive lookup. |
+. |
+.It Cd lookup_rusername ( Vt path ) |
+Path to a second CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Pp |
+If the user enters a valid and existing username according to |
+.Xr getpwnam 3 , Prayer does not search these first two CDB files, |
+but skips directly to the second stage of looking up user information. |
+. |
+.It Cd lookup_username ( Vt path ) |
+Path to a CDB file that maps usernames to records consisting of the user's |
+.Dq registered name |
+and his/her affiliation (department), separated by a vertical bar |
+.Ql ( "|" ) . |
+Additionally, if a second vertical bar follows, the account is |
+regarded as cancelled. |
+.Pp |
+When presenting the search results, the usernames found are combined with the |
+.Cd default_domain |
+to form email addresses. It is not possible at this time to let users |
+search for addresses in more than one domain using this facility. |
+. |
+.It Cd lookup_fullname ( Vt path ) |
+Path to a CDB file that maps usernames to |
+.Dq display names , |
+possibly provided by the users themselves in some way. The display name |
+of a user is used together with the email address in recipient fields |
+.Pp |
+Note that all four lookup options must be set to valid CDB files for |
+the local lookup to work, but more than one option may conceivably |
+point to the same file. |
+. |
+.It Cd ldap_server ( Vt string ) |
+Name or address of LDAP server. |
+. |
+.It Cd ldap_base_dn ( Vt string ) |
+Base DN to search. After binding anonymously, Prayer performs a |
+one-level-scope search for entries with |
+.Li surname No or Li mail No attributes containing the search string. |
+The following attributes are fetched and presented: |
+.Bl -bullet -compact |
+.It |
+.Li uid |
+.It |
+.Li displayName |
+.It |
+.Li cn Dq ( registered name ) |
+.It |
+.Li ou Dq ( affiliation ) |
+.It |
+.Li mail |
+.It |
+.Li telephoneNumber |
+.El |
+. |
+.It Cd ldap_timeout ( Vt time ) |
+Search timeout. |
+.Sy Default : Li 30s . |
+.El |
+. |
+.Ss HTTP and other frontend settings |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd use_http_port , use_https_port |
+Define a single HTTP[S] port to bind to. You can define an arbitary list |
+of ports of both kinds by using a series of separate |
+.Cd use_http_port No and Cd use_https_port |
+directives, with one port on each line. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_http_port Oo Ar interface : Oc Ns Ar port |
+.Cd use_https_port Oo Ar interface : Oc Ns Ar port |
+.Ed |
+.Pp |
+.Ar interface |
+can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
+.Xr getaddrinfo 3 |
+for resolution, and the first resulting address is used to bind to. Otherwise, |
+.Xr prayer 8 |
+.No binds to Ar port No on all interfaces. |
+. |
+.It Cd ssl_default_port Vt ( number ) |
+Prayer will put a warning on the login page for HTTP connections if |
+both HTTP and HTTPS sessions are available. This will provide a link |
+to the SSL version of the service, defaulting to port 443 or failing |
+that the first defined HTTPS port. ssl_default_port overrides the |
+built in logic. |
+.Pp |
+Should be rarely required now that Prayer automatically derives an |
+appropriate port if none is provided here. |
+. |
+.It Cd ssl_cert_file Vt ( path ) |
+Locatation of SSL certificate file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_privatekey_file Vt ( path ) |
+Location of SSL private key file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_rsakey_lifespan Vt ( time ) |
+Master server will regenerate shared RSA key at this interval. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_rsakey_freshen Vt ( time ) |
+RSA key remains fresh in child process for this long after first actual use. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_session_timeout Vt ( time ) |
+SSL session cache TTL. |
+.Sy Default : Li 0 No (SSL session cache not used). |
+.Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
+data from the DBD database. |
+. |
+.It Cd egd_socket Vt ( path ) |
+Path to entropy gathering daemon socket. If provided, it will be used in place of |
+or in addition to |
+.Pa /dev/urandom |
+. |
+.It Cd contact_email Vt ( string ) |
+System administrator email address. |
+.Sy This setting is currently not used. |
+If you want to display support information to your users, customise the templates. |
+. |
+.It Cd fatal_dump_core Vt ( boolean ) |
+Dump core on |
+.Fn fatal |
+error. |
+.Sy Default : No false. |
+. |
+.It Cd log_debug Vt ( boolean ) |
+Enable somewhat more verbose logging, mainly in relation to SSL. |
+.Sy Default : No false. |
+. |
+.It Cd fix_client_ipaddr Vt ( boolean ) |
+Client must connect from consistent IP addresses. May be useful as |
+a security measure in LAN environments. Painful for dialup users |
+whose connections may drop out. |
+.Sy Default : No false. |
+. |
+.It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
+.Xr prayer-session 8 |
+gzip-compresses pages sent to clients if: |
+.Bl -enum -compact |
+.It |
+gzip compression enabled at compile time, |
+.It |
+.Cd use_gzip No is set in user preferences, |
+.It |
+User agent is known to support Content-Encoding: gzip, |
+.It |
+User agent asks for Content-Encoding: gzip or x-gzip, |
+.It |
+IP address of client appears in |
+.Cd gzip_allow_nets |
+.Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
+.El |
+.Pp |
+The format of these options is a sequence of |
+.Ar ipaddr Ns Op / Ns Ar masklen |
+items, separated by colons |
+.Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
+.Ar masklen No is omitted, the item is interpreted as a full host address. |
+. |
+.It Cd log_name_nets Vt ( string ) |
+A network list in the same format as |
+.Cd gzip_allow_nets |
+above. To avoid delay when a user logs in, |
+.Xr prayer-session 8 |
+only performs a reverse lookup of the remote address if matches this list. |
+.Sy Default : No empty; no reverse lookup are performed. |
+. |
+.It Cd limit_vm Vt ( number ) |
+Virtual memory limit imposed on each process to stop runaway process killing system. See |
+.Xr setrlimit 2 . |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_method_size Vt ( number ) |
+Prayer should in theory be able to cope with input of arbitrary |
+size. In practice however, the incoming request has to be stored |
+somewhere and without limits an attacker may exhaust available memory, |
+causing a denial of service attack. |
+.Pp |
+This sets the maximum size of the initial line of an HTTP request. |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_hdr_size Vt ( number ) |
+Maximum for headers associated with this request. |
+. |
+.It Cd http_max_body_size Vt ( number ) |
+Maximum for HTTP payload. This is the most significant one in normal use. |
+. |
+.It Cd draft_att_single_max ( Vt number ) |
+Maximum size of a single attachment when composing a mail. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd draft_att_total_max ( Vt number ) |
+Maximum size of all attachments. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd http_min_servers Vt ( number ) |
+Minimum number of preforked |
+.Xr prayer 8 HTTP servers. The master process forks new slave processes |
+whenever the number of idle slaves falls below this number, unless the |
+total number of slaves would exceed |
+.Cd http_max_servers . |
+.Sy Default : Li 4. |
+. |
+.It Cd http_max_servers Vt ( number ) |
+Maximum number of preforked |
+.Xr prayer 8 HTTP servers (active and idle). The master process does not, |
+however, enforce any maximum number of |
+.Em idle No slave processes; they have to terminate voluntarily by timing out |
+or serving the maximum number of connections. |
+.Sy Default : Li 64 . |
+. |
+.It Cd http_max_connections Vt ( number ) |
+Maximum number of connections that each frontend server will process. |
+.Sy Default : Li 0 No (no limit). |
+. |
+.It Cd http_timeout_idle Vt ( time ) |
+Timeout for (dirty) spare server waiting for another HTTP connection. |
+.Sy Default : Li 30s . |
+. |
+.It Cd http_timeout_icons Vt ( time ) |
+Timeout for HTTP connection that last served static content. |
+.Sy Default : Li 10s . |
+. |
+.It Cd http_timeout_session Vt ( time ) |
+Timeout for HTTP connection that last served a session URL or has not served anything yet. |
+.Sy Default : Li 60s . |
+. |
+.It Cd http_cookie_use_port Vt ( boolean ) |
+Present HTTP cookies to browser as |
+.Dq Li username:port=value |
+rather than |
+.Dq Li username=value . |
+Allows simultaneous login sessions from a single client browser. |
+However can leave a trail of cookies behind. Probably don't want this |
+in the long term, it's here for experimentation purposes only at the |
+moment. |
+. |
+.It Cd icon_expire_timeout Vt ( time ) |
+The amount of time in the future to set the HTTP |
+.Li Expires: No field for static content. |
+.Sy Default : Li 7d . |
+(In contrast sessions URLs expire immediately: Browsers really |
+shouldn't be trying to cache this stuff, especially when it is coming |
+in over HTTPS). |
+.El |
+. |
+.Ss Session specific configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd session_idle_time Vt ( time ) |
+Session switches to idle mode after this much time: connections to |
+IMAP and accountd servers are shut down. |
+.Sy Default : Li 0 No (idle mode disabled). |
+. |
+.It Cd session_timeout Vt ( time ) |
+Session terminates after this much idle time. |
+.Ql 0 |
+means session never times out. |
+.Sy Default : Li 4h . |
+. |
+.It Cd session_timeout_compose Vt ( time ) |
+Session terminates after this much idle time instead when the last command was |
+.Ql compose |
+.No or Ql sieve . |
+It should probably not be set lower than |
+.Cd session_timeout . |
+.Sy Default : Li 0 No (always use the same timeout). |
+. |
+.It Cd stream_ping_interval Vt ( time ) |
+Ping INBOX, Other, and Draft streams at this interval. |
+.Sy Default : Li 5m . |
+. |
+.It Cd stream_checkpoint Vt ( boolean ) |
+.No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
+.Sy Default : Li true . |
+. |
+.It Cd stream_misc_timeout Vt ( time ) |
+Shut down Postponed, Preferences and Transfer streams entirely |
+after this much idle time, but only if idle mode doesn't beat us to it. |
+.Sy Default : Li 0 No (disabled). |
+. |
+.It Cd log_ping_interval Vt ( time ) |
+.Xr stat 2 log files at this interval to see if target file has been |
+renamed or removed. |
+.Ql 0s |
+means stat() log file every time something is logged. |
+.Sy Default : Li 5m . |
+. |
+.It Cd db_ping_interval Vt ( time ) |
+Interval at which to re-read CDB files containing the local domain. |
+.Sy Default : Li 30m . |
+.El |
+. |
+.Ss Display specific configuration |
+. |
+.Bl -tag -width Ds |
+.It Cd login_banner Vt ( string ) |
+Used in the |
+.Li <title> |
+and heading of the login page, unless |
+.Cd login_prefix_path |
+specifies a custom first HTML part. |
+.Sy Default : Li """Webmail Service Login""" . |
+. |
+.It Cd login_service_name Vt ( string ) |
+Used in the |
+.Li <title> No and elsewhere to refer to the webmail system |
+.Em after No the user has logged in. |
+.Sy Default : Li """Prayer""" . |
+. |
+.It Cd login_prefix_path Vt ( path ) |
+File to use as the part of the login page before the login |
+form. Should include everything including DOCTYPE and <html> tag. If |
+unset, Prayer constructs a fairly safe and boring login page |
+consisting of the |
+.Cd login_banner . |
+on the background colour of the default main theme. |
+. |
+.It Cd motd_path Vt ( path ) |
+File to use as the part of the login page immediately following the login form. |
+. |
+.It Cd login_suffix_path Vt ( path ) |
+File to use as the last part of the login page. If unset, Prayer simply outputs |
+.Dq Li </body></html> . |
+. |
+.It Cd ssl_encouraged ( Vt boolean ) |
+If the user connects over unencrypted HTTP, do not show the login form on the start |
+.Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
+.Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
+. |
+.It Cd ssl_redirect ( Vt boolean ) |
+If the user connects over unencrypted HTTP, return a |
+.Ql 302 |
+redirect to the default SSL port. Only the start |
+.Pa ( / ) No page is redirected and it may be possible to switch between http and |
+https after loggin in, subject to cookie rules. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd ssl_required ( Vt boolean ) |
+Return a |
+.Ql 403 Forbidden |
+error if the user tries to access anything over unencrypted HTTP. |
+.Cd ssl_redirect No still has effect, however. |
+. |
+.It Cd list_addr_maxlen Vt ( number ) |
+The maximum number of characters to show from addresses on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd list_subject_maxlen Vt ( number ) |
+The maximum number of characters to show from the subject on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd change_max_folders ( Vt number ) |
+The maximum number of folders allowed in the quick folder change |
+dropdown list. If there would be too many folders, the quick list is |
+disabled altogether. Only folders that are expanded in the folder view |
+are included. |
+.Pp |
+.Sy Default : Li 20 . |
+. |
+.It Cd template_path ( Vt path ) |
+Path to uncompiled template sets (directories). |
+.Sy Default : Li """../templates""" No (relative to |
+.Cd tmp_dir ) . |
+. |
+.It Cd template_set ( Vt string ) |
+Template set to use. |
+.Sy Default : Li """xhtml_strict""" . |
+. |
+.It Cd template_use_compiled ( Vt boolean ) |
+Use the compiled-in templates, ignoring |
+.Cd template_path . |
+.Sy Default : Li true . |
+.Pp |
+As a Debian extension, |
+.Xr prayer-session 8 |
+will fall back to the compiled-in template version of any template |
+that it cannot find in the template directory. This enables |
+customization of some templates without having to compile all of them |
+at run time, although attempting to open each template still incurs a |
+certain penalty. |
+. |
+.It Cd theme |
+Define themes and their colors. |
+.Em Semi-deprecated ; No Colours set with this directive are only used by the |
+.Li xhtml_transitional No template set. The |
+.Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
+It is still necessary to tell Prayer which themes are available, however. |
+.Pp |
+Syntax: |
+.Bd -literal -offset indent |
+.Cd theme Ar name Li description Ar description |
+.Cd theme Ar name element colour |
+.Cd theme Ar name element colour |
+\&... |
+.Ed |
+.Pp |
+.Ar description No is the label shown in the theme dropdown lists on the |
+General Preferences page. |
+.Pp |
+.Ar element No is one of |
+.Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
+.Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
+.Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
+The first three are not used by any standard template set, but are |
+available. Please study the templates to understand how the rest are |
+used. |
+.Pp |
+.Ar colour No is any valid HTML Vt %Color No value. |
+Remember that strings containing hash marks need to be quoted. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme. |
+. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme in help mode. |
+. |
+.It Cd use_ispell_language |
+Ispell languages that we want to support, with some descriptive text |
+for the preferences screen. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_ispell_language Ar wordlist Ar description |
+.Ed |
+.Pp |
+Example: |
+.Bd -literal -offset indent |
+.Li use_ispell_language british Qq British English |
+.Ed |
+.El |
+. |
+.Ss Paths etc. |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd aspell_path ( Vt path ) |
+Location of Aspell Binary (takes precedence over |
+.Cd ispell_path ) . |
+. |
+.It Cd bin_dir ( Vt path ) |
+Location of Prayer binaries |
+.Xr ( prayer 8 and |
+.Xr prayer-session 8 ) . |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd icon_dir ( Vt path ) |
+Location of icon files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ispell_path ( Vt path ) |
+Location of Ispell Binary (backwards compatibility only). |
+. |
+.It Cd log_dir ( Vt path ) |
+Location of log files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd pid_dir ( Vt path ) |
+Location for PID files of prayer and prayer-session master processes. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd sendmail_path ( Vt path ) |
+Location of sendmail binary or drop in replacement such as Exim. |
+.Sy Default : Pa /usr/lib/sendmail . |
+. |
+.It Cd socket_dir ( Vt path ) |
+Location for unix domain sockets which connect |
+.Xr ( prayer 8 to |
+.Xr prayer-session 8 ) . |
+. |
+.It Cd socket_split_dir ( Vt boolean ) |
+Split socket directory into 64 subdirs keyed on first letter of |
+sessionID. It is possible to switch back and forth without moving |
+sockets or killing sessions, since |
+.Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
+.Xr prayer-session 8 creates the socket files. |
+.Sy Default : Li false . |
+. |
+.It Cd init_socket_name ( Vt string ) |
+Name of Unix domain socket (in |
+.Cd socket_dir ) No used for initial handshake |
+between prayer and prayer-session processes when a user logs in. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ssl_session_dir ( Vt path ) |
+Location of the SSL session cache database. |
+.Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
+. |
+.It Cd static_dir ( Vt path ) |
+Location of other static files (CSS). |
+.Sy Default : No none. If unset, Prayer will not serve CSS files. |
+. |
+.It Cd tmp_dir ( Vt path ) |
+As the directory both daemons |
+.Xr chdir 2 |
+to at startup, it is where temporary files, such as attachments and |
+folders in transist during upload and download operations, are |
+written. Core files also end up here. |
+.Sy Default : No none. Sy Must be set. |
+.El |
+. |
+.Ss Defaults for user preferences |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd confirm_logout ( Vt boolean ) |
+Confirmation dialogue when user logs out. |
+.Sy Default : Li true . |
+. |
+.It Cd confirm_expunge ( Vt boolean ) |
+Confirmation dialogue when user hits expunge. |
+.Sy Default : Li false . |
+. |
+.It Cd confirm_rm ( Vt boolean ) |
+Confirmation dialogue when user deletes mail folder or directory. |
+.Sy Default : Li true . |
+. |
+.It Cd default_domain Vt ( string ) |
+Default domain for outgoing mail. Defaults to |
+.Cd hostname No setting. |
+. |
+.It Cd html_inline ( Vt boolean ) |
+Show text/html bodyparts inline. Content is scrubbed to remove |
+dangerous tags; see documentation for more details. |
+.Sy Default : Li true . |
+. |
+.It Cd html_inline_auto ( Vt boolean ) |
+Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
+Does anyone other than spammers actually use this? |
+.Sy Default : Li true . |
+. |
+.It Cd ispell_language ( Vt string ) |
+Language for ispell. |
+.Sy Default : Li """british""" . |
+. |
+.It Cd msgs_per_page ( Vt number ) |
+Number of messages per screen on message list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd msgs_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd msgs_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd abook_per_page ( Vt number ) |
+Number of addressbook entries per page on address book list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd abook_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd abook_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd maildir ( Vt string ) |
+Mail directory in user's account. |
+.Sy Default : Li """""" . |
+Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
+. |
+.It Cd suppress_dotfiles ( Vt boolean ) |
+Supress dotfiles from directory listing. |
+.Sy Default : Li true . |
+. |
+.It Cd postponed_folder ( Vt string ) |
+Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
+.Sy Default : Li """postponed-msgs""" . |
+. |
+.It Cd sent_mail_folder ( Vt string ) |
+Name of folder for sent mail. |
+.Sy Default : Li """sent-mail""" . |
+. |
+.It Cd small_cols ( Vt number ) |
+Width of small compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd small_rows ( Vt number ) |
+Height of small compose textarea in lines. |
+.Sy Default : Li 18 . |
+. |
+.It Cd large_cols ( Vt number ) |
+Width of large compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd large_rows ( Vt number ) |
+Height of large compose textarea in lines. |
+.Sy Default : Li 32 . |
+. |
+.It Cd sort_mode ( Vt string ) |
+Default Sort mode for mailbox list. One of |
+.Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
+.Sy Default : Li ARRIVAL No is most efficient, and recommended. |
+. |
+.It Cd sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd abook_sort_mode ( Vt string ) |
+Default Sort mode for addressbook list. One of: |
+.Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
+.Sy Default : Li ORDERED . |
+. |
+.It Cd abook_sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_len ( Vt number ) |
+Wrap lines at this many characters. |
+.Sy Default : Li 76 . |
+. |
+.It Cd line_wrap_advanced ( Vt boolean ) |
+Enable advanced line wrap options? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_on_reply ( Vt boolean ) |
+Line wrap automatically on reply. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_spell ( Vt boolean ) |
+Line wrap automatically on spell check. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_send ( Vt boolean ) |
+Line wrap automatically on send. |
+.Sy Default : Li true . |
+. |
+.It Cd preserve_mimetype ( Vt boolean ) |
+Send message Content-Type through to browser. If |
+.Li false , No Content-Type is replaced with |
+.Ql application/octet-stream |
+which should force download to local disk, bypassing any automatic |
+processing of bodyparts by the User-Agent. Unclear at the moment |
+whether we need to do this, or whether this should be done selectively |
+based on the User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_sent_mail ( Vt boolean ) |
+.No Make the Dq Save copy |
+checkbox on the compose screen checked default. |
+.Sy Default : Li true . |
+. |
+.It Cd use_mark_persist ( Vt boolean ) |
+Use persistent mark for aggregate operations. |
+.Sy Default : Li false . |
+. |
+.It Cd use_search_zoom ( Vt boolean ) |
+Zoom automatically after sucessful search |
+.Sy Default : Li true . |
+. |
+.It Cd use_agg_unmark ( Vt boolean ) |
+Unmark messages after sucessful aggregate operation. |
+.Sy Default : Li true . |
+. |
+.It Cd use_icons ( Vt boolean ) |
+Use icons: may be overriden by value of User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_welcome ( Vt boolean ) |
+Enable welcome screen . |
+.Sy Default : Li true . |
+. |
+.It Cd use_tail_banner ( Vt boolean ) |
+Duplicate banner icons (toolbar) at the bottom of the Message screen. |
+.Sy Default : Li true . |
+.El |
+. |
+.Ss Hidden preferences |
+. |
+The following options are internally handled as user preferences, but |
+the Preferences screen no longer provides any means for changing them. |
+. |
+.Bl -tag -width Ds |
+.It Cd use_cookie ( Vt boolean ) |
+Use HTTP cookie for Session-ID, if the browser supports cookies |
+If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
+.Sy Default : Li true . |
+. |
+.It Cd use_substitution ( Vt boolean ) |
+Use page substiution rather than HTTP redirects. Faster, but the URLs |
+that are generated are less predictable. Page substitution and browser |
+history mechanism don't coexist well at the moment (Prayer would need to |
+cache final page value for each substiution event). |
+.Pp |
+.Sy Default : Li true . |
+. |
+.It Cd use_http_1_1 ( Vt boolean ) |
+Allow HTTP/1.1, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_pipelining ( Vt boolean ) |
+Allow HTTP/1.1 pipelining, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_embed_http ( Vt boolean ) |
+Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_persist ( Vt boolean ) |
+Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
+if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_short ( Vt boolean ) |
+Allow short URLs, if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_gzip ( Vt boolean ) |
+Allow gzip compression, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer-session 8 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
Index: tags/1.2.2.1-5a/debian/prayer-ssl-prune.8 |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer-ssl-prune.8 (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer-ssl-prune.8 (revision 180) |
@@ -0,0 +1,54 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SSL-PRUNE 8 |
+.Sh NAME |
+.Nm prayer-ssl-prune |
+.Nd purge stale SSL session data |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+should be run periodically (e.g. once a day) when using SSL session caching |
+.Cd ( ssl_session_timeout No > 0 in |
+.Pa prayer.cf ) . |
+It removes old transaction logs and stale session data. |
+It accepts the same configuration-overriding options as |
+.Xr prayer 8 and |
+.Xr prayer-session 8 . |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /var/run/prayer/ssl_scache/ |
+Default location of the SSL session cache database. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-5a/debian/prayer.8 |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.8 (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.8 (revision 180) |
@@ -0,0 +1,93 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER 8 |
+.Sh NAME |
+.Nm prayer |
+.Nd standalone IMAP-based webmail server |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground | -disable-prefork |
+.Oo Fl -disable-session | - |
+.Ar session-options Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is the normal frontend daemon in the Prayer Webmail system. It is a |
+simple HTTP server and proxy that serves icons and other static files, |
+but firstly and foremostly forwards requests to the correct backend |
+daemons based on session IDs passed either in cookies or as part of |
+the URL. |
+.Pp |
+The master daemon normally preforks a number of child processes that |
+each will serve a configurable number of requests. The total number of |
+child processes is limited to prevent denial of service attacks. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.It Fl -disable-prefork |
+Disable preforking. The master daemon will listen for connections |
+on the configured ports and spawn child processes one at a time. |
+.It Fl -disable-session |
+Do not start the session server, |
+.Xr prayer-session 8 . |
+.It Fl - |
+End of |
+.Nm |
+options; remaining options will be passed to |
+.Xr prayer-session 8 . |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /usr/share/prayer/icons/ |
+Location of the standard icons used by the interface. |
+.It Pa /usr/share/prayer/static/ |
+Directory containing other static files; currently only CSS files. |
+.It Pa /var/run/prayer/sockets/ |
+Pre-configured location of sockets for frontend to backend communication. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer-session 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+.No using documentation written by An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-5a/debian/Config |
=================================================================== |
--- tags/1.2.2.1-5a/debian/Config (nonexistent) |
+++ tags/1.2.2.1-5a/debian/Config (revision 180) |
@@ -0,0 +1,146 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.2.1-5a/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-5a/debian/prayer.init |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.init (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.init (revision 180) |
@@ -0,0 +1,90 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-5a/debian/patches/unlimit_login_username.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/unlimit_login_username.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/unlimit_login_username.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/servers/prayer_login.c |
++++ b/servers/prayer_login.c |
+@@ -116,7 +116,7 @@ prayer_login_generate(struct prayer *pra |
+ |
+ bputs(b, " <td>"); |
+ bprintf(b, |
+- "<input name=\"username\" value=\"%s\" size=\"8\" maxlength=\"8\" />", |
++ "<input name=\"username\" value=\"%s\" size=\"16\" />", |
+ user ? user : ""); |
+ bputs(b, "</td>" CRLF); |
+ bputs(b, "</tr>" CRLF); |
Index: tags/1.2.2.1-5a/debian/patches/series |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/series (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/series (revision 180) |
@@ -0,0 +1,7 @@ |
+repair_ssl_session_db_on_version_mismatch.patch |
+makefile_install_config.patch |
+remove_old_db_logfiles_from_prayer-ssl-prune.patch |
+welcome_is_template.patch |
+templates_fallback_to_compiled.patch |
+template_find_bug.patch |
+unlimit_login_username.patch |
Index: tags/1.2.2.1-5a/debian/patches/welcome_is_template.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/welcome_is_template.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/welcome_is_template.patch (revision 180) |
@@ -0,0 +1,41 @@ |
+--- a/cmd/cmd_welcome.c |
++++ b/cmd/cmd_welcome.c |
+@@ -74,12 +74,7 @@ void cmd_welcome(struct session *session |
+ unsigned long msgno; |
+ |
+ if ((request->method != POST) && (prefs->use_welcome)) { |
+- if (config->welcome_path && |
+- (string = read_welcome(request->pool, config->welcome_path))) |
+- generate_welcome_page(session, string); |
+- else |
+- session_redirect(session, request, "list"); |
+- |
++ generate_welcome_page(session, NULL); |
+ return; |
+ } |
+ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -402,12 +402,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Welcome text displayed when user first logs in |
+-welcome_path = "$prefix/etc/welcome.html" |
+- |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2139,7 +2139,6 @@ BOOL config_check(struct config * config |
+ struct config_http_port *chp; |
+ char hostname[MAX_ADDRESS+1], domainname[MAX_ADDRESS+1]; |
+ |
+- TEST_STRING(config->help_dir, "help_dir"); |
+ TEST_STRING(config->icon_dir, "icon_dir"); |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
Index: tags/1.2.2.1-5a/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,184 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,21 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -271,11 +271,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -283,26 +283,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -387,13 +375,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -431,10 +419,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++log_dir = "/var/log/prayer" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -442,7 +427,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -453,10 +438,10 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -617,14 +602,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2144,7 +2144,6 @@ BOOL config_check(struct config * config |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: tags/1.2.2.1-5a/debian/patches/template_find_bug.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/template_find_bug.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/template_find_bug.patch (revision 180) |
@@ -0,0 +1,28 @@ |
+--- a/lib/template.c |
++++ b/lib/template.c |
+@@ -199,10 +199,11 @@ template_find(char *set, char *name, str |
+ unsigned long first, last, middle; |
+ int rc; |
+ |
+- while (strcmp(tmi->name, set) != 0) |
++ while (strcmp(tmi->name, set) != 0) { |
+ tmi++; |
+- if (!tmi->name) |
+- return(NIL); |
++ if (!tmi->name) |
++ return(NIL); |
++ } |
+ |
+ tm = tmi->template_map; |
+ count = *(tmi->count); |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -168,7 +168,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "html4"; |
++ config->template_set = "xhtml_strict"; |
+ config->template_use_compiled = T; |
+ |
+ config->prayer_user = NIL; |
Index: tags/1.2.2.1-5a/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (revision 180) |
@@ -0,0 +1,34 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -289,9 +289,6 @@ static int myarchive(const char **fnames |
+ const char **fname; |
+ char dstname[1024], *dp; |
+ |
+- strcpy(dstname, dirname); |
+- dp = dstname + strlen(dstname); |
+- |
+ /* Get the list of log files to remove. */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS, NULL); |
+ if (r) { |
+@@ -312,6 +309,11 @@ static int myarchive(const char **fnames |
+ free (begin); |
+ } |
+ |
++ if (!dirname) return 0; |
++ |
++ strcpy(dstname, dirname); |
++ dp = dstname + strlen(dstname); |
++ |
+ /* Get the list of database files to archive. */ |
+ /* XXX Should we do this, or just use the list given to us? */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS | DB_ARCH_DATA, NULL); |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -837,6 +837,7 @@ int ssl_prune_sessions(struct ssl_config |
+ log_debug("tls_prune: purged %d out of %d entries", |
+ prock.deletions, prock.count); |
+ |
++ DB->archive(NULL, NULL); |
+ DB->done(); |
+ |
+ return (0); |
Index: tags/1.2.2.1-5a/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.2.1-5a/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT |
++#ifdef DB_VERSION_MISMATCH |
++ && r != DB_VERSION_MISMATCH |
++#endif |
++ ) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: tags/1.2.2.1-5a/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.2.1-5a/debian/control |
=================================================================== |
--- tags/1.2.2.1-5a/debian/control (nonexistent) |
+++ tags/1.2.2.1-5a/debian/control (revision 180) |
@@ -0,0 +1,54 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.2.1-5a/debian/prayer.install |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.install (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.install (revision 180) |
@@ -0,0 +1,5 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
Index: tags/1.2.2.1-5a/debian/README.Debian |
=================================================================== |
--- tags/1.2.2.1-5a/debian/README.Debian (nonexistent) |
+++ tags/1.2.2.1-5a/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.2.1-5a/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,4 @@ |
+var/run/prayer |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.2.1-5a/debian/prayer.examples |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.examples (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.2.1-5a/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,56 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.2.1-5a/debian/copyright |
=================================================================== |
--- tags/1.2.2.1-5a/debian/copyright (nonexistent) |
+++ tags/1.2.2.1-5a/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.2.1-5a/debian/prayer.docs |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.docs (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.2.1-5a/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,53 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.2.1-5a/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-5a/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-5a/debian/compat |
=================================================================== |
--- tags/1.2.2.1-5a/debian/compat (nonexistent) |
+++ tags/1.2.2.1-5a/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.2.1-5a/debian/prayer.default |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.default (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.2.1-5a/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.2.1-5a/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.2.1-5a/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.2.1-5a/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.2.1-5a/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.2.1-5a/debian/watch |
=================================================================== |
--- tags/1.2.2.1-5a/debian/watch (nonexistent) |
+++ tags/1.2.2.1-5a/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.2.1-5a/debian |
=================================================================== |
--- tags/1.2.2.1-5a/debian (nonexistent) |
+++ tags/1.2.2.1-5a/debian (revision 180) |
/tags/1.2.2.1-5a/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.2.1-4/debian/changelog |
=================================================================== |
--- tags/1.2.2.1-4/debian/changelog (nonexistent) |
+++ tags/1.2.2.1-4/debian/changelog (revision 180) |
@@ -0,0 +1,171 @@ |
+prayer (1.2.2.1-4) unstable; urgency=medium |
+ |
+ * Urgency medium since fixing fairly serious bug(s). |
+ * debian/Config: Fix handling of CFLAGS, CPPFLAGS and LDFLAGS from the |
+ environment or command line, breaking a circular definition of |
+ LDFLAGS (FTBFS on Ubuntu; LP: #256220). |
+ * unlimit_login_username.patch (new): |
+ - servers/prayer_login.c: Remove 8 character username limit from login |
+ form (Closes: #494517). |
+ * prayer.init, prayer-accountd.init: Sleep 1 second between stop and |
+ start in restart. |
+ * Add manpages prayer(8), prayer-session(8), prayer.cf(5), and |
+ prayer-ssl-prune(8) (groff-mdoc format). Remove half-done Docbook |
+ versions from source package. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 17 Aug 2008 17:38:00 +0200 |
+ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.2.1-4/debian/prayer-session.8 |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer-session.8 (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer-session.8 (revision 180) |
@@ -0,0 +1,94 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SESSION 8 |
+.Sh NAME |
+.Nm prayer-session |
+.Nd Prayer user session backend daemon |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground |
+.Sh DESCRIPTION |
+.Nm |
+is the backend process in the Prayer Webmail system. A fresh |
+.Nm |
+backend is forked off whenever a user logs in. |
+.Pp |
+This process contains all of the permanent state associated with that login |
+session including one or more connections to a IMAP server and possibly |
+connections to accountd servers. prayer-session communicates with the user |
+using HTML over HTTP connections via the |
+.Xr prayer 8 proxy. Each login has a session ID that the front end processes |
+use to find the correct backend. |
+.Pp |
+Backend server processes move into a dormant state after a certain period |
+of inactivity, shutting down IMAP and accountd connections which can be |
+easily resuscitated when the session wakes up. After a long period of |
+inactivity, typically several hours the session process shuts down. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width Ds |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default |
+.Pa /etc/prayer/prayer.cf . |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name |
+to |
+.Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width Ds |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. The |
+.Fl -config-file |
+option takes precedence over this variable. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+.Sh FILES |
+.Bl -tag -width Ds |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It /usr/share/prayer/templates/ |
+Location of standard templates. The templates are compiled into |
+.Nm |
+for performance reasons, so the template files are actually not |
+used, but they are available for customization. |
+.It /etc/prayer/templates/ |
+The Debian pre-configured |
+.Cd template_path . |
+As a Debian extension, |
+.Nm |
+looks here before falling back to the compiled template if |
+.Cd template_use_compiled No is Li false . |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-4/debian/prayer.manpages |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.manpages (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.manpages (revision 180) |
@@ -0,0 +1,4 @@ |
+debian/prayer.8 |
+debian/prayer-session.8 |
+debian/prayer.cf.5 |
+debian/prayer-ssl-prune.8 |
Index: tags/1.2.2.1-4/debian/prayer.cf.5 |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.cf.5 (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.cf.5 (revision 180) |
@@ -0,0 +1,1015 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER.CF 5 |
+.Sh NAME |
+.Nm prayer.cf |
+.Nd main Prayer configuration file |
+. |
+.Sh DESCRIPTION |
+. |
+.Pa prayer.cf |
+is the configuration file of |
+.Xr prayer 8 |
+and |
+.Xr prayer-session 8 . |
+. |
+.Sh SYNTAX |
+For the most part, prayer.cf consists of |
+.Ar option No = Ar value |
+pairs, but some configuration items are more complex. All values may |
+be enclosed in double quotes, which are stripped. Quotes must be used |
+if a value contains a |
+.Ql # |
+character. Otherwise, everything following it is treated as a comment. |
+Any line can be folded using a |
+.Ql \(rs |
+character at the end of the line; any linear white space at the beginning |
+of the next line is removed. |
+.Pp |
+Simple options can be of the following types: |
+.Bl -tag |
+. |
+.It Vt string |
+No particular restrictions. |
+.It Vt path |
+A file or directory name. The configuration parser expands occurences of a few macros |
+in settings of this type. See |
+.Cd prefix |
+.No and Cd var_prefix |
+below. |
+.It Vt boolean |
+The following forms are interpreted as |
+.Sy true : |
+.Ql true , |
+.Ql t , |
+and |
+.Ql 1 . |
+The following forms are interpreted as |
+.Sy false : |
+.Ql false , |
+.Ql nil , |
+.Ql 0 . |
+Capitalisation does not matter. |
+. |
+.It Vt number |
+An integer number (sequence of digits 0-9), optionally immediately followed by a single letter |
+.Ql K , |
+causing the number to be multiplied by 1024, or |
+.Ql M |
+multiplying it by 1024 \(pc 1024. |
+. |
+.It Vt time |
+An integer number (sequence of digits 0-9) of seconds, optionally immediately |
+followed by a single case-insignificant letter |
+.Ql s , |
+which has no effect, |
+.Ql m , |
+causing the number to be multiplied by 60, |
+.Ql h , |
+multiplying it by 60 \(pc 60, or |
+.Ql d , |
+for a multiple of 24 \(pc 60 \(pc 60. |
+.It Vt perm |
+A file permission mode; an octal number of exactly four digits, where the first digit must be 0. |
+.El |
+. |
+.Sh OPTIONS |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd prefix Vt ( string ) , Cd var_prefix Vt ( string ) |
+The values of these options can be referred to as |
+.Li $prefix |
+(or |
+.Li ${prefix} ) , |
+and |
+.Li $var_prefix |
+(or |
+.Li ${var_prefix} ) , |
+respectively, in settings of type |
+.Vt path |
+in the rest of the file. |
+.Pp |
+.Sy Default : No none. Need to be set only if referenced later. |
+. |
+.It Cd prayer_user Vt ( string ) , Cd prayer_uid Vt ( number ) |
+User name or ID to |
+.Xr setuid 2 |
+to if started as root. Either, but not both, must be set and must not specify |
+.Li uid 0 . |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_group Vt ( string ) , Cd prayer_gid Vt ( number ) |
+Group name or ID to |
+.Xr setgid 2 |
+to if we start off as root. In addition, prayer calls |
+.Xr initgroups 3 |
+if |
+.Cd prayer_user |
+is set. |
+.Sy Default : |
+none. |
+. |
+.It Cd prayer_background Vt ( boolean ) |
+Run prayer as background process. If true, prayer will return as soon |
+as valid configuration is found. |
+.Sy Default : Li true |
+. |
+.It Cd file_perms Vt ( perm ) |
+Create mode for new files. |
+.Sy Default : Li 0640 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0644 . |
+. |
+.It Cd directory_perms Vt ( perm ) |
+Create mode for new directories. |
+.Sy Default : Li 0750 No if Cd prayer_uid No or Cd prayer_user No is set, otherwise Li 0755 . |
+. |
+.It Cd check_directory_perms Vt ( boolean ) |
+Check existing directories under |
+.Li ${var_prefix} ? |
+.El |
+. |
+.Ss Mail server settings |
+. |
+.Bl -tag -width Ds |
+.It Cd imapd_server Vt ( string ) |
+Specifies the default IMAP server(s) using libc-client syntax: |
+.Bd -literal -offset indent |
+.Sm Ar host Oo : Ar port Oc Op / Ar flag Oo / Ar flag Oc Ar ... |
+.Sm on |
+.Ed |
+.Pp |
+Multiple server specifications can be listed, separated by commas. Common flags are: |
+.Bl -tag -compact |
+.It Li /ssl |
+Use SSL-on-connect (on port 993 by default). |
+.It Li /tls |
+Force use of TLS (using STARTTLS on the normal IMAP port) to encrypt the |
+session. Recommended if the server is remote, since otherwise a |
+downgrade attack is possible. |
+.It Li /notls |
+Don't issue STARTTLS even if the server supports it. Recommended if |
+the server is |
+.Li localhost . |
+.It Li /novalidate-cert |
+Don't check the integrity of the server certificate. |
+.El |
+For the full list of flags, see naming.txt.gz in the current |
+libc-client package. |
+. |
+.It Cd imapd_user_map Vt ( path ) |
+CDB lookup map overriding default imapd_server location. For information on CDB, see |
+.Bl -bullet -compact |
+.It |
+http://cr.yp.to/cdb.html |
+.It |
+http://en.wikipedia.org/wiki/Constant_Data_Base |
+.El |
+. |
+.It Cd prefs_folder_name Vt ( string ) |
+Name of Prayer user preferences folder on IMAP server. |
+. |
+.It Cd use_namespace ( Vt boolean ) |
+Use IMAP NAMESPACE command to find |
+.Cd personal_hierarchy No and Cd hiersep . |
+.Sy Default : Li true . |
+. |
+.It Cd personal_hierarchy ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """""" . |
+. |
+.It Cd hiersep ( Vt string ) |
+If not supplied by NAMESPACE. |
+.Sy Default : Li """/""" . |
+. |
+.It Cd dualuse ( Vt boolean ) |
+Hint to Prayer that new mailboxes are dual use (i.e. can contain both |
+mail and inferior mailboxes). Things will mostly work if dualuse set to |
+.Li false No on a server which supports it, but people will be |
+unable to create children of newly created mailboxes without |
+refreshing the view. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd sieved_server Vt ( string ) |
+Talk to Cyrus timsieved using MANAGESIEVE protocol. Syntax is similar to |
+.Cd imapd_server , |
+except the only recognised flag is |
+.Li /ssl . |
+. |
+.It Cd sieved_user_map Vt ( path ) |
+Can be used to provide individualised imapd_server settings in the form of a CDB file. |
+. |
+.It Cd sieved_timeout Vt ( time ) |
+Default timsieved timeout is 10 minutes |
+.El |
+. |
+.Ss Mail domain configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd local_domain |
+Define a valid local domain, and optionally the valid local parts in that domain. |
+This is a special directive that can appear multiple times and does not use an equals sign: |
+.Bd -unfilled |
+.Cd local_domain Ar domain Op Ar map |
+.Ed |
+.Pp |
+.No Without Ar map , Cd local_domain |
+simply defines a domain which will appear on the list visible to user |
+preferences. With |
+.Ar map , |
+it also defines a list a CDB map file which defines valid entries in |
+that domain; used for personal name expansion and checking for valid |
+addresses: The keys are the valid local parts and the values are the |
+corresponding full names of the users. |
+.Pp |
+.Sy Default : No A single entry which corresponds to |
+.Cd default_domain . |
+. |
+.It Cd return_path_domain Vt ( string ) |
+Domain used in the return address given to |
+.Xr sendmail 8 . |
+.Sy Default : No the default domain. |
+. |
+.It Cd filter_domain_pattern Vt ( string ) |
+A filter pattern which is equivalent to, or at least approximates the |
+list of local domains. |
+.Sy Default : No the default domain. |
+. |
+.It Cd hostname Vt ( string ) |
+Hostname is the canonical name for this particular system, used in |
+session and icon URLs which are generated by Prayer. This is derived |
+automatically using |
+.Xr gethostname 2 |
+.No and Xr gethostbyname 3 |
+if no value is provided. However, there are situations, especially |
+involving SSL certificates, where the default hostname may not be |
+appropriate. The special value |
+.Ql __UNDEFINED__ |
+here means the startup script or command line must provide a hostname |
+using a |
+.Fl -config-option |
+override or via the environment variable |
+.Ev PRAYER_HOSTNAME . |
+This is just a safeguard for systems which use DNS round robining to |
+distribute load across a number of machines. |
+. |
+.It Cd hostname_service Vt ( string ) |
+Host name common for all Prayer installations part of the same webmail |
+service. (Only) useful for large installations using DNS round robin |
+for load balancing (example: webmail.hermes.cam.ac.uk is an alias for |
+webmail[123].hermes.cam.ac.uk). This setting is used for two things: |
+The user is redirected to this hostname after logging out, and HTTP |
+requests are sanity checked against it in addition to the canonical |
+hostname. |
+.Pp |
+.Sy Default : No none |
+. |
+.It Cd fix_from_address ( Vt boolean ) |
+suppresses the From address option from the Preferences and Roles |
+screens. |
+.Sy Default : Li false . |
+. |
+.It Cd lookup_rpasswd ( Vt path ) |
+Path to a CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Sy Note : No Keys must be Em lowercase ; |
+Prayer converts search strings to lowercase in order to provide |
+case-insensitive lookup. |
+. |
+.It Cd lookup_rusername ( Vt path ) |
+Path to a second CDB file that maps arbitrary search keys to colon- or |
+comma-separated lists of user names. |
+.Pp |
+If the user enters a valid and existing username according to |
+.Xr getpwnam 3 , Prayer does not search these first two CDB files, |
+but skips directly to the second stage of looking up user information. |
+. |
+.It Cd lookup_username ( Vt path ) |
+Path to a CDB file that maps usernames to records consisting of the user's |
+.Dq registered name |
+and his/her affiliation (department), separated by a vertical bar |
+.Ql ( "|" ) . |
+Additionally, if a second vertical bar follows, the account is |
+regarded as cancelled. |
+.Pp |
+When presenting the search results, the usernames found are combined with the |
+.Cd default_domain |
+to form email addresses. It is not possible at this time to let users |
+search for addresses in more than one domain using this facility. |
+. |
+.It Cd lookup_fullname ( Vt path ) |
+Path to a CDB file that maps usernames to |
+.Dq display names , |
+possibly provided by the users themselves in some way. The display name |
+of a user is used together with the email address in recipient fields |
+.Pp |
+Note that all four lookup options must be set to valid CDB files for |
+the local lookup to work, but more than one option may conceivably |
+point to the same file. |
+. |
+.It Cd ldap_server ( Vt string ) |
+Name or address of LDAP server. |
+. |
+.It Cd ldap_base_dn ( Vt string ) |
+Base DN to search. After binding anonymously, Prayer performs a |
+one-level-scope search for entries with |
+.Li surname No or Li mail No attributes containing the search string. |
+The following attributes are fetched and presented: |
+.Bl -bullet -compact |
+.It |
+.Li uid |
+.It |
+.Li displayName |
+.It |
+.Li cn Dq ( registered name ) |
+.It |
+.Li ou Dq ( affiliation ) |
+.It |
+.Li mail |
+.It |
+.Li telephoneNumber |
+.El |
+. |
+.It Cd ldap_timeout ( Vt time ) |
+Search timeout. |
+.Sy Default : Li 30s . |
+.El |
+. |
+.Ss HTTP and other frontend settings |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd use_http_port , use_https_port |
+Define a single HTTP[S] port to bind to. You can define an arbitary list |
+of ports of both kinds by using a series of separate |
+.Cd use_http_port No and Cd use_https_port |
+directives, with one port on each line. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_http_port Oo Ar interface : Oc Ns Ar port |
+.Cd use_https_port Oo Ar interface : Oc Ns Ar port |
+.Ed |
+.Pp |
+.Ar interface |
+can be an IP (v4 or v6) address or a hostname. If provided, it is passed to |
+.Xr getaddrinfo 3 |
+for resolution, and the first resulting address is used to bind to. Otherwise, |
+.Xr prayer 8 |
+.No binds to Ar port No on all interfaces. |
+. |
+.It Cd ssl_default_port Vt ( number ) |
+Prayer will put a warning on the login page for HTTP connections if |
+both HTTP and HTTPS sessions are available. This will provide a link |
+to the SSL version of the service, defaulting to port 443 or failing |
+that the first defined HTTPS port. ssl_default_port overrides the |
+built in logic. |
+.Pp |
+Should be rarely required now that Prayer automatically derives an |
+appropriate port if none is provided here. |
+. |
+.It Cd ssl_cert_file Vt ( path ) |
+Locatation of SSL certificate file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_privatekey_file Vt ( path ) |
+Location of SSL private key file (only used if SSL ports defined). |
+Required if we are going to provide SSL services. |
+. |
+.It Cd ssl_rsakey_lifespan Vt ( time ) |
+Master server will regenerate shared RSA key at this interval. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_rsakey_freshen Vt ( time ) |
+RSA key remains fresh in child process for this long after first actual use. |
+.Sy Default : Li 15m . |
+. |
+.It Cd ssl_session_timeout Vt ( time ) |
+SSL session cache TTL. |
+.Sy Default : Li 0 No (SSL session cache not used). |
+.Xr prayer-ssl-prune 8 should be run periodically to purge any stale session |
+data from the DBD database. |
+. |
+.It Cd egd_socket Vt ( path ) |
+Path to entropy gathering daemon socket. If provided, it will be used in place of |
+or in addition to |
+.Pa /dev/urandom |
+. |
+.It Cd contact_email Vt ( string ) |
+System administrator email address. |
+.Sy This setting is currently not used. |
+If you want to display support information to your users, customise the templates. |
+. |
+.It Cd fatal_dump_core Vt ( boolean ) |
+Dump core on |
+.Fn fatal |
+error. |
+.Sy Default : No false. |
+. |
+.It Cd log_debug Vt ( boolean ) |
+Enable somewhat more verbose logging, mainly in relation to SSL. |
+.Sy Default : No false. |
+. |
+.It Cd fix_client_ipaddr Vt ( boolean ) |
+Client must connect from consistent IP addresses. May be useful as |
+a security measure in LAN environments. Painful for dialup users |
+whose connections may drop out. |
+.Sy Default : No false. |
+. |
+.It Cd gzip_allow_nets Vt ( string ) , Cd gzip_deny_nets Vt ( string ) |
+.Xr prayer-session 8 |
+gzip-compresses pages sent to clients if: |
+.Bl -enum -compact |
+.It |
+gzip compression enabled at compile time, |
+.It |
+.Cd use_gzip No is set in user preferences, |
+.It |
+User agent is known to support Content-Encoding: gzip, |
+.It |
+User agent asks for Content-Encoding: gzip or x-gzip, |
+.It |
+IP address of client appears in |
+.Cd gzip_allow_nets |
+.Em or No IP address of client does Em not No appear in Cd gzip_deny_nets . |
+.El |
+.Pp |
+The format of these options is a sequence of |
+.Ar ipaddr Ns Op / Ns Ar masklen |
+items, separated by colons |
+.Em and No whitespace (to allow for IPv6 addresses to be parsed easily). If |
+.Ar masklen No is omitted, the item is interpreted as a full host address. |
+. |
+.It Cd log_name_nets Vt ( string ) |
+A network list in the same format as |
+.Cd gzip_allow_nets |
+above. To avoid delay when a user logs in, |
+.Xr prayer-session 8 |
+only performs a reverse lookup of the remote address if matches this list. |
+.Sy Default : No empty; no reverse lookup are performed. |
+. |
+.It Cd limit_vm Vt ( number ) |
+Virtual memory limit imposed on each process to stop runaway process killing system. See |
+.Xr setrlimit 2 . |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_method_size Vt ( number ) |
+Prayer should in theory be able to cope with input of arbitrary |
+size. In practice however, the incoming request has to be stored |
+somewhere and without limits an attacker may exhaust available memory, |
+causing a denial of service attack. |
+.Pp |
+This sets the maximum size of the initial line of an HTTP request. |
+.Sy Default : No no limit. |
+. |
+.It Cd http_max_hdr_size Vt ( number ) |
+Maximum for headers associated with this request. |
+. |
+.It Cd http_max_body_size Vt ( number ) |
+Maximum for HTTP payload. This is the most significant one in normal use. |
+. |
+.It Cd draft_att_single_max ( Vt number ) |
+Maximum size of a single attachment when composing a mail. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd draft_att_total_max ( Vt number ) |
+Maximum size of all attachments. |
+.Sy Default : Li 0 No (unlimited). |
+. |
+.It Cd http_min_servers Vt ( number ) |
+Minimum number of preforked |
+.Xr prayer 8 HTTP servers. The master process forks new slave processes |
+whenever the number of idle slaves falls below this number, unless the |
+total number of slaves would exceed |
+.Cd http_max_servers . |
+.Sy Default : Li 4. |
+. |
+.It Cd http_max_servers Vt ( number ) |
+Maximum number of preforked |
+.Xr prayer 8 HTTP servers (active and idle). The master process does not, |
+however, enforce any maximum number of |
+.Em idle No slave processes; they have to terminate voluntarily by timing out |
+or serving the maximum number of connections. |
+.Sy Default : Li 64 . |
+. |
+.It Cd http_max_connections Vt ( number ) |
+Maximum number of connections that each frontend server will process. |
+.Sy Default : Li 0 No (no limit). |
+. |
+.It Cd http_timeout_idle Vt ( time ) |
+Timeout for (dirty) spare server waiting for another HTTP connection. |
+.Sy Default : Li 30s . |
+. |
+.It Cd http_timeout_icons Vt ( time ) |
+Timeout for HTTP connection that last served static content. |
+.Sy Default : Li 10s . |
+. |
+.It Cd http_timeout_session Vt ( time ) |
+Timeout for HTTP connection that last served a session URL or has not served anything yet. |
+.Sy Default : Li 60s . |
+. |
+.It Cd http_cookie_use_port Vt ( boolean ) |
+Present HTTP cookies to browser as |
+.Dq Li username:port=value |
+rather than |
+.Dq Li username=value . |
+Allows simultaneous login sessions from a single client browser. |
+However can leave a trail of cookies behind. Probably don't want this |
+in the long term, it's here for experimentation purposes only at the |
+moment. |
+. |
+.It Cd icon_expire_timeout Vt ( time ) |
+The amount of time in the future to set the HTTP |
+.Li Expires: No field for static content. |
+.Sy Default : Li 7d . |
+(In contrast sessions URLs expire immediately: Browsers really |
+shouldn't be trying to cache this stuff, especially when it is coming |
+in over HTTPS). |
+.El |
+. |
+.Ss Session specific configuration |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd session_idle_time Vt ( time ) |
+Session switches to idle mode after this much time: connections to |
+IMAP and accountd servers are shut down. |
+.Sy Default : Li 0 No (idle mode disabled). |
+. |
+.It Cd session_timeout Vt ( time ) |
+Session terminates after this much idle time. |
+.Ql 0 |
+means session never times out. |
+.Sy Default : Li 4h . |
+. |
+.It Cd session_timeout_compose Vt ( time ) |
+Session terminates after this much idle time instead when the last command was |
+.Ql compose |
+.No or Ql sieve . |
+It should probably not be set lower than |
+.Cd session_timeout . |
+.Sy Default : Li 0 No (always use the same timeout). |
+. |
+.It Cd stream_ping_interval Vt ( time ) |
+Ping INBOX, Other, and Draft streams at this interval. |
+.Sy Default : Li 5m . |
+. |
+.It Cd stream_checkpoint Vt ( boolean ) |
+.No Use Li CHECKPOINT No instead of Li PING Li to \(lqping\(rq streams. |
+.Sy Default : Li true . |
+. |
+.It Cd stream_misc_timeout Vt ( time ) |
+Shut down Postponed, Preferences and Transfer streams entirely |
+after this much idle time, but only if idle mode doesn't beat us to it. |
+.Sy Default : Li 0 No (disabled). |
+. |
+.It Cd log_ping_interval Vt ( time ) |
+.Xr stat 2 log files at this interval to see if target file has been |
+renamed or removed. |
+.Ql 0s |
+means stat() log file every time something is logged. |
+.Sy Default : Li 5m . |
+. |
+.It Cd db_ping_interval Vt ( time ) |
+Interval at which to re-read CDB files containing the local domain. |
+.Sy Default : Li 30m . |
+.El |
+. |
+.Ss Display specific configuration |
+. |
+.Bl -tag -width Ds |
+.It Cd login_banner Vt ( string ) |
+Used in the |
+.Li <title> |
+and heading of the login page, unless |
+.Cd login_prefix_path |
+specifies a custom first HTML part. |
+.Sy Default : Li """Webmail Service Login""" . |
+. |
+.It Cd login_service_name Vt ( string ) |
+Used in the |
+.Li <title> No and elsewhere to refer to the webmail system |
+.Em after No the user has logged in. |
+.Sy Default : Li """Prayer""" . |
+. |
+.It Cd login_prefix_path Vt ( path ) |
+File to use as the part of the login page before the login |
+form. Should include everything including DOCTYPE and <html> tag. If |
+unset, Prayer constructs a fairly safe and boring login page |
+consisting of the |
+.Cd login_banner . |
+on the background colour of the default main theme. |
+. |
+.It Cd motd_path Vt ( path ) |
+File to use as the part of the login page immediately following the login form. |
+. |
+.It Cd login_suffix_path Vt ( path ) |
+File to use as the last part of the login page. If unset, Prayer simply outputs |
+.Dq Li </body></html> . |
+. |
+.It Cd ssl_encouraged ( Vt boolean ) |
+If the user connects over unencrypted HTTP, do not show the login form on the start |
+.Pa ( / ) No page. A link to Pa /login , No where the form is still displayed, is still provided. |
+.Sy Default : Li false . No Ignored if Cd ssl_redirect No or Cd ssl_required No is Li true . |
+. |
+.It Cd ssl_redirect ( Vt boolean ) |
+If the user connects over unencrypted HTTP, return a |
+.Ql 302 |
+redirect to the default SSL port. Only the start |
+.Pa ( / ) No page is redirected and it may be possible to switch between http and |
+https after loggin in, subject to cookie rules. |
+.Pp |
+.Sy Default : Li false . |
+. |
+.It Cd ssl_required ( Vt boolean ) |
+Return a |
+.Ql 403 Forbidden |
+error if the user tries to access anything over unencrypted HTTP. |
+.Cd ssl_redirect No still has effect, however. |
+. |
+.It Cd list_addr_maxlen Vt ( number ) |
+The maximum number of characters to show from addresses on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd list_subject_maxlen Vt ( number ) |
+The maximum number of characters to show from the subject on the mailbox list screen. |
+.Sy Default : Li 30 . |
+. |
+.It Cd change_max_folders ( Vt number ) |
+The maximum number of folders allowed in the quick folder change |
+dropdown list. If there would be too many folders, the quick list is |
+disabled altogether. Only folders that are expanded in the folder view |
+are included. |
+.Pp |
+.Sy Default : Li 20 . |
+. |
+.It Cd template_path ( Vt path ) |
+Path to uncompiled template sets (directories). |
+.Sy Default : Li """../templates""" No (relative to |
+.Cd tmp_dir ) . |
+. |
+.It Cd template_set ( Vt string ) |
+Template set to use. |
+.Sy Default : Li """xhtml_strict""" . |
+. |
+.It Cd template_use_compiled ( Vt boolean ) |
+Use the compiled-in templates, ignoring |
+.Cd template_path . |
+.Sy Default : Li true . |
+.Pp |
+As a Debian extension, |
+.Xr prayer-session 8 |
+will fall back to the compiled-in template version of any template |
+that it cannot find in the template directory. This enables |
+customization of some templates without having to compile all of them |
+at run time, although attempting to open each template still incurs a |
+certain penalty. |
+. |
+.It Cd theme |
+Define themes and their colors. |
+.Em Semi-deprecated ; No Colours set with this directive are only used by the |
+.Li xhtml_transitional No template set. The |
+.Li xhtml_strict No template set, as well as the login screen, use CSS instead. |
+It is still necessary to tell Prayer which themes are available, however. |
+.Pp |
+Syntax: |
+.Bd -literal -offset indent |
+.Cd theme Ar name Li description Ar description |
+.Cd theme Ar name element colour |
+.Cd theme Ar name element colour |
+\&... |
+.Ed |
+.Pp |
+.Ar description No is the label shown in the theme dropdown lists on the |
+General Preferences page. |
+.Pp |
+.Ar element No is one of |
+.Li fgcolor , fgcolor_link , bgcolor , bgcolor_banner , bgcolor_row1 , bgcolor_row2 , |
+.Li bgcolor_status , bgcolor_status_none , fgcolor_quote1 , fgcolor_quote2 , |
+.Li fgcolor_quote3 , No and Li fgcolor_quote4 . |
+The first three are not used by any standard template set, but are |
+available. Please study the templates to understand how the rest are |
+used. |
+.Pp |
+.Ar colour No is any valid HTML Vt %Color No value. |
+Remember that strings containing hash marks need to be quoted. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme. |
+. |
+.It Cd theme_default_main ( Vt string ) |
+.No The Ar name No of the default theme in help mode. |
+. |
+.It Cd use_ispell_language |
+Ispell languages that we want to support, with some descriptive text |
+for the preferences screen. Syntax: |
+.Bd -literal -offset indent |
+.Cd use_ispell_language Ar wordlist Ar description |
+.Ed |
+.Pp |
+Example: |
+.Bd -literal -offset indent |
+.Li use_ispell_language british Qq British English |
+.Ed |
+.El |
+. |
+.Ss Paths etc. |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd aspell_path ( Vt path ) |
+Location of Aspell Binary (takes precedence over |
+.Cd ispell_path ) . |
+. |
+.It Cd bin_dir ( Vt path ) |
+Location of Prayer binaries |
+.Xr ( prayer 8 and |
+.Xr prayer-session 8 ) . |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd icon_dir ( Vt path ) |
+Location of icon files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ispell_path ( Vt path ) |
+Location of Ispell Binary (backwards compatibility only). |
+. |
+.It Cd log_dir ( Vt path ) |
+Location of log files. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd pid_dir ( Vt path ) |
+Location for PID files of prayer and prayer-session master processes. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd sendmail_path ( Vt path ) |
+Location of sendmail binary or drop in replacement such as Exim. |
+.Sy Default : Pa /usr/lib/sendmail . |
+. |
+.It Cd socket_dir ( Vt path ) |
+Location for unix domain sockets which connect |
+.Xr ( prayer 8 to |
+.Xr prayer-session 8 ) . |
+. |
+.It Cd socket_split_dir ( Vt boolean ) |
+Split socket directory into 64 subdirs keyed on first letter of |
+sessionID. It is possible to switch back and forth without moving |
+sockets or killing sessions, since |
+.Xr prayer 8 tries both variants. \&In effect, this setting merely controls where |
+.Xr prayer-session 8 creates the socket files. |
+.Sy Default : Li false . |
+. |
+.It Cd init_socket_name ( Vt string ) |
+Name of Unix domain socket (in |
+.Cd socket_dir ) No used for initial handshake |
+between prayer and prayer-session processes when a user logs in. |
+.Sy Default : No none. Sy Must be set. |
+. |
+.It Cd ssl_session_dir ( Vt path ) |
+Location of the SSL session cache database. |
+.Sy Default : No none. Sy Must be set , No even if the SSL session cache is disabled. |
+. |
+.It Cd static_dir ( Vt path ) |
+Location of other static files (CSS). |
+.Sy Default : No none. If unset, Prayer will not serve CSS files. |
+. |
+.It Cd tmp_dir ( Vt path ) |
+As the directory both daemons |
+.Xr chdir 2 |
+to at startup, it is where temporary files, such as attachments and |
+folders in transist during upload and download operations, are |
+written. Core files also end up here. |
+.Sy Default : No none. Sy Must be set. |
+.El |
+. |
+.Ss Defaults for user preferences |
+. |
+.Bl -tag -width Ds |
+. |
+.It Cd confirm_logout ( Vt boolean ) |
+Confirmation dialogue when user logs out. |
+.Sy Default : Li true . |
+. |
+.It Cd confirm_expunge ( Vt boolean ) |
+Confirmation dialogue when user hits expunge. |
+.Sy Default : Li false . |
+. |
+.It Cd confirm_rm ( Vt boolean ) |
+Confirmation dialogue when user deletes mail folder or directory. |
+.Sy Default : Li true . |
+. |
+.It Cd default_domain Vt ( string ) |
+Default domain for outgoing mail. Defaults to |
+.Cd hostname No setting. |
+. |
+.It Cd html_inline ( Vt boolean ) |
+Show text/html bodyparts inline. Content is scrubbed to remove |
+dangerous tags; see documentation for more details. |
+.Sy Default : Li true . |
+. |
+.It Cd html_inline_auto ( Vt boolean ) |
+Same as above for text/* bodyparts which start "<HTML>" (case-independent!) |
+Does anyone other than spammers actually use this? |
+.Sy Default : Li true . |
+. |
+.It Cd ispell_language ( Vt string ) |
+Language for ispell. |
+.Sy Default : Li """british""" . |
+. |
+.It Cd msgs_per_page ( Vt number ) |
+Number of messages per screen on message list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd msgs_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd msgs_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd msgs_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd abook_per_page ( Vt number ) |
+Number of addressbook entries per page on address book list screen. |
+.Sy Default : Li 12 . |
+. |
+.It Cd abook_per_page_max ( Vt number ) |
+Maximum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 50 . |
+. |
+.It Cd abook_per_page_min ( Vt number ) |
+Minimum value that users are allowed to set |
+.Cd abook_per_page No to. |
+.Sy Default : Li 4 . |
+. |
+.It Cd maildir ( Vt string ) |
+Mail directory in user's account. |
+.Sy Default : Li """""" . |
+Typically needed with uw-imap. Typically not needed with e.g. Dovecot or Courier. |
+. |
+.It Cd suppress_dotfiles ( Vt boolean ) |
+Supress dotfiles from directory listing. |
+.Sy Default : Li true . |
+. |
+.It Cd postponed_folder ( Vt string ) |
+Name of the folder where messages to be sent later, a.k.a. drafts, are stored. |
+.Sy Default : Li """postponed-msgs""" . |
+. |
+.It Cd sent_mail_folder ( Vt string ) |
+Name of folder for sent mail. |
+.Sy Default : Li """sent-mail""" . |
+. |
+.It Cd small_cols ( Vt number ) |
+Width of small compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd small_rows ( Vt number ) |
+Height of small compose textarea in lines. |
+.Sy Default : Li 18 . |
+. |
+.It Cd large_cols ( Vt number ) |
+Width of large compose textarea in columns. |
+.Sy Default : Li 80 . |
+. |
+.It Cd large_rows ( Vt number ) |
+Height of large compose textarea in lines. |
+.Sy Default : Li 32 . |
+. |
+.It Cd sort_mode ( Vt string ) |
+Default Sort mode for mailbox list. One of |
+.Li ARRIVAL , DATE , FROM , TO , CC , SIZE , SUBJECT , REFERENCES , ORDEREDSUBJECT . |
+.Sy Default : Li ARRIVAL No is most efficient, and recommended. |
+. |
+.It Cd sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd abook_sort_mode ( Vt string ) |
+Default Sort mode for addressbook list. One of: |
+.Li ORDERED , ALIAS , NAME , COMMENT , ADDRESS . |
+.Sy Default : Li ORDERED . |
+. |
+.It Cd abook_sort_reverse ( Vt boolean ) |
+Favour reverse sort rather than normal sort order? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_len ( Vt number ) |
+Wrap lines at this many characters. |
+.Sy Default : Li 76 . |
+. |
+.It Cd line_wrap_advanced ( Vt boolean ) |
+Enable advanced line wrap options? |
+.Sy Default : Li false . |
+. |
+.It Cd line_wrap_on_reply ( Vt boolean ) |
+Line wrap automatically on reply. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_spell ( Vt boolean ) |
+Line wrap automatically on spell check. |
+.Sy Default : Li true . |
+. |
+.It Cd line_wrap_on_send ( Vt boolean ) |
+Line wrap automatically on send. |
+.Sy Default : Li true . |
+. |
+.It Cd preserve_mimetype ( Vt boolean ) |
+Send message Content-Type through to browser. If |
+.Li false , No Content-Type is replaced with |
+.Ql application/octet-stream |
+which should force download to local disk, bypassing any automatic |
+processing of bodyparts by the User-Agent. Unclear at the moment |
+whether we need to do this, or whether this should be done selectively |
+based on the User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_sent_mail ( Vt boolean ) |
+.No Make the Dq Save copy |
+checkbox on the compose screen checked default. |
+.Sy Default : Li true . |
+. |
+.It Cd use_mark_persist ( Vt boolean ) |
+Use persistent mark for aggregate operations. |
+.Sy Default : Li false . |
+. |
+.It Cd use_search_zoom ( Vt boolean ) |
+Zoom automatically after sucessful search |
+.Sy Default : Li true . |
+. |
+.It Cd use_agg_unmark ( Vt boolean ) |
+Unmark messages after sucessful aggregate operation. |
+.Sy Default : Li true . |
+. |
+.It Cd use_icons ( Vt boolean ) |
+Use icons: may be overriden by value of User-Agent. |
+.Sy Default : Li true . |
+. |
+.It Cd use_welcome ( Vt boolean ) |
+Enable welcome screen . |
+.Sy Default : Li true . |
+. |
+.It Cd use_tail_banner ( Vt boolean ) |
+Duplicate banner icons (toolbar) at the bottom of the Message screen. |
+.Sy Default : Li true . |
+.El |
+. |
+.Ss Hidden preferences |
+. |
+The following options are internally handled as user preferences, but |
+the Preferences screen no longer provides any means for changing them. |
+. |
+.Bl -tag -width Ds |
+.It Cd use_cookie ( Vt boolean ) |
+Use HTTP cookie for Session-ID, if the browser supports cookies |
+If disabled, or user rejects the cookie, then the session-ID is stored in the URL. |
+.Sy Default : Li true . |
+. |
+.It Cd use_substitution ( Vt boolean ) |
+Use page substiution rather than HTTP redirects. Faster, but the URLs |
+that are generated are less predictable. Page substitution and browser |
+history mechanism don't coexist well at the moment (Prayer would need to |
+cache final page value for each substiution event). |
+.Pp |
+.Sy Default : Li true . |
+. |
+.It Cd use_http_1_1 ( Vt boolean ) |
+Allow HTTP/1.1, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_pipelining ( Vt boolean ) |
+Allow HTTP/1.1 pipelining, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_embed_http ( Vt boolean ) |
+Allow HTTP links embedded in HTTPS responses, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.It Cd use_persist ( Vt boolean ) |
+Allow persistent HTTP/1.1 and HTTP/1.0 persistent connections, |
+if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_short ( Vt boolean ) |
+Allow short URLs, if the browser supports them. |
+.Sy Default : Li true . |
+. |
+.It Cd use_gzip ( Vt boolean ) |
+Allow gzip compression, if the browser supports it. |
+.Sy Default : Li true . |
+. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer-session 8 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
Index: tags/1.2.2.1-4/debian/prayer-ssl-prune.8 |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer-ssl-prune.8 (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer-ssl-prune.8 (revision 180) |
@@ -0,0 +1,54 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER-SSL-PRUNE 8 |
+.Sh NAME |
+.Nm prayer-ssl-prune |
+.Nd purge stale SSL session data |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+should be run periodically (e.g. once a day) when using SSL session caching |
+.Cd ( ssl_session_timeout No > 0 in |
+.Pa prayer.cf ) . |
+It removes old transaction logs and stale session data. |
+It accepts the same configuration-overriding options as |
+.Xr prayer 8 and |
+.Xr prayer-session 8 . |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /var/run/prayer/ssl_scache/ |
+Default location of the SSL session cache database. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+using documentation written by |
+.An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-4/debian/prayer.8 |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.8 (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.8 (revision 180) |
@@ -0,0 +1,93 @@ |
+.\" -*- nroff -*- |
+.Dd 17 August 2008 |
+.Os "The Prayer Webmail Interface" |
+.ds volume-operating-system |
+.Dt PRAYER 8 |
+.Sh NAME |
+.Nm prayer |
+.Nd standalone IMAP-based webmail server |
+.Sh SYNOPSIS |
+.Nm |
+.Oo Fl -config-file |
+.Ar file Oc |
+.Oo Oo Fl -config-option |
+.Ar name Ns = Ns Ar value Oc |
+.Ar ... Oc |
+.Op Fl -foreground | -disable-prefork |
+.Oo Fl -disable-session | - |
+.Ar session-options Ar ... Oc |
+. |
+.Sh DESCRIPTION |
+.Nm |
+is the normal frontend daemon in the Prayer Webmail system. It is a |
+simple HTTP server and proxy that serves icons and other static files, |
+but firstly and foremostly forwards requests to the correct backend |
+daemons based on session IDs passed either in cookies or as part of |
+the URL. |
+.Pp |
+The master daemon normally preforks a number of child processes that |
+each will serve a configurable number of requests. The total number of |
+child processes is limited to prevent denial of service attacks. |
+.Pp |
+.Nm |
+accepts the following command-line options: |
+.Bl -tag -width indent |
+.It Fl -config-file Ar file |
+Reads configuration from |
+.Ar file |
+instead of the default. |
+.It Fl -config-option Ar name Ns = Ns Ar value |
+Sets (overrides) the configuration option |
+.Ar name No to Ar value . |
+Any number of options can be specified in this manner. |
+.It Fl -foreground |
+Debug mode. Run a single process in the foreground. |
+.It Fl -disable-prefork |
+Disable preforking. The master daemon will listen for connections |
+on the configured ports and spawn child processes one at a time. |
+.It Fl -disable-session |
+Do not start the session server, |
+.Xr prayer-session 8 . |
+.It Fl - |
+End of |
+.Nm |
+options; remaining options will be passed to |
+.Xr prayer-session 8 . |
+.El |
+. |
+.Sh ENVIRONMENT |
+. |
+.Bl -tag -width ".Ev PRAYER_CONFIG_FILE " |
+.It Ev PRAYER_CONFIG_FILE |
+Can be set to specify the configuration file to use. |
+.It Ev PRAYER_HOSTNAME |
+Local hostname. Overrides the |
+.Cd hostname |
+setting in the configuration file as well as on the command line. |
+.El |
+. |
+.Sh FILES |
+. |
+.Bl -tag -compact |
+.It Pa /etc/prayer/prayer.cf |
+Default configuration file. |
+.It Pa /usr/share/prayer/icons/ |
+Location of the standard icons used by the interface. |
+.It Pa /usr/share/prayer/static/ |
+Directory containing other static files; currently only CSS files. |
+.It Pa /var/run/prayer/sockets/ |
+Pre-configured location of sockets for frontend to backend communication. |
+.El |
+. |
+.Sh SEE ALSO |
+. |
+.Xr prayer-session 8 , |
+.Xr prayer.cf 5 |
+. |
+.Sh AUTHORS |
+. |
+This manual page was put together by |
+.An -nosplit |
+.An "Magnus Holmgren" <holmgren@debian.org> |
+.No using documentation written by An "David Carter" <dpc22@cam.ac.uk> . |
+.\" .Sh BUGS |
Index: tags/1.2.2.1-4/debian/Config |
=================================================================== |
--- tags/1.2.2.1-4/debian/Config (nonexistent) |
+++ tags/1.2.2.1-4/debian/Config (revision 180) |
@@ -0,0 +1,146 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CFLAGS, CPPFLAGS and LDFLAGS if passed in) |
+BASECFLAGS := $(CFLAGS) |
+BASECFLAGS ?= -Wall -g -O2 |
+BASECFLAGS += $(CPPFLAGS) |
+ |
+BASELDFLAGS := $(LDFLAGS) |
+BASELDFLAGS ?= -g |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.2.1-4/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,72 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-4/debian/prayer.init |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.init (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.init (revision 180) |
@@ -0,0 +1,90 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ sleep 1 |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-4/debian/patches/unlimit_login_username.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/unlimit_login_username.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/unlimit_login_username.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/servers/prayer_login.c |
++++ b/servers/prayer_login.c |
+@@ -116,7 +116,7 @@ prayer_login_generate(struct prayer *pra |
+ |
+ bputs(b, " <td>"); |
+ bprintf(b, |
+- "<input name=\"username\" value=\"%s\" size=\"8\" maxlength=\"8\" />", |
++ "<input name=\"username\" value=\"%s\" size=\"16\" />", |
+ user ? user : ""); |
+ bputs(b, "</td>" CRLF); |
+ bputs(b, "</tr>" CRLF); |
Index: tags/1.2.2.1-4/debian/patches/series |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/series (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/series (revision 180) |
@@ -0,0 +1,7 @@ |
+repair_ssl_session_db_on_version_mismatch.patch |
+makefile_install_config.patch |
+remove_old_db_logfiles_from_prayer-ssl-prune.patch |
+welcome_is_template.patch |
+templates_fallback_to_compiled.patch |
+template_find_bug.patch |
+unlimit_login_username.patch |
Index: tags/1.2.2.1-4/debian/patches/welcome_is_template.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/welcome_is_template.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/welcome_is_template.patch (revision 180) |
@@ -0,0 +1,41 @@ |
+--- a/cmd/cmd_welcome.c |
++++ b/cmd/cmd_welcome.c |
+@@ -74,12 +74,7 @@ void cmd_welcome(struct session *session |
+ unsigned long msgno; |
+ |
+ if ((request->method != POST) && (prefs->use_welcome)) { |
+- if (config->welcome_path && |
+- (string = read_welcome(request->pool, config->welcome_path))) |
+- generate_welcome_page(session, string); |
+- else |
+- session_redirect(session, request, "list"); |
+- |
++ generate_welcome_page(session, NULL); |
+ return; |
+ } |
+ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -402,12 +402,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Welcome text displayed when user first logs in |
+-welcome_path = "$prefix/etc/welcome.html" |
+- |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2139,7 +2139,6 @@ BOOL config_check(struct config * config |
+ struct config_http_port *chp; |
+ char hostname[MAX_ADDRESS+1], domainname[MAX_ADDRESS+1]; |
+ |
+- TEST_STRING(config->help_dir, "help_dir"); |
+ TEST_STRING(config->icon_dir, "icon_dir"); |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
Index: tags/1.2.2.1-4/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,184 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,21 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -271,11 +271,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -283,26 +283,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -387,13 +375,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -431,10 +419,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++log_dir = "/var/log/prayer" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -442,7 +427,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -453,10 +438,10 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -617,14 +602,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2144,7 +2144,6 @@ BOOL config_check(struct config * config |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: tags/1.2.2.1-4/debian/patches/template_find_bug.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/template_find_bug.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/template_find_bug.patch (revision 180) |
@@ -0,0 +1,28 @@ |
+--- a/lib/template.c |
++++ b/lib/template.c |
+@@ -199,10 +199,11 @@ template_find(char *set, char *name, str |
+ unsigned long first, last, middle; |
+ int rc; |
+ |
+- while (strcmp(tmi->name, set) != 0) |
++ while (strcmp(tmi->name, set) != 0) { |
+ tmi++; |
+- if (!tmi->name) |
+- return(NIL); |
++ if (!tmi->name) |
++ return(NIL); |
++ } |
+ |
+ tm = tmi->template_map; |
+ count = *(tmi->count); |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -168,7 +168,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "html4"; |
++ config->template_set = "xhtml_strict"; |
+ config->template_use_compiled = T; |
+ |
+ config->prayer_user = NIL; |
Index: tags/1.2.2.1-4/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (revision 180) |
@@ -0,0 +1,34 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -289,9 +289,6 @@ static int myarchive(const char **fnames |
+ const char **fname; |
+ char dstname[1024], *dp; |
+ |
+- strcpy(dstname, dirname); |
+- dp = dstname + strlen(dstname); |
+- |
+ /* Get the list of log files to remove. */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS, NULL); |
+ if (r) { |
+@@ -312,6 +309,11 @@ static int myarchive(const char **fnames |
+ free (begin); |
+ } |
+ |
++ if (!dirname) return 0; |
++ |
++ strcpy(dstname, dirname); |
++ dp = dstname + strlen(dstname); |
++ |
+ /* Get the list of database files to archive. */ |
+ /* XXX Should we do this, or just use the list given to us? */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS | DB_ARCH_DATA, NULL); |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -837,6 +837,7 @@ int ssl_prune_sessions(struct ssl_config |
+ log_debug("tls_prune: purged %d out of %d entries", |
+ prock.deletions, prock.count); |
+ |
++ DB->archive(NULL, NULL); |
+ DB->done(); |
+ |
+ return (0); |
Index: tags/1.2.2.1-4/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.2.1-4/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT |
++#ifdef DB_VERSION_MISMATCH |
++ && r != DB_VERSION_MISMATCH |
++#endif |
++ ) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: tags/1.2.2.1-4/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.2.1-4/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.2.1-4/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.2.1-4/debian/control |
=================================================================== |
--- tags/1.2.2.1-4/debian/control (nonexistent) |
+++ tags/1.2.2.1-4/debian/control (revision 180) |
@@ -0,0 +1,54 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.2.1-4/debian/prayer.install |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.install (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.install (revision 180) |
@@ -0,0 +1,5 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
Index: tags/1.2.2.1-4/debian/README.Debian |
=================================================================== |
--- tags/1.2.2.1-4/debian/README.Debian (nonexistent) |
+++ tags/1.2.2.1-4/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.2.1-4/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,4 @@ |
+var/run/prayer |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.2.1-4/debian/prayer.examples |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.examples (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.2.1-4/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,56 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.2.1-4/debian/copyright |
=================================================================== |
--- tags/1.2.2.1-4/debian/copyright (nonexistent) |
+++ tags/1.2.2.1-4/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.2.1-4/debian/prayer.docs |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.docs (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.2.1-4/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,53 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.2.1-4/debian/rules |
=================================================================== |
--- tags/1.2.2.1-4/debian/rules (nonexistent) |
+++ tags/1.2.2.1-4/debian/rules (revision 180) |
@@ -0,0 +1,17 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
/tags/1.2.2.1-4/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.2.1-4/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-4/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-4/debian/compat |
=================================================================== |
--- tags/1.2.2.1-4/debian/compat (nonexistent) |
+++ tags/1.2.2.1-4/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.2.1-4/debian/prayer.default |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.default (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.2.1-4/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.2.1-4/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.2.1-4/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.2.1-4/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.2.1-4/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.2.1-4/debian/watch |
=================================================================== |
--- tags/1.2.2.1-4/debian/watch (nonexistent) |
+++ tags/1.2.2.1-4/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.2.1-4/debian |
=================================================================== |
--- tags/1.2.2.1-4/debian (nonexistent) |
+++ tags/1.2.2.1-4/debian (revision 180) |
/tags/1.2.2.1-4/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.2.1-3/debian/control |
=================================================================== |
--- tags/1.2.2.1-3/debian/control (nonexistent) |
+++ tags/1.2.2.1-3/debian/control (revision 180) |
@@ -0,0 +1,54 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev (>= 7:2007~), |
+ libldap2-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.2.1-3/debian/changelog |
=================================================================== |
--- tags/1.2.2.1-3/debian/changelog (nonexistent) |
+++ tags/1.2.2.1-3/debian/changelog (revision 180) |
@@ -0,0 +1,154 @@ |
+prayer (1.2.2.1-3) unstable; urgency=low |
+ |
+ * welcome_is_template.patch: |
+ - shared/config.c: Don't require that the help_dir option, which was |
+ removed from the default prayer.cf earlier, is defined |
+ (Closes: #493009). |
+ * makefile_install_config.patch: |
+ - shared/config.c: Likewise don't check for lock_dir (Closes: #494011). |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Wed, 06 Aug 2008 21:20:17 +0200 |
+ |
+prayer (1.2.2.1-2) unstable; urgency=low |
+ |
+ * Acknowledge NMU, but change the build dependency to |
+ libc-client2007b-dev | libc-client2007-dev | libc-client-dev |
+ (>= 7:2007~), since we need at least that version. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sun, 27 Jul 2008 20:52:18 +0200 |
+ |
+prayer (1.2.2.1-1.1) unstable; urgency=low |
+ |
+ * Non-maintainer upload. |
+ * Build-depend on unversioned libc-client-dev to allow BinNMUs. |
+ Closes: bug#492285. |
+ |
+ -- Jonas Smedegaard <dr@jones.dk> Thu, 24 Jul 2008 23:42:33 +0200 |
+ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.2.1-3/debian/patches/welcome_is_template.patch |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/welcome_is_template.patch (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/welcome_is_template.patch (revision 180) |
@@ -0,0 +1,41 @@ |
+--- a/cmd/cmd_welcome.c |
++++ b/cmd/cmd_welcome.c |
+@@ -74,12 +74,7 @@ void cmd_welcome(struct session *session |
+ unsigned long msgno; |
+ |
+ if ((request->method != POST) && (prefs->use_welcome)) { |
+- if (config->welcome_path && |
+- (string = read_welcome(request->pool, config->welcome_path))) |
+- generate_welcome_page(session, string); |
+- else |
+- session_redirect(session, request, "list"); |
+- |
++ generate_welcome_page(session, NULL); |
+ return; |
+ } |
+ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -402,12 +402,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Welcome text displayed when user first logs in |
+-welcome_path = "$prefix/etc/welcome.html" |
+- |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2139,7 +2139,6 @@ BOOL config_check(struct config * config |
+ struct config_http_port *chp; |
+ char hostname[MAX_ADDRESS+1], domainname[MAX_ADDRESS+1]; |
+ |
+- TEST_STRING(config->help_dir, "help_dir"); |
+ TEST_STRING(config->icon_dir, "icon_dir"); |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
Index: tags/1.2.2.1-3/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,184 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,21 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -271,11 +271,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -283,26 +283,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -387,13 +375,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -431,10 +419,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++log_dir = "/var/log/prayer" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -442,7 +427,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -453,10 +438,10 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -617,14 +602,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -2144,7 +2144,6 @@ BOOL config_check(struct config * config |
+ TEST_STRING(config->socket_dir, "socket_dir"); |
+ TEST_STRING(config->init_socket_name, "init_socket_name"); |
+ TEST_STRING(config->ssl_session_dir, "ssl_session_dir"); |
+- TEST_STRING(config->lock_dir, "lock_dir"); |
+ TEST_STRING(config->log_dir, "log_dir"); |
+ TEST_STRING(config->tmp_dir, "tmp_dir"); |
+ TEST_STRING(config->pid_dir, "pid_dir"); |
Index: tags/1.2.2.1-3/debian/patches/template_find_bug.patch |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/template_find_bug.patch (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/template_find_bug.patch (revision 180) |
@@ -0,0 +1,28 @@ |
+--- a/lib/template.c |
++++ b/lib/template.c |
+@@ -199,10 +199,11 @@ template_find(char *set, char *name, str |
+ unsigned long first, last, middle; |
+ int rc; |
+ |
+- while (strcmp(tmi->name, set) != 0) |
++ while (strcmp(tmi->name, set) != 0) { |
+ tmi++; |
+- if (!tmi->name) |
+- return(NIL); |
++ if (!tmi->name) |
++ return(NIL); |
++ } |
+ |
+ tm = tmi->template_map; |
+ count = *(tmi->count); |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -168,7 +168,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "html4"; |
++ config->template_set = "xhtml_strict"; |
+ config->template_use_compiled = T; |
+ |
+ config->prayer_user = NIL; |
Index: tags/1.2.2.1-3/debian/patches/series |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/series (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/series (revision 180) |
@@ -0,0 +1,6 @@ |
+repair_ssl_session_db_on_version_mismatch.patch |
+makefile_install_config.patch |
+remove_old_db_logfiles_from_prayer-ssl-prune.patch |
+welcome_is_template.patch |
+templates_fallback_to_compiled.patch |
+template_find_bug.patch |
Index: tags/1.2.2.1-3/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (revision 180) |
@@ -0,0 +1,34 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -289,9 +289,6 @@ static int myarchive(const char **fnames |
+ const char **fname; |
+ char dstname[1024], *dp; |
+ |
+- strcpy(dstname, dirname); |
+- dp = dstname + strlen(dstname); |
+- |
+ /* Get the list of log files to remove. */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS, NULL); |
+ if (r) { |
+@@ -312,6 +309,11 @@ static int myarchive(const char **fnames |
+ free (begin); |
+ } |
+ |
++ if (!dirname) return 0; |
++ |
++ strcpy(dstname, dirname); |
++ dp = dstname + strlen(dstname); |
++ |
+ /* Get the list of database files to archive. */ |
+ /* XXX Should we do this, or just use the list given to us? */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS | DB_ARCH_DATA, NULL); |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -837,6 +837,7 @@ int ssl_prune_sessions(struct ssl_config |
+ log_debug("tls_prune: purged %d out of %d entries", |
+ prock.deletions, prock.count); |
+ |
++ DB->archive(NULL, NULL); |
+ DB->done(); |
+ |
+ return (0); |
Index: tags/1.2.2.1-3/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.2.1-3/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT |
++#ifdef DB_VERSION_MISMATCH |
++ && r != DB_VERSION_MISMATCH |
++#endif |
++ ) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: tags/1.2.2.1-3/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.2.1-3/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.2.1-3/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.2.1-3/debian/prayer.install |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.install (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.install (revision 180) |
@@ -0,0 +1,5 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
Index: tags/1.2.2.1-3/debian/README.Debian |
=================================================================== |
--- tags/1.2.2.1-3/debian/README.Debian (nonexistent) |
+++ tags/1.2.2.1-3/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.2.1-3/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,4 @@ |
+var/run/prayer |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.2.1-3/debian/prayer.examples |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.examples (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.2.1-3/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,56 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.2.1-3/debian/Config |
=================================================================== |
--- tags/1.2.2.1-3/debian/Config (nonexistent) |
+++ tags/1.2.2.1-3/debian/Config (revision 180) |
@@ -0,0 +1,153 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CPPFLAGS and LDFLAGS if passed in) |
+ifdef CPPFLAGS |
+ BASECFLAGS = $(CPPFLAGS) |
+else |
+ BASECFLAGS = -Wall -g -O2 |
+endif |
+ifdef INCLUDES |
+ BASECFLAGS += $(INCLUDES) |
+endif |
+ifdef LDFLAGS |
+ BASELDFLAGS = $(LDFLAGS) |
+else |
+ BASELDFLAGS = -g |
+endif |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = -DLDAP_DEPRECATED |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.2.1-3/debian/copyright |
=================================================================== |
--- tags/1.2.2.1-3/debian/copyright (nonexistent) |
+++ tags/1.2.2.1-3/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.2.1-3/debian/prayer.docs |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.docs (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.2.1-3/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,53 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.2.1-3/debian/rules |
=================================================================== |
--- tags/1.2.2.1-3/debian/rules (nonexistent) |
+++ tags/1.2.2.1-3/debian/rules (revision 180) |
@@ -0,0 +1,17 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
/tags/1.2.2.1-3/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.2.1-3/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,71 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-3/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-3/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-3/debian/compat |
=================================================================== |
--- tags/1.2.2.1-3/debian/compat (nonexistent) |
+++ tags/1.2.2.1-3/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.2.1-3/debian/prayer.default |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.default (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.2.1-3/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.2.1-3/debian/prayer-session.8.dbk |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer-session.8.dbk (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer-session.8.dbk (revision 180) |
@@ -0,0 +1,158 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer-session"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>...</cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> command.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--debug</option> |
+ </term> |
+ <listitem> |
+ <para>Enable debugging.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.2.2.1-3/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.2.1-3/debian/prayer.init |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.init (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.init (revision 180) |
@@ -0,0 +1,89 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-3/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.2.1-3/debian/watch |
=================================================================== |
--- tags/1.2.2.1-3/debian/watch (nonexistent) |
+++ tags/1.2.2.1-3/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.2.1-3/debian/prayer.8.dbk |
=================================================================== |
--- tags/1.2.2.1-3/debian/prayer.8.dbk (nonexistent) |
+++ tags/1.2.2.1-3/debian/prayer.8.dbk (revision 180) |
@@ -0,0 +1,178 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>... -- <arg><option><replaceable>PRAYER-SESSION-OPTION</replaceable></option></arg> ... |
+ </cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> and <command>bar</command> |
+ commands.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page. |
+ Instead, it has documentation in the &gnu; |
+ <application>Info</application> format; see below.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-prefork</option> |
+ </term> |
+ <listitem> |
+ <para>Run as simple fork()/exec() daemon.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-session</option> |
+ </term> |
+ <listitem> |
+ <para>Don't start up prayer-session server.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--</option> |
+ </term> |
+ <listitem> |
+ <para>End of prayer options: remaining options will be passed to prayer-session server process.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer-session(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.2.2.1-3/debian |
=================================================================== |
--- tags/1.2.2.1-3/debian (nonexistent) |
+++ tags/1.2.2.1-3/debian (revision 180) |
/tags/1.2.2.1-3/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.2.1-1/debian/patches/template_find_bug.patch |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/template_find_bug.patch (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/template_find_bug.patch (revision 180) |
@@ -0,0 +1,28 @@ |
+--- a/lib/template.c |
++++ b/lib/template.c |
+@@ -199,10 +199,11 @@ template_find(char *set, char *name, str |
+ unsigned long first, last, middle; |
+ int rc; |
+ |
+- while (strcmp(tmi->name, set) != 0) |
++ while (strcmp(tmi->name, set) != 0) { |
+ tmi++; |
+- if (!tmi->name) |
+- return(NIL); |
++ if (!tmi->name) |
++ return(NIL); |
++ } |
+ |
+ tm = tmi->template_map; |
+ count = *(tmi->count); |
+--- a/shared/config.c |
++++ b/shared/config.c |
+@@ -168,7 +168,7 @@ struct config *config_create(void) |
+ config->fatal_dump_core = NIL; |
+ |
+ config->template_path = "../templates"; |
+- config->template_set = "html4"; |
++ config->template_set = "xhtml_strict"; |
+ config->template_use_compiled = T; |
+ |
+ config->prayer_user = NIL; |
Index: tags/1.2.2.1-1/debian/patches/series |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/series (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/series (revision 180) |
@@ -0,0 +1,6 @@ |
+repair_ssl_session_db_on_version_mismatch.patch |
+makefile_install_config.patch |
+remove_old_db_logfiles_from_prayer-ssl-prune.patch |
+welcome_is_template.patch |
+templates_fallback_to_compiled.patch |
+template_find_bug.patch |
Index: tags/1.2.2.1-1/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/remove_old_db_logfiles_from_prayer-ssl-prune.patch (revision 180) |
@@ -0,0 +1,34 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -289,9 +289,6 @@ static int myarchive(const char **fnames |
+ const char **fname; |
+ char dstname[1024], *dp; |
+ |
+- strcpy(dstname, dirname); |
+- dp = dstname + strlen(dstname); |
+- |
+ /* Get the list of log files to remove. */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS, NULL); |
+ if (r) { |
+@@ -312,6 +309,11 @@ static int myarchive(const char **fnames |
+ free (begin); |
+ } |
+ |
++ if (!dirname) return 0; |
++ |
++ strcpy(dstname, dirname); |
++ dp = dstname + strlen(dstname); |
++ |
+ /* Get the list of database files to archive. */ |
+ /* XXX Should we do this, or just use the list given to us? */ |
+ r = log_archive(dbenv, &list, DB_ARCH_ABS | DB_ARCH_DATA, NULL); |
+--- a/lib/ssl.c |
++++ b/lib/ssl.c |
+@@ -837,6 +837,7 @@ int ssl_prune_sessions(struct ssl_config |
+ log_debug("tls_prune: purged %d out of %d entries", |
+ prock.deletions, prock.count); |
+ |
++ DB->archive(NULL, NULL); |
+ DB->done(); |
+ |
+ return (0); |
Index: tags/1.2.2.1-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,174 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,21 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+- RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+- RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+- PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+- PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+- PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
+- ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
++ tar -c --owner ${RO_USER} --group ${RO_GROUP} icons static | tar -C ${BROOT}${PREFIX} -x |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -271,11 +271,11 @@ http_icon_embed = TRUE |
+ |
+ # Locatation of SSL certificate file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_cert_file = "$prefix/certs/prayer.pem" |
++ssl_cert_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem" |
+ |
+ # Locatation of SSL private key file (only used if SSL ports defined). |
+ # Required if we are going to provide SSL services. |
+-ssl_privatekey_file = "$prefix/certs/prayer.pem" |
++ssl_privatekey_file = "/etc/ssl/private/ssl-cert-snakeoil.key" |
+ |
+ # Master server will regenerate shared RSA key at this interval: |
+ ssl_rsakey_lifespan = 15m |
+@@ -283,26 +283,14 @@ ssl_rsakey_lifespan = 15m |
+ # RSA key remains fresh in child process for this long after first actual use. |
+ ssl_rsakey_freshen = 15m |
+ |
+-# SSL session cache timeout. |
+-ssl_session_timeout = 24h |
++# SSL session cache timeout. Uncomment to enable SSL session caching. |
++# You should also arrange for prayer-ssl-prune to be run periodically. |
++#ssl_session_timeout = 24h |
+ |
+ # EGD socket, if system has no /dev/urandom |
+ #egd_socket = "/var/prngd/urandom" |
+ |
+ ###################################################################### |
+- |
+-# Direct connection stuff. Experimental! Leave this well alone unless you |
+-# understand what it is for (DESIGN document provides detail for the curious). |
+-direct_enable = FALSE |
+- |
+-# Following four options just define a set of (non-overlapping) ports for |
+-# SSL and plaintext use if direct connection mode is enabled. |
+-direct_ssl_first = 5000 |
+-direct_ssl_count = 1000 |
+-direct_plain_first = 4000 |
+-direct_plain_count = 1000 |
+- |
+-###################################################################### |
+ # Session specific configuration |
+ |
+ # Session switches to idle mode after this much time: connections to IMAP |
+@@ -387,13 +375,13 @@ ispell_path = /usr/bin/ispell |
+ # <login_suffix_path> |
+ |
+ # Login page prefix |
+-#login_prefix_path = "$prefix/etc/login_prefix.html" |
++#login_prefix_path = "/etc/login_prefix.html" |
+ |
+ # Message of the day file |
+-#motd_path = "$prefix/etc/motd.html" |
++#motd_path = "/etc/motd.html" |
+ |
+ # Login page suffix |
+-#login_suffix_path = "$prefix/etc/login_suffix.html" |
++#login_suffix_path = "/etc/login_suffix.html" |
+ |
+ # Login security: Prayer's front page defaults to a login form. |
+ # If the user does not connect via SSL then this can be changed |
+@@ -431,10 +419,7 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+- |
+-# $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -442,7 +427,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -453,10 +438,10 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -617,14 +602,14 @@ hiersep = "/" |
+ dualuse = FALSE |
+ |
+ # Names of postponed_folder and sent_mail_folder, relative to maildir |
+-postponed_folder = "postponed-msgs" |
+-sent_mail_folder = "sent-mail" |
++postponed_folder = "Drafts" |
++sent_mail_folder = "Sent" |
+ |
+ # Default domain for outgoing mail. Defaults to "$hostname". |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.2.2.1-1/debian/patches/templates_fallback_to_compiled.patch |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/templates_fallback_to_compiled.patch (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/templates_fallback_to_compiled.patch (revision 180) |
@@ -0,0 +1,45 @@ |
+--- a/lib/template_expand.c |
++++ b/lib/template_expand.c |
+@@ -496,11 +496,11 @@ template_expand_call(struct template_cal |
+ char *s, *t; |
+ char *err = NIL; |
+ |
+- if (tvals->use_compiled) |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ item->name, tvals->pool))) |
+ template = template_find(tvals->set, item->name, tvals->pool); |
+- else |
+- template = template_parse(tvals->dir, tvals->set, |
+- item->name, tvals->pool); |
++ |
+ if (!template) { |
+ str_printf(state->error, |
+ "Template \"%s\" not found (CALL from template \"%s\")\n", |
+@@ -579,11 +579,11 @@ template_expand(char *name, struct templ |
+ struct str *error = tvals->error; |
+ char *err; |
+ |
+- if (tvals->use_compiled) { |
++ if (tvals->use_compiled || |
++ !(template = template_parse(tvals->dir, tvals->set, |
++ name, tvals->pool))) |
+ template = template_find(tvals->set, name, tvals->pool); |
+- } else { |
+- template = template_parse(tvals->dir, tvals->set, name, tvals->pool); |
+- } |
++ |
+ if (!template) { |
+ str_printf(tvals->error, |
+ "Template %s not found (top level template_expand())", |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -452,7 +452,7 @@ pid_dir = "$var_prefix" |
+ ###################################################################### |
+ # Template stuff |
+ |
+-template_path = "__PREFIX__/templates" |
++template_path = "/etc/prayer/templates" |
+ template_set = "xhtml_strict" |
+ template_use_compiled = TRUE |
+ |
Index: tags/1.2.2.1-1/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,24 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,11 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT |
++#ifdef DB_VERSION_MISMATCH |
++ && r != DB_VERSION_MISMATCH |
++#endif |
++ ) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: tags/1.2.2.1-1/debian/patches/welcome_is_template.patch |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/welcome_is_template.patch (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/welcome_is_template.patch (revision 180) |
@@ -0,0 +1,31 @@ |
+--- a/cmd/cmd_welcome.c |
++++ b/cmd/cmd_welcome.c |
+@@ -74,12 +74,7 @@ void cmd_welcome(struct session *session |
+ unsigned long msgno; |
+ |
+ if ((request->method != POST) && (prefs->use_welcome)) { |
+- if (config->welcome_path && |
+- (string = read_welcome(request->pool, config->welcome_path))) |
+- generate_welcome_page(session, string); |
+- else |
+- session_redirect(session, request, "list"); |
+- |
++ generate_welcome_page(session, NULL); |
+ return; |
+ } |
+ |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -402,12 +402,6 @@ ssl_required = FALSE |
+ # Session banner (local HTML inserted into each page of login session) |
+ #session_banner_path = "$prefix/etc/session_banner.html" |
+ |
+-# Welcome text displayed when user first logs in |
+-welcome_path = "$prefix/etc/welcome.html" |
+- |
+-# Location of help files |
+-help_dir = "$prefix/help" |
+- |
+ # Location of icon files |
+ icon_dir = "$prefix/icons" |
+ |
Index: tags/1.2.2.1-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.2.1-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.2.1-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.2.1-1/debian/changelog |
=================================================================== |
--- tags/1.2.2.1-1/debian/changelog (nonexistent) |
+++ tags/1.2.2.1-1/debian/changelog (revision 180) |
@@ -0,0 +1,127 @@ |
+prayer (1.2.2.1-1) unstable; urgency=low |
+ |
+ * New upstream release featuring XHTML templates and fixes to various |
+ bugs created by the reorganisation. |
+ - Drop accountd_makefile_typo.patch; fixed upstream. |
+ * makefile_install_config.patch: Changes to the default config: |
+ - Disable SSL session caching. |
+ - Clean out "direct connection stuff". Remove lock_dir since we use |
+ SysV semaphores. |
+ * Point login_prefix_path, motd_path, and login_suffix_path towards |
+ /etc/prayer. |
+ * Change postponed-mail and sent-mail to Drafts and Sent. |
+ * Improve SSL/TLS configuration: |
+ * makefile_install_config.patch: Point ssl_cert_file and |
+ ssl_privatekey_file to /etc/ssl/*/ssl-cert-snakeoil.*. |
+ + Add dependency on ssl-cert (>= 1.0.11). |
+ + prayer.postinst: Add prayer to group ssl-cert on fresh install or |
+ when upgrading from versions prior to this one. |
+ * welcome_is_template.patch (new): Although the welcome screen is now a |
+ template among others, cmd_welcome.c still tried to read the file |
+ specified by welcome_path (welcome.html by default) and wouldn't show |
+ the welcome screen if the option was unset or the file couldn't be |
+ read. This patch removes that check as well as the welcome_path and |
+ help_path options from prayer.cf. |
+ * No longer install welcome.html (see above) and motd.html (no real |
+ content) in /etc/prayer. Install login_prefix.html, login_suffix.html, |
+ and motd.html (the versions found in files/etc.hermes in the |
+ distribution tarball) in /usr/share/doc/prayer/examples instead. |
+ * Do not install prayer-chroot (too experimental, hardcoded chroot path) |
+ or prayer-sem-prune (does nothing that ipcrm cannot do). |
+ * templates_fallback_to_compiled.patch (new): If the |
+ template_use_compiled option is false, nevertheless use compiled-in |
+ templates in template_expand.c if the requested template cannot be |
+ found on disk. Change default template_path to /etc/prayer/templates. |
+ Install said directory as well as subdirectories for available |
+ template sets. |
+ * Update and improve README.Debian. |
+ * Add logrotate dependency. |
+ * makefile_install_config.patch: Remove call to install.sh from |
+ files/Makefile and replace it with single tar pipeline; thus |
+ install.sh no longer needs to be patched. |
+ * remove_old_db_logfiles_from_prayer-ssl-prune.patch (new): Patch |
+ myarchive() in lib/mydb_db3.c so that it only deletes obsolete |
+ transaction logs if dirname = NULL, then call it (via DB->archive()) |
+ from ssl_prune_sessions() in lib/ssl.c. |
+ - prayer-db-prune thus unnecessary. |
+ * template_find_bug.patch (new): Fix segfault in template_find() when |
+ template_set specifies a non-existing set. Also update default set. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 24 Jun 2008 01:34:14 +0200 |
+ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.2.1-1/debian/prayer.install |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.install (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,5 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
Index: tags/1.2.2.1-1/debian/README.Debian |
=================================================================== |
--- tags/1.2.2.1-1/debian/README.Debian (nonexistent) |
+++ tags/1.2.2.1-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,103 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.6, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to the default configuration as detailed below, or fix bugs. You can |
+always find information about patches in changelog.Debian.gz. |
+ |
+To enable Prayer, you must edit /etc/default/prayer and change |
+ENABLED=0 to ENABLED=1. But before you do that you should go through |
+/etc/prayer/prayer.cf and adapt it to your needs. In particular, if |
+you already run a web server on this machine you need to change |
+use_http_port (and use_https_port) to something else. |
+ |
+Debian-specific configuration defaults: |
+ |
+ * Static files (templates, icons, CSS files) are installed in |
+ /usr/share/prayer in accordance with policy. The prefix option |
+ points there, while var_prefix, the location of pid files |
+ (pid_dir), sockets (socket_dir), and the SSL session cache |
+ (ssl_session_dir), is /var/run/prayer and subdirectories. Log |
+ files are written to /var/log/prayer (log_dir) and /tmp is used to |
+ temporarily store uploaded attachments (tmp_dir). |
+ |
+ * Prayer by default runs as user prayer (created on install) and |
+ group nogroup. The prayer user is added to the ssl-cert group on |
+ installation, so that it can access keys in /etc/ssl/private. |
+ |
+ * ssl_cert_file and ssl_privatekey_file point to the "snake oil" |
+ certificate and key created by the ssl-cert package, so that you |
+ only have to uncomment use_https_port to enable encryption. For a |
+ production server you should of course install a real certificate. |
+ |
+ * Support for SSL session caching is compiled in, but caching is |
+ disabled by default, as it probably doesn't make that much a |
+ difference on modern hardware. To enable it, uncomment the |
+ ssl_session_timeout setting in prayer.cf. You should also arrange |
+ for prayer-ssl-prune to be run periodically, for example by placing |
+ a symlink to it in /etc/cron.hourly or /etc/cron.daily. |
+ |
+ * The default IMAP folders for sent mail (sent_mail_folder) and |
+ drafts (postponed_folder) are "Sent" and "Drafts", respectively, |
+ the default for Mozilla Thunderbird and others (although many IMAP |
+ clients unfortunately use localized folder names). |
+ |
+ * socket_split_dir is off by default to reduce complexity when |
+ testing. You will probably only need it if you have lots of |
+ simultaneous users and a file system without directory indexes. |
+ |
+Customizing templates: |
+ |
+To use customized templates you must set template_use_compiled to |
+FALSE in prayer.cf. Then copy the template (.t file) you wish to |
+customize from /usr/share/prayer/templates to the corresponding |
+location under /etc/prayer/templates and edit it there. Prayer will |
+still use the compiled-in versions of the remaining templates, thanks |
+to a small patch. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ * Prayer doesn't handle signals gracefully yet, which means that it |
+ will leave SysV semaphores lying around when it is stopped or |
+ restarted. You can use ipcs to find them and ipcrm to delete them. |
+ |
+ * While Prayer does its best to remove potentially harmful tags from |
+ HTML email, it doesn't try to convert it to XHTML. This means that |
+ Prayer's output is conformant XHTML only when not viewing HTML |
+ mail. |
+ |
+ * Prayer deletes mail the IMAP way, which is by marking messages as |
+ deleted and leaving them in their folders. Prayer always lists |
+ deleted messages (with a special icon) and expunges (deletes |
+ permanently) deleted messages only when explicitly requested. |
+ Before that they can be undeleted at any time by "unmarking" them. |
+ |
+ Most mail client software deletes mail by moving it to a "trash" |
+ folder, which in reality means creating a copy in the trash folder |
+ and marking the original deleted. Messages that are marked as |
+ deleted are usually never listed, cannot be unmarked, and are often |
+ automatically expunged. These two approaches are rather |
+ incompatible, but some software can take either. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 24 Jun 2008 00:11:04 +0200 |
+ |
Index: tags/1.2.2.1-1/debian/control |
=================================================================== |
--- tags/1.2.2.1-1/debian/control (nonexistent) |
+++ tags/1.2.2.1-1/debian/control (revision 180) |
@@ -0,0 +1,54 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007-dev, libldap2-dev, |
+ zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, ssl-cert (>= 1.0.11), |
+ logrotate |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.2.1-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,4 @@ |
+var/run/prayer |
+var/log/prayer |
+etc/prayer/templates/xhtml_transitional |
+etc/prayer/templates/xhtml_strict |
Index: tags/1.2.2.1-1/debian/prayer.examples |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.examples (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.examples (revision 180) |
@@ -0,0 +1,3 @@ |
+files/etc.hermes/login_prefix.html |
+files/etc.hermes/login_suffix.html |
+files/etc.hermes/motd.html |
Index: tags/1.2.2.1-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,56 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ # Add prayer user to the ssl-cert group on upgrades or fresh installs |
+ if dpkg --compare-versions "$2" lt "1.2.2.1-1"; then |
+ if getent group ssl-cert >/dev/null; then |
+ adduser --quiet prayer ssl-cert |
+ fi |
+ fi |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.2.1-1/debian/Config |
=================================================================== |
--- tags/1.2.2.1-1/debian/Config (nonexistent) |
+++ tags/1.2.2.1-1/debian/Config (revision 180) |
@@ -0,0 +1,153 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CPPFLAGS and LDFLAGS if passed in) |
+ifdef CPPFLAGS |
+ BASECFLAGS = $(CPPFLAGS) |
+else |
+ BASECFLAGS = -Wall -g -O2 |
+endif |
+ifdef INCLUDES |
+ BASECFLAGS += $(INCLUDES) |
+endif |
+ifdef LDFLAGS |
+ BASELDFLAGS = $(LDFLAGS) |
+else |
+ BASELDFLAGS = -g |
+endif |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = -DLDAP_DEPRECATED |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.2.1-1/debian/copyright |
=================================================================== |
--- tags/1.2.2.1-1/debian/copyright (nonexistent) |
+++ tags/1.2.2.1-1/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.2.1-1/debian/prayer.docs |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.docs (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.2.1-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,53 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.2.1-1/debian/rules |
=================================================================== |
--- tags/1.2.2.1-1/debian/rules (nonexistent) |
+++ tags/1.2.2.1-1/debian/rules (revision 180) |
@@ -0,0 +1,17 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
/tags/1.2.2.1-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.2.1-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,71 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-1/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-1/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.2.1-1/debian/compat |
=================================================================== |
--- tags/1.2.2.1-1/debian/compat (nonexistent) |
+++ tags/1.2.2.1-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.2.1-1/debian/prayer.default |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.default (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.2.1-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.2.1-1/debian/prayer-session.8.dbk |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer-session.8.dbk (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer-session.8.dbk (revision 180) |
@@ -0,0 +1,158 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer-session"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>...</cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> command.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--debug</option> |
+ </term> |
+ <listitem> |
+ <para>Enable debugging.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.2.2.1-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.2.1-1/debian/prayer.init |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.init (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,89 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.2.1-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.2.1-1/debian/watch |
=================================================================== |
--- tags/1.2.2.1-1/debian/watch (nonexistent) |
+++ tags/1.2.2.1-1/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.2.1-1/debian/prayer.8.dbk |
=================================================================== |
--- tags/1.2.2.1-1/debian/prayer.8.dbk (nonexistent) |
+++ tags/1.2.2.1-1/debian/prayer.8.dbk (revision 180) |
@@ -0,0 +1,178 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>... -- <arg><option><replaceable>PRAYER-SESSION-OPTION</replaceable></option></arg> ... |
+ </cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> and <command>bar</command> |
+ commands.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page. |
+ Instead, it has documentation in the &gnu; |
+ <application>Info</application> format; see below.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-prefork</option> |
+ </term> |
+ <listitem> |
+ <para>Run as simple fork()/exec() daemon.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-session</option> |
+ </term> |
+ <listitem> |
+ <para>Don't start up prayer-session server.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--</option> |
+ </term> |
+ <listitem> |
+ <para>End of prayer options: remaining options will be passed to prayer-session server process.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer-session(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.2.2.1-1/debian |
=================================================================== |
--- tags/1.2.2.1-1/debian (nonexistent) |
+++ tags/1.2.2.1-1/debian (revision 180) |
/tags/1.2.2.1-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.2.0-1/debian/patches/accountd_makefile_typo.patch |
=================================================================== |
--- tags/1.2.0-1/debian/patches/accountd_makefile_typo.patch (nonexistent) |
+++ tags/1.2.0-1/debian/patches/accountd_makefile_typo.patch (revision 180) |
@@ -0,0 +1,11 @@ |
+--- a/accountd/Makefile |
++++ b/accountd/Makefile |
+@@ -60,7 +60,7 @@ accountd.o: accountd.c *.h Makefile |
+ $(CC) $(CFLAGS) -c \ |
+ -DACCOUNTD_CONFIG_FILE=\"$(ACCOUNTD_CONFIG_FILE)\" $< |
+ |
+-authenicate.o: authenicate.c *.h Makefile |
++authenticate.o: authenticate.c *.h Makefile |
+ $(CC) $(CFLAGS) -c $(ACCOUNTD_PAM_DEFS) $< |
+ |
+ clean: |
Index: tags/1.2.0-1/debian/patches/series |
=================================================================== |
--- tags/1.2.0-1/debian/patches/series (nonexistent) |
+++ tags/1.2.0-1/debian/patches/series (revision 180) |
@@ -0,0 +1,3 @@ |
+makefile_install_config.patch |
+repair_ssl_session_db_on_version_mismatch.patch |
+accountd_makefile_typo.patch |
Index: tags/1.2.0-1/debian/patches/repair_ssl_session_db_on_version_mismatch.patch |
=================================================================== |
--- tags/1.2.0-1/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (nonexistent) |
+++ tags/1.2.0-1/debian/patches/repair_ssl_session_db_on_version_mismatch.patch (revision 180) |
@@ -0,0 +1,20 @@ |
+--- a/lib/mydb_db3.c |
++++ b/lib/mydb_db3.c |
+@@ -208,7 +208,7 @@ static int init(const char *dbdir, int m |
+ if (!(r = myinit(dbdir, myflags))) |
+ return(0); |
+ |
+- if (r != ENOENT) { |
++ if (r != ENOENT && r != DB_VERSION_MISMATCH) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
+ } |
+@@ -217,7 +217,7 @@ static int init(const char *dbdir, int m |
+ /* DPC 24/03/2002. DB_CREATE leaks 12 MBytes into dbenv. |
+ * Workaround: close down dbenv, reopen after backing files created */ |
+ |
+- r = myinit(dbdir, myflags|MYDB_CREATE); |
++ r = myinit(dbdir, myflags|MYDB_CREATE|MYDB_RECOVER); |
+ if (r) { |
+ log_panic("DBERROR: dbenv->open '%s' failed: %s", dbdir, db_strerror(r)); |
+ return MYDB_IOERROR; |
Index: tags/1.2.0-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.2.0-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.2.0-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,186 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -65,26 +65,29 @@ install-aconfig: |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${BROOT}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${BROOT}/etc/prayer |
+ |
+ install: |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BROOT}/etc/prayer |
++ |
+ PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
+ RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+ RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+ PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+ PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+ PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
++ BIN_DIR=$(BROOT)$(BIN_DIR) INSTALL=$(INSTALL) \ |
+ ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++# if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
+ if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+ if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++ if [ ! -f $(BROOT)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(BROOT)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+--- a/files/install.sh |
++++ b/files/install.sh |
+@@ -4,77 +4,6 @@ |
+ |
+ PATH=/bin:/sbin/:/usr/bin:/usr/sbin |
+ |
+-error=0 |
+- |
+-if [ "x$PREFIX" = "x" ]; then |
+- echo 'PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$VAR_PREFIX" = "x" ]; then |
+- echo 'VAR_PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_USER" = "x" ]; then |
+- echo 'RO_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_GROUP" = "x" ]; then |
+- echo 'RO_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_USER" = "x" ]; then |
+- echo 'RW_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_GROUP" = "x" ]; then |
+- echo 'RW_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PUBLIC_DIR" = "x" ]; then |
+- echo 'PUBLIC_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PRIVATE_DIR" = "x" ]; then |
+- echo 'PRIVATE_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$BIN_DIR" = "x" ]; then |
+- echo 'BIN_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ $error != 0 ]; then |
+- exit 1 |
+-fi |
+- |
+-if [ ! -d ${VAR_PREFIX} -a `whoami` = "root" ]; then |
+- ${INSTALL} -d -o ${RW_USER} -g ${RW_GROUP} -m ${PRIVATE_DIR} ${VAR_PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/etc ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX}/etc |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/certs ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PRIVATE_DIR} ${PREFIX}/certs |
+-fi |
+- |
+-if [ ! -d ${BIN_DIR} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BIN_DIR} |
+-fi |
+- |
+ for i in icons |
+ do |
+ if [ -d "${PREFIX}/${i}" ]; then |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -428,10 +428,10 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++lock_dir = "/var/lock" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+@@ -439,7 +439,7 @@ socket_dir = "$var_prefix/socke |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+-socket_split_dir = TRUE |
++socket_split_dir = FALSE |
+ |
+ # Name of Unix domain socket (in $socket_dir) used for initial handshake |
+ # between prayer and prayer-session processes when a user logs in |
+@@ -450,10 +450,10 @@ ssl_session_dir = "$var_prefix/ssl_s |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "$var_prefix" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -621,7 +621,7 @@ sent_mail_folder = "sent-mail" |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
Index: tags/1.2.0-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.2.0-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.2.0-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.2.0-1/debian/changelog |
=================================================================== |
--- tags/1.2.0-1/debian/changelog (nonexistent) |
+++ tags/1.2.0-1/debian/changelog (revision 180) |
@@ -0,0 +1,76 @@ |
+prayer (1.2.0-1) unstable; urgency=low |
+ |
+ * New upstream release featuring a major code reorganisation and a new |
+ template system. |
+ - Drop obsolete folder_list_cosmetics.patch and includes.patch. |
+ - Note: SSL support has been removed from prayer-accountd for now. |
+ * Changed defaults (manual intervention may be needed): |
+ - Let prayer-accountd.pid reside in /var/run; letting the two packages |
+ share /var/run/prayer caused too much trouble. |
+ - prayer.cf (makefile_install_config.patch and debian/Config): |
+ var_prefix set to /var/run/prayer and referred to in other |
+ settings. socket_split_dir disabled by default and default sockets |
+ directory changed to /var/run/prayer/sockets. |
+ * debian/control: |
+ + Build-depend on latest Berkley DB library (libdb-dev). |
+ + Add Homepage field. |
+ * repair_ssl_session_db_on_version_mismatch.patch: Recreate session DB |
+ environment when upgrading from a version of Prayer that used an older |
+ BDB library. |
+ * prayer.postinst: Set HOME of prayer user to /var/run/prayer. |
+ * prayer.postrm: Simply remove /var/run/prayer (since accountd doesn't use it) |
+ on remove or disappear and correctly remove statoverrides (Closes: #483176). |
+ Also check that deluser exists; it may be gone at purge time. |
+ * Package build details: |
+ - Reduce makefile_install_config.patch by not changing BROOT into DESTDIR. |
+ - Override CDBS overriding CFLAGS. |
+ * debian/patches/accountd_makefile_typo.patch: Fix typo that caused PAM |
+ not to be used. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Sat, 31 May 2008 19:28:21 +0200 |
+ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.2.0-1/debian/Config |
=================================================================== |
--- tags/1.2.0-1/debian/Config (nonexistent) |
+++ tags/1.2.0-1/debian/Config (revision 180) |
@@ -0,0 +1,153 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.12 2008/05/21 13:25:13 dpc22 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = false # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC (use CPPFLAGS and LDFLAGS if passed in) |
+ifdef CPPFLAGS |
+ BASECFLAGS = $(CPPFLAGS) |
+else |
+ BASECFLAGS = -Wall -g -O2 |
+endif |
+ifdef INCLUDES |
+ BASECFLAGS += $(INCLUDES) |
+endif |
+ifdef LDFLAGS |
+ BASELDFLAGS = $(LDFLAGS) |
+else |
+ BASELDFLAGS = -g |
+endif |
+ |
+# Minimal libraries needed by Linux |
+BASE_LIBS = -lcrypt |
+# FreeBSD needs some extra libraries: |
+# BASE_LIBS = -lcrypt -liconv -lutil |
+# Solaris needs even more libararies: |
+# BASE_LIBS = -lcrypt -lxnet -lnsl -lsocket |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = -DLDAP_DEPRECATED |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/run/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.2.0-1/debian/copyright |
=================================================================== |
--- tags/1.2.0-1/debian/copyright (nonexistent) |
+++ tags/1.2.0-1/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.2.0-1/debian/prayer.docs |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.docs (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/TEMPLATES |
Index: tags/1.2.0-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,53 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ ;; |
+ |
+ remove|disappear) |
+ rm -rf /var/run/prayer |
+ ;; |
+ |
+ purge) |
+ rm -rf /var/log/prayer |
+ if dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/log/prayer |
+ fi |
+ if dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1; then |
+ dpkg-statoverride --remove /var/run/prayer |
+ fi |
+ if [ -x /usr/sbin/deluser ]; then |
+ deluser --system --quiet prayer || true |
+ fi |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.2.0-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,49 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home --home /var/run/prayer prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.2.0-1/debian/control |
=================================================================== |
--- tags/1.2.0-1/debian/control (nonexistent) |
+++ tags/1.2.0-1/debian/control (revision 180) |
@@ -0,0 +1,53 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007-dev, libldap2-dev, |
+ zlib1g-dev, libssl-dev (>= 0.9.6), libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+Homepage: http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.2.0-1/debian/rules |
=================================================================== |
--- tags/1.2.0-1/debian/rules (nonexistent) |
+++ tags/1.2.0-1/debian/rules (revision 180) |
@@ -0,0 +1,17 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) $(MAKE) |
+DEB_MAKE_INSTALL_TARGET = install BROOT=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
/tags/1.2.0-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.2.0-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.2.0-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.2.0-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,71 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer-accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.0-1/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.2.0-1/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.2.0-1/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.0-1/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.2.0-1/debian/README.Debian |
=================================================================== |
--- tags/1.2.0-1/debian/README.Debian (nonexistent) |
+++ tags/1.2.0-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,31 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.3, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to default configuration regarding directory structure, and minor |
+cosmetic changes to the folder list. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 13 May 2008 22:27:11 +0200 |
+ |
Index: tags/1.2.0-1/debian/compat |
=================================================================== |
--- tags/1.2.0-1/debian/compat (nonexistent) |
+++ tags/1.2.0-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.2.0-1/debian/prayer.default |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.default (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.2.0-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.2.0-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.2.0-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.2.0-1/debian/prayer-session.8.dbk |
=================================================================== |
--- tags/1.2.0-1/debian/prayer-session.8.dbk (nonexistent) |
+++ tags/1.2.0-1/debian/prayer-session.8.dbk (revision 180) |
@@ -0,0 +1,158 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer-session"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>...</cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> command.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--debug</option> |
+ </term> |
+ <listitem> |
+ <para>Enable debugging.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.2.0-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.2.0-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,2 @@ |
+var/run/prayer |
+var/log/prayer |
Index: tags/1.2.0-1/debian/prayer.init |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.init (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,89 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.2.0-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.2.0-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.2.0-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.2.0-1/debian/watch |
=================================================================== |
--- tags/1.2.0-1/debian/watch (nonexistent) |
+++ tags/1.2.0-1/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.2.0-1/debian/prayer.8.dbk |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.8.dbk (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.8.dbk (revision 180) |
@@ -0,0 +1,178 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>... -- <arg><option><replaceable>PRAYER-SESSION-OPTION</replaceable></option></arg> ... |
+ </cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> and <command>bar</command> |
+ commands.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page. |
+ Instead, it has documentation in the &gnu; |
+ <application>Info</application> format; see below.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-prefork</option> |
+ </term> |
+ <listitem> |
+ <para>Run as simple fork()/exec() daemon.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-session</option> |
+ </term> |
+ <listitem> |
+ <para>Don't start up prayer-session server.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--</option> |
+ </term> |
+ <listitem> |
+ <para>End of prayer options: remaining options will be passed to prayer-session server process.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer-session(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.2.0-1/debian/prayer.install |
=================================================================== |
--- tags/1.2.0-1/debian/prayer.install (nonexistent) |
+++ tags/1.2.0-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,10 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-chroot |
+usr/sbin/prayer-db-prune |
+usr/sbin/prayer-sem-prune |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
+etc/prayer/motd.html |
+etc/prayer/welcome.html |
Index: tags/1.2.0-1/debian |
=================================================================== |
--- tags/1.2.0-1/debian (nonexistent) |
+++ tags/1.2.0-1/debian (revision 180) |
/tags/1.2.0-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.1.0-2/debian/control |
=================================================================== |
--- tags/1.1.0-2/debian/control (nonexistent) |
+++ tags/1.1.0-2/debian/control (revision 180) |
@@ -0,0 +1,52 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs, debhelper (>= 5), quilt, |
+ libc-client2007-dev, libldap2-dev, |
+ zlib1g-dev, libssl-dev (>= 0.9.6), libdb4.3-dev | libdb-dev, |
+Standards-Version: 3.7.3 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.1.0-2/debian/changelog |
=================================================================== |
--- tags/1.1.0-2/debian/changelog (nonexistent) |
+++ tags/1.1.0-2/debian/changelog (revision 180) |
@@ -0,0 +1,45 @@ |
+prayer (1.1.0-2) unstable; urgency=low |
+ |
+ * Define LDAP_DEPRECATED so that the deprecated LDAP interfaces can be |
+ used. |
+ * makefile_install_config.patch: Modify prayer/Makefile so that the |
+ above definition isn't lost if CFLAGS is overridden. |
+ * Improve prayer.postrm to clean /var/run/prayer on removal and |
+ disappearence. |
+ * Use dpkg-override to allow the administrator to change mode of |
+ /var/run/prayer and /var/log/prayer. |
+ * Add postinst and postrm scripts for prayer-accountd. |
+ * makefile_install_config.patch: Set authtype = pam in accountd.cf so |
+ that accountd will start. |
+ * Bump Standards-Version to 3.7.3. No changes necessary. |
+ * Override Lintian warnings about GPL code linked with OpenSSL. Special |
+ exception has been granted. |
+ * Don't require cdbs 0.4.27-1. Oldstable has 0.4.28-1. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Thu, 15 May 2008 22:47:14 +0200 |
+ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.1.0-2/debian/prayer-accountd.lintian-overrides |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-accountd.lintian-overrides (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-accountd.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer-accountd: possible-gpl-code-linked-with-openssl |
Index: tags/1.1.0-2/debian/prayer.lintian-overrides |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.lintian-overrides (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.lintian-overrides (revision 180) |
@@ -0,0 +1 @@ |
+prayer: possible-gpl-code-linked-with-openssl |
Index: tags/1.1.0-2/debian/prayer.postrm |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.postrm (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,49 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ purge) |
+ deluser --system --quiet prayer || true |
+ rm -rf /var/log/prayer |
+ dpkg-statoverride --remove /var/log/prayer |
+ [ -e /var/run/prayer/ ] || dpkg-statoverride --remove /var/run/prayer |
+ ;; |
+ |
+ remove|disappear) |
+ find /var/run/prayer/ -mindepth 1 \( -type s -o -name ssl_scache -o -empty \) -delete |
+ |
+ ;; |
+ |
+ upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.1.0-2/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.1.0-2/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.1.0-2/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,253 @@ |
+--- a/files/etc/prayer-accountd.cf |
++++ b/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,10 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
++authtype = pam |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- a/files/Makefile |
++++ b/files/Makefile |
+@@ -53,41 +53,44 @@ distclean: |
+ install-cert: |
+ if [ -f certs/prayer.pem ]; then \ |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) \ |
+- -m $(PRIVATE_FILE) certs/prayer.pem ${BROOT}${PREFIX}/certs; \ |
++ -m $(PRIVATE_FILE) certs/prayer.pem ${DESTDIR}${PREFIX}/certs; \ |
+ fi |
+ |
+ install-config: etc/prayer.cf |
+ $(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/prayer.cf ${BROOT}${PRAYER_CONFIG_FILE} |
++ etc/prayer.cf ${DESTDIR}${PRAYER_CONFIG_FILE} |
+ |
+ install-aconfig: |
+ $(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/prayer-accountd.cf ${BROOT}${ACCOUNTD_CONFIG_FILE} |
++ etc/prayer-accountd.cf ${DESTDIR}${ACCOUNTD_CONFIG_FILE} |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${DESTDIR}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${DESTDIR}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${DESTDIR}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${DESTDIR}/etc/prayer |
++ |
++ PREFIX=$(DESTDIR)$(PREFIX) VAR_PREFIX=$(DESTDIR)$(VAR_PREFIX) \ |
+ RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+ RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+ PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+ PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+ PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
++ BIN_DIR=$(DESTDIR)$(BIN_DIR) INSTALL=$(INSTALL) \ |
+ ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
+- if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+- if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++# if [ ! -f $(DESTDIR)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ if [ ! -f $(DESTDIR)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
++ if [ ! -f $(DESTDIR)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
++ if [ ! -f $(DESTDIR)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(DESTDIR)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+- ./init.d/prayer $(BROOT)/etc/rc.d/init.d/prayer |
++ ./init.d/prayer $(DESTDIR)/etc/rc.d/init.d/prayer |
+ #chkconfig prayer --level 2345 on |
+--- a/files/install.sh |
++++ b/files/install.sh |
+@@ -4,77 +4,6 @@ |
+ |
+ PATH=/bin:/sbin/:/usr/bin:/usr/sbin |
+ |
+-error=0 |
+- |
+-if [ "x$PREFIX" = "x" ]; then |
+- echo 'PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$VAR_PREFIX" = "x" ]; then |
+- echo 'VAR_PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_USER" = "x" ]; then |
+- echo 'RO_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_GROUP" = "x" ]; then |
+- echo 'RO_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_USER" = "x" ]; then |
+- echo 'RW_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_GROUP" = "x" ]; then |
+- echo 'RW_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PUBLIC_DIR" = "x" ]; then |
+- echo 'PUBLIC_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PRIVATE_DIR" = "x" ]; then |
+- echo 'PRIVATE_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$BIN_DIR" = "x" ]; then |
+- echo 'BIN_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ $error != 0 ]; then |
+- exit 1 |
+-fi |
+- |
+-if [ ! -d ${VAR_PREFIX} -a `whoami` = "root" ]; then |
+- ${INSTALL} -d -o ${RW_USER} -g ${RW_GROUP} -m ${PRIVATE_DIR} ${VAR_PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/etc ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX}/etc |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/certs ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PRIVATE_DIR} ${PREFIX}/certs |
+-fi |
+- |
+-if [ ! -d ${BIN_DIR} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BIN_DIR} |
+-fi |
+- |
+ for i in help icons |
+ do |
+ if [ -d "${PREFIX}/${i}" ]; then |
+--- a/files/etc/prayer.cf.SRC |
++++ b/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -428,14 +428,14 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++lock_dir = "/var/lock" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+-socket_dir = "$var_prefix/sockets" |
++socket_dir = "/var/run/prayer" |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+@@ -446,14 +446,14 @@ socket_split_dir = TRUE |
+ init_socket_name = init |
+ |
+ # $ssl_session_dir is location for SSL session cache |
+-ssl_session_dir = "$var_prefix/ssl_scache" |
++ssl_session_dir = "/var/run/prayer/ssl_scache" |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "/var/run/prayer" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -614,7 +614,7 @@ sent_mail_folder = "sent-mail" |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- a/prayer/Makefile |
++++ b/prayer/Makefile |
+@@ -102,8 +102,9 @@ ifeq ($(strip $(CCLIENT_KERB_ENABLE)), t |
+ SESSION_LIBS += $(KERB_LIBS) |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) $(COMMON_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = |
++override CFLAGS += $(BASECFLAGS) $(COMMON_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
++LDFLAGS = $(BASELDFLAGS) -Wl,--as-needed |
+ |
+ SHARED_OBJS = \ |
+ pool.o list.o assoc.o memblock.o buffer.o string.o config.o user_agent.o \ |
+@@ -175,21 +176,21 @@ clean: |
+ |
+ install: all |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
+- $(BROOT)$(BIN_DIR) |
++ $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer $(BROOT)$(BIN_DIR) |
++ prayer $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-chroot $(BROOT)$(BIN_DIR) |
++ prayer-chroot $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-session $(BROOT)$(BIN_DIR) |
++ prayer-session $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-ssl-prune $(BROOT)$(BIN_DIR) |
++ prayer-ssl-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-sem-prune $(BROOT)$(BIN_DIR) |
++ prayer-sem-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-db-prune $(BROOT)$(BIN_DIR) |
++ prayer-db-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-cyclog $(BROOT)$(BIN_DIR) |
++ prayer-cyclog $(DESTDIR)$(BIN_DIR) |
+ |
+ prayer: $(PRAYER_OBJS) prayer_main.o |
+ $(CC) $(LDFLAGS) -o prayer $(PRAYER_OBJS) prayer_main.o $(PRAYER_LIBS) |
Index: tags/1.1.0-2/debian/patches/series |
=================================================================== |
--- tags/1.1.0-2/debian/patches/series (nonexistent) |
+++ tags/1.1.0-2/debian/patches/series (revision 180) |
@@ -0,0 +1,3 @@ |
+folder_list_cosmetics.patch |
+includes.patch |
+makefile_install_config.patch |
Index: tags/1.1.0-2/debian/patches/folder_list_cosmetics.patch |
=================================================================== |
--- tags/1.1.0-2/debian/patches/folder_list_cosmetics.patch (nonexistent) |
+++ tags/1.1.0-2/debian/patches/folder_list_cosmetics.patch (revision 180) |
@@ -0,0 +1,30 @@ |
+--- a/prayer/cmd_folders.c |
++++ b/prayer/cmd_folders.c |
+@@ -45,10 +45,10 @@ generate_folder_line(struct session *ses |
+ html_session_bprintf(session, b, "<a href=\"", "\">", |
+ "folders/toggle/%s", name); |
+ if (fi->expanded) |
+- html_icon(session, b, "down.gif", "[Collapse]"); |
++ html_icon(session, b, "down.gif", "[-] "); |
+ else |
+- html_icon(session, b, "right.gif", "[Expand]"); |
+- bputs(b, "</a> "); |
++ html_icon(session, b, "right.gif", "[+] "); |
++ bputs(b, "</a>"); |
+ } else |
+ html_icon(session, b, "blank.gif", " "); |
+ |
+--- a/prayer/cmd_favourites.c |
++++ b/prayer/cmd_favourites.c |
+@@ -77,9 +77,9 @@ generate_folder_line(struct session *ses |
+ html_session_bprintf(session, b, "<a href=\"", "\">", |
+ "favourites/toggle/%s", name); |
+ if (fi->expanded) |
+- html_icon(session, b, "down.gif", "[Collapse]"); |
++ html_icon(session, b, "down.gif", "[-] "); |
+ else |
+- html_icon(session, b, "right.gif", "[Expand]"); |
++ html_icon(session, b, "right.gif", "[+] "); |
+ bputs(b, "</a>"); |
+ } else |
+ html_icon(session, b, "blank.gif", " "); |
Index: tags/1.1.0-2/debian/patches/includes.patch |
=================================================================== |
--- tags/1.1.0-2/debian/patches/includes.patch (nonexistent) |
+++ tags/1.1.0-2/debian/patches/includes.patch (revision 180) |
@@ -0,0 +1,22 @@ |
+--- prayer-1.1.0.orig/prayer/prayer_session.h |
++++ prayer-1.1.0/prayer/prayer_session.h |
+@@ -27,7 +27,7 @@ |
+ |
+ extern int errno; /* just in case */ |
+ |
+-#include "c-client.h" |
++#include <c-client.h> |
+ |
+ #define PRAYER_FULL_HDRS |
+ #include "prayer_shared.h" |
+--- prayer-1.1.0.orig/prayer/cdb.c |
++++ prayer-1.1.0/prayer/cdb.c |
+@@ -63,7 +63,7 @@ |
+ #include <unistd.h> |
+ #include <sys/stat.h> |
+ |
+-#include "mail.h" |
++#include "common.h" |
+ #include "cdb.h" |
+ |
+ #define CDB_HASH_SPLIT 256 /* num pieces the hash table is split into */ |
Index: tags/1.1.0-2/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.1.0-2/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.1.0-2/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.1.0-2/debian/prayer-accountd.postinst |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-accountd.postinst (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-accountd.postinst (revision 180) |
@@ -0,0 +1,44 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.1.0-2/debian/prayer-accountd.postrm |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-accountd.postrm (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-accountd.postrm (revision 180) |
@@ -0,0 +1,41 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ purge) |
+ [ -e /var/run/prayer/ ] || dpkg-statoverride --remove /var/run/prayer |
+ ;; |
+ |
+ remove|disappear|upgrade|abort-install|failed-upgrade|abort-upgrade) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.1.0-2/debian/prayer.postinst |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.postinst (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,49 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home prayer |
+ |
+ dpkg-statoverride --list /var/run/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer root 2750 /var/run/prayer |
+ |
+ dpkg-statoverride --list /var/log/prayer >/dev/null 2>&1 \ |
+ || dpkg-statoverride --update --add prayer adm 2750 /var/log/prayer |
+ |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.1.0-2/debian/Config |
=================================================================== |
--- tags/1.1.0-2/debian/Config (nonexistent) |
+++ tags/1.1.0-2/debian/Config (revision 180) |
@@ -0,0 +1,160 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.5 2006/04/05 12:35:35 fanf2 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+DIRECT_ENABLE = false # Experimental. Leave this switched off... |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = true # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC. |
+#BASECFLAGS = -Wall -g |
+#BASELDFLAGS = -g |
+CFLAGS = -Wall -g -O2 |
+LDFLAGS = -g -O2 |
+BASE_LIBS = -lcrypt |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+#BASE_LIBS = -lcrypt -lxnet |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+# |
+# Following works if we have a vanilla c-client installation at same level |
+# as the prayer installation. Relies on a symbolic link ./prayer/c-client |
+# which points to ../../imap/c-client. This just reduces the amount of |
+# noise output on each line when building the package. |
+# |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# |
+# Following works with the mail/cclient port from FreeBSD |
+# |
+#CCLIENT_INCLUDE = -I/usr/local/include/c-client |
+#CCLIENT_LIBS = -L/usr/local/lib -lc-client4 |
+# |
+# Complication: |
+# The FreeBSD port uses PAM and optionally SSL if built WITH_SSL=yes. |
+# |
+#CCLIENT_SSL_ENABLE = true |
+#CCLIENT_KERB_ENABLE = true |
+ |
+############################################################################ |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = -DLDAP_DEPRECATED |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/lib/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.1.0-2/debian/copyright |
=================================================================== |
--- tags/1.1.0-2/debian/copyright (nonexistent) |
+++ tags/1.1.0-2/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.1.0-2/debian/README.Debian |
=================================================================== |
--- tags/1.1.0-2/debian/README.Debian (nonexistent) |
+++ tags/1.1.0-2/debian/README.Debian (revision 180) |
@@ -0,0 +1,31 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.3, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to default configuration regarding directory structure, and minor |
+cosmetic changes to the folder list. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 13 May 2008 22:27:11 +0200 |
+ |
Index: tags/1.1.0-2/debian/compat |
=================================================================== |
--- tags/1.1.0-2/debian/compat (nonexistent) |
+++ tags/1.1.0-2/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.1.0-2/debian/prayer.default |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.default (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.1.0-2/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.1.0-2/debian/prayer-session.8.dbk |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-session.8.dbk (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-session.8.dbk (revision 180) |
@@ -0,0 +1,158 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer-session"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>...</cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> command.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--debug</option> |
+ </term> |
+ <listitem> |
+ <para>Enable debugging.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.1.0-2/debian/prayer.docs |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.docs (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/URL_OPTIONS |
Index: tags/1.1.0-2/debian/rules |
=================================================================== |
--- tags/1.1.0-2/debian/rules (nonexistent) |
+++ tags/1.1.0-2/debian/rules (revision 180) |
@@ -0,0 +1,24 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+DEB_AUTO_CLEANUP_RCS := yes |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+#DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) make |
+DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_ALL = -XCVS |
+DEB_DH_INSTALL_ARGS = -XCVS |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+ |
+clean:: |
+ rm -f Config |
/tags/1.1.0-2/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.1.0-2/debian/prayer-accountd.dirs |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-accountd.dirs (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-accountd.dirs (revision 180) |
@@ -0,0 +1 @@ |
+/var/run/prayer |
Index: tags/1.1.0-2/debian/prayer.logrotate |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.logrotate (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.1.0-2/debian/prayer.dirs |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.dirs (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,2 @@ |
+var/run/prayer |
+var/log/prayer |
Index: tags/1.1.0-2/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,71 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer/accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.1.0-2/debian/prayer.init |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.init (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.init (revision 180) |
@@ -0,0 +1,89 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.1.0-2/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.1.0-2/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.1.0-2/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.1.0-2/debian/watch |
=================================================================== |
--- tags/1.1.0-2/debian/watch (nonexistent) |
+++ tags/1.1.0-2/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.1.0-2/debian/prayer.8.dbk |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.8.dbk (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.8.dbk (revision 180) |
@@ -0,0 +1,178 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>... -- <arg><option><replaceable>PRAYER-SESSION-OPTION</replaceable></option></arg> ... |
+ </cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> and <command>bar</command> |
+ commands.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page. |
+ Instead, it has documentation in the &gnu; |
+ <application>Info</application> format; see below.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-prefork</option> |
+ </term> |
+ <listitem> |
+ <para>Run as simple fork()/exec() daemon.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-session</option> |
+ </term> |
+ <listitem> |
+ <para>Don't start up prayer-session server.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--</option> |
+ </term> |
+ <listitem> |
+ <para>End of prayer options: remaining options will be passed to prayer-session server process.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer-session(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.1.0-2/debian/prayer.install |
=================================================================== |
--- tags/1.1.0-2/debian/prayer.install (nonexistent) |
+++ tags/1.1.0-2/debian/prayer.install (revision 180) |
@@ -0,0 +1,10 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-chroot |
+usr/sbin/prayer-db-prune |
+usr/sbin/prayer-sem-prune |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
+etc/prayer/motd.html |
+etc/prayer/welcome.html |
Index: tags/1.1.0-2/debian |
=================================================================== |
--- tags/1.1.0-2/debian (nonexistent) |
+++ tags/1.1.0-2/debian (revision 180) |
/tags/1.1.0-2/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.1.0-1/debian/copyright |
=================================================================== |
--- tags/1.1.0-1/debian/copyright (nonexistent) |
+++ tags/1.1.0-1/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is © 2006-2008 Magnus Holmgren <holmgren@debian.org> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.1.0-1/debian/patches/series |
=================================================================== |
--- tags/1.1.0-1/debian/patches/series (nonexistent) |
+++ tags/1.1.0-1/debian/patches/series (revision 180) |
@@ -0,0 +1,3 @@ |
+folder_list_cosmetics.patch |
+includes.patch |
+makefile_install_config.patch |
Index: tags/1.1.0-1/debian/patches/folder_list_cosmetics.patch |
=================================================================== |
--- tags/1.1.0-1/debian/patches/folder_list_cosmetics.patch (nonexistent) |
+++ tags/1.1.0-1/debian/patches/folder_list_cosmetics.patch (revision 180) |
@@ -0,0 +1,30 @@ |
+--- a/prayer/cmd_folders.c |
++++ b/prayer/cmd_folders.c |
+@@ -45,10 +45,10 @@ generate_folder_line(struct session *ses |
+ html_session_bprintf(session, b, "<a href=\"", "\">", |
+ "folders/toggle/%s", name); |
+ if (fi->expanded) |
+- html_icon(session, b, "down.gif", "[Collapse]"); |
++ html_icon(session, b, "down.gif", "[-] "); |
+ else |
+- html_icon(session, b, "right.gif", "[Expand]"); |
+- bputs(b, "</a> "); |
++ html_icon(session, b, "right.gif", "[+] "); |
++ bputs(b, "</a>"); |
+ } else |
+ html_icon(session, b, "blank.gif", " "); |
+ |
+--- a/prayer/cmd_favourites.c |
++++ b/prayer/cmd_favourites.c |
+@@ -77,9 +77,9 @@ generate_folder_line(struct session *ses |
+ html_session_bprintf(session, b, "<a href=\"", "\">", |
+ "favourites/toggle/%s", name); |
+ if (fi->expanded) |
+- html_icon(session, b, "down.gif", "[Collapse]"); |
++ html_icon(session, b, "down.gif", "[-] "); |
+ else |
+- html_icon(session, b, "right.gif", "[Expand]"); |
++ html_icon(session, b, "right.gif", "[+] "); |
+ bputs(b, "</a>"); |
+ } else |
+ html_icon(session, b, "blank.gif", " "); |
Index: tags/1.1.0-1/debian/patches/includes.patch |
=================================================================== |
--- tags/1.1.0-1/debian/patches/includes.patch (nonexistent) |
+++ tags/1.1.0-1/debian/patches/includes.patch (revision 180) |
@@ -0,0 +1,22 @@ |
+--- prayer-1.1.0.orig/prayer/prayer_session.h |
++++ prayer-1.1.0/prayer/prayer_session.h |
+@@ -27,7 +27,7 @@ |
+ |
+ extern int errno; /* just in case */ |
+ |
+-#include "c-client.h" |
++#include <c-client.h> |
+ |
+ #define PRAYER_FULL_HDRS |
+ #include "prayer_shared.h" |
+--- prayer-1.1.0.orig/prayer/cdb.c |
++++ prayer-1.1.0/prayer/cdb.c |
+@@ -63,7 +63,7 @@ |
+ #include <unistd.h> |
+ #include <sys/stat.h> |
+ |
+-#include "mail.h" |
++#include "common.h" |
+ #include "cdb.h" |
+ |
+ #define CDB_HASH_SPLIT 256 /* num pieces the hash table is split into */ |
Index: tags/1.1.0-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.1.0-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.1.0-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,251 @@ |
+--- prayer-1.1.0.orig/files/etc/prayer-accountd.cf |
++++ prayer-1.1.0/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,8 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- prayer-1.1.0.orig/files/Makefile |
++++ prayer-1.1.0/files/Makefile |
+@@ -53,41 +53,44 @@ distclean: |
+ install-cert: |
+ if [ -f certs/prayer.pem ]; then \ |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) \ |
+- -m $(PRIVATE_FILE) certs/prayer.pem ${BROOT}${PREFIX}/certs; \ |
++ -m $(PRIVATE_FILE) certs/prayer.pem ${DESTDIR}${PREFIX}/certs; \ |
+ fi |
+ |
+ install-config: etc/prayer.cf |
+ $(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/prayer.cf ${BROOT}${PRAYER_CONFIG_FILE} |
++ etc/prayer.cf ${DESTDIR}${PRAYER_CONFIG_FILE} |
+ |
+ install-aconfig: |
+ $(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/prayer-accountd.cf ${BROOT}${ACCOUNTD_CONFIG_FILE} |
++ etc/prayer-accountd.cf ${DESTDIR}${ACCOUNTD_CONFIG_FILE} |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${DESTDIR}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${DESTDIR}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${DESTDIR}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${DESTDIR}/etc/prayer |
++ |
++ PREFIX=$(DESTDIR)$(PREFIX) VAR_PREFIX=$(DESTDIR)$(VAR_PREFIX) \ |
+ RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+ RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+ PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+ PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+ PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
++ BIN_DIR=$(DESTDIR)$(BIN_DIR) INSTALL=$(INSTALL) \ |
+ ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
+- if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+- if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++# if [ ! -f $(DESTDIR)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ if [ ! -f $(DESTDIR)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
++ if [ ! -f $(DESTDIR)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
++ if [ ! -f $(DESTDIR)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(DESTDIR)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+- ./init.d/prayer $(BROOT)/etc/rc.d/init.d/prayer |
++ ./init.d/prayer $(DESTDIR)/etc/rc.d/init.d/prayer |
+ #chkconfig prayer --level 2345 on |
+--- prayer-1.1.0.orig/files/install.sh |
++++ prayer-1.1.0/files/install.sh |
+@@ -4,77 +4,6 @@ |
+ |
+ PATH=/bin:/sbin/:/usr/bin:/usr/sbin |
+ |
+-error=0 |
+- |
+-if [ "x$PREFIX" = "x" ]; then |
+- echo 'PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$VAR_PREFIX" = "x" ]; then |
+- echo 'VAR_PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_USER" = "x" ]; then |
+- echo 'RO_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_GROUP" = "x" ]; then |
+- echo 'RO_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_USER" = "x" ]; then |
+- echo 'RW_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_GROUP" = "x" ]; then |
+- echo 'RW_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PUBLIC_DIR" = "x" ]; then |
+- echo 'PUBLIC_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PRIVATE_DIR" = "x" ]; then |
+- echo 'PRIVATE_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$BIN_DIR" = "x" ]; then |
+- echo 'BIN_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ $error != 0 ]; then |
+- exit 1 |
+-fi |
+- |
+-if [ ! -d ${VAR_PREFIX} -a `whoami` = "root" ]; then |
+- ${INSTALL} -d -o ${RW_USER} -g ${RW_GROUP} -m ${PRIVATE_DIR} ${VAR_PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/etc ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX}/etc |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/certs ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PRIVATE_DIR} ${PREFIX}/certs |
+-fi |
+- |
+-if [ ! -d ${BIN_DIR} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BIN_DIR} |
+-fi |
+- |
+ for i in help icons |
+ do |
+ if [ -d "${PREFIX}/${i}" ]; then |
+--- prayer-1.1.0.orig/files/etc/prayer.cf.SRC |
++++ prayer-1.1.0/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ var_prefix = "__VAR_PREFIX__" |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -428,14 +428,14 @@ bin_dir = "__BIN_DIR__" |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++lock_dir = "/var/lock" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+-socket_dir = "$var_prefix/sockets" |
++socket_dir = "/var/run/prayer" |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+@@ -446,14 +446,14 @@ socket_split_dir = TRUE |
+ init_socket_name = init |
+ |
+ # $ssl_session_dir is location for SSL session cache |
+-ssl_session_dir = "$var_prefix/ssl_scache" |
++ssl_session_dir = "/var/run/prayer/ssl_scache" |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "/var/run/prayer" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -614,7 +614,7 @@ sent_mail_folder = "sent-mail" |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- prayer-1.1.0.orig/prayer/Makefile |
++++ prayer-1.1.0/prayer/Makefile |
+@@ -102,8 +102,9 @@ ifeq ($(strip $(CCLIENT_KERB_ENABLE)), t |
+ SESSION_LIBS += $(KERB_LIBS) |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) $(COMMON_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) |
++override CFLAGS += $(COMMON_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
++LDFLAGS = $(BASELDFLAGS) -Wl,--as-needed |
+ |
+ SHARED_OBJS = \ |
+ pool.o list.o assoc.o memblock.o buffer.o string.o config.o user_agent.o \ |
+@@ -175,21 +176,21 @@ clean: |
+ |
+ install: all |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
+- $(BROOT)$(BIN_DIR) |
++ $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer $(BROOT)$(BIN_DIR) |
++ prayer $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-chroot $(BROOT)$(BIN_DIR) |
++ prayer-chroot $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-session $(BROOT)$(BIN_DIR) |
++ prayer-session $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-ssl-prune $(BROOT)$(BIN_DIR) |
++ prayer-ssl-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-sem-prune $(BROOT)$(BIN_DIR) |
++ prayer-sem-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-db-prune $(BROOT)$(BIN_DIR) |
++ prayer-db-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-cyclog $(BROOT)$(BIN_DIR) |
++ prayer-cyclog $(DESTDIR)$(BIN_DIR) |
+ |
+ prayer: $(PRAYER_OBJS) prayer_main.o |
+ $(CC) $(LDFLAGS) -o prayer $(PRAYER_OBJS) prayer_main.o $(PRAYER_LIBS) |
Index: tags/1.1.0-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.1.0-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.1.0-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.1.0-1/debian/changelog |
=================================================================== |
--- tags/1.1.0-1/debian/changelog (nonexistent) |
+++ tags/1.1.0-1/debian/changelog (revision 180) |
@@ -0,0 +1,25 @@ |
+prayer (1.1.0-1) unstable; urgency=low |
+ |
+ * First upload to unstable. |
+ * New upstream release. |
+ + Requires development version of the c-client library (libc-client2007-dev). |
+ - Drop pidfiles_extension.patch, session_unix_bugs.patch, |
+ session_server_bugs.patch; all incorporated upstream. |
+ - Drop ipv6.patch; incorporated upstream. |
+ - Drop utf8.patch; incorporated and improved upstream. |
+ - Drop hasnochildren_means_noinferiors.patch since upstream now |
+ handles dual-use mailboxes. |
+ * New maintainer email address. |
+ * Update README.Debian, removing lies about TLS not being possible to |
+ disable (Closes: #440462). |
+ * folder_list_cosmetics.patch: Remove space between expand/collapse |
+ arrow and folder icon in the folder list and change the alt texts so |
+ that the tree looks nicer in text browsers. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org> Tue, 13 May 2008 22:31:36 +0200 |
+ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.1.0-1/debian/README.Debian |
=================================================================== |
--- tags/1.1.0-1/debian/README.Debian (nonexistent) |
+++ tags/1.1.0-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,31 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.3, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. The previous version, which was only uloaded to the |
+experimental distribution, was heavily patched to add UTF-8 and IPv6 |
+support among other things. All that has been incorporated and |
+improved by upstream in 1.1.0. The remaining patches concern changes |
+to default configuration regarding directory structure, and minor |
+cosmetic changes to the folder list. |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically. To |
+ disable, append "/notls" to the IMAP server name(s) specified with |
+ imapd_server. To force TLS, append "/tls". Make sure that the |
+ server name you specify for imapd_server in prayer.cf matches the |
+ Common Name in the SSL certificate; otherwise libc-client will |
+ refuse to accept it. To disable that check, use "/novalidate-cert". |
+ Other switches you can append are listed in the file naming.txt.gz |
+ in the documentation directory of the C-client library. |
+ |
+ * If your IMAP server is Dovecot (or any of a number of others, |
+ probably), then you must change prefs_folder_name to something not |
+ containing a dot. Unfortunately this means that the preference |
+ folder will be fully visible. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Tue, 13 May 2008 22:27:11 +0200 |
+ |
Index: tags/1.1.0-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,45 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --no-create-home prayer |
+ chown prayer:root /var/run/prayer |
+ chown prayer:adm /var/log/prayer |
+ chmod 2750 /var/run/prayer /var/log/prayer |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.1.0-1/debian/control |
=================================================================== |
--- tags/1.1.0-1/debian/control (nonexistent) |
+++ tags/1.1.0-1/debian/control (revision 180) |
@@ -0,0 +1,52 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <holmgren@debian.org> |
+Build-Depends: cdbs (>= 0.4.27-1), debhelper (>= 5), quilt, |
+ libc-client2007-dev, libldap2-dev, |
+ zlib1g-dev, libssl-dev (>= 0.9.6), libdb4.3-dev | libdb-dev, |
+Standards-Version: 3.7.2 |
+Vcs-Svn: svn://svn.kibibyte.se/prayer/trunk |
+Vcs-Browser: http://svn.kibibyte.se/prayer |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.1.0-1/debian/compat |
=================================================================== |
--- tags/1.1.0-1/debian/compat (nonexistent) |
+++ tags/1.1.0-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.1.0-1/debian/prayer.default |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.default (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.1.0-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,43 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ purge) |
+ deluser --system --quiet prayer || true |
+ rm -rf /var/log/prayer |
+ find /var/run/prayer/ \( -type s -o -name ssl_scache \) -exec rm {} + |
+ ;; |
+ |
+ remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.1.0-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.1.0-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.1.0-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.1.0-1/debian/prayer-session.8.dbk |
=================================================================== |
--- tags/1.1.0-1/debian/prayer-session.8.dbk (nonexistent) |
+++ tags/1.1.0-1/debian/prayer-session.8.dbk (revision 180) |
@@ -0,0 +1,158 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer-session"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>...</cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> command.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--debug</option> |
+ </term> |
+ <listitem> |
+ <para>Enable debugging.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.1.0-1/debian/prayer.docs |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.docs (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/URL_OPTIONS |
Index: tags/1.1.0-1/debian/rules |
=================================================================== |
--- tags/1.1.0-1/debian/rules (nonexistent) |
+++ tags/1.1.0-1/debian/rules (revision 180) |
@@ -0,0 +1,24 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+DEB_AUTO_CLEANUP_RCS := yes |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+#DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) make |
+DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_ALL = -XCVS |
+DEB_DH_INSTALL_ARGS = -XCVS |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+ |
+clean:: |
+ rm -f Config |
/tags/1.1.0-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.1.0-1/debian/prayer-accountd.dirs |
=================================================================== |
--- tags/1.1.0-1/debian/prayer-accountd.dirs (nonexistent) |
+++ tags/1.1.0-1/debian/prayer-accountd.dirs (revision 180) |
@@ -0,0 +1 @@ |
+/var/run/prayer |
Index: tags/1.1.0-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.1.0-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,2 @@ |
+var/run/prayer |
+var/log/prayer |
Index: tags/1.1.0-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.1.0-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.1.0-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,71 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer/accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.1.0-1/debian/prayer.init |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.init (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,89 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.1.0-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.1.0-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.1.0-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.1.0-1/debian/Config |
=================================================================== |
--- tags/1.1.0-1/debian/Config (nonexistent) |
+++ tags/1.1.0-1/debian/Config (revision 180) |
@@ -0,0 +1,160 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.5 2006/04/05 12:35:35 fanf2 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+DIRECT_ENABLE = false # Experimental. Leave this switched off... |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = true # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC. |
+#BASECFLAGS = -Wall -g |
+#BASELDFLAGS = -g |
+BASECFLAGS = -Wall -g -O2 |
+BASELDFLAGS = -g -O2 |
+BASE_LIBS = -lcrypt |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+#BASE_LIBS = -lcrypt -lxnet |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+# |
+# Following works if we have a vanilla c-client installation at same level |
+# as the prayer installation. Relies on a symbolic link ./prayer/c-client |
+# which points to ../../imap/c-client. This just reduces the amount of |
+# noise output on each line when building the package. |
+# |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# |
+# Following works with the mail/cclient port from FreeBSD |
+# |
+#CCLIENT_INCLUDE = -I/usr/local/include/c-client |
+#CCLIENT_LIBS = -L/usr/local/lib -lc-client4 |
+# |
+# Complication: |
+# The FreeBSD port uses PAM and optionally SSL if built WITH_SSL=yes. |
+# |
+#CCLIENT_SSL_ENABLE = true |
+#CCLIENT_KERB_ENABLE = true |
+ |
+############################################################################ |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/lib/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.1.0-1/debian/watch |
=================================================================== |
--- tags/1.1.0-1/debian/watch (nonexistent) |
+++ tags/1.1.0-1/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.1.0-1/debian/prayer.8.dbk |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.8.dbk (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.8.dbk (revision 180) |
@@ -0,0 +1,178 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>... -- <arg><option><replaceable>PRAYER-SESSION-OPTION</replaceable></option></arg> ... |
+ </cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> and <command>bar</command> |
+ commands.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page. |
+ Instead, it has documentation in the &gnu; |
+ <application>Info</application> format; see below.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-prefork</option> |
+ </term> |
+ <listitem> |
+ <para>Run as simple fork()/exec() daemon.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-session</option> |
+ </term> |
+ <listitem> |
+ <para>Don't start up prayer-session server.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--</option> |
+ </term> |
+ <listitem> |
+ <para>End of prayer options: remaining options will be passed to prayer-session server process.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer-session(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.1.0-1/debian/prayer.install |
=================================================================== |
--- tags/1.1.0-1/debian/prayer.install (nonexistent) |
+++ tags/1.1.0-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,10 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-chroot |
+usr/sbin/prayer-db-prune |
+usr/sbin/prayer-sem-prune |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
+etc/prayer/motd.html |
+etc/prayer/welcome.html |
Index: tags/1.1.0-1/debian |
=================================================================== |
--- tags/1.1.0-1/debian (nonexistent) |
+++ tags/1.1.0-1/debian (revision 180) |
/tags/1.1.0-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |
Index: tags/1.0.18-1/debian/control |
=================================================================== |
--- tags/1.0.18-1/debian/control (nonexistent) |
+++ tags/1.0.18-1/debian/control (revision 180) |
@@ -0,0 +1,48 @@ |
+Source: prayer |
+Section: mail |
+Priority: optional |
+Maintainer: Magnus Holmgren <magnus@kibibyte.se> |
+Build-Depends: cdbs (>= 0.4.27-1), debhelper (>= 5), quilt, libc-client-dev, zlib1g-dev, libssl-dev (>= 0.9.6), libdb4.3-dev | libdb-dev, libldap2-dev |
+Standards-Version: 3.7.2 |
+ |
+Package: prayer |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser |
+Suggests: prayer-accountd, imap-server, aspell | ispell |
+Description: Standalone IMAP-based webmail server |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ Prayer has very few external dependencies as user preferences are stored on |
+ the IMAP server rather than in a SQL database. It does however implement a |
+ full range of features and user preference settings. |
+ |
+Package: prayer-accountd |
+Architecture: any |
+Depends: ${shlibs:Depends}, ${misc:Depends} |
+Suggests: prayer |
+Recommends: exim4 |
+Description: account management daemon for Prayer |
+ Prayer is yet another Webmail interface. |
+ . |
+ It is unusual in that it is a complete, standalone, HTTP server and proxy |
+ rather a Apache/mod_php plugin. Prayer maintains persistent connections to |
+ the IMAP server and is written entirely in C. Consequently it is much |
+ faster than most open source Webmail interfaces and puts very little load |
+ on either the machines running the Web server or the backend IMAP servers |
+ (even if traditional Unix format mailfolders are in use). |
+ . |
+ This package contains a daemon that can do the following for users: |
+ . |
+ * Change passwords |
+ * Change their full name |
+ * Manage mail filtering (requires Exim) and forwarding |
+ * Manage vacation messages and logs |
+ . |
+ NOTE: This package is currently not very useful. |
Index: tags/1.0.18-1/debian/compat |
=================================================================== |
--- tags/1.0.18-1/debian/compat (nonexistent) |
+++ tags/1.0.18-1/debian/compat (revision 180) |
@@ -0,0 +1 @@ |
+5 |
Index: tags/1.0.18-1/debian/prayer.postinst |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.postinst (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.postinst (revision 180) |
@@ -0,0 +1,46 @@ |
+#!/bin/sh |
+# postinst script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postinst> `configure' <most-recently-configured-version> |
+# * <old-postinst> `abort-upgrade' <new version> |
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package> |
+# <new-version> |
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' |
+# <failed-install-package> <version> `removing' |
+# <conflicting-package> <version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+# |
+ |
+case "$1" in |
+ configure) |
+ adduser --quiet --system --ingroup nogroup --no-create-home \ |
+ --disabled-password --disabled-login prayer |
+ chown prayer:root /var/run/prayer |
+ chown prayer:adm /var/log/prayer |
+ chmod 2750 /var/run/prayer /var/log/prayer |
+ ;; |
+ |
+ abort-upgrade|abort-remove|abort-deconfigure) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postinst called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
+ |
+ |
Index: tags/1.0.18-1/debian/prayer.default |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.default (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.default (revision 180) |
@@ -0,0 +1,11 @@ |
+# Defaults for prayer initscript |
+# sourced by /etc/init.d/prayer |
+# installed at /etc/default/prayer by the maintainer scripts |
+ |
+# This is a POSIX shell fragment |
+ |
+# Change to one to enable prayer after editing /etc/prayer/prayer.cf |
+ENABLED=0 |
+ |
+# Options. You probably won't need any. |
+DAEMON_OPTS="" |
Index: tags/1.0.18-1/debian/prayer.postrm |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.postrm (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.postrm (revision 180) |
@@ -0,0 +1,43 @@ |
+#!/bin/sh |
+# postrm script for prayer |
+# |
+# see: dh_installdeb(1) |
+ |
+set -e |
+ |
+# summary of how this script can be called: |
+# * <postrm> `remove' |
+# * <postrm> `purge' |
+# * <old-postrm> `upgrade' <new-version> |
+# * <new-postrm> `failed-upgrade' <old-version> |
+# * <new-postrm> `abort-install' |
+# * <new-postrm> `abort-install' <old-version> |
+# * <new-postrm> `abort-upgrade' <old-version> |
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> |
+# for details, see http://www.debian.org/doc/debian-policy/ or |
+# the debian-policy package |
+ |
+ |
+case "$1" in |
+ purge) |
+ deluser --system --quiet prayer || true |
+ rm -rf /var/log/prayer |
+ find /var/run/prayer/ \( -type s -o -name ssl_scache \) -exec rm {} + |
+ ;; |
+ |
+ remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) |
+ |
+ ;; |
+ |
+ *) |
+ echo "postrm called with unknown argument \`$1'" >&2 |
+ exit 1 |
+ |
+esac |
+ |
+# dh_installdeb will replace this with shell code automatically |
+# generated by other debhelper scripts. |
+ |
+#DEBHELPER# |
+ |
+exit 0 |
Index: tags/1.0.18-1/debian/prayer-accountd.docs |
=================================================================== |
--- tags/1.0.18-1/debian/prayer-accountd.docs (nonexistent) |
+++ tags/1.0.18-1/debian/prayer-accountd.docs (revision 180) |
@@ -0,0 +1,8 @@ |
+docs/ACCOUNTD |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
Index: tags/1.0.18-1/debian/patches/hasnochildren_means_noinferiors.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/hasnochildren_means_noinferiors.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/hasnochildren_means_noinferiors.patch (revision 180) |
@@ -0,0 +1,12 @@ |
+--- prayer-1.0.18.orig/prayer/dirlist.c |
++++ prayer-1.0.18/prayer/dirlist.c |
+@@ -172,7 +172,8 @@ |
+ |
+ dl->next = NIL; |
+ dl->name = pool_strdup(callback.pool, name); |
+- dl->isdir = (attributes & LATT_NOINFERIORS) ? NIL : T; |
++ dl->isdir = (attributes & (LATT_NOINFERIORS | LATT_HASNOCHILDREN)) ? |
++ NIL : T; |
+ |
+ /* Insertion sort algorithm */ |
+ |
Index: tags/1.0.18-1/debian/patches/ipv6.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/ipv6.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/ipv6.patch (revision 180) |
@@ -0,0 +1,508 @@ |
+--- prayer-1.0.18.orig/prayer/config.c |
++++ prayer-1.0.18/prayer/config.c |
+@@ -1650,7 +1650,7 @@ |
+ |
+ if (!config_parse_rest(&option)) |
+ error = T; |
+- else if ((s = (strchr(option, ':')))) { |
++ else if ((s = (strrchr(option, ':')))) { |
+ *s++ = '\0'; |
+ if (!config_parse_number(&port, s)) |
+ error = T; |
+--- prayer-1.0.18.orig/prayer/ipaddr.c |
++++ prayer-1.0.18/prayer/ipaddr.c |
+@@ -32,11 +32,7 @@ |
+ |
+ BOOL ipaddr_copy(struct ipaddr * dst, struct ipaddr * src) |
+ { |
+- dst->version = src->version; |
+- dst->addr[0] = src->addr[0]; |
+- dst->addr[1] = src->addr[1]; |
+- dst->addr[2] = src->addr[2]; |
+- dst->addr[3] = src->addr[3]; |
++ memcpy(dst, src, sizeof(struct ipaddr)); |
+ |
+ return (T); |
+ } |
+@@ -55,19 +51,7 @@ |
+ if (addr1->version != addr2->version) |
+ return (NIL); |
+ |
+- if (addr1->addr[0] != addr2->addr[0]) |
+- return (NIL); |
+- |
+- if (addr1->addr[1] != addr2->addr[1]) |
+- return (NIL); |
+- |
+- if (addr1->addr[2] != addr2->addr[2]) |
+- return (NIL); |
+- |
+- if (addr1->addr[3] != addr2->addr[3]) |
+- return (NIL); |
+- |
+- return (T); |
++ return (memcmp(&addr1->addr, &addr2->addr, addr1->version == 6 ? 16 : 4) == 0); |
+ } |
+ |
+ /* ====================================================================== */ |
+@@ -81,8 +65,7 @@ |
+ { |
+ static char buf[64]; |
+ |
+- sprintf(buf, "%d.%d.%d.%d", |
+- addr->addr[0], addr->addr[1], addr->addr[2], addr->addr[3]); |
++ os_inet_ntop(addr->addr, addr->version, buf, 64); |
+ |
+ return (buf); |
+ } |
+@@ -96,7 +79,7 @@ |
+ { |
+ char *result; |
+ |
+- if ((result = os_gethostbyaddr(addr->addr))) |
++ if ((result = os_gethostbyaddr(addr->addr, addr->version))) |
+ return (result); |
+ |
+ return (ipaddr_text(addr)); |
+@@ -116,39 +99,10 @@ |
+ |
+ BOOL ipaddr_parse(struct ipaddr * addr, char *text) |
+ { |
+- char *next; |
+- |
+ if (text == NIL) |
+ return (NIL); |
+ |
+- /* IPv4 only for the moment */ |
+- addr->version = 4; |
+- |
+- /* Parse first number */ |
+- if (!(next = strchr(text, '.'))) |
+- return (NIL); |
+- addr->addr[0] = atoi(text); |
+- text = next + 1; |
+- |
+- /* Parse second number */ |
+- if (!(next = strchr(text, '.'))) |
+- return (NIL); |
+- addr->addr[1] = atoi(text); |
+- text = next + 1; |
+- |
+- /* Parse third number */ |
+- if (!(next = strchr(text, '.'))) |
+- return (NIL); |
+- addr->addr[2] = atoi(text); |
+- text = next + 1; |
+- |
+- /* Parse forth number */ |
+- if ((next = strchr(text, '.'))) |
+- return (NIL); |
+- addr->addr[3] = atoi(text); |
+- |
+- /* Looks good */ |
+- return (T); |
++ return (os_inet_pton(text, addr)); |
+ } |
+ |
+ /* ====================================================================== */ |
+@@ -157,56 +111,63 @@ |
+ * |
+ * Compare IP address to text list of form: |
+ * ipaddr: |
+- * text: Text string of form "131.111.0.0/16 : 192.168.0.0/24". |
++ * text: Text string of form "131.111.0.0/16 : 192.168.0.0/24 : 2001:12cd:1::/48". |
++ * (There has to be a space on either side of the colon for it to |
++ * separate two networks) |
+ * |
+ * Returns: T if addr matches list. |
+ ************************************************************************/ |
+ |
+ BOOL ipaddr_compare_list(struct ipaddr * ipaddr, char *text) |
+ { |
+- char *next, *s, *alloc; |
++ char *next = NULL, *s, *alloc; |
++ int i; |
+ unsigned long bits, mask; |
+ struct ipaddr parsed; |
+ |
+ alloc = text = pool_strdup(NIL, text); |
+ |
+ while (text && *text) { |
+- if ((next = strchr(text, ':'))) |
+- *next++ = '\0'; |
++ s = text; |
++ while ((s = strchr(s, ':'))) { |
++ if (*(s - 1) == ' ' || *(s + 1) == ' ') { |
++ *(next = s) = '\0'; |
++ next++; |
++ } |
++ s++; |
++ } |
+ |
+ text = string_trim_whitespace(text); |
+ |
+ if ((s = strchr(text, '/'))) { |
+ *s++ = '\0'; |
+ bits = atoi(s); |
+- } else |
+- bits = 32; |
+- |
+- if (bits > 32) |
+- bits = 32; |
+- |
+- /* Create mask with appropriate number of bits set */ |
+- mask = 0; |
+- while (bits > 0) { |
+- mask >>= 1; |
+- mask |= 0x80000000; |
+- bits--; |
+ } |
++ else |
++ bits = 128; /* Doesn't matter if it's too big */ |
+ |
+ if (ipaddr_parse(&parsed, text)) { |
+- unsigned long a1; |
+- unsigned long a2; |
+- |
+- a1 = ((ipaddr->addr[0] << 24) + (ipaddr->addr[1] << 16) + |
+- (ipaddr->addr[2] << 8) + (ipaddr->addr[3])); |
+- |
+- a2 = ((parsed.addr[0] << 24) + (parsed.addr[1] << 16) + |
+- (parsed.addr[2] << 8) + (parsed.addr[3])); |
+- |
+- if ((a1 & mask) == (a2 & mask)) { |
+- free(alloc); |
+- return (T); |
+- } |
++ if (parsed.version != ipaddr->version) { |
++ text = next; continue; |
++ } |
++ |
++ for (i = 0; i < (parsed.version == 6 ? 4 : 1); i++) { |
++ if (bits == 0) mask = 0; |
++ else if (bits < 32) { |
++ mask = (-1) << (32 - bits); |
++ bits = 0; |
++ } |
++ else { |
++ mask = -1; |
++ bits -= 32; |
++ } |
++ |
++ if ((parsed.addr[i] & mask) != (ipaddr->addr[i] & mask)) { |
++ text = next; continue; |
++ } |
++ } |
++ free(alloc); |
++ return (T); |
+ } |
+ text = next; |
+ } |
+@@ -225,11 +187,11 @@ |
+ |
+ void ipaddr_send_iostream(struct ipaddr *addr, struct iostream *stream) |
+ { |
++ int i; |
+ ioputc(addr->version, stream); |
+- ioputc(addr->addr[0], stream); |
+- ioputc(addr->addr[1], stream); |
+- ioputc(addr->addr[2], stream); |
+- ioputc(addr->addr[3], stream); |
++ for (i = 0; i < (addr->version == 6 ? 16 : 4); i++) { |
++ ioputc(((char *)addr->addr)[i], stream); |
++ } |
+ } |
+ |
+ /* ====================================================================== */ |
+@@ -246,13 +208,13 @@ |
+ |
+ if ((c = iogetc(stream)) != EOF) { |
+ addr->version = (unsigned char) c; |
+- for (i = 0; i < 4; i++) { |
++ for (i = 0; i < (addr->version == 6 ? 16 : 4); i++) { |
+ if ((c = iogetc(stream)) == EOF) { |
+ rc = NIL; |
+ break; |
+ } |
+ |
+- addr->addr[i] = (unsigned char) c; |
++ ((char *)addr->addr)[i] = (unsigned char) c; |
+ } |
+ } |
+ |
+@@ -279,9 +241,14 @@ |
+ ipaddr_set(struct ipaddr *ipaddr, unsigned long version, |
+ unsigned char *addr) |
+ { |
+- if (version != 4) |
+- log_fatal("ipaddr_set(): IPv4 only supported at the moment!"); |
++ if (version != 4 && version != 6) |
++ log_fatal("ipaddr_set(): IPv4 and IPv6 only supported!"); |
++ |
++ ipaddr->version = version; |
++ memcpy(ipaddr->addr, addr, version == 6 ? 16 : 4); |
++ if (ipaddr->addr[0] == 0 && ipaddr->addr[1] == 0 && ipaddr->addr[2] == 0xffff) { |
++ ipaddr->addr[0] = ipaddr->addr[3]; |
++ ipaddr->version = 4; |
++ } |
+ |
+- ipaddr->version = 4; |
+- memcpy(ipaddr->addr, addr, 4); |
+ } |
+--- prayer-1.0.18.orig/prayer/ipaddr.h |
++++ prayer-1.0.18/prayer/ipaddr.h |
+@@ -8,7 +8,7 @@ |
+ |
+ struct ipaddr { |
+ unsigned long version; |
+- unsigned char addr[4]; |
++ unsigned long addr[4]; |
+ }; |
+ |
+ struct ipaddr *ipaddr_create(struct pool *pool); |
+--- prayer-1.0.18.orig/prayer/os.h |
++++ prayer-1.0.18/prayer/os.h |
+@@ -24,7 +24,11 @@ |
+ |
+ int os_socket_nonblocking(int sockfd); |
+ |
+-char *os_gethostbyaddr(void *addr); |
++char *os_gethostbyaddr(void *addr, unsigned int version); |
++ |
++int os_inet_ntop(void *addr, unsigned long version, char *buf, unsigned long buflen); |
++ |
++int os_inet_pton(char *str, struct ipaddr *addr); |
+ |
+ void os_child_reaper(); |
+ |
+--- prayer-1.0.18.orig/prayer/os_linux.c |
++++ prayer-1.0.18/prayer/os_linux.c |
+@@ -13,14 +13,11 @@ |
+ #include <sys/un.h> |
+ #include <sys/resource.h> |
+ #include <netinet/in.h> |
+-#include <netinet/tcp.h> |
+ #include <arpa/inet.h> |
+ #include <signal.h> |
+ #include <netdb.h> |
+ #include <sys/file.h> |
+ |
+-#include <openssl/rand.h> |
+- |
+ /* ====================================================================== */ |
+ |
+ BOOL os_socketpair(int *sockfd) |
+@@ -63,33 +60,28 @@ |
+ |
+ int os_connect_inet_socket(char *host, unsigned long port) |
+ { |
+- struct hostent *hostent; |
+- struct sockaddr_in serv_addr; |
++ struct addrinfo *first_ai, *ai; |
++ char port_str[12]; |
+ int sockfd; |
+ |
+- /* Open the socket */ |
+- if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) |
+- return (-1); |
+- |
+- /* Set up the socket */ |
+- bzero((char *) &serv_addr, sizeof(serv_addr)); |
+- serv_addr.sin_family = AF_INET; |
+- serv_addr.sin_port = htons(port); |
+- |
+- if ((hostent = gethostbyname(host)) == NIL) { |
+- close(sockfd); |
+- return (-1); |
+- } |
+- bcopy(hostent->h_addr, (char *) &serv_addr.sin_addr, |
+- hostent->h_length); |
+- |
+- if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) |
+- < 0) { |
+- close(sockfd); |
+- return (-1); |
+- } |
+- |
+- return (sockfd); |
++ sprintf(port_str, "%lu", port); |
++ if (getaddrinfo(host, port_str, NULL, &first_ai)) { |
++ return (-1); |
++ } |
++ for (ai = first_ai; ai->ai_next; ai = ai->ai_next) { |
++ /* Open the socket */ |
++ if ((sockfd = socket(ai->ai_family, SOCK_STREAM, 0)) < 0) { |
++ break; |
++ } |
++ if (connect(sockfd, (struct sockaddr *) ai->ai_addr, ai->ai_addrlen) < 0) { |
++ close(sockfd); |
++ break; |
++ } |
++ freeaddrinfo(first_ai); |
++ return (sockfd); |
++ } |
++ freeaddrinfo(first_ai); |
++ return (-1); |
+ } |
+ |
+ /* ====================================================================== */ |
+@@ -150,9 +141,39 @@ |
+ int os_bind_inet_socket(unsigned long port, char *interface) |
+ { |
+ int i, sockfd; |
+- struct sockaddr_in serv_addr; |
++ struct sockaddr_storage serv_addr; |
++ struct addrinfo *ai; |
++ |
++ bzero((char *) &serv_addr, sizeof(serv_addr)); |
+ |
+- if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { |
++ if (interface) { |
++ if (getaddrinfo(interface, NULL, NULL, &ai)) { |
++ log_panic |
++ ("[os_bind_inet_socket()] Failed to lookup hostname: %s", |
++ interface); |
++ return -1; |
++ } |
++#if 0 /* Use the first interface address; don't panic if both IPv6 |
++ and IPv4 addresses are returned. */ |
++ if (hostent->h_addr_list[1]) { |
++ log_panic |
++ ("[os_bind_inet_socket()] Ambiguous interface name: %s", |
++ interface); |
++ return (-1); |
++ } |
++#endif |
++ memcpy(&serv_addr, ai->ai_addr, ai->ai_addrlen); |
++ freeaddrinfo(ai); |
++ } |
++ else { |
++ serv_addr.ss_family = AF_INET6; |
++ ((struct sockaddr_in6*)&serv_addr)->sin6_addr = in6addr_any; |
++ } |
++ /* This isn't formally correct, but *in fact*, sin6_port is at the |
++ same place as sin_port, so it works. */ |
++ ((struct sockaddr_in6*)&serv_addr)->sin6_port = htons(port); |
++ |
++ if ((sockfd = socket(serv_addr.ss_family, SOCK_STREAM, 0)) < 0) { |
+ log_panic("[os_bind_inet_socket()] socket() failed, %s", |
+ strerror(errno)); |
+ return (-1); |
+@@ -168,41 +189,6 @@ |
+ return (-1); |
+ } |
+ |
+- bzero((char *) &serv_addr, sizeof(serv_addr)); |
+- serv_addr.sin_family = AF_INET; |
+- serv_addr.sin_port = htons(port); |
+- serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); |
+- |
+- /* Calculate serv_addr for specific interface to bind to */ |
+- if (interface) { |
+- struct hostent *hostent; |
+- struct in_addr *s; |
+- |
+- if (!(hostent = gethostbyname(interface))) { |
+- log_panic |
+- ("[os_bind_inet_socket()] Failed to lookup hostname: %s", |
+- interface); |
+- |
+- return (-1); |
+- } |
+- |
+- if (hostent->h_addr_list[1]) { |
+- log_panic |
+- ("[os_bind_inet_socket()] Ambiguous interface name: %s", |
+- interface); |
+- return (-1); |
+- } |
+- |
+- if (!(s = ((struct in_addr *)hostent->h_addr_list[0]))) { |
+- log_panic("[os_bind_inet_socket()] Invalid interface name: %s", |
+- interface); |
+- return (-1); |
+- } |
+- |
+- /* s has four bytes in network byte order */ |
+- memcpy(&serv_addr.sin_addr.s_addr, s, sizeof(struct in_addr)); |
+- } |
+- |
+ /* bind() as Internet domain socket */ |
+ if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < |
+ 0) { |
+@@ -255,8 +242,8 @@ |
+ |
+ int os_accept_inet(int sockfd, struct ipaddr *ipaddr) |
+ { |
+- struct sockaddr_in addr; |
+- socklen_t len = (socklen_t) sizeof(struct sockaddr_in); |
++ struct sockaddr_storage addr; |
++ socklen_t len = (socklen_t) sizeof(addr); |
+ int newsockfd; |
+ |
+ do { |
+@@ -271,8 +258,12 @@ |
+ return (-1); |
+ } |
+ |
+- if (ipaddr) |
+- ipaddr_set(ipaddr, 4, (unsigned char *) &addr.sin_addr); |
++ if (ipaddr) { |
++ if (addr.ss_family == AF_INET6) |
++ ipaddr_set(ipaddr, 6, (unsigned char *)&((struct sockaddr_in6*)&addr)->sin6_addr); |
++ else |
++ ipaddr_set(ipaddr, 4, (unsigned char *)&((struct sockaddr_in*)&addr)->sin_addr); |
++ } |
+ |
+ /* Set close on exec so subprocesses can't interfere */ |
+ if (fcntl(newsockfd, F_SETFD, FD_CLOEXEC) < 0) { |
+@@ -322,9 +313,14 @@ |
+ |
+ /* Convert IPv4 address into text form */ |
+ |
+-char *os_gethostbyaddr(void *opaque) |
++char *os_gethostbyaddr(void *opaque, unsigned int version) |
+ { |
+- struct hostent *hostent = gethostbyaddr(opaque, 4, AF_INET); |
++ struct hostent *hostent; |
++ |
++ if (version == 6) |
++ hostent = gethostbyaddr(opaque, 16, AF_INET6); |
++ else |
++ hostent = gethostbyaddr(opaque, 4, AF_INET); |
+ |
+ if (hostent && hostent->h_name && hostent->h_name[0]) |
+ return (hostent->h_name); |
+@@ -332,6 +328,32 @@ |
+ return (NIL); |
+ } |
+ |
++int os_inet_ntop(void *addr, unsigned long version, char *buf, unsigned long buflen) { |
++ if (version == 6) { |
++ if (inet_ntop(AF_INET6, addr, buf, buflen)) |
++ return (T); |
++ } |
++ else { |
++ if (inet_ntop(AF_INET, addr, buf, buflen)) |
++ return (T); |
++ } |
++ return (NIL); |
++} |
++ |
++int os_inet_pton(char *str, struct ipaddr *addr) { |
++ unsigned char buf[16]; |
++ |
++ if (inet_pton(AF_INET6, str, buf)) { |
++ ipaddr_set(addr, 6, buf); |
++ return (T); |
++ } |
++ else if (inet_pton(AF_INET, str, buf)) { |
++ ipaddr_set(addr, 4, buf); |
++ return (T); |
++ } |
++ return (NIL); |
++} |
++ |
+ /* ====================================================================== */ |
+ |
+ /* Trivial SIG_CLD handler to prevent zombies from hanging around */ |
Index: tags/1.0.18-1/debian/patches/includes.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/includes.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/includes.patch (revision 180) |
@@ -0,0 +1,26 @@ |
+Index: prayer-1.0.18/prayer/prayer_session.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/prayer_session.h 2007-03-10 18:50:09.676882377 +0100 |
++++ prayer-1.0.18/prayer/prayer_session.h 2007-03-10 18:50:11.007049496 +0100 |
+@@ -27,7 +27,7 @@ |
+ |
+ extern int errno; /* just in case */ |
+ |
+-#include "c-client.h" |
++#include <c-client.h> |
+ |
+ #define PRAYER_FULL_HDRS |
+ #include "prayer_shared.h" |
+Index: prayer-1.0.18/prayer/cdb.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cdb.c 2007-03-10 18:51:20.845827434 +0100 |
++++ prayer-1.0.18/prayer/cdb.c 2007-03-10 18:51:25.766446163 +0100 |
+@@ -63,7 +63,7 @@ |
+ #include <unistd.h> |
+ #include <sys/stat.h> |
+ |
+-#include "mail.h" |
++#include "common.h" |
+ #include "cdb.h" |
+ |
+ #define CDB_HASH_SPLIT 256 /* num pieces the hash table is split into */ |
Index: tags/1.0.18-1/debian/patches/session_unix_bugs.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/session_unix_bugs.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/session_unix_bugs.patch (revision 180) |
@@ -0,0 +1,20 @@ |
+--- prayer-1.0.18.orig/prayer/session_unix.c |
++++ prayer-1.0.18/prayer/session_unix.c |
+@@ -56,7 +56,7 @@ |
+ } |
+ |
+ if (config->fix_client_ipaddr |
+- && ipaddr_compare(session->ipaddr, &remote)) { |
++ && !ipaddr_compare(session->ipaddr, &remote)) { |
+ struct buffer *b = request->write_buffer; |
+ |
+ html_common_start(config, b, "Security Alert"); |
+@@ -69,7 +69,7 @@ |
+ response_send(request); |
+ log_misc |
+ ("HTTP Request from invalid IP address %s to running session %s", |
+- &remote, session->url_prefix_asession); |
++ ipaddr_text(&remote), session->url_prefix_asession); |
+ return; |
+ } |
+ |
Index: tags/1.0.18-1/debian/patches/utf8.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/utf8.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/utf8.patch (revision 180) |
@@ -0,0 +1,1507 @@ |
+This patch adds support for UTF-8 and modified UTF-7. Functions are in |
+the new utf8.c. The patch adds calls to utf8_to_imaputf7() or |
+utf8_from_imaputf7() wherever a folder name is handled in the code. In |
+addition, it changes prayer to use UTF-8 in all HTML output as well as |
+in composition of messages. |
+Index: prayer-1.0.18/prayer/Makefile |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/Makefile 2007-03-10 19:39:29.563948453 +0100 |
++++ prayer-1.0.18/prayer/Makefile 2007-03-10 19:39:30.294042473 +0100 |
+@@ -127,7 +127,7 @@ SESSION_SUPPORT_OBJS = \ |
+ abook.o lookup.o role.o dictionary.o \ |
+ options.o rfc1522.o banner.o favourite.o wrap.o portlist.o \ |
+ account.o account_msshell.o account_sieve.o account_support.o \ |
+- sieve.o filter.o checksum.o |
++ sieve.o filter.o checksum.o utf8.o |
+ |
+ ifeq ($(strip $(SESSION_NEEDS_DB)), true) |
+ SESSION_SUPPORT_OBJS += mydb_db3.o |
+Index: prayer-1.0.18/prayer/cmd_change.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_change.c 2007-03-10 19:38:53.659325192 +0100 |
++++ prayer-1.0.18/prayer/cmd_change.c 2007-03-10 19:39:30.344048912 +0100 |
+@@ -16,7 +16,7 @@ void cmd_change(struct session *session) |
+ if (request->method == POST) { |
+ request_decode_post(request); |
+ |
+- if (!(name = assoc_lookup(request->form, "folder"))) { |
++ if (!(name = utf8_to_imaputf7(request->pool, assoc_lookup(request->form, "folder")))) { |
+ session_redirect(session, request, "error"); |
+ return; |
+ } |
+@@ -30,7 +30,8 @@ void cmd_change(struct session *session) |
+ } |
+ |
+ if (!session_streams_change(session, name)) { |
+- session_message(session, "Unable to switch to folder: %s", name); |
++ session_message(session, "Unable to switch to folder: %s", |
++ utf8_from_imaputf7(request->pool, name)); |
+ session_redirect(session, request, "restart"); |
+ return; |
+ } |
+@@ -47,7 +48,7 @@ void cmd_change(struct session *session) |
+ } |
+ |
+ session_message(session, "Switched to mailbox: %s", |
+- session->foldername); |
++ utf8_from_imaputf7(request->pool, session->foldername)); |
+ session_log(session, "[cmd_change] Switched to mailbox: %s", |
+ session->foldername); |
+ |
+Index: prayer-1.0.18/prayer/cmd_compose.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_compose.c 2007-03-10 19:38:53.719332917 +0100 |
++++ prayer-1.0.18/prayer/cmd_compose.c 2007-03-10 19:39:30.384054064 +0100 |
+@@ -244,7 +244,7 @@ static BOOL cmd_compose_generate_postpon |
+ strlen(string), string, NIL); |
+ |
+ string = |
+- string_prune(request->pool, string, config->list_addr_maxlen); |
++ utf8_prune(request->pool, string, config->list_addr_maxlen); |
+ |
+ bputs(b, "<td>" CRLF); |
+ html_quote_string(b, string); |
+@@ -267,7 +267,7 @@ static BOOL cmd_compose_generate_postpon |
+ rfc1522_decode(pool_alloc(request->pool, strlen(string)), |
+ strlen(string), string, NIL); |
+ |
+- string = string_prune(request->pool, string, |
++ string = utf8_prune(request->pool, string, |
+ config->list_subject_maxlen); |
+ } else |
+ string = "(No subject)"; |
+Index: prayer-1.0.18/prayer/cmd_copy.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_copy.c 2007-03-10 19:38:53.769339356 +0100 |
++++ prayer-1.0.18/prayer/cmd_copy.c 2007-03-10 19:39:30.404056640 +0100 |
+@@ -95,7 +95,7 @@ generate_directory_line(struct session * |
+ html_session_bprintf(session, b, |
+ "<td><a href=\"", "\">" CRLF, "copy?cwd=%s", |
+ name); |
+- html_quote_string(b, dir); |
++ html_quote_string(b, utf8_from_imaputf7(pool, dir)); |
+ bprintf(b, "</a></td>" CRLF); |
+ |
+ bputs(b, "</tr>" CRLF); |
+@@ -127,7 +127,7 @@ generate_favourite_folder_line(struct se |
+ html_session_bprintf(session, b, |
+ "<td><a href=\"", "\">" CRLF, "copy_msg/%s", |
+ name); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bprintf(b, "</a></td>" CRLF); |
+ |
+ bputs(b, "</tr>" CRLF); |
+@@ -159,7 +159,7 @@ generate_folder_line(struct session *ses |
+ html_session_bprintf(session, b, |
+ "<td><a href=\"", "\">" CRLF, "copy_msg/%s", |
+ name); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bprintf(b, "</a></td>" CRLF); |
+ |
+ bprintf(b, "</tr>" CRLF); |
+@@ -209,8 +209,8 @@ html_folderlist(struct session *session, |
+ bputs(b, "<tr>"); |
+ bputs(b, "<td>"); |
+ bputs(b, "<table><tr><td>" CRLF); |
+- html_form_field(b, "Directory", "cwd", session->cwd, 32); |
+- html_form_field(b, "Filter", "filter", session->dir_filter, 12); |
++ html_form_field(b, "Directory", "cwd", utf8_from_imaputf7(pool, session->cwd), 32); |
++ html_form_field(b, "Filter", "filter", utf8_from_imaputf7(pool, session->dir_filter), 12); |
+ html_form_submit(b, "submit", "Apply"); |
+ bputs(b, "</td></tr></table>" CRLF); |
+ bputs(b, "<td align=\"right\"><table><tr><td>" CRLF); |
+Index: prayer-1.0.18/prayer/cmd_copy_msg.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_copy_msg.c 2007-03-10 19:38:53.829347082 +0100 |
++++ prayer-1.0.18/prayer/cmd_copy_msg.c 2007-03-10 19:39:30.484066944 +0100 |
+@@ -125,12 +125,13 @@ void cmd_copy_msg(struct session *sessio |
+ /* Keep current message */ |
+ if (count > 1) { |
+ session_message(session, "Copied %lu messages to %s", count, |
+- mailbox); |
++ utf8_from_imaputf7(request->pool, mailbox)); |
+ session_log(session, |
+ "[cmd_copy_msg] Copied %lu messages to %s", count, |
+ mailbox); |
+ } else if (count == 1) { |
+- session_message(session, "Copied 1 message to %s", mailbox); |
++ session_message(session, "Copied 1 message to %s", |
++ utf8_from_imaputf7(request->pool, mailbox)); |
+ session_log(session, "[cmd_copy_msg] Copied 1 message to %s", |
+ mailbox); |
+ } else { |
+@@ -152,9 +153,8 @@ void cmd_copy_msg(struct session *sessio |
+ next = msgmap_value(zm, zm_offset + 1); |
+ else { |
+ /* No next message */ |
+- session_message(session, |
+- "Copied message %lu to \"%s\", no more messages", |
+- msgno, mailbox); |
++ session_message(session, "Copied message %lu to \"%s\", no more messages", |
++ msgno, utf8_from_imaputf7(request->pool, mailbox)); |
+ session_log(session, "[cmd_copy_msg] Copied message %lu to %s", |
+ msgno, mailbox); |
+ session->current = msgno; |
+@@ -162,9 +162,8 @@ void cmd_copy_msg(struct session *sessio |
+ return; |
+ } |
+ |
+- session_message(session, |
+- "Copied message %lu to \"%s\", displaying %lu out of %lu", |
+- msgno, mailbox, next, zm->nmsgs); |
++ session_message(session, "Copied message %lu to \"%s\", displaying %lu out of %lu", |
++ msgno, utf8_from_imaputf7(request->pool, mailbox), next, zm->nmsgs); |
+ session_log(session, "[cmd_copy_msg] Copied message %lu to %s", |
+ msgno, mailbox); |
+ |
+Index: prayer-1.0.18/prayer/cmd_create.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_create.c 2007-03-10 19:38:53.919358672 +0100 |
++++ prayer-1.0.18/prayer/cmd_create.c 2007-03-10 19:39:30.554075959 +0100 |
+@@ -21,7 +21,8 @@ void cmd_create(struct session *session) |
+ |
+ request_decode_get(request); |
+ |
+- if ((mailbox = assoc_lookup(request->form, "name")) == NIL) { |
++ if ((mailbox = utf8_to_imaputf7(request->pool, |
++ assoc_lookup(request->form, "name"))) == NIL) { |
+ session_redirect(session, request, "error"); |
+ return; |
+ } |
+@@ -58,12 +59,13 @@ void cmd_create(struct session *session) |
+ if (ml_have_error()) { |
+ session_message(session, |
+ "Failed to create directory: %s - %s", |
+- path, ml_errmsg()); |
++ utf8_from_imaputf7(request->pool, path), ml_errmsg()); |
+ session_log(session, |
+ "[cmd_create] Failed to create directory: %s", |
+ path); |
+ } else { |
+- session_message(session, "Created directory: %s", path); |
++ session_message(session, "Created directory: %s", |
++ utf8_from_imaputf7(request->pool, path)); |
+ session_log(session, |
+ "[cmd_create] Created directory: %s", path); |
+ dircache_add(session->dircache, path, T); |
+@@ -72,12 +74,13 @@ void cmd_create(struct session *session) |
+ if (ml_have_error()) { |
+ session_message(session, |
+ "Failed to create mailbox: %s - %s", |
+- path, ml_errmsg()); |
++ utf8_from_imaputf7(request->pool, path), ml_errmsg()); |
+ session_log(session, |
+ "[cmd_create] Failed to create mailbox: %s", |
+ path); |
+ } else { |
+- session_message(session, "Created mailbox: %s", path); |
++ session_message(session, "Created mailbox: %s", |
++ utf8_from_imaputf7(request->pool, path)); |
+ session_log(session, "[cmd_create] Created mailbox: %s", |
+ path); |
+ dircache_add(session->dircache, path, NIL); |
+Index: prayer-1.0.18/prayer/cmd_dir_check.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_dir_check.c 2007-03-10 19:38:53.979366397 +0100 |
++++ prayer-1.0.18/prayer/cmd_dir_check.c 2007-03-10 19:39:30.584079823 +0100 |
+@@ -43,7 +43,7 @@ void cmd_dir_check(struct session *sessi |
+ |
+ session_message(session, |
+ "Refreshed directory cache for directory \"%s\" at %s", |
+- session->cwd, current_time()); |
++ utf8_from_imaputf7(request->pool, session->cwd), current_time()); |
+ dircache_invalidate(session, session->cwd); |
+ |
+ if (request->argc >= 2) |
+Index: prayer-1.0.18/prayer/cmd_display.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_display.c 2007-03-10 19:38:54.049375411 +0100 |
++++ prayer-1.0.18/prayer/cmd_display.c 2007-03-10 19:39:30.644087551 +0100 |
+@@ -567,9 +567,11 @@ show_textpart(struct session *session, M |
+ struct request *request = session->request; |
+ struct buffer *b = request->write_buffer; |
+ char *init_msg, *decode_msg; |
++ char *charset = "ISO-8859-1"; |
+ unsigned long len; |
+ BODY *body = NIL; |
+ BOOL show_html = NIL; |
++ PARAMETER *parameter; |
+ |
+ if (!(body = ml_body(session, stream, msgno, section))) |
+ return(NIL); |
+@@ -580,6 +582,13 @@ show_textpart(struct session *session, M |
+ return(NIL); |
+ } |
+ |
++ for (parameter = body->parameter; parameter; parameter = parameter->next) { |
++ if (strcasecmp(parameter->attribute, "charset") == 0) { |
++ charset = parameter->value; |
++ break; |
++ } |
++ } |
++ |
+ if (!(init_msg = ml_fetchbody(session, stream, msgno, section, &len))) |
+ return(NIL); |
+ |
+@@ -637,10 +646,10 @@ show_textpart(struct session *session, M |
+ if (show_html) { |
+ if (decode_msg == init_msg) |
+ decode_msg = strdup(init_msg); |
+- html_secure(session, b, decode_msg); |
++ html_secure(session, b, utf8_from_string(request->pool, charset, decode_msg, len)); |
+ } else { |
+ bprintf(b, "<pre>" CRLF); |
+- wrap_line_html(session, b, decode_msg, 80); |
++ wrap_line_html(session, b, utf8_from_string(request->pool, charset, decode_msg, len), 80); |
+ bprintf(b, "</pre>" CRLF); |
+ } |
+ |
+Index: prayer-1.0.18/prayer/cmd_favourites.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_favourites.c 2007-03-10 19:38:54.109383138 +0100 |
++++ prayer-1.0.18/prayer/cmd_favourites.c 2007-03-10 19:39:30.664090126 +0100 |
+@@ -104,7 +104,7 @@ generate_directory_line(struct session * |
+ html_session_bprintf(session, b, "<a href=\"", "\">" CRLF, |
+ "favourites?cwd=%s", name); |
+ |
+- html_quote_string(b, dir); |
++ html_quote_string(b, utf8_from_imaputf7(pool, dir)); |
+ bprintf(b, "</a></td>" CRLF); |
+ bputs(b, "<td> </td>" CRLF); |
+ bputs(b, "<td> </td>" CRLF); |
+@@ -134,7 +134,7 @@ generate_favourite_folder_line(struct se |
+ bputs(b, "</td>" CRLF); |
+ |
+ bputs(b, "<td nowrap>" CRLF); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bputs(b, "</td>" CRLF); |
+ |
+ html_textlink_mailbox_table(session, b, "unsubscribe", name, |
+@@ -170,7 +170,7 @@ generate_folder_line(struct session *ses |
+ bputs(b, "</td>" CRLF); |
+ |
+ bprintf(b, "<td nowrap>" CRLF); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bprintf(b, "</td>" CRLF); |
+ |
+ html_textlink_mailbox_table(session, b, "subscribe", name, |
+@@ -208,8 +208,8 @@ html_folderlist(struct session *session, |
+ bputs(b, "<tr>"); |
+ bputs(b, "<td>"); |
+ bputs(b, "<table><tr><td>" CRLF); |
+- html_form_field(b, "Directory", "cwd", session->cwd, 32); |
+- html_form_field(b, "Filter", "filter", session->dir_filter, 12); |
++ html_form_field(b, "Directory", "cwd", utf8_from_imaputf7(pool, session->cwd), 32); |
++ html_form_field(b, "Filter", "filter", utf8_from_imaputf7(pool, session->dir_filter), 12); |
+ html_form_submit(b, "submit", "Apply"); |
+ bputs(b, "</td></tr></table>" CRLF); |
+ bputs(b, "</td>" CRLF); |
+Index: prayer-1.0.18/prayer/cmd_filter_select.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_filter_select.c 2007-03-10 19:38:54.159389577 +0100 |
++++ prayer-1.0.18/prayer/cmd_filter_select.c 2007-03-10 19:39:30.694093991 +0100 |
+@@ -68,7 +68,7 @@ generate_directory_line(struct session * |
+ html_session_bprintf(session, b, "<td><a href=\"", "\">" CRLF, |
+ "filter_select?cwd=%s", name); |
+ |
+- html_quote_string(b, dir); |
++ html_quote_string(b, utf8_from_imaputf7(pool, dir)); |
+ bprintf(b, "</a></td>" CRLF); |
+ |
+ bputs(b, "</tr>" CRLF); |
+@@ -93,7 +93,7 @@ generate_favourite_folder_line(struct se |
+ bputs(b, "</td>" CRLF); |
+ |
+ bputs(b, "<td>" CRLF); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bputs(b, "</td>" CRLF); |
+ |
+ html_textlink_mailbox_table(session, b, "filter_mbox/copy", name, |
+@@ -124,7 +124,7 @@ generate_folder_line(struct session *ses |
+ bputs(b, "</td>" CRLF); |
+ |
+ bputs(b, "<td>" CRLF); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bputs(b, "</td>" CRLF); |
+ |
+ html_textlink_mailbox_table(session, b, "filter_mbox/copy", name, |
+@@ -159,8 +159,8 @@ html_folderlist(struct session *session, |
+ /* Change directory form, including back button */ |
+ html_form_start(session, b, "GET", "filter_select"); |
+ |
+- html_form_field(b, "Directory", "cwd", session->cwd, 32); |
+- html_form_field(b, "Filter", "filter", session->dir_filter, 12); |
++ html_form_field(b, "Directory", "cwd", utf8_from_imaputf7(pool, session->cwd), 32); |
++ html_form_field(b, "Filter", "filter", utf8_from_imaputf7(pool, session->dir_filter), 12); |
+ html_form_submit(b, "sub_apply", "Apply"); |
+ html_form_submit(b, "sub_cancel", "Cancel"); |
+ html_form_end(b); |
+Index: prayer-1.0.18/prayer/cmd_folders.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_folders.c 2007-03-10 19:38:54.249401166 +0100 |
++++ prayer-1.0.18/prayer/cmd_folders.c 2007-03-10 19:39:30.734099143 +0100 |
+@@ -95,7 +95,7 @@ generate_directory_line(struct session * |
+ |
+ html_session_bprintf(session, b, "<td><a href=\"", "\">" CRLF, |
+ "folders?cwd=%s", name); |
+- html_quote_string(b, dir); |
++ html_quote_string(b, utf8_from_imaputf7(pool, dir)); |
+ bprintf(b, "</a></td>" CRLF); |
+ |
+ html_textlink_mailbox_table(session, b, "rename", name, "Rename"); |
+@@ -127,7 +127,7 @@ generate_folder_line(struct session *ses |
+ html_session_bprintf(session, b, "<td nowrap><a href=\"", "\">" CRLF, |
+ "change/%s", name); |
+ |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bprintf(b, "</a></td>" CRLF); |
+ |
+ if (strcmp(name, "INBOX") != 0) { |
+@@ -165,8 +165,8 @@ html_folderlist(struct session *session, |
+ else |
+ bputs(b, "<tr>"); |
+ bputs(b, "<td><table><tr><td>" CRLF); |
+- html_form_field(b, "Directory", "cwd", session->cwd, 32); |
+- html_form_field(b, "Filter", "filter", session->dir_filter, 12); |
++ html_form_field(b, "Directory", "cwd", utf8_from_imaputf7(pool, session->cwd), 32); |
++ html_form_field(b, "Filter", "filter", utf8_from_imaputf7(pool, session->dir_filter), 12); |
+ html_form_submit(b, "submit", "Apply"); |
+ bputs(b, "</td></tr></table></td>" CRLF); |
+ bputs(b, "<td align=\"right\"><table><tr>" CRLF); |
+@@ -267,7 +267,7 @@ void cmd_folders(struct session *session |
+ request_decode_get(request); |
+ h = request->form; |
+ |
+- if ((s = assoc_lookup(h, "cwd"))) { |
++ if ((s = utf8_to_imaputf7(request->pool, assoc_lookup(h, "cwd")))) { |
+ string_canon_decode(s); |
+ |
+ if (string_filename_valid(s)) |
+@@ -277,7 +277,7 @@ void cmd_folders(struct session *session |
+ "Path contained illegal characters"); |
+ } |
+ |
+- if ((s = assoc_lookup(h, "filter")) |
++ if ((s = utf8_to_imaputf7(request->pool, assoc_lookup(h, "filter"))) |
+ && (strcmp(s, session->dir_filter) != 0)) |
+ string_strdup(&session->dir_filter, s); |
+ } |
+Index: prayer-1.0.18/prayer/cmd_forward1.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_forward1.c 2007-03-10 19:38:54.309408891 +0100 |
++++ prayer-1.0.18/prayer/cmd_forward1.c 2007-03-10 19:39:30.744100430 +0100 |
+@@ -157,6 +157,8 @@ add_text(struct session *session, |
+ char *init_msg, *decode_msg, *type; |
+ BODY *body = NIL; |
+ char *section = "1"; |
++ PARAMETER *parameter; |
++ char *charset = "ISO-8859-1"; |
+ |
+ if (!(text = ml_fetch_header(session, stream, msgno, |
+ NIL, hdrslist, &len, 0))) |
+@@ -204,6 +206,13 @@ add_text(struct session *session, |
+ } else |
+ section = "1"; |
+ |
++ for (parameter = body->parameter; parameter; parameter = parameter->next) { |
++ if (strcasecmp(parameter->attribute, "charset") == 0) { |
++ charset = parameter->value; |
++ break; |
++ } |
++ } |
++ |
+ if (!(init_msg = ml_fetchbody(session, stream, msgno, section, &len))) |
+ return (NIL); |
+ |
+Index: prayer-1.0.18/prayer/cmd_list.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_list.c 2007-03-10 19:38:54.379417906 +0100 |
++++ prayer-1.0.18/prayer/cmd_list.c 2007-03-10 19:39:30.794106870 +0100 |
+@@ -143,7 +143,7 @@ cmd_list_toolbar_hdr(struct session *ses |
+ bputs(b, "</tr></table></td>" CRLF); |
+ |
+ bputs(b, "<td width=\"33%\" align=\"center\"><strong>\""); |
+- html_quote_string(b, session->foldername); |
++ html_quote_string(b, utf8_from_imaputf7(session->request->pool, session->foldername)); |
+ bputs(b, "\" with "); |
+ bprintf(b, "%lu%s %s" CRLF, count, marked, messages); |
+ bputs(b, "</strong></td>" CRLF); |
+@@ -378,7 +378,7 @@ cmd_list_msg(struct session *session, |
+ (char *) rfc1522_decode(pool_alloc(request->pool, strlen(string)), |
+ strlen(string), string, NIL); |
+ |
+- string = string_prune(request->pool, string, config->list_addr_maxlen); |
++ string = utf8_prune(request->pool, string, config->list_addr_maxlen); |
+ |
+ if (use_to) |
+ string = pool_strcat(request->pool, "To: ", string); |
+@@ -400,7 +400,7 @@ cmd_list_msg(struct session *session, |
+ rfc1522_decode(pool_alloc(request->pool, strlen(string)), |
+ strlen(string), string, NIL); |
+ |
+- string = string_prune(request->pool, string, |
++ string = utf8_prune(request->pool, string, |
+ config->list_subject_maxlen); |
+ } else |
+ string = "(No subject)"; |
+Index: prayer-1.0.18/prayer/cmd_preferred.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_preferred.c 2007-03-10 19:38:54.429424344 +0100 |
++++ prayer-1.0.18/prayer/cmd_preferred.c 2007-03-10 19:39:30.824110733 +0100 |
+@@ -22,7 +22,8 @@ void cmd_preferred(struct session *sessi |
+ if (string_filename_valid(name)) { |
+ favourite_preferred(fl, name); |
+ options->save = T; |
+- session_message(session, "Making %s preferred folder", name); |
++ session_message(session, "Making %s preferred folder", |
++ utf8_from_imaputf7(request->pool, name)); |
+ } else |
+ session_message(session, |
+ "String contained illegal characters"); |
+Index: prayer-1.0.18/prayer/cmd_rename.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_rename.c 2007-03-10 19:38:54.499433358 +0100 |
++++ prayer-1.0.18/prayer/cmd_rename.c 2007-03-10 19:39:30.844113310 +0100 |
+@@ -63,7 +63,7 @@ generate_directory_line(struct session * |
+ bprintf(b, "</a></td>" CRLF); |
+ html_session_bprintf(session, b, "<td><a href=\"", "\">" CRLF, |
+ "rename?cwd=%s", name); |
+- html_quote_string(b, dir); |
++ html_quote_string(b, utf8_from_imaputf7(pool, dir)); |
+ bprintf(b, "</a></td></tr>" CRLF); |
+ } |
+ |
+@@ -84,7 +84,7 @@ generate_folder_line(struct session *ses |
+ html_icon(session, b, "dir.gif", "[mailbox]"); |
+ bputs(b, "</a></td>" CRLF); |
+ bputs(b, "<td><a>" CRLF); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bputs(b, "</a></td></tr>" CRLF); |
+ } |
+ |
+@@ -107,7 +107,7 @@ rename_html_folderlist(struct session *s |
+ if (session->rename_foldername) |
+ bprintf(b, |
+ "<h2 align=\"center\">Rename folder %s to ...</h2>" CRLF, |
+- session->rename_foldername); |
++ utf8_from_imaputf7(pool, session->rename_foldername)); |
+ |
+ /* Change directory form, including back button */ |
+ html_form_start(session, b, "GET", "rename"); |
+@@ -118,8 +118,8 @@ rename_html_folderlist(struct session *s |
+ else |
+ bputs(b, "<tr>"); |
+ bputs(b, "<td>" CRLF); |
+- html_form_field(b, "Directory", "cwd", session->cwd, 32); |
+- html_form_field(b, "Filter", "filter", session->dir_filter, 12); |
++ html_form_field(b, "Directory", "cwd", utf8_from_imaputf7(pool, session->cwd), 32); |
++ html_form_field(b, "Filter", "filter", utf8_from_imaputf7(pool, session->dir_filter), 12); |
+ html_form_submit(b, "submit", "Apply"); |
+ bputs(b, "</td></tr></table>" CRLF); |
+ html_form_end(b); |
+Index: prayer-1.0.18/prayer/cmd_rename_item.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_rename_item.c 2007-03-10 19:38:54.569442372 +0100 |
++++ prayer-1.0.18/prayer/cmd_rename_item.c 2007-03-10 19:39:30.864115885 +0100 |
+@@ -29,7 +29,7 @@ void cmd_rename_item(struct session *ses |
+ } |
+ |
+ if (!(session->rename_foldername && |
+- (newname = assoc_lookup(request->form, "name")))) { |
++ (newname = utf8_to_imaputf7(pool, assoc_lookup(request->form, "name"))))) { |
+ session_redirect(session, request, "folders"); |
+ return; |
+ } |
+@@ -70,11 +70,13 @@ void cmd_rename_item(struct session *ses |
+ if (ml_have_error()) { |
+ session_message(session, |
+ "Failed to rename mailbox: %s - %s", |
+- session->rename_foldername, ml_errmsg()); |
++ utf8_from_imaputf7(pool, session->rename_foldername), |
++ ml_errmsg()); |
+ } else { |
+ session_message(session, |
+ "Renamed mailbox %s to be %s", |
+- session->rename_foldername, newname); |
++ utf8_from_imaputf7(pool, session->rename_foldername), |
++ newname); |
+ dircache_rename(session->dircache, session->rename_foldername, |
+ newname); |
+ } |
+Index: prayer-1.0.18/prayer/cmd_reply2.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_reply2.c 2007-03-10 19:38:54.619448812 +0100 |
++++ prayer-1.0.18/prayer/cmd_reply2.c 2007-03-10 19:39:30.894119749 +0100 |
+@@ -51,6 +51,8 @@ add_text(struct session *session, struct |
+ char *init_msg, *decode_msg, *type; |
+ unsigned long len; |
+ char *text, *s; |
++ PARAMETER *parameter; |
++ char *charset = "ISO-8859-1"; |
+ |
+ if ((body = ml_body(session, stream, msgno, "1")) == NIL) |
+ return(NIL); |
+@@ -91,6 +93,13 @@ add_text(struct session *session, struct |
+ return(T); |
+ } |
+ |
++ for (parameter = body->parameter; parameter; parameter = parameter->next) { |
++ if (strcasecmp(parameter->attribute, "charset") == 0) { |
++ charset = parameter->value; |
++ break; |
++ } |
++ } |
++ |
+ /* Got a valid text section to display */ |
+ if (!(init_msg=ml_fetchbody(session, stream, msgno, section, &len))) |
+ return(NIL); |
+@@ -133,11 +142,11 @@ add_text(struct session *session, struct |
+ struct buffer *b = buffer_create(pool, 8192); |
+ if (decode_msg == init_msg) |
+ decode_msg = strdup(init_msg); |
+- html_secure_strip_all(b, decode_msg); |
++ html_secure_strip_all(b, utf8_from_string(pool, charset, decode_msg, len)); |
+ |
+ text = buffer_fetch(b, 0, buffer_size(b), NIL); |
+ } else |
+- text = decode_msg; |
++ text = utf8_from_string(pool, charset, decode_msg, len); |
+ |
+ bputs(b, ">"); |
+ for (s = text; *s;) { |
+Index: prayer-1.0.18/prayer/cmd_rm.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_rm.c 2007-03-10 19:38:54.669455249 +0100 |
++++ prayer-1.0.18/prayer/cmd_rm.c 2007-03-10 19:39:30.914122325 +0100 |
+@@ -32,16 +32,20 @@ void cmd_rm(struct session *session) |
+ bprintf(b, |
+ "<h2 align=\"center\">Confirm directory deletion: \"%s\"</h2>" |
+ CRLF, |
+- string_canon_decode(pool_strdup |
+- (request->pool, request->argv[2]))); |
++ utf8_from_imaputf7(request->pool, |
++ string_canon_decode(pool_strdup |
++ (request->pool, |
++ request->argv[2])))); |
+ |
+ } else { |
+ html_start(session, b, "Confirm Mail folder deletion"); |
+ bprintf(b, |
+ "<h2 align=\"center\">Confirm folder deletion: \"%s\"</h2>" |
+ CRLF, |
+- string_canon_decode(pool_strdup |
+- (request->pool, request->argv[2]))); |
++ utf8_from_imaputf7(request->pool, |
++ string_canon_decode(pool_strdup |
++ (request->pool, |
++ request->argv[2])))); |
+ } |
+ |
+ cmd = pool_printf(request->pool, "rm1/%s/%s", |
+Index: prayer-1.0.18/prayer/cmd_rm1.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_rm1.c 2007-03-10 19:38:54.719461687 +0100 |
++++ prayer-1.0.18/prayer/cmd_rm1.c 2007-03-10 19:39:30.944126189 +0100 |
+@@ -55,7 +55,7 @@ void cmd_rm1(struct session *session) |
+ session_message(session, "%s", ml_errmsg()); /* Includes name */ |
+ } else { |
+ session_message(session, "Deleted directory: \"%s\"", mailbox); |
+- dircache_delete(session->dircache, mailbox); |
++ dircache_delete(session->dircache, utf8_from_imaputf7(request->pool, mailbox)); |
+ } |
+ } else { |
+ ml_delete(session, stream, |
+@@ -67,7 +67,8 @@ void cmd_rm1(struct session *session) |
+ } else if (ml_have_error()) { |
+ session_message(session, "%s", ml_errmsg()); /* Includes name */ |
+ } else { |
+- session_message(session, "Deleted mailbox: \"%s\"", mailbox); |
++ session_message(session, "Deleted mailbox: \"%s\"", |
++ utf8_from_imaputf7(request->pool, mailbox)); |
+ dircache_delete(session->dircache, mailbox); |
+ if (favourite_delete(fl, mailbox)) |
+ options->save = T; |
+Index: prayer-1.0.18/prayer/cmd_subscribe.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_subscribe.c 2007-03-10 19:38:54.769468126 +0100 |
++++ prayer-1.0.18/prayer/cmd_subscribe.c 2007-03-10 19:39:30.954127477 +0100 |
+@@ -23,7 +23,7 @@ void cmd_subscribe(struct session *sessi |
+ if (favourite_add(fl, name)) { |
+ options->save = T; |
+ session_message(session, "Added %s to favourites list", |
+- name); |
++ utf8_from_imaputf7(request->pool, name)); |
+ } else |
+ session_message(session, "Already on favourites list", |
+ name); |
+Index: prayer-1.0.18/prayer/cmd_transfer.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_transfer.c 2007-03-10 19:38:54.829475852 +0100 |
++++ prayer-1.0.18/prayer/cmd_transfer.c 2007-03-10 19:39:30.994132629 +0100 |
+@@ -93,7 +93,7 @@ generate_directory_line(struct session * |
+ html_session_bprintf(session, b, |
+ "<td><a href=\"", "\">" CRLF, "transfer?cwd=%s", |
+ name); |
+- html_quote_string(b, dir); |
++ html_quote_string(b, utf8_from_imaputf7(pool, dir)); |
+ bprintf(b, "</a></td>" CRLF); |
+ |
+ bputs(b, "<td> </td>" CRLF); |
+@@ -125,7 +125,7 @@ generate_favourite_folder_line(struct se |
+ bputs(b, "</a></td>" CRLF); |
+ |
+ bputs(b, "<td><a>" CRLF); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bputs(b, "</a></td>" CRLF); |
+ |
+ bprintf(b, "<td><a href=\"%s/NOSEQ/transfer/%s/%s\">" CRLF, |
+@@ -159,7 +159,7 @@ generate_folder_line(struct session *ses |
+ bputs(b, "</a></td>" CRLF); |
+ |
+ bputs(b, "<td>" CRLF); |
+- html_quote_string(b, folder); |
++ html_quote_string(b, utf8_from_imaputf7(pool, folder)); |
+ bputs(b, "</td>" CRLF); |
+ |
+ bprintf(b, "<td><a href=\"%s/NOSEQ/transfer/%s/%s\">" CRLF, |
+@@ -197,8 +197,8 @@ html_folderlist(struct session *session, |
+ else |
+ bputs(b, "<tr>"); |
+ bputs(b, "<td><table><tr><td>" CRLF); |
+- html_form_field(b, "Directory", "cwd", session->cwd, 32); |
+- html_form_field(b, "Filter", "filter", session->dir_filter, 12); |
++ html_form_field(b, "Directory", "cwd", utf8_from_imaputf7(pool, session->cwd), 32); |
++ html_form_field(b, "Filter", "filter", utf8_from_imaputf7(pool, session->dir_filter), 12); |
+ html_form_submit(b, "submit", "Apply"); |
+ bputs(b, "</td></tr></table></td>" CRLF); |
+ bputs(b, "<td align=\"right\"><table><tr><td>" CRLF); |
+@@ -332,7 +332,8 @@ static BOOL download(struct session *ses |
+ OP_READONLY); |
+ |
+ if (!session->xfer_stream) { |
+- session_message(session, "Failed to open mail folder: %s", name); |
++ session_message(session, "Failed to open mail folder: %s", |
++ utf8_from_imaputf7(request->pool, name)); |
+ session_log(session, |
+ "[cmd_transfer] Failed to open mail folder: %s", name); |
+ return (NIL); |
+@@ -343,7 +344,7 @@ static BOOL download(struct session *ses |
+ /* Fetch overview for all messages in folder */ |
+ if (!ml_fetch_overview(session, tstream, "1:*", NIL)) { |
+ session_message(session, "Failed to fetch folder overview: %s", |
+- name); |
++ utf8_from_imaputf7(request->pool, name)); |
+ session_log(session, |
+ "[cmd_transfer]] Failed to fetch overview: %s", name); |
+ return (NIL); |
+Index: prayer-1.0.18/prayer/cmd_unsubscribe.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_unsubscribe.c 2007-03-10 19:38:54.919487442 +0100 |
++++ prayer-1.0.18/prayer/cmd_unsubscribe.c 2007-03-10 19:39:31.014135204 +0100 |
+@@ -23,10 +23,11 @@ void cmd_unsubscribe(struct session *ses |
+ if (favourite_delete(fl, name)) { |
+ options->save = T; |
+ session_message(session, "Removed %s from favourites list", |
+- name); |
++ utf8_from_imaputf7(request->pool, name)); |
+ } else |
+ session_message(session, |
+- "Folder %s not on favourites list", name); |
++ "Folder %s not on favourites list", |
++ utf8_from_imaputf7(request->pool, name)); |
+ } else |
+ session_message(session, |
+ "String contained illegal characters"); |
+Index: prayer-1.0.18/prayer/cmd_upload_select.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/cmd_upload_select.c 2007-03-10 19:38:54.969493881 +0100 |
++++ prayer-1.0.18/prayer/cmd_upload_select.c 2007-03-10 19:39:31.034137781 +0100 |
+@@ -122,8 +122,8 @@ html_folderlist(struct session *session, |
+ |
+ /* Change directory form, including back button */ |
+ html_form_start(session, b, "GET", "upload_select"); |
+- html_form_field(b, "Directory", "cwd", session->cwd, 32); |
+- html_form_field(b, "Filter", "filter", session->dir_filter, 12); |
++ html_form_field(b, "Directory", "cwd", utf8_from_imaputf7(pool, session->cwd), 32); |
++ html_form_field(b, "Filter", "filter", utf8_from_imaputf7(pool, session->dir_filter), 12); |
+ html_form_submit(b, "submit", "Apply"); |
+ html_form_end(b); |
+ |
+Index: prayer-1.0.18/prayer/draft.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/draft.c 2007-03-10 19:38:55.019500318 +0100 |
++++ prayer-1.0.18/prayer/draft.c 2007-03-10 19:39:31.074142931 +0100 |
+@@ -477,7 +477,7 @@ void draft_update_body(struct draft *d, |
+ } else |
+ d->body = pool_strdup(d->pool, d->body); |
+ |
+- draft_transliterate_1252((unsigned char *)d->body); |
++ /*draft_transliterate_1252((unsigned char *)d->body);*/ |
+ } |
+ |
+ /* draft_update() ******************************************************** |
+@@ -535,7 +535,7 @@ void draft_update(struct draft *d, struc |
+ else |
+ d->body = pool_maybe_strdup(d->pool, d->body); |
+ |
+- draft_transliterate_1252((unsigned char *)d->body); |
++ /*draft_transliterate_1252((unsigned char *)d->body);*/ |
+ |
+ d->in_reply_to = pool_maybe_strdup(d->pool, d->in_reply_to); |
+ d->references = pool_maybe_strdup(d->pool, d->references); |
+@@ -1164,7 +1164,7 @@ static void draft_make_multipart(struct |
+ bprintf(b, CRLF "--%s" CRLF, cookie); |
+ |
+ bputs(b, |
+- "Content-Type: text/plain; format=flowed; charset=ISO-8859-1" |
++ "Content-Type: text/plain; format=flowed; charset=UTF-8" |
+ CRLF); |
+ if (need_qprint) |
+ bputs(b, "Content-Transfer-Encoding: QUOTED-PRINTABLE" CRLF); |
+@@ -1323,7 +1323,7 @@ static void draft_make_single_part(struc |
+ need_qprint = T; |
+ |
+ bputs(b, |
+- "Content-Type: text/plain; format=flowed; charset=ISO-8859-1" |
++ "Content-Type: text/plain; format=flowed; charset=UTF-8" |
+ CRLF); |
+ if (need_qprint) |
+ bputs(b, "Content-Transfer-Encoding: quoted-printable" CRLF); |
+@@ -1418,7 +1418,7 @@ char *draft_make_msg(struct draft *draft |
+ |
+ /* Encode using temporary buffer if required */ |
+ s = (char *) rfc1522_encode(tmp, len, |
+- (unsigned char *) s, "ISO-8859-1"); |
++ (unsigned char *) s, "UTF-8"); |
+ bprintf(mb, "Subject: %s" CRLF, s); |
+ free(tmp); |
+ } |
+Index: prayer-1.0.18/prayer/html.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/html.c 2007-03-10 19:38:55.069506757 +0100 |
++++ prayer-1.0.18/prayer/html.c 2007-03-10 19:39:31.134150660 +0100 |
+@@ -35,7 +35,7 @@ void html_start(struct session *session, |
+ bprintf(b, "<title>Webmail service: %s</title>" CRLF, title); |
+ bputs(b, "<meta name=\"robots\" content=\"none\">" CRLF); |
+ bputs(b, ("<meta http-equiv=\"Content-Type\" " |
+- "content=\"text/html; charset=ISO-8859-1\">" CRLF)); |
++ "content=\"text/html; charset=UTF-8\">" CRLF)); |
+ bputs(b, "</head>" CRLF); |
+ |
+ bputs(b, "<body"); |
+@@ -502,7 +502,7 @@ void |
+ html_form_start(struct session *s, struct buffer *b, char *method, |
+ char *cmd) |
+ { |
+- bprintf(b, "<form method=\"%s\" accept-charset=\"ISO-8859-1\"", |
++ bprintf(b, "<form method=\"%s\" accept-charset=\"UTF-8\"", |
+ method); |
+ html_session_bputs(s, b, " action=\"", "\">" CRLF, cmd); |
+ } |
+@@ -854,7 +854,7 @@ html_banner_toolbar_favourites(struct se |
+ string_canon_encode(request->pool, li->name)); |
+ } |
+ |
+- html_quote_string(b, li->name); |
++ html_quote_string(b, utf8_from_imaputf7(request->pool, li->name)); |
+ bputs(b, "</option>" CRLF); |
+ } |
+ bputs(b, "</select>" CRLF); |
+@@ -926,14 +926,14 @@ html_banner_toolbar_folders(struct sessi |
+ if (prefix) { |
+ bprintf(b, "<option value=\"%s%s\">", |
+ prefix, string_canon_encode(request->pool, dl->name)); |
+- html_quote_string(b, session->cwd); |
++ html_quote_string(b, utf8_from_imaputf7(request->pool, session->cwd)); |
+ html_quote_string(b, "/"); |
+- html_quote_string(b, dl->name); |
++ html_quote_string(b, utf8_from_imaputf7(request->pool, dl->name)); |
+ bputs(b, "</option>" CRLF); |
+ } else if (strcasecmp(dl->name, "INBOX") != 0) { |
+ bprintf(b, "<option value=\"%s\">", |
+ string_canon_encode(request->pool, dl->name)); |
+- html_quote_string(b, dl->name); |
++ html_quote_string(b, utf8_from_imaputf7(request->pool, dl->name)); |
+ bputs(b, "</option>" CRLF); |
+ } |
+ } |
+@@ -1077,7 +1077,8 @@ html_banner_toolbar(struct session *sess |
+ void html_quote_char(struct buffer *b, unsigned char c) |
+ { |
+ if (c > 127) { |
+- bprintf(b, "&#%lu;", (unsigned long) c); |
++ /*bprintf(b, "&#%lu;", (unsigned long) c);*/ |
++ bputc(b, c); |
+ } else |
+ switch (c) { |
+ case '"': |
+Index: prayer-1.0.18/prayer/prayer_session.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/prayer_session.h 2007-03-10 19:39:29.243907238 +0100 |
++++ prayer-1.0.18/prayer/prayer_session.h 2007-03-10 19:39:31.844242104 +0100 |
+@@ -74,3 +74,4 @@ extern int errno; /* just |
+ #include "checksum.h" |
+ #include "wrap.h" |
+ #include "portlist.h" |
++#include "utf8.h" |
+Index: prayer-1.0.18/prayer/response.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/response.c 2007-03-10 19:38:55.169519634 +0100 |
++++ prayer-1.0.18/prayer/response.c 2007-03-10 19:39:31.904249831 +0100 |
+@@ -405,7 +405,7 @@ void response_error(struct request *requ |
+ bputs(b, "Expires: "); |
+ response_date_string(b, time(NIL)); |
+ bputs(b, "" CRLF); |
+- bprintf(b, "Content-Type: text/html; charset=iso-8859-1" CRLF); |
++ bprintf(b, "Content-Type: text/html; charset=UTF-8" CRLF); |
+ bprintf(b, "Content-Length: %lu" CRLF, |
+ buffer_size(request->write_buffer)); |
+ response_header_end(request); |
+@@ -437,7 +437,7 @@ void response_html(struct request *reque |
+ |
+ /* Generate simple header block for HTML */ |
+ response_header_start(request, status); |
+- bputs(b, "Content-Type: text/html; charset=iso-8859-1" CRLF); |
++ bputs(b, "Content-Type: text/html; charset=UTF-8" CRLF); |
+ |
+ #ifdef STELLA_HACK |
+ bputs(b, "Expires: "); |
+Index: prayer-1.0.18/prayer/rfc1522.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/rfc1522.c 2007-03-10 19:38:55.249529936 +0100 |
++++ prayer-1.0.18/prayer/rfc1522.c 2007-03-10 19:39:31.934253696 +0100 |
+@@ -162,6 +162,7 @@ char **charset; |
+ unsigned char *rv = NULL, *p; |
+ char *start = s, *sw, *cset, *enc, *txt, *ew, **q, *lang; |
+ unsigned long l; |
++ unsigned char *src; |
+ int i; |
+ |
+ *d = '\0'; /* init destination */ |
+@@ -171,15 +172,16 @@ char **charset; |
+ while (s && (sw = strstr(s, RFC1522_INIT))) { |
+ /* validate the rest of the encoded-word */ |
+ if (rfc1522_valid(sw, &cset, &enc, &txt, &ew)) { |
+- if (!rv) |
++ if (!rv) |
+ rv = d; /* remember start of dest */ |
+ |
+ /* copy everything between s and sw to destination */ |
+ for (i = 0; &s[i] < sw; i++) |
+ if (!isspace((unsigned char) s[i])) { /* if some non-whitespace */ |
+- while (s < sw && d - rv < len - 1) |
+- *d++ = (unsigned char) *s++; |
+- |
++ /* Assume that any 8 bit characters are Latin-1 */ |
++ utf8_print(VAR_CHAR_SET, NULL, |
++ &d, len - (d - rv) - 1, |
++ (unsigned char**)&s, sw - s); |
+ break; |
+ } |
+ |
+@@ -188,23 +190,12 @@ char **charset; |
+ if ((lang = strchr(cset, '*'))) |
+ *lang++ = '\0'; |
+ |
+- |
+- /* Insert text explaining charset if we don't know what it is */ |
+- if ((strcasecmp((char *) cset, VAR_CHAR_SET)) |
+- && strcasecmp((char *) cset, "US-ASCII")) { |
+- if (charset) { |
+- if (!*charset) /* only write first charset */ |
+- *charset = cpystr(cset); |
+- } else { |
+- if (d - rv < len - 1) |
+- *d++ = '['; |
+- |
+- sstrncpy((char **) &d, cset, len - 1 - (d - rv)); |
+- if (d - rv < len - 1) |
+- *d++ = ']'; |
+- if (d - rv < len - 1) |
+- *d++ = SPACE; |
+- } |
++ if (!*cset) { |
++ cset = UNKNOWN_CHARSET; |
++ } |
++ if (charset) { |
++ if (!*charset) /* only write first charset */ |
++ *charset = cpystr(cset); |
+ } |
+ |
+ /* based on encoding, write the encoded text to output buffer */ |
+@@ -228,15 +219,14 @@ char **charset; |
+ } else |
+ q = NULL; |
+ |
+- if ((p = |
++ if ((src = p = |
+ rfc822_qprint((unsigned char *) txt, strlen(txt), |
+ &l))) { |
+- strncpy((char *) d, (char *) p, len - 1 - (d - rv)); |
+- d[len - 1 - (d - rv)] = '\0'; |
++ utf8_print(cset, VAR_CHAR_SET, |
++ &d, len - 1 - (d - rv), |
++ &src, l); |
++ *d = '\0'; |
+ fs_give((void **) &p); /* free encoded buf */ |
+- d += l; /* advance dest ptr to EOL */ |
+- if (d - rv > len - 1) |
+- d = rv + len - 1; |
+ } else { |
+ if (q) |
+ fs_give((void **) &q); |
+@@ -255,22 +245,26 @@ char **charset; |
+ |
+ case 'B': /* 'B' encoding */ |
+ case 'b': |
+- if ((p = |
++ if ((src = p = |
+ rfc822_base64((unsigned char *) txt, strlen(txt), |
+ &l))) { |
+- strncpy((char *) d, (char *) p, len - 1 - (d - rv)); |
+- d[len - 1 - (d - rv)] = '\0'; |
++ utf8_print(cset, VAR_CHAR_SET, |
++ &d, len - 1 - (d - rv), |
++ &src, l); |
++ *d = '\0'; |
+ fs_give((void **) &p); /* free encoded buf */ |
+- d += l; /* advance dest ptr to EOL */ |
+- if (d - rv > len - 1) |
+- d = rv + len - 1; |
+ } else |
+ goto bogus; |
+ |
+ break; |
+ |
++ bogus: |
+ default: |
+- sstrncpy((char **) &d, txt, len - 1 - (d - rv)); |
++ src = txt; |
++ utf8_print(VAR_CHAR_SET, NULL, |
++ &d, len - 1 - (d - rv), |
++ (unsigned char **)&src, ew - txt); |
++ *d = '\0'; |
+ break; |
+ } |
+ |
+@@ -283,6 +277,7 @@ char **charset; |
+ |
+ if (lang) |
+ lang[-1] = '*'; |
++ |
+ } else { |
+ |
+ /* |
+@@ -291,28 +286,38 @@ char **charset; |
+ |
+ /* if already copying to destn, copy it */ |
+ if (rv) { |
+- strncpy((char *) d, s, |
+- (int) min((l = (sw - s) + RFC1522_INIT_L), |
+- len - 1 - (d - rv))); |
+- d += l; /* advance d, tie off text */ |
+- if (d - rv > len - 1) |
+- d = rv + len - 1; |
++ utf8_print(VAR_CHAR_SET, NULL, |
++ &d, len - 1 - (d - rv), |
++ (unsigned char**)&s, sw - s); |
+ *d = '\0'; |
+- s += l; /* advance s beyond intro */ |
+ } else |
+ s += ((sw - s) + RFC1522_INIT_L); |
+ } |
+ } |
+ |
+- if (rv && *s) /* copy remaining text */ |
+- strncat((char *) rv, s, len - 1 - strlen((char *) rv)); |
++ if (rv && *s) { /* copy remaining text */ |
++ utf8_print(VAR_CHAR_SET, NULL, |
++ &d, len - 1 - (d - rv), |
++ (unsigned char**)&s, strlen(s)); |
++ *d = '\0'; |
++ } |
+ |
+ /* BUG: MUST do code page mapping under DOS after decoding */ |
+ |
+- return (rv ? rv : (unsigned char *) start); |
++ if (rv) return rv; |
++ |
++ for (s = start; *s; s++) { |
++ if (*s & 0x80) { |
++ rv = d; |
++ utf8_print(VAR_CHAR_SET, NULL, |
++ &d, len - 1, |
++ (unsigned char**)&start, strlen(s)); |
++ *d = '\0'; |
++ return rv; |
+ |
+- bogus: |
+- return ((unsigned char *) start); |
++ } |
++ } |
++ return (unsigned char *) start; |
+ } |
+ |
+ |
+@@ -364,7 +369,7 @@ int c; |
+ int rfc1522_valenc(c) |
+ int c; |
+ { |
+- return (!(c == '?' || c == SPACE) && isprint((unsigned char) c)); |
++ return (!(c == '?' /*|| c == SPACE*/) && isprint((unsigned char) c)); |
+ } |
+ |
+ |
+@@ -386,7 +391,7 @@ char **endp; |
+ &e) |
+ && rfc1522_token(++e, rfc1522_valtok, RFC1522_DLIM, &t) |
+ && rfc1522_token(++t, rfc1522_valenc, RFC1522_TERM, &p) |
+- && p - s <= RFC1522_MAXW; |
++ /* && p - s <= RFC1522_MAXW */; |
+ |
+ if (charset) |
+ *charset = c; |
+Index: prayer-1.0.18/prayer/utf8.c |
+=================================================================== |
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
++++ prayer-1.0.18/prayer/utf8.c 2007-03-10 19:39:31.974258848 +0100 |
+@@ -0,0 +1,418 @@ |
++/* Copyright (c) Magnus Holmgren <magnus@kibibyte.se>, |
++ * <holmgren@lysator.liu.se> |
++ * |
++ * This file is free software; you can redistribute it and/or modify |
++ * it under the terms of the GNU General Public License as published by |
++ * the Free Software Foundation; either version 2 of the License, or |
++ * (at your option) any later version. |
++ * |
++ * This program is distributed in the hope that it will be useful, |
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
++ * GNU General Public License for more details. |
++ */ |
++ |
++#include "prayer_session.h" |
++#include <iconv.h> |
++ |
++#define JNK 0177 |
++#define UNI_REPLACEMENT_CHAR 0x0000FFFD |
++#define UNI_REPLACEMENT_CHAR_UTF8 "\xEF\xBF\xBD" |
++#define ICONV_CHUNK_SIZE 1024 |
++ |
++/* utf8_from_imaputf7() *********************************************** |
++ * |
++ * Convert a string encoded as modified UTF-7 to UTF-8. |
++ * pool: Target pool for storage |
++ * t: The string to convert |
++ * |
++ * Returns: A new, UTF-8-encoded string |
++ * |
++ * Note: This function tries hard to return something useful in case |
++ * the input string is invalid in some way, rather than bail out |
++ * and return NULL. |
++ **********************************************************************/ |
++ |
++char *utf8_from_imaputf7(struct pool *pool, char *t) |
++{ |
++ struct buffer *b = buffer_create(pool, 64); |
++ BOOL base64mode = NIL; |
++ int i, j; |
++ unsigned char buf[4]; |
++ unsigned char *s; |
++ unsigned long scalar; /* Unicode scalar value */ |
++ unsigned char c; |
++ |
++ static char decode_base64[256] = { |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,076,077,JNK,JNK,JNK, |
++ 064,065,066,067,070,071,072,073,074,075,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,000,001,002,003,004,005,006,007,010,011,012,013,014,015,016, |
++ 017,020,021,022,023,024,025,026,027,030,031,JNK,JNK,JNK,JNK,JNK, |
++ JNK,032,033,034,035,036,037,040,041,042,043,044,045,046,047,050, |
++ 051,052,053,054,055,056,057,060,061,062,063,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK, |
++ JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK,JNK |
++ }; |
++ |
++ if (!t) return NULL; |
++ |
++ for (s = (unsigned char*)t; *s; s++) { |
++ if (base64mode) { |
++ if (*s == '-') { |
++ if (j != 0 || c != 0) /* Some junk left */ { |
++ bputs(b, UNI_REPLACEMENT_CHAR_UTF8); |
++ } |
++ base64mode = NIL; |
++ continue; |
++ } |
++ |
++ if (decode_base64[*s] == JNK) { |
++ break; /* Bail out */ |
++ } |
++ |
++ switch (i++) { |
++ case 0: |
++ /* Top 6 bits of the first octet */ |
++ c = decode_base64[*s] << 2; break; |
++ case 1: |
++ /* Top 2 bits are bottom 2 bits of the first octet */ |
++ buf[j++] = c | (decode_base64[*s] >> 4); |
++ /* and bottom 4 bits are top 4 bits of the second */ |
++ c = decode_base64[*s] << 4; break; |
++ case 2: |
++ /* Top 4 bits are bottom 4 bits of the second octet */ |
++ buf[j++] = c | (decode_base64[*s] >> 2); |
++ /* and bottom 2 bits are top 2 bits of the third */ |
++ c = decode_base64[*s] << 6; break; |
++ case 3: |
++ /* Bottom 6 bits of the third octet */ |
++ buf[j++] = c | decode_base64[*s]; |
++ i = 0; |
++ } |
++ |
++ /* Check if we have a complete UTF-16 character */ |
++ if (j == 4) { /* We should now have a surrogate pair */ |
++ scalar = ((buf[0] & 3) << 18) + (buf[1] << 10) |
++ + ((buf[2] & 3) << 8) + buf[3] + 0x10000; |
++ } |
++ else if (j == 2) { |
++ if (buf[0] < 0xD8 || buf[0] > 0xDF) { |
++ scalar = (buf[0] << 8) + buf[1]; |
++ } |
++ else if (buf[0] > 0xDB) { |
++ /* Error - invalid surrogate */ |
++ scalar = UNI_REPLACEMENT_CHAR; |
++ } |
++ else { |
++ /* High surrogate found - need low surrogate */ |
++ continue; |
++ } |
++ } |
++ else continue; /* Odd number of bytes */ |
++ |
++ if (scalar >= 0x110000) scalar = UNI_REPLACEMENT_CHAR; |
++ |
++ if (scalar < 0x80) { |
++ bputc(b, (unsigned char)scalar); |
++ j = 0; |
++ continue; |
++ } else if (scalar < 0x800) { |
++ bputc(b, 0xC0 | (scalar >> 6)); |
++ } else if (scalar < 0x10000) { |
++ bputc(b, 0xE0 | (scalar >> 12)); |
++ } else { |
++ bputc(b, 0xF0 | (scalar >> 18)); |
++ } |
++ |
++ if (scalar >= 0x10000) |
++ bputc(b, 0x80 | ((scalar >> 12) & 0x3F)); |
++ if (scalar >= 0x800) |
++ bputc(b, 0x80 | ((scalar >> 6) & 0x3F)); |
++ bputc(b, 0x80 | (scalar & 0x3F)); |
++ j = 0; |
++ |
++ } |
++ else /* !base64mode */ { |
++ if (*s == '&') { |
++ if (*(s+1) == '-') { |
++ bputc(b, '&'); |
++ s++; |
++ } |
++ else { |
++ base64mode = T; |
++ i = 0; j = 0; c = 0; |
++ } |
++ } |
++ else { |
++ bputc(b, *s); |
++ } |
++ } |
++ } |
++ return buffer_fetch(b, 0, buffer_size(b), NIL); |
++} |
++ |
++ |
++/* utf8_to_imaputf7() ************************************************* |
++ * |
++ * Convert a string encoded as UTF-8 to modified UTF-7. |
++ * pool: Target pool for storage |
++ * t: The string to convert |
++ * |
++ * Returns: A new string encoded as modified UTF-7 |
++ * |
++ * Note: This function tries hard to return something useful in case |
++ * the input string is invalid in some way, rather than bail out |
++ * and return NULL. |
++ **********************************************************************/ |
++ |
++char *utf8_to_imaputf7(struct pool *pool, char *t) |
++{ |
++ unsigned char *s; |
++ struct buffer *b = buffer_create(pool, 64); |
++ BOOL base64mode = NIL; |
++ unsigned long scalar; |
++ unsigned int L, i, j; |
++ unsigned char buf[4]; |
++ unsigned char c = 0; |
++ |
++ static char encode_base64[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+,"; |
++ if (!t) return NULL; |
++ |
++ for (s = (unsigned char *)t; *s; s++) { |
++ if (*s < 0x7f && *s >= 0x20) { |
++ if (base64mode) { |
++ switch (i) { |
++ case 1: |
++ /* Remaining bottom 2 bits of the last octet */ |
++ bputc(b, encode_base64[c << 4]); break; |
++ case 2: |
++ /* Remaining bottom 4 bits of the last octet */ |
++ bputc(b, encode_base64[c << 2]); |
++ } |
++ bputc(b, '-'); |
++ base64mode = NIL; |
++ } |
++ bputc(b, *s); |
++ if (*s == '&') { |
++ bputc(b, '-'); |
++ } |
++ } |
++ else { |
++ if (*s < 0x80) { |
++ L = 0; scalar = *s; |
++ } else if ((*s & 0xE0) == 0xC0) { |
++ L = 1; scalar = (*s & 0x1F); |
++ } else if ((*s & 0xF0) == 0xE0) { |
++ L = 2; scalar = (*s & 0x0F); |
++ } else if ((*s & 0xF8) == 0xF0) { |
++ L = 3; scalar = (*s & 0x07); |
++ } else if ((*s & 0xFC) == 0xF8) { |
++ L = 4; scalar = (*s & 0x03); |
++ } else if ((*s & 0xFE) == 0xFC) { |
++ L = 5; scalar = (*s & 0x01); |
++ } else { |
++ L = 0; scalar = UNI_REPLACEMENT_CHAR; |
++ } |
++ |
++ for (j = 0; j < L; j++) { |
++ s++; |
++ if ((*s & 0xC0) == 0x80) { |
++ scalar <<= 6; |
++ scalar |= (*s & 0x3F); |
++ } |
++ else { |
++ s--; |
++ scalar = UNI_REPLACEMENT_CHAR; |
++ } |
++ } |
++ |
++ if (!base64mode) { |
++ bputc(b, '&'); |
++ base64mode = T; |
++ i = 0; |
++ } |
++ if (scalar <= 0xFFFF) { |
++ buf[1] = scalar & 0xFF; |
++ scalar >>= 8; |
++ buf[0] = scalar & 0xFF; |
++ L = 2; |
++ } |
++ else { |
++ scalar -= 0x100000UL; |
++ buf[3] = scalar & 0xFF; |
++ scalar >>= 8; |
++ buf[2] = 0xDC | (scalar & 0x03); |
++ scalar >>= 2; |
++ buf[3] = scalar & 0xFF; |
++ scalar >>= 8; |
++ buf[1] = 0xD8 | (scalar & 0x03); |
++ L = 4; |
++ } |
++ |
++ for (j = 0; j < L; j++) { |
++ switch (i++) { |
++ case 0: |
++ /* Top 6 bits of the first octet */ |
++ bputc(b, encode_base64[(buf[j] >> 2) & 0x3F]); |
++ c = (buf[j] & 0x03); break; |
++ case 1: |
++ /* Bottom 2 bits of the first octet, and top 4 bits of the second */ |
++ bputc(b, encode_base64[(c << 4) | |
++ ((buf[j] >> 4) & 0x0F)]); |
++ c = (buf[j] & 0x0F); break; |
++ case 2: |
++ /* Bottom 4 bits of the second octet and top 2 bits of the third */ |
++ bputc(b, encode_base64[(c << 2) | |
++ ((buf[j] >> 6) & 0x03)]); |
++ /* Bottom 6 bits of the third octet */ |
++ bputc(b, encode_base64[buf[j] & 0x3F]); |
++ i = 0; |
++ } |
++ } |
++ |
++ } |
++ } |
++ if (base64mode) { |
++ switch (i) { |
++ case 1: |
++ /* Remaining bottom 2 bits of the last octet */ |
++ bputc(b, encode_base64[c << 4]); break; |
++ case 2: |
++ /* Remaining bottom 4 bits of the last octet */ |
++ bputc(b, encode_base64[c << 2]); |
++ } |
++ bputc(b, '-'); |
++ base64mode = NIL; |
++ } |
++ return buffer_fetch(b, 0, buffer_size(b), NIL); |
++} |
++ |
++ |
++/* utf8_from_string() ************************************************ |
++ * |
++ * Convert a string with given character encoding to UTF-8 |
++ * |
++ * pool: Pool to allocate memory from |
++ * charset: Charset of input string |
++ * t: String to convert |
++ * len: Length of string |
++ ***********************************************************************/ |
++ |
++char *utf8_from_string(struct pool *pool, char *charset, char *t, unsigned long len) |
++{ |
++ struct buffer *b; |
++ char chunk[ICONV_CHUNK_SIZE]; |
++ char *outbuf; |
++ size_t outbytesleft; |
++ size_t result; |
++ int i; |
++ iconv_t cd = iconv_open("UTF-8", charset); |
++ b = buffer_create(pool, 1024); |
++ |
++ if (cd == (iconv_t)(-1)) { |
++ buffer_printf(b, "(Conversion from %s failed)", charset); |
++ } |
++ else while (len) { |
++ outbuf = chunk; |
++ outbytesleft = ICONV_CHUNK_SIZE; |
++ result = iconv(cd, &t, (size_t*)&len, &outbuf, &outbytesleft); |
++ for (i = 0; i < ICONV_CHUNK_SIZE - outbytesleft; i++) { |
++ bputc(b, chunk[i]); |
++ } |
++ if (result == (size_t)(-1)) switch (errno) { |
++ case E2BIG: |
++ break; |
++ case EILSEQ: |
++ case EINVAL: |
++ /* Try skipping a byte */ |
++ t++; |
++ len--; |
++ bputs(b, UNI_REPLACEMENT_CHAR_UTF8); |
++ break; |
++ default: |
++ iconv_close(cd); |
++ return NULL; |
++ } |
++ } |
++ |
++ iconv_close(cd); |
++ return buffer_fetch(b, 0, buffer_size(b), NIL); |
++} |
++ |
++BOOL utf8_print(char *charset, char *fallback_charset, |
++ unsigned char **dst, unsigned long dst_size, |
++ unsigned char **src, unsigned long src_size) |
++{ |
++ |
++ iconv_t cd = iconv_open("UTF-8", charset); |
++ if (cd == (iconv_t)(-1) && fallback_charset) |
++ cd = iconv_open("UTF-8", fallback_charset); |
++ |
++ while (iconv(cd, (char**)src, (size_t*)&src_size, |
++ (char**)dst, (size_t*)&dst_size) == (size_t)(-1)) { |
++ switch (errno) { |
++ case EILSEQ: |
++ case EINVAL: |
++ /* Try skipping a byte */ |
++ (*src)++; |
++ src_size--; |
++ if (dst_size >= sizeof(UNI_REPLACEMENT_CHAR_UTF8)) { |
++ strcpy((char*)*dst, UNI_REPLACEMENT_CHAR_UTF8); |
++ } |
++ if (errno == EILSEQ) break; |
++ case E2BIG: |
++ default: |
++ iconv_close(cd); |
++ return NIL; |
++ } |
++ } |
++ iconv_close(cd); |
++ return T; |
++} |
++ |
++/* utf8_prune() ******************************************************** |
++ * |
++ * Like string_prune, but counts UTF-8 multibyte sequences as units. |
++ * pool: Target pool |
++ * s: UTF-8 string to prune |
++ * maxlen: Maximum length of string before pruning applies. |
++ * |
++ * Returns: Pruned string, maximum maxlen characters (not bytes), not |
++ * counting the terminating null. |
++ ***********************************************************************/ |
++ |
++char *utf8_prune(struct pool *pool, char *s, unsigned long maxlen) |
++{ |
++ char *result; |
++ unsigned long cutoff; |
++ unsigned long L; |
++ unsigned long i = 0; |
++ |
++ if (maxlen < (strlen("...") + 1)) |
++ return (s); |
++ |
++ for (L = 0; L < maxlen; L++) { |
++ if (s[i] == '\0') return s; |
++ if (L == maxlen - strlen("...")) cutoff = i; |
++ |
++ if (s[i] & 0x80) |
++ while (s[i] & 0x80) i++; |
++ else |
++ i++; |
++ } |
++ |
++ result = pool_alloc(pool, cutoff + 4); |
++ memcpy(result, s, cutoff); |
++ strcpy(result + cutoff, "..."); |
++ |
++ return (result); |
++ |
++} |
+Index: prayer-1.0.18/prayer/utf8.h |
+=================================================================== |
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
++++ prayer-1.0.18/prayer/utf8.h 2007-03-10 19:39:32.004262711 +0100 |
+@@ -0,0 +1,7 @@ |
++char *utf8_from_imaputf7(struct pool *pool, char *t); |
++char *utf8_to_imaputf7(struct pool *pool, char *t); |
++char *utf8_from_string(struct pool *pool, char *charset, char *t, unsigned long len); |
++BOOL utf8_print(char *charset, char *fallback_charset, |
++ unsigned char **dst, unsigned long dst_size, |
++ unsigned char **src, unsigned long src_size); |
++char *utf8_prune(struct pool *pool, char *s, unsigned long maxlen); |
Index: tags/1.0.18-1/debian/patches/sighandling.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/sighandling.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/sighandling.patch (revision 180) |
@@ -0,0 +1,75 @@ |
+Index: prayer-1.0.18/prayer/os.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/os.h 2007-03-10 19:56:40.357114747 +0100 |
++++ prayer-1.0.18/prayer/os.h 2007-03-10 19:57:56.266959171 +0100 |
+@@ -44,6 +44,8 @@ BOOL os_signal_alarm_clear(void); |
+ |
+ BOOL os_signal_init(); |
+ |
++BOOL os_signal_hup_term_init(void (*hup_fn) (), void (*term_fn) ()); |
++ |
+ BOOL os_lock_exclusive(int fd); |
+ |
+ BOOL os_lock_shared(int fd); |
+Index: prayer-1.0.18/prayer/session_server.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/session_server.c 2007-03-10 19:56:40.647152355 +0100 |
++++ prayer-1.0.18/prayer/session_server.c 2007-03-10 19:57:56.326966954 +0100 |
+@@ -355,6 +355,7 @@ BOOL session_server(struct config *confi |
+ fd_set readfds; |
+ pid_t child; |
+ unsigned long timeout = 0L; |
++ BOOL sighup_seen = NIL; |
+ |
+ if (config->direct_enable) { |
+ ssl_portlist |
+@@ -420,6 +421,18 @@ BOOL session_server(struct config *confi |
+ } else { |
+ rc = select(maxfd + 1, &readfds, NIL, NIL, NIL); |
+ } |
++ if (sighup_seen) { |
++ log_misc("SIGHUP received - reexec daemon"); |
++ close(sockfd); |
++ if (config->direct_enable) { |
++ /* Find some way to pass this information along |
++ to the new invocation somehow later. */ |
++ portlist_close_all(ssl_portlist); |
++ portlist_close_all(plain_portlist); |
++ } |
++ log_misc_free(); |
++ return (T); |
++ } |
+ } |
+ while ((rc < 0) && (errno == EINTR)); |
+ |
+Index: prayer-1.0.18/prayer/log.c |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.c 2007-03-10 19:58:03.667919109 +0100 |
++++ prayer-1.0.18/prayer/log.c 2007-03-10 19:58:11.688959503 +0100 |
+@@ -502,6 +502,13 @@ BOOL log_misc_init(struct config *config |
+ return (log_open(log_misc_ptr, log_name)); |
+ } |
+ |
++void log_misc_free() |
++{ |
++ if ((log_misc_ptr == NIL) || (log_misc_ptr->fd < 0)) |
++ return; |
++ log_free(log_misc_ptr); |
++} |
++ |
+ /* log_misc_ping() ******************************************************* |
+ * |
+ * Reopen misc log file if required |
+Index: prayer-1.0.18/prayer/log.h |
+=================================================================== |
+--- prayer-1.0.18.orig/prayer/log.h 2007-03-10 19:58:04.067970999 +0100 |
++++ prayer-1.0.18/prayer/log.h 2007-03-10 19:58:11.648954314 +0100 |
+@@ -45,6 +45,8 @@ void log_record_peer_pid(struct log *log |
+ BOOL |
+ log_misc_init(struct config *config, char *progname, char *misc_log_name); |
+ |
++void log_misc_free(); |
++ |
+ BOOL log_misc_ping(); |
+ |
+ void log_misc(char *fmt, ...); |
Index: tags/1.0.18-1/debian/patches/makefile_install_config.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/makefile_install_config.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/makefile_install_config.patch (revision 180) |
@@ -0,0 +1,260 @@ |
+--- prayer-1.0.18.orig/files/etc/prayer-accountd.cf |
++++ prayer-1.0.18/files/etc/prayer-accountd.cf |
+@@ -8,6 +8,8 @@ |
+ # Default accountd.cf file suitable for RedHat Linux only. |
+ # See distribution for some sample files for FreeBSD and Solaris |
+ |
++accountd_port = 145 |
++ |
+ msforward_name = ".MSforward" |
+ forward_name = ".forward" |
+ aliases_name = "vacation.aliases" |
+--- prayer-1.0.18.orig/files/Makefile |
++++ prayer-1.0.18/files/Makefile |
+@@ -53,41 +53,44 @@ |
+ install-cert: |
+ if [ -f certs/prayer.pem ]; then \ |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) \ |
+- -m $(PRIVATE_FILE) certs/prayer.pem ${BROOT}${PREFIX}/certs; \ |
++ -m $(PRIVATE_FILE) certs/prayer.pem ${DESTDIR}${PREFIX}/certs; \ |
+ fi |
+ |
+ install-config: etc/prayer.cf |
+ $(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/prayer.cf ${BROOT}${PRAYER_CONFIG_FILE} |
++ etc/prayer.cf ${DESTDIR}${PRAYER_CONFIG_FILE} |
+ |
+ install-aconfig: |
+ $(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/prayer-accountd.cf ${BROOT}${ACCOUNTD_CONFIG_FILE} |
++ etc/prayer-accountd.cf ${DESTDIR}${ACCOUNTD_CONFIG_FILE} |
+ |
+ install-motd: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/motd.html ${BROOT}${PREFIX}/etc |
++ etc/motd.html ${DESTDIR}/etc/prayer |
+ |
+ install-welcome: |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \ |
+- etc/welcome.html ${BROOT}${PREFIX}/etc |
++ etc/welcome.html ${DESTDIR}/etc/prayer |
+ |
+ install: |
+- PREFIX=$(BROOT)$(PREFIX) VAR_PREFIX=$(BROOT)$(VAR_PREFIX) \ |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${DESTDIR}${PREFIX} |
++ ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${DESTDIR}/etc/prayer |
++ |
++ PREFIX=$(DESTDIR)$(PREFIX) VAR_PREFIX=$(DESTDIR)$(VAR_PREFIX) \ |
+ RO_USER=$(RO_USER) RO_GROUP=$(RO_GROUP) \ |
+ RW_USER=$(RW_USER) RW_GROUP=$(RW_GROUP) \ |
+ PUBLIC_DIR=$(PUBLIC_DIR) PRIVATE_DIR=$(PRIVATE_DIR) \ |
+ PUBLIC_FILE=$(PUBLIC_FILE) PRIVATE_FILE=$(PRIVATE_FILE) \ |
+ PUBLIC_EXEC=$(PUBLIC_FILE) PRIVATE_EXEC=$(PRIVATE_EXEC) \ |
+- BIN_DIR=$(BIN_DIR) INSTALL=$(INSTALL) \ |
++ BIN_DIR=$(DESTDIR)$(BIN_DIR) INSTALL=$(INSTALL) \ |
+ ./install.sh |
+- if [ ! -f $(BROOT)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
+- if [ ! -f $(BROOT)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
+- if [ ! -f $(BROOT)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi |
+- if [ ! -f $(BROOT)$(PREFIX)/etc/welcome.html ]; then $(MAKE) install-welcome; fi |
++# if [ ! -f $(DESTDIR)$(PREFIX)/certs/prayer.pem ]; then $(MAKE) install-cert; fi |
++ if [ ! -f $(DESTDIR)$(PRAYER_CONFIG_FILE) ]; then $(MAKE) install-config; fi |
++ if [ ! -f $(DESTDIR)$(ACCOUNTD_CONFIG_FILE) ]; then $(MAKE) install-aconfig; fi |
++ if [ ! -f $(DESTDIR)/etc/prayer/motd.html ]; then $(MAKE) install-motd; fi |
++ if [ ! -f $(DESTDIR)/etc/prayer/welcome.html ]; then $(MAKE) install-welcome; fi |
+ |
+ redhat-install-init.d: |
+ install -D -o root -g root -m 755 \ |
+- ./init.d/prayer $(BROOT)/etc/rc.d/init.d/prayer |
++ ./init.d/prayer $(DESTDIR)/etc/rc.d/init.d/prayer |
+ #chkconfig prayer --level 2345 on |
+--- prayer-1.0.18.orig/files/install.sh |
++++ prayer-1.0.18/files/install.sh |
+@@ -4,77 +4,6 @@ |
+ |
+ PATH=/bin:/sbin/:/usr/bin:/usr/sbin |
+ |
+-error=0 |
+- |
+-if [ "x$PREFIX" = "x" ]; then |
+- echo 'PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$VAR_PREFIX" = "x" ]; then |
+- echo 'VAR_PREFIX not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_USER" = "x" ]; then |
+- echo 'RO_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RO_GROUP" = "x" ]; then |
+- echo 'RO_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_USER" = "x" ]; then |
+- echo 'RW_USER not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$RW_GROUP" = "x" ]; then |
+- echo 'RW_GROUP not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PUBLIC_DIR" = "x" ]; then |
+- echo 'PUBLIC_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$PRIVATE_DIR" = "x" ]; then |
+- echo 'PRIVATE_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ "x$BIN_DIR" = "x" ]; then |
+- echo 'BIN_DIR not defined' |
+- error=1 |
+-fi |
+- |
+-if [ $error != 0 ]; then |
+- exit 1 |
+-fi |
+- |
+-if [ ! -d ${VAR_PREFIX} -a `whoami` = "root" ]; then |
+- ${INSTALL} -d -o ${RW_USER} -g ${RW_GROUP} -m ${PRIVATE_DIR} ${VAR_PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX} |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/etc ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX}/etc |
+-fi |
+- |
+-if [ ! -d ${PREFIX}/certs ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PRIVATE_DIR} ${PREFIX}/certs |
+-fi |
+- |
+-if [ ! -d ${BIN_DIR} ]; then |
+- ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PRIVATE_DIR} ${BIN_DIR} |
+-fi |
+- |
+ for i in help icons |
+ do |
+ if [ -d "${PREFIX}/${i}" ]; then |
+--- prayer-1.0.18.orig/files/etc/prayer.cf.SRC |
++++ prayer-1.0.18/files/etc/prayer.cf.SRC |
+@@ -20,7 +20,7 @@ |
+ # User ID to run as if we start off as root |
+ prayer_user = "prayer" |
+ # Group ID to run as if we start off as root |
+-prayer_group = "prayer" |
++prayer_group = "nogroup" |
+ |
+ # Run prayer as background process. |
+ # TRUE => will return as soon as valid configuration is found. |
+@@ -423,14 +423,14 @@ |
+ |
+ # Various directories used by the running system |
+ # Logs stored in $log_dir |
+-log_dir = "$var_prefix/logs" |
++log_dir = "/var/log/prayer" |
+ |
+ # $lock_dir used for interlocking between prayer processes |
+-lock_dir = "$var_prefix/locks" |
++lock_dir = "/var/lock" |
+ |
+ # $socket_dir is location for unix domain sockets which connect frontend |
+ # to backend in proxy mode of operation. |
+-socket_dir = "$var_prefix/sockets" |
++socket_dir = "/var/run/prayer" |
+ |
+ # Split socket directory into 64 subdirs keyed on first letter of sessionID |
+ # Code provides compatibility in both directions: can switch back and forward |
+@@ -441,14 +441,14 @@ |
+ init_socket_name = init |
+ |
+ # $ssl_session_dir is location for SSL session cache |
+-ssl_session_dir = "$var_prefix/ssl_scache" |
++ssl_session_dir = "/var/run/prayer/ssl_scache" |
+ |
+ # Location for temporary files e.g; attachments and folders in transist |
+ # during upload and download operation. Core files also end up here |
+-tmp_dir = "$var_prefix/tmp" |
++tmp_dir = "/tmp" |
+ |
+ # Location for PID files for prayer and prayer-session master processes. |
+-pid_dir = "$var_prefix/pid" |
++pid_dir = "/var/run/prayer" |
+ |
+ # Interface to Hermes finger database |
+ #lookup_rpasswd = "/data/finger/rpasswd.cdb" |
+@@ -587,7 +587,7 @@ |
+ suppress_dotfiles = TRUE |
+ |
+ # Mail directory in users account |
+-maildir = "mail" |
++maildir = "" |
+ |
+ # Temporary hack to remove "mail/" from favourites list (and anywhere |
+ # else where we find the strings embedded into .prayer files). |
+@@ -601,7 +601,7 @@ |
+ # default_domain = "<valid mail domain>" |
+ |
+ # Language for ispell. |
+-ispell_language = "british" |
++ispell_language = "american" |
+ |
+ # Size of small and large compose windows |
+ small_cols = 80 |
+--- prayer-1.0.18.orig/prayer/Makefile |
++++ prayer-1.0.18/prayer/Makefile |
+@@ -102,8 +102,9 @@ |
+ SESSION_LIBS += $(KERB_LIBS) |
+ endif |
+ |
+-CFLAGS = $(BASECFLAGS) $(COMMON_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
+-LDFLAGS = $(BASELDFLAGS) |
++CFLAGS = $(BASECFLAGS) |
++override CFLAGS += $(COMMON_SSL_INCLUDE) $(CCLIENT_INCLUDE) |
++LDFLAGS = $(BASELDFLAGS) -Wl,--as-needed |
+ |
+ SHARED_OBJS = \ |
+ pool.o list.o assoc.o memblock.o buffer.o string.o config.o user_agent.o \ |
+@@ -175,21 +176,21 @@ |
+ |
+ install: all |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \ |
+- $(BROOT)$(BIN_DIR) |
++ $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer $(BROOT)$(BIN_DIR) |
++ prayer $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-chroot $(BROOT)$(BIN_DIR) |
++ prayer-chroot $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-session $(BROOT)$(BIN_DIR) |
++ prayer-session $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-ssl-prune $(BROOT)$(BIN_DIR) |
++ prayer-ssl-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-sem-prune $(BROOT)$(BIN_DIR) |
++ prayer-sem-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-db-prune $(BROOT)$(BIN_DIR) |
++ prayer-db-prune $(DESTDIR)$(BIN_DIR) |
+ $(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \ |
+- prayer-cyclog $(BROOT)$(BIN_DIR) |
++ prayer-cyclog $(DESTDIR)$(BIN_DIR) |
+ |
+ prayer: $(PRAYER_OBJS) prayer_main.o |
+ $(CC) $(LDFLAGS) -o prayer $(PRAYER_OBJS) prayer_main.o $(PRAYER_LIBS) |
Index: tags/1.0.18-1/debian/patches/session_server_bugs.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/session_server_bugs.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/session_server_bugs.patch (revision 180) |
@@ -0,0 +1,12 @@ |
+--- prayer-1.0.18.orig/prayer/session_server.c |
++++ prayer-1.0.18/prayer/session_server.c |
+@@ -375,7 +375,8 @@ |
+ if (!os_signal_child_init(os_child_reaper)) |
+ return (NIL); |
+ |
+- name = pool_strcat(NIL, config->socket_dir, "/init"); |
++ name = pool_printf(NIL, "%s/%s", |
++ config->socket_dir, config->init_socket_name); |
+ |
+ if ((sockfd = os_bind_unix_socket(name)) < 0) |
+ return (NIL); |
Index: tags/1.0.18-1/debian/patches/pidfiles_extension.patch |
=================================================================== |
--- tags/1.0.18-1/debian/patches/pidfiles_extension.patch (nonexistent) |
+++ tags/1.0.18-1/debian/patches/pidfiles_extension.patch (revision 180) |
@@ -0,0 +1,22 @@ |
+--- prayer-1.0.18.orig/prayer/prayer_main.c |
++++ prayer-1.0.18/prayer/prayer_main.c |
+@@ -111,7 +111,7 @@ |
+ |
+ static BOOL prayer_main_write_pid(struct config *config) |
+ { |
+- char *name = pool_printf(NIL, "%s/prayer", config->pid_dir); |
++ char *name = pool_printf(NIL, "%s/prayer.pid", config->pid_dir); |
+ FILE *file; |
+ |
+ if ((file = fopen(name, "w")) == NIL) |
+--- prayer-1.0.18.orig/prayer/session_main.c |
++++ prayer-1.0.18/prayer/session_main.c |
+@@ -32,7 +32,7 @@ |
+ |
+ static BOOL session_main_write_pid(struct config *config) |
+ { |
+- char *name = pool_printf(NIL, "%s/prayer-session", config->pid_dir); |
++ char *name = pool_printf(NIL, "%s/prayer-session.pid", config->pid_dir); |
+ FILE *file; |
+ |
+ if ((file = fopen(name, "w")) == NIL) |
Index: tags/1.0.18-1/debian/patches/series |
=================================================================== |
--- tags/1.0.18-1/debian/patches/series (nonexistent) |
+++ tags/1.0.18-1/debian/patches/series (revision 180) |
@@ -0,0 +1,8 @@ |
+includes.patch |
+makefile_install_config.patch |
+session_unix_bugs.patch |
+session_server_bugs.patch |
+hasnochildren_means_noinferiors.patch |
+pidfiles_extension.patch |
+ipv6.patch |
+utf8.patch |
Index: tags/1.0.18-1/debian/changelog |
=================================================================== |
--- tags/1.0.18-1/debian/changelog (nonexistent) |
+++ tags/1.0.18-1/debian/changelog (revision 180) |
@@ -0,0 +1,5 @@ |
+prayer (1.0.18-1) experimental; urgency=low |
+ |
+ * Initial release (Closes: #392823) |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se> Sat, 10 Mar 2007 14:24:21 +0100 |
Index: tags/1.0.18-1/debian/prayer-session.8.dbk |
=================================================================== |
--- tags/1.0.18-1/debian/prayer-session.8.dbk (nonexistent) |
+++ tags/1.0.18-1/debian/prayer-session.8.dbk (revision 180) |
@@ -0,0 +1,158 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer-session"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>...</cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> command.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--debug</option> |
+ </term> |
+ <listitem> |
+ <para>Enable debugging.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.0.18-1/debian/prayer.docs |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.docs (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.docs (revision 180) |
@@ -0,0 +1,11 @@ |
+docs/CMD_LINE |
+docs/DESIGN |
+docs/DONE-OLD |
+docs/FEATURES |
+docs/ICONLIST |
+docs/LOGS |
+docs/NOTICE |
+docs/README |
+docs/SECURITY |
+docs/TODO |
+docs/URL_OPTIONS |
Index: tags/1.0.18-1/debian/rules |
=================================================================== |
--- tags/1.0.18-1/debian/rules (nonexistent) |
+++ tags/1.0.18-1/debian/rules (revision 180) |
@@ -0,0 +1,24 @@ |
+#!/usr/bin/make -f |
+# Sample debian/rules that uses cdbs. Originaly written by Robert Millan. |
+# This file is public domain. |
+ |
+DEB_AUTO_CLEANUP_RCS := yes |
+ |
+# Add here any variable or target overrides you need |
+ |
+makebuilddir/prayer:: |
+ cp debian/Config . |
+ |
+include /usr/share/cdbs/1/class/makefile.mk |
+include /usr/share/cdbs/1/rules/debhelper.mk |
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk |
+ |
+#DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) make |
+DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(CURDIR)/debian/tmp |
+DEB_INSTALL_CHANGELOGS_ALL = docs/DONE |
+DEB_INSTALL_DOCS_ALL = -XCVS |
+DEB_DH_INSTALL_ARGS = -XCVS |
+DEB_DH_INSTALL_SOURCEDIR = debian/tmp |
+ |
+clean:: |
+ rm -f Config |
/tags/1.0.18-1/debian/rules |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: tags/1.0.18-1/debian/prayer-accountd.dirs |
=================================================================== |
--- tags/1.0.18-1/debian/prayer-accountd.dirs (nonexistent) |
+++ tags/1.0.18-1/debian/prayer-accountd.dirs (revision 180) |
@@ -0,0 +1 @@ |
+/var/run/prayer |
Index: tags/1.0.18-1/debian/prayer.logrotate |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.logrotate (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.logrotate (revision 180) |
@@ -0,0 +1,8 @@ |
+/var/log/prayer/prayer /var/log/prayer/prayer_session /var/log/prayer/access_log /var/log/prayer/session_log { |
+ rotate 28 |
+ daily |
+ compress |
+ delaycompress |
+ missingok |
+ notifempty |
+} |
Index: tags/1.0.18-1/debian/prayer.dirs |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.dirs (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.dirs (revision 180) |
@@ -0,0 +1,2 @@ |
+var/run/prayer |
+var/log/prayer |
Index: tags/1.0.18-1/debian/prayer-accountd.init |
=================================================================== |
--- tags/1.0.18-1/debian/prayer-accountd.init (nonexistent) |
+++ tags/1.0.18-1/debian/prayer-accountd.init (revision 180) |
@@ -0,0 +1,71 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer-accountd |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer account helper daemon |
+# Description: Lets users change passwords, manage filters and other things not supported by IMAP itself |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+DAEMON=/usr/sbin/prayer-accountd |
+PIDFILE=/var/run/prayer/accountd.pid |
+DESC="Prayer account helper server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+egrep -iq "^[[:space:]]*accountd_port[[:space:]]*=[[:space:]]*[[:digit:]]+[[:space:]]*$" /etc/prayer/accountd.cf || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer-accountd ] ; then |
+ . /etc/default/prayer-accountd |
+fi |
+ |
+set +e |
+ |
+start() { |
+ log_daemon_msg "Starting $DESC" "accountd" |
+ start-stop-daemon --start --background --make-pidfile --pidfile $PIDFILE \ |
+ --exec $DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE |
+ log_progress_msg "accountd" |
+ fi |
+ rm -f "$PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer-accountd |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.0.18-1/debian/prayer.init |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.init (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.init (revision 180) |
@@ -0,0 +1,89 @@ |
+#!/bin/sh |
+# |
+### BEGIN INIT INFO |
+# Provides: prayer |
+# Required-Start: |
+# Required-Stop: |
+# Should-Start: $local_fs |
+# Should-Stop: $local_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: Prayer init script |
+# Description: Init script for prayer services |
+### END INIT INFO |
+ |
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
+FRONTEND_DAEMON=/usr/sbin/prayer |
+SESSION_DAEMON=/usr/sbin/prayer-session |
+FRONTEND_PIDFILE=/var/run/prayer/prayer.pid |
+SESSION_PIDFILE=/var/run/prayer/prayer-session.pid |
+DESC="webmail server" |
+ |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+ENABLED=0 |
+ |
+# Include prayer defaults if available |
+if [ -f /etc/default/prayer ] ; then |
+ . /etc/default/prayer |
+fi |
+ |
+set +e |
+ |
+start() { |
+ if [ "$ENABLED" = "0" ]; then |
+ echo "Prayer is disabled. Please set ENABLED=1 in /etc/default/prayer" |
+ echo "after adapting /etc/prayer/prayer.cf to your needs." |
+ exit 0 |
+ fi |
+ |
+ log_daemon_msg "Starting $DESC" "prayer" |
+ start-stop-daemon --start --pidfile $FRONTEND_PIDFILE \ |
+ --exec $FRONTEND_DAEMON -- $DAEMON_OPTS |
+ log_end_msg $? |
+} |
+ |
+stop() { |
+ log_daemon_msg "Stopping $DESC" |
+ if [ -f "$SESSION_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $SESSION_PIDFILE |
+ log_progress_msg "prayer-session" |
+ fi |
+ if [ -f "$FRONTEND_PIDFILE" ]; then |
+ start-stop-daemon --stop --quiet --oknodo --pidfile $FRONTEND_PIDFILE |
+ start-stop-daemon --stop --quiet --oknodo --exec $FRONTEND_DAEMON |
+ log_progress_msg "prayer" |
+ fi |
+ rm -f "$FRONTEND_PIDFILE" "$SESSION_PIDFILE" |
+ log_end_msg 0 |
+} |
+ |
+case "$1" in |
+ start) |
+ start |
+ ;; |
+ |
+ stop) |
+ stop |
+ ;; |
+ |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ stop |
+ start |
+ ;; |
+ *) |
+ N=/etc/init.d/prayer |
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 |
+ log_failure_msg "Usage: $N {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: tags/1.0.18-1/debian/prayer-accountd.install |
=================================================================== |
--- tags/1.0.18-1/debian/prayer-accountd.install (nonexistent) |
+++ tags/1.0.18-1/debian/prayer-accountd.install (revision 180) |
@@ -0,0 +1,2 @@ |
+usr/sbin/prayer-accountd |
+etc/prayer/accountd.cf |
Index: tags/1.0.18-1/debian/Config |
=================================================================== |
--- tags/1.0.18-1/debian/Config (nonexistent) |
+++ tags/1.0.18-1/debian/Config (revision 180) |
@@ -0,0 +1,160 @@ |
+# $Cambridge: hermes/src/prayer/defaults/Config,v 1.5 2006/04/05 12:35:35 fanf2 Exp $ |
+# |
+# Prayer - a Webmail Interface |
+# |
+# Copyright (c) University of Cambridge 2000 - 2002 |
+# See the file NOTICE for conditions of use and distribution. |
+# |
+# Conventional Configure file. |
+ |
+SSL_ENABLE = true # SSL requires OpenSSL |
+SESSION_CACHE_ENABLE = true # SSL session cache Requires Berkeley DB 3 or 4 |
+GZIP_ENABLE = true # Enable on the fly compression of pages |
+LDAP_ENABLE = true # Add LDAP interface |
+FENCE_ENABLE = false # Use Electric Fence to catch malloc problems |
+DIRECT_ENABLE = false # Experimental. Leave this switched off... |
+MUTEX_SEMAPHORE = true # Use SYSV mutexes rather than file locking |
+ |
+# Following depend on the way that you have configured c-client |
+CCLIENT_SSL_ENABLE = false # C-client was built with SSL support |
+CCLIENT_PAM_ENABLE = false # C-client was built with PAM support |
+CCLIENT_KERB_ENABLE = false # C-client was built with Kerberos support |
+ |
+# Probably don't need the following |
+ACCOUNTD_ENABLE = true # Only of use in Cambridge at the moment. |
+ACCOUNTD_SSL_ENABLE = true # Enable SSL support in account management daemon |
+ACCOUNTD_PAM_ENABLE = true # Enable PAM support in account management daemon |
+ACCOUNTD_USE_BSD_PTY = true # Use Berkeley PTYs rather than Sys V PTYs |
+ |
+############################################################################ |
+# Location of compiler |
+CC = gcc |
+# Location of make program (GNU make required) |
+MAKE = make |
+# Location of install program (GNU install or compatible required) |
+INSTALL = install |
+ |
+# Base Compiler options for GCC. |
+#BASECFLAGS = -Wall -g |
+#BASELDFLAGS = -g |
+BASECFLAGS = -Wall -g -O2 |
+BASELDFLAGS = -g -O2 |
+BASE_LIBS = -lcrypt |
+ |
+# Base Compiler options for Sun SUNWspro compiler |
+#CC = /opt/SUNWspro/bin/cc |
+#BASECFLAGS = -fast |
+#BASELDFLAGS = -s |
+#BASE_LIBS = -lcrypt -lxnet |
+ |
+############################################################################ |
+# Location of various include files and libraries. |
+############################################################################ |
+ |
+# Location of c-client library. |
+# |
+# Following works if we have a vanilla c-client installation at same level |
+# as the prayer installation. Relies on a symbolic link ./prayer/c-client |
+# which points to ../../imap/c-client. This just reduces the amount of |
+# noise output on each line when building the package. |
+# |
+CCLIENT_DIR=/usr/include/c-client |
+CCLIENT_INCLUDE=-I$(CCLIENT_DIR) |
+CCLIENT_LIBS=-lc-client |
+ |
+# |
+# Following works with the mail/cclient port from FreeBSD |
+# |
+#CCLIENT_INCLUDE = -I/usr/local/include/c-client |
+#CCLIENT_LIBS = -L/usr/local/lib -lc-client4 |
+# |
+# Complication: |
+# The FreeBSD port uses PAM and optionally SSL if built WITH_SSL=yes. |
+# |
+#CCLIENT_SSL_ENABLE = true |
+#CCLIENT_KERB_ENABLE = true |
+ |
+############################################################################ |
+ |
+# Electric fence (required if FENCE_ENABLE set) |
+FENCE_INCLUDE= |
+FENCE_LIBS=-lmcheck |
+ |
+# Zlib (required if GZIP_ENABLE set) |
+Z_INCLUDE = |
+Z_LIBS = -lz |
+ |
+# LDAP (required if LDAP_ENABLE set) |
+LDAP_INCLUDE = |
+LDAP_LIBS = -lldap |
+ |
+# Pam (required if CCLIENT_PAM_ENABLE set) |
+PAM_INCLUDE = |
+PAM_LIBS = -lpam |
+ |
+# Kerberos (required if CCLIENT_KERB_ENABLE set) |
+KERB_INCLUDE = |
+KERB_LIBS = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err |
+ |
+# SSL definitions (required if SSL_ENABLE or CCLIENT_SSL_ENABLE set) |
+# |
+# Following suitable for Linux and FreeBSD which have SSL preinstalled |
+# (Header files from OpenSSL 0.9.7 want to include various Kerboros stuff) |
+# |
+SSL_INCLUDE= |
+SSL_LIBS=-lssl -lcrypto |
+OPENSSL=openssl |
+ |
+# Following definitions suitable for our Sun systems. |
+#SSL_BASE=/opt/local/ssl/current |
+#SSL_INCLUDE=-I ${SSL_BASE}/include |
+#SSL_LIBS=-L ${SSL_BASE}/lib -lssl -lcrypto |
+#OPENSSL=${SSL_BASE}/bin/openssl |
+ |
+# DB definitions (required if SESSION_CACHE_ENABLE set) |
+# |
+# Following suitable for Redhat Linux which has DB 3 preinstalled |
+DB_INCLUDE= |
+DB_LIBS=-ldb |
+ |
+# Following suitable for FreeBSD with DB 4 package installed |
+#DB_INCLUDE=-I/usr/local/include/db4 |
+#DB_LIBS=-L/usr/local/lib -ldb4 |
+ |
+############################################################################ |
+ |
+# Install location of prayer configuration and support files. The initial |
+# config file runs prayer processes as user "prayer" and group "prayer". |
+# If you are using SSL, the certificate file must be readable by RW_USER or |
+# RW_GROUP. It is important that nothing else can read the certificate file. |
+ |
+# Build root (used by Redhat RPM system) |
+BROOT=$(CURDIR)/../debian/tmp |
+ |
+# Directory, User and group for read-write files: log files, sockets etc |
+VAR_PREFIX = /var/lib/prayer |
+RW_USER = root |
+RW_GROUP = root |
+ |
+# Root Directory, User and group for read-only configuration files. |
+# Default configuration and permissions does not allow prayer user to |
+# update prayer configuration file. |
+ |
+PREFIX = /usr/share/prayer |
+RO_USER = root |
+RO_GROUP = root |
+ |
+# Access permissions for general objects (wrt above users and groups) |
+PUBLIC_EXEC = 0755 |
+PUBLIC_DIR = 0755 |
+PUBLIC_FILE = 0644 |
+ |
+# Access permissions for private objects (wrt above users and groups) |
+PRIVATE_EXEC = 0750 |
+PRIVATE_DIR = 0750 |
+PRIVATE_FILE = 0640 |
+ |
+# Location of configuration files and binaries |
+PRAYER_CONFIG_FILE = /etc/prayer/prayer.cf |
+BIN_DIR = /usr/sbin |
+ACCOUNTD_CONFIG_FILE = /etc/prayer/accountd.cf |
Index: tags/1.0.18-1/debian/watch |
=================================================================== |
--- tags/1.0.18-1/debian/watch (nonexistent) |
+++ tags/1.0.18-1/debian/watch (revision 180) |
@@ -0,0 +1,9 @@ |
+# Example watch control file for uscan |
+# Rename this file to "watch" and then you can run the "uscan" command |
+# to check for upstream updates and more. |
+# See uscan(1) for format |
+ |
+# Compulsory line, this is a version 3 file |
+version=3 |
+ |
+ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/prayer-(.*)\.tar\.gz debian uupdate |
Index: tags/1.0.18-1/debian/prayer.8.dbk |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.8.dbk (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.8.dbk (revision 180) |
@@ -0,0 +1,178 @@ |
+<?xml version='1.0' encoding='ISO-8859-1'?> |
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ |
+ |
+<!-- |
+ |
+Process this file with an XSLT processor: `xsltproc \ |
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xslb manpage.dbk'. A manual page |
+<package>.<section> will be generated. You may view the |
+manual page with: nroff -man <package>.<section> | less'. A |
+typical entry in a Makefile or Makefile.am is: |
+ |
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\ |
+manpages/docbook.xsl |
+XP=xsltproc -''-nonet |
+ |
+manpage.1: manpage.dbk |
+ $(XP) $(DB2MAN) $< |
+ |
+The xsltproc binary is found in the xsltproc package. The |
+XSL files are in docbook-xsl. Please remember that if you |
+create the nroff version in one of the debian/rules file |
+targets (such as build), you will need to include xsltproc |
+and docbook-xsl in your Build-Depends control field. |
+ |
+--> |
+ |
+ <!-- Fill in your name for FIRSTNAME and SURNAME. --> |
+ <!ENTITY dhfirstname "<firstname>Magnus</firstname>"> |
+ <!ENTITY dhsurname "<surname>Holmgren</surname>"> |
+ <!-- Please adjust the date whenever revising the manpage. --> |
+ <!ENTITY dhdate "<date>oktober 24, 2006</date>"> |
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are |
+ allowed: see man(7), man(1). --> |
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>"> |
+ <!ENTITY dhemail "<email>magnus@kibibyte.se</email>"> |
+ <!ENTITY dhusername "Magnus Holmgren"> |
+ <!ENTITY dhucpackage "<refentrytitle>PRAYER</refentrytitle>"> |
+ <!ENTITY dhpackage "prayer"> |
+ |
+ <!ENTITY debian "<productname>Debian</productname>"> |
+ <!ENTITY gnu "<acronym>GNU</acronym>"> |
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>"> |
+]> |
+ |
+<refentry> |
+ <refentryinfo> |
+ <address> |
+ &dhemail; |
+ </address> |
+ <author> |
+ &dhfirstname; |
+ &dhsurname; |
+ </author> |
+ <copyright> |
+ <year>2006</year> |
+ <holder>&dhusername;</holder> |
+ </copyright> |
+ &dhdate; |
+ </refentryinfo> |
+ <refmeta> |
+ &dhucpackage; |
+ |
+ &dhsection; |
+ </refmeta> |
+ <refnamediv> |
+ <refname>&dhpackage;</refname> |
+ |
+ <refpurpose>a fast stand-alone webmail server</refpurpose> |
+ </refnamediv> |
+ <refsynopsisdiv> |
+ <cmdsynopsis> |
+ <command>&dhpackage;</command> |
+ |
+ <arg><option><replaceable>OPTION</replaceable></option></arg>... -- <arg><option><replaceable>PRAYER-SESSION-OPTION</replaceable></option></arg> ... |
+ </cmdsynopsis> |
+ </refsynopsisdiv> |
+ <refsect1> |
+ <title>DESCRIPTION</title> |
+ |
+ <para>This manual page documents briefly the |
+ <command>&dhpackage;</command> and <command>bar</command> |
+ commands.</para> |
+ |
+ <para>This manual page was written for the &debian; distribution |
+ because the original program does not have a manual page. |
+ Instead, it has documentation in the &gnu; |
+ <application>Info</application> format; see below.</para> |
+ |
+ <para><command>&dhpackage;</command> is a program that...</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>OPTIONS</title> |
+ |
+ <variablelist> |
+ <varlistentry> |
+ <term> |
+ <option>--config-file <replaceable>filename</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Define prayer config file (Overrides compilation default and PRAYER_CONFIG_FILE environment variable).</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--config-option <replaceable>option</replaceable>=<replaceable>value</replaceable></option> |
+ </term> |
+ <listitem> |
+ <para>Override single configuration option.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--foreground</option> |
+ </term> |
+ <listitem> |
+ <para>Run single threaded server in foreground.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-prefork</option> |
+ </term> |
+ <listitem> |
+ <para>Run as simple fork()/exec() daemon.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--disable-session</option> |
+ </term> |
+ <listitem> |
+ <para>Don't start up prayer-session server.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--</option> |
+ </term> |
+ <listitem> |
+ <para>End of prayer options: remaining options will be passed to prayer-session server process.</para> |
+ </listitem> |
+ </varlistentry> |
+ <varlistentry> |
+ <term> |
+ <option>--help</option> |
+ </term> |
+ <listitem> |
+ <para>Show option summary.</para> |
+ </listitem> |
+ </varlistentry> |
+ </variablelist> |
+ </refsect1> |
+ <refsect1> |
+ <title>SEE ALSO</title> |
+ |
+ <para>prayer-session(8), prayer.cf(5).</para> |
+ |
+ </refsect1> |
+ <refsect1> |
+ <title>AUTHOR</title> |
+ |
+ <para>This manual page was written by &dhusername; &dhemail; for |
+ the &debian; system (but may be used by others). Permission is |
+ granted to copy, distribute and/or modify this document under |
+ the terms of the &gnu; General Public License, Version 2 any |
+ later version published by the Free Software Foundation. |
+ </para> |
+ <para> |
+ On Debian systems, the complete text of the GNU General Public |
+ License can be found in /usr/share/common-licenses/GPL. |
+ </para> |
+ |
+ </refsect1> |
+</refentry> |
+ |
Index: tags/1.0.18-1/debian/prayer.install |
=================================================================== |
--- tags/1.0.18-1/debian/prayer.install (nonexistent) |
+++ tags/1.0.18-1/debian/prayer.install (revision 180) |
@@ -0,0 +1,10 @@ |
+usr/sbin/prayer |
+usr/sbin/prayer-session |
+usr/sbin/prayer-chroot |
+usr/sbin/prayer-db-prune |
+usr/sbin/prayer-sem-prune |
+usr/sbin/prayer-ssl-prune |
+usr/share/prayer |
+etc/prayer/prayer.cf |
+etc/prayer/motd.html |
+etc/prayer/welcome.html |
Index: tags/1.0.18-1/debian/copyright |
=================================================================== |
--- tags/1.0.18-1/debian/copyright (nonexistent) |
+++ tags/1.0.18-1/debian/copyright (revision 180) |
@@ -0,0 +1,83 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+Tue, 24 Oct 2006 21:08:34 +0200. |
+ |
+It was downloaded from http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/ |
+ |
+Upstream author/maintainer: David Carter <dpc22@cam.ac.uk> et al. |
+ |
+The Debian packaging is (C) 2006, Magnus Holmgren <magnus@kibibyte.se> |
+and is licensed under the GPL. |
+ |
+The original licence is as follows (from the file NOTICE in the upstream |
+distribution); the GPL should be in /usr/share/common-licenses/GPL on a debian |
+system. |
+ |
+ |
+The Prayer Webmail Interface |
+---------------------------- |
+ |
+Copyright (c) 2002 University of Cambridge |
+ |
+This program is free software; you can redistribute it and/or modify |
+it under the terms of the GNU General Public License as published by |
+the Free Software Foundation; either version 2 of the License, or |
+(at your option) any later version. |
+ |
+In addition, for the avoidance of any doubt, permission is granted to |
+link this program with OpenSSL or any other library package. |
+ |
+This program is distributed in the hope that it will be useful, |
+but WITHOUT ANY WARRANTY; without even the implied warranty of |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+GNU General Public License for more details. |
+ |
+You should have received a copy of the GNU General Public License |
+along with this program; if not, write to the Free Software |
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, |
+USA |
+ |
+INCORPORATED CODE |
+----------------- |
+ |
+Code implementing the SSL session cache has been adapted from code used by |
+the Cyrus IMAP server, which is distributed under the following copyright: |
+ |
+/* Copyright (c) 2000 Carnegie Mellon University. All rights reserved. |
+ * |
+ * Redistribution and use in source and binary forms, with or without |
+ * modification, are permitted provided that the following conditions |
+ * are met: |
+ * |
+ * 1. Redistributions of source code must retain the above copyright |
+ * notice, this list of conditions and the following disclaimer. |
+ * |
+ * 2. Redistributions in binary form must reproduce the above copyright |
+ * notice, this list of conditions and the following disclaimer in |
+ * the documentation and/or other materials provided with the |
+ * distribution. |
+ * |
+ * 3. The name "Carnegie Mellon University" must not be used to |
+ * endorse or promote products derived from this software without |
+ * prior written permission. For permission or any other legal |
+ * details, please contact |
+ * Office of Technology Transfer |
+ * Carnegie Mellon University |
+ * 5000 Forbes Avenue |
+ * Pittsburgh, PA 15213-3890 |
+ * (412) 268-4387, fax: (412) 268-7395 |
+ * tech-transfer@andrew.cmu.edu |
+ * |
+ * 4. Redistributions of any form whatsoever must retain the following |
+ * acknowledgment: |
+ * "This product includes software developed by Computing Services |
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
+ * |
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
+ */ |
+ |
Index: tags/1.0.18-1/debian/README.Debian |
=================================================================== |
--- tags/1.0.18-1/debian/README.Debian (nonexistent) |
+++ tags/1.0.18-1/debian/README.Debian (revision 180) |
@@ -0,0 +1,51 @@ |
+prayer for Debian |
+----------------- |
+ |
+The Debian version of Prayer is built with SSL support with session |
+cache using libdb4.3, gzip Content-Transfer-Encoding, LDAP, and System |
+V mutex support. Some bigger and some smaller changes have been made: |
+ |
+ * As the upstream web page explains, "Prayer was designed to work |
+ with the Washington IMAP server, which has the most problems |
+ associated with transient IMAP connections. Consequently, the user |
+ interface distinguishes between mailboxes and directories: this will |
+ not work well with servers which provide dual use mail folders." |
+ A simple patch from Jonathan McDowell at least makes leaf folders |
+ be treated as folders. |
+ |
+ * This packaging adds IPv6 support. However, prayer-session uses |
+ libc-client to connect to the IMAP server, and IPv6 support can only |
+ be achieved there by building with the version of libc-client |
+ currently in experimental. |
+ |
+ * This packaging adds international character support, including |
+ encoding and decoding of modified-UTF-7-encoded folder |
+ names. However, the folder filter still works on the UTF-7 level, |
+ meaning, for example, that a "-" will match any folder with an |
+ encoded character in it, since "-" is the shift-out character that |
+ ends every base64-encoded sequence in UTF-7. |
+ |
+ Where it was hardwired to ISO-8859-1 it has been re-wired to UTF-8, |
+ but I may have missed some spots and ISO-8859-1 is still the hardcoded |
+ fallback character set. |
+ |
+ * The decoding of RFC2047 encoded words has been relaxed, accommodating |
+ to some common encoding errors: spaces are accepted in the encoded |
+ text, as are overlong encoded words. |
+ |
+ |
+Quirks: |
+ |
+ * If your IMAP server supports STARTTLS, then Prayer (actually the |
+ libc-client IMAP client library) will use it automatically and it |
+ can't be turned off. Make sure that the server name you specify for |
+ imapd_server in prayer.cf matches the Common Name in the SSL |
+ certificate; otherwise libc-client will refuse to accept it. |
+ |
+ * If your IMAP server is Dovecot, then you must change |
+ prefs_folder_name to something not containing a dot. Unfortunately |
+ this means that the preference folder will be fully visible. |
+ |
+ -- Magnus Holmgren <magnus@kibibyte.se>, Wed, 15 Nov 2006 14:51:00 +0100 |
+ |
+Tag: interface::web, made-of::lang:c, made-of::data:html mail::imap, mail::user-agent, protocol::imap, protocol::ssl, protocol::http, role::sw:server, use::viewing, works-with::mail, web::application |
Index: tags/1.0.18-1/debian |
=================================================================== |
--- tags/1.0.18-1/debian (nonexistent) |
+++ tags/1.0.18-1/debian (revision 180) |
/tags/1.0.18-1/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |