Subversion Repositories prayer

Compare Revisions

Ignore whitespace Rev 69 → Rev 167

/branches/stretch/debian/changelog
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
/branches/stretch/debian/compat
0,0 → 1,0
9
/branches/stretch/debian/control
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.
/branches/stretch/debian/rules
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
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: stretch/debian/prayer.postrm
===================================================================
--- stretch/debian/prayer.postrm (nonexistent)
+++ stretch/debian/prayer.postrm (revision 167)
@@ -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: stretch/debian/patches/openssl1.1.patch
===================================================================
--- stretch/debian/patches/openssl1.1.patch (nonexistent)
+++ stretch/debian/patches/openssl1.1.patch (revision 167)
@@ -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: stretch/debian/patches/series
===================================================================
--- stretch/debian/patches/series (nonexistent)
+++ stretch/debian/patches/series (revision 167)
@@ -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: stretch/debian/patches/disable_ssl3.patch
===================================================================
--- stretch/debian/patches/disable_ssl3.patch (nonexistent)
+++ stretch/debian/patches/disable_ssl3.patch (revision 167)
@@ -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: stretch/debian/patches/dlopen_templates.patch
===================================================================
--- stretch/debian/patches/dlopen_templates.patch (nonexistent)
+++ stretch/debian/patches/dlopen_templates.patch (revision 167)
@@ -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: stretch/debian/patches/hurd.patch
===================================================================
--- stretch/debian/patches/hurd.patch (nonexistent)
+++ stretch/debian/patches/hurd.patch (revision 167)
@@ -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: stretch/debian/patches/makefile_install_config.patch
===================================================================
--- stretch/debian/patches/makefile_install_config.patch (nonexistent)
+++ stretch/debian/patches/makefile_install_config.patch (revision 167)
@@ -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: stretch/debian/patches/templates_fallback_to_compiled.patch
===================================================================
--- stretch/debian/patches/templates_fallback_to_compiled.patch (nonexistent)
+++ stretch/debian/patches/templates_fallback_to_compiled.patch (revision 167)
@@ -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: stretch/debian/patches/sighandling.patch
===================================================================
--- stretch/debian/patches/sighandling.patch (nonexistent)
+++ stretch/debian/patches/sighandling.patch (revision 167)
@@ -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: stretch/debian/patches/template_sdk.patch
===================================================================
--- stretch/debian/patches/template_sdk.patch (nonexistent)
+++ stretch/debian/patches/template_sdk.patch (revision 167)
@@ -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: stretch/debian/patches/unbrand_accountd.patch
===================================================================
--- stretch/debian/patches/unbrand_accountd.patch (nonexistent)
+++ stretch/debian/patches/unbrand_accountd.patch (revision 167)
@@ -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: stretch/debian/patches/no_db_version_check.patch
===================================================================
--- stretch/debian/patches/no_db_version_check.patch (nonexistent)
+++ stretch/debian/patches/no_db_version_check.patch (revision 167)
@@ -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: stretch/debian/patches/unbrand_cam_template.patch
===================================================================
--- stretch/debian/patches/unbrand_cam_template.patch (nonexistent)
+++ stretch/debian/patches/unbrand_cam_template.patch (revision 167)
@@ -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: stretch/debian/Config
===================================================================
--- stretch/debian/Config (nonexistent)
+++ stretch/debian/Config (revision 167)
@@ -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: stretch/debian/watch
===================================================================
--- stretch/debian/watch (nonexistent)
+++ stretch/debian/watch (revision 167)
@@ -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: stretch/debian/copyright
===================================================================
--- stretch/debian/copyright (nonexistent)
+++ stretch/debian/copyright (revision 167)
@@ -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: stretch/debian/prayer-accountd.8
===================================================================
--- stretch/debian/prayer-accountd.8 (nonexistent)
+++ stretch/debian/prayer-accountd.8 (revision 167)
@@ -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: stretch/debian/prayer-accountd.manpages
===================================================================
--- stretch/debian/prayer-accountd.manpages (nonexistent)
+++ stretch/debian/prayer-accountd.manpages (revision 167)
@@ -0,0 +1 @@
+debian/prayer-accountd.8
Index: stretch/debian/source/format
===================================================================
--- stretch/debian/source/format (nonexistent)
+++ stretch/debian/source/format (revision 167)
@@ -0,0 +1 @@
+3.0 (quilt)
Index: stretch/debian/prayer-accountd.init
===================================================================
--- stretch/debian/prayer-accountd.init (nonexistent)
+++ stretch/debian/prayer-accountd.init (revision 167)
@@ -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: stretch/debian/prayer.init
===================================================================
--- stretch/debian/prayer.init (nonexistent)
+++ stretch/debian/prayer.init (revision 167)
@@ -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: stretch/debian/prayer-templates-dev.install
===================================================================
--- stretch/debian/prayer-templates-dev.install (nonexistent)
+++ stretch/debian/prayer-templates-dev.install (revision 167)
@@ -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: stretch/debian/prayer-templates-src.install
===================================================================
--- stretch/debian/prayer-templates-src.install (nonexistent)
+++ stretch/debian/prayer-templates-src.install (revision 167)
@@ -0,0 +1 @@
+usr/share/prayer/templates
Index: stretch/debian/prayer-templates-src.docs
===================================================================
--- stretch/debian/prayer-templates-src.docs (nonexistent)
+++ stretch/debian/prayer-templates-src.docs (revision 167)
@@ -0,0 +1 @@
+docs/TEMPLATES
Index: stretch/debian/prayer.docs
===================================================================
--- stretch/debian/prayer.docs (nonexistent)
+++ stretch/debian/prayer.docs (revision 167)
@@ -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: stretch/debian/prayer.NEWS
===================================================================
--- stretch/debian/prayer.NEWS (nonexistent)
+++ stretch/debian/prayer.NEWS (revision 167)
@@ -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: stretch/debian/prayer-templates-dev.README.Debian
===================================================================
--- stretch/debian/prayer-templates-dev.README.Debian (nonexistent)
+++ stretch/debian/prayer-templates-dev.README.Debian (revision 167)
@@ -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: stretch/debian/prayer-templates-dev.docs
===================================================================
--- stretch/debian/prayer-templates-dev.docs (nonexistent)
+++ stretch/debian/prayer-templates-dev.docs (revision 167)
@@ -0,0 +1 @@
+docs/TEMPLATES
Index: stretch/debian/prayer.install
===================================================================
--- stretch/debian/prayer.install (nonexistent)
+++ stretch/debian/prayer.install (revision 167)
@@ -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: stretch/debian/prayer.dirs
===================================================================
--- stretch/debian/prayer.dirs (nonexistent)
+++ stretch/debian/prayer.dirs (revision 167)
@@ -0,0 +1,3 @@
+var/log/prayer
+etc/prayer/templates/old
+etc/prayer/templates/cam
Index: stretch/debian/prayer.links
===================================================================
--- stretch/debian/prayer.links (nonexistent)
+++ stretch/debian/prayer.links (revision 167)
@@ -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: stretch/debian/README.Debian
===================================================================
--- stretch/debian/README.Debian (nonexistent)
+++ stretch/debian/README.Debian (revision 167)
@@ -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: stretch/debian/prayer.manpages
===================================================================
--- stretch/debian/prayer.manpages (nonexistent)
+++ stretch/debian/prayer.manpages (revision 167)
@@ -0,0 +1,4 @@
+man/prayer.8
+man/prayer-session.8
+man/prayer.cf.5
+man/prayer-ssl-prune.8
Index: stretch/debian/prayer.postinst
===================================================================
--- stretch/debian/prayer.postinst (nonexistent)
+++ stretch/debian/prayer.postinst (revision 167)
@@ -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: stretch/debian/prayer.default
===================================================================
--- stretch/debian/prayer.default (nonexistent)
+++ stretch/debian/prayer.default (revision 167)
@@ -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: stretch/debian/prayer.examples
===================================================================
--- stretch/debian/prayer.examples (nonexistent)
+++ stretch/debian/prayer.examples (revision 167)
@@ -0,0 +1,3 @@
+files/etc.hermes/login_prefix.html
+files/etc.hermes/login_suffix.html
+files/etc.hermes/motd.html
Index: stretch/debian/prayer-accountd.lintian-overrides
===================================================================
--- stretch/debian/prayer-accountd.lintian-overrides (nonexistent)
+++ stretch/debian/prayer-accountd.lintian-overrides (revision 167)
@@ -0,0 +1 @@
+prayer-accountd: possible-gpl-code-linked-with-openssl
Index: stretch/debian/prayer.lintian-overrides
===================================================================
--- stretch/debian/prayer.lintian-overrides (nonexistent)
+++ stretch/debian/prayer.lintian-overrides (revision 167)
@@ -0,0 +1 @@
+prayer: possible-gpl-code-linked-with-openssl
Index: stretch/debian/prayer-accountd.docs
===================================================================
--- stretch/debian/prayer-accountd.docs (nonexistent)
+++ stretch/debian/prayer-accountd.docs (revision 167)
@@ -0,0 +1,8 @@
+docs/ACCOUNTD
+docs/DESIGN
+docs/DONE-OLD
+docs/FEATURES
+docs/NOTICE
+docs/README
+docs/SECURITY
+docs/TODO
Index: stretch/debian/prayer.logrotate
===================================================================
--- stretch/debian/prayer.logrotate (nonexistent)
+++ stretch/debian/prayer.logrotate (revision 167)
@@ -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: stretch/debian/prayer-accountd.install
===================================================================
--- stretch/debian/prayer-accountd.install (nonexistent)
+++ stretch/debian/prayer-accountd.install (revision 167)
@@ -0,0 +1,2 @@
+usr/sbin/prayer-accountd
+etc/prayer/accountd.cf
Index: stretch/debian
===================================================================
--- stretch/debian (nonexistent)
+++ stretch/debian (revision 167)
/stretch/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property
Index: stretch
===================================================================
--- stretch (nonexistent)
+++ stretch (revision 167)
/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