# Using binmail to deliver messages to /var/spool/mail/$USER by default.
# Using BSD 4.4 binmail interface: /usr/libexec/mail.local -r
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start '|dot-forward .forward
|preline -f /usr/libexec/mail.local -r "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
splogger qmail
# Using binmail to deliver messages to /var/spool/mail/$USER by default.
# Using BSD 4.4 binmail interface: /usr/libexec/mail.local -r
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start \
'|preline -f /usr/libexec/mail.local -r "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
splogger qmail
# Using binmail to deliver messages to /var/spool/mail/$USER by default.
# Using SVR4 binmail interface: /bin/mail -r
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start '|dot-forward .forward
|preline -f /bin/mail -r "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
splogger qmail
# Using binmail to deliver messages to /var/spool/mail/$USER by default.
# Using SVR4 binmail interface: /bin/mail -r
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start \
'|preline -f /bin/mail -r "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
splogger qmail
# Using binmail to deliver messages to /var/spool/mail/$USER by default.
# Using V7 binmail interface: /bin/mail -f
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start '|dot-forward .forward
|preline -f /bin/mail -f "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
splogger qmail
# Using binmail to deliver messages to /var/spool/mail/$USER by default.
# Using V7 binmail interface: /bin/mail -f
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start \
'|preline -f /bin/mail -f "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
splogger qmail
-cc -O2
+cc -O2 -g
This will be used to compile .c files.
qmail
-nofiles
+nogroup
These are the qmail groups. The second group should not have access to
any files, but it must be usable for processes; this requirement
+cc
cc -s
This will be used to link .o files into an executable.
-exec QMAIL/bin/predate QMAIL/bin/sendmail ${1+"$@"}
+exec /usr/sbin/predate /usr/sbin/sendmail ${1+"$@"}
--- /dev/null
+Things to do when debianizing a new version of qmail.
+ Christian Hudon <chrish@debian.org>
+
+* Run debian/debianize-source-tree
+
+NB Programs are classified as belonging to sbin or bin according to their
+manual page section. (section 1: bin; section 8: sbin)
--- /dev/null
+WARNING - WARNING - WARNING - WARNING - WARNING - WARNING
+
+ qmail does not support dot-locking internally.
+
+ You are in danger of losing mail if you re-configure
+ qmail without understanding the implications of this.
+
+WARNING - WARNING - WARNING - WARNING - WARNING - WARNING
+
+On Debian the standard location for a users mailbox is
+
+ /var/spool/mail/<username>
+
+and when programs write to that file they are expected to lock the
+file to prevent another process from accessing it at the same time, and
+thus corrupting your mail file.
+
+For reasons explained in /usr/doc/qmail/INSTALL.mbox, qmail does not do this.
+
+The default setup uses /usr/sbin/qmail-procmail to perform the final
+delivery of mail with apropriate dot-locking to prevent loss of mail.
+This is just a script that invokes procmail.
+
+You should not really need to invoke this as a user, but if you can
+think of a reason to do so, a line like this in your .qmail file will
+result in normal delivery via procmail:
+
+ |/usr/sbin/qmail-procmail
+
+If you were to instead put something like:
+
+ /var/spool/mail/phil
+
+in your .qmail file, it would deliver mail to that file, but would
+lock it using flock's rather than dot-lock's. Unless you know
+different, that would probably mean that every other program on the
+system would consider the file to be unlocked, and would leave you
+open to mail loss.
+
+Personally, I'd recommend moving to Maildir/ format if you can. Read
+the files in /usr/doc/qmail to find out more.
+
+---
+
+How the Debian setup differs from standard qmail setups:
+
+ The default setup sets aliasempty (i.e. the default delivery method)
+ to be /usr/sbin/qmail-procmail, which is a wrapper around procmail.
+
+ This results in delivery into /var/spool/mail.
+
+ To change this to one of the more standard qmail setups edit
+ /etc/init.d/qmail
+
+ The binaries normail found in /var/qmail/bin have been split between
+ /usr/bin and /usr/sbin.
+
+ The configuration files have been moved to /etc/qmail and the queue
+ has been moved to /var/spool/qmail.
+
+ Symbolic links have been placed in /var/qmail to make it look like a
+ normal qmail setup.
+
+Phil Hands <phil@hands.com>
--- /dev/null
+* Write nice qmailconfig script
+* Add aliases for postmaster, root and mailer-daemon
+* Enable pop3d daemon?
+* Edit /etc/login.defs:MAIL_DIR/MAIL_FILE ?
--- /dev/null
+#!/bin/sh -e
+
+NEWDIR=./qmail
+
+cat <<-'!END!'
+
+ This script unpacks the qmail source in /usr/src/qmail-src
+ into a directory, and compiles it to produce a binary qmail*.deb file
+ The directory where this is done will end up containing the
+ source and package files for the qmail binary package, along
+ with a directory containing the unpacked source.
+
+ !END!
+
+echo -n "Where would you like to do this [$NEWDIR] "
+read line
+
+NEWDIR="${line:-$NEWDIR}"
+
+if test -d $NEWDIR
+then
+ echo -n "'$NEWDIR' already exists, should I use it anyway ? [yN] "
+ read yn
+ test "$yn" = y -o "$yn" = Y || exit 1
+else
+ mkdir $NEWDIR
+fi
+
+cd $NEWDIR
+dpkg-source -x /usr/src/qmail-src/qmail_*.dsc
+cd qmail-*
+
+BECOMEROOT=fakeroot
+cat <<-'!END!'
+
+ For some reason fakeroot causes install to hang on my system, so I'm
+ giving you the option of running sudo or fakeroot. Give fakeroot a try
+ but if it does not work use sudo instead.
+
+ !END!
+echo -n "Should I use sudo or fakeroot to build the package ? [sF] "
+read yn
+test "$yn" = s -o "$yn" = S && BECOMEROOT=sudo
+
+dpkg-buildpackage -us -uc -r$BECOMEROOT
--- /dev/null
+qmail (1.03-1) non-free; urgency=low
+
+ * new upstream release
+
+ -- Mark Wooding <mdw@excessus.demon.co.uk> Sun, 28 Jun 1998 12:41:18 +0100
+
+qmail (1.01-2) non-free; urgency=low
+
+ * new maintainer
+ * qmail-1.01.orig.tar.gz now really is pristine source ;-)
+ * revert to unpatched source, and get dot-locking by use of procmail
+ * add creation of qmail-src
+
+ -- Philip Hands <phil@hands.com> Fri, 31 Oct 1997 21:13:40 +0000
+
+qmail (1.01-1) experimental; urgency=low
+
+ * New upstream release.
+ * Gave in and added /usr/lib/sendmail symlink (fixes bugs 10283 and 11347)
+ * Compiled with libc6.
+ * qmail-1.01.orig.tar.gz is now pristine source, thanks to dpkg 1.4.0.19
+
+ -- Christian Hudon <chrish@debian.org> Fri, 8 Aug 1997 22:22:24 -0400
+
+qmail (1.00-2) experimental; urgency=low
+
+ * Fixed error in sed expression of qmailconfig (Thanks to Philip Hands)
+ * Made '/etc/init.d/qmail stop' output look prettier.
+
+ -- Christian Hudon <chrish@debian.org> Sun, 13 Apr 1997 19:12:59 -0400
+
+qmail (1.00-1) experimental; urgency=low
+
+ * Initial release.
+
+ -- Christian Hudon <chrish@debian.org> Wed, 26 Mar 1997 00:24:38 -0500
+
+Local variables:
+mode: debian-changelog
+add-log-mailing-address: "phil@hands.com"
+End:
--- /dev/null
+/etc/init.d/qmail
--- /dev/null
+Source: qmail
+Maintainer: Philip Hands <phil@hands.com>
+Section: mail
+Priority: extra
+Standards-Version: 2.1.2.2
+
+Package: qmail
+Architecture: any
+Section: mail
+Priority: extra
+Depends: ${shlibs:Depends}, netbase, procmail
+Provides: mail-transport-agent
+Conflicts: mail-transport-agent
+Suggests: pine | mail-reader
+Description: Secure, reliable, efficient, simple mail transport system
+ qmail is a secure, reliable, efficient, simple message transfer agent. It
+ is meant as a replacement for the entire sendmail-binmail system on typical
+ Internet-connected UNIX hosts.
+ .
+ Reliable: qmail's straight-paper-path philosophy guarantees that a message,
+ once accepted into the system, will never be lost. qmail also supports
+ maildir, a new, super-reliable user mailbox format. Maildirs, unlike mbox
+ files and mh folders, won't be corrupted if the system crashes during
+ delivery. Even better, not only can a user safely read his mail over NFS,
+ but any number of NFS clients can deliver mail to him at the same time.
+ .
+ Efficient: On a Pentium, qmail can easily sustain 200000 local messages per
+ day---that's separate messages injected and delivered to mailboxes in a real
+ test! Although remote deliveries are inherently limited by the slowness of
+ DNS and SMTP, qmail overlaps 20 simultaneous deliveries by default, so it
+ zooms quickly through mailing lists.
+ .
+ Simple: qmail is vastly smaller than any other Internet MTA. Some reasons why:
+ (1) Other MTAs have separate forwarding, aliasing, and mailing list
+ mechanisms. qmail has one simple forwarding mechanism that lets users handle
+ their own mailing lists.
+ (2) Other MTAs offer a spectrum of delivery modes, from fast+unsafe to
+ slow+queued. qmail-send is instantly triggered by new items in the queue, so
+ the qmail system has just one delivery mode: fast+queued.
+ (3) Other MTAs include, in effect, a specialized version of inetd that
+ watches the load average. qmail's design inherently limits the machine load,
+ so qmail-smtpd can safely run from your system's inetd.
+ .
+ Replacement for sendmail: qmail supports host and user masquerading, full
+ host hiding, virtual domains, null clients, list-owner rewriting, relay
+ control, double-bounce recording, arbitrary RFC 822 address lists, cross-host
+ mailing list loop detection, per-recipient checkpointing, downed host
+ backoffs, independent message retry schedules, etc. In short, it's up to
+ speed on modern MTA features. qmail also includes a drop-in ``sendmail''
+ wrapper so that it will be used transparently by your current UAs.
+
+Package: qmail-src
+Architecture: all
+Section: mail
+Depends: dpkg-dev, fakeroot | sudo
+Priority: extra
+Description: Source only package for building qmail binary package
+ qmail is a secure Secure, reliable, efficient, simple mail transport system.
+ .
+ Dan Bernstein (qmail's author) only gives permission for qmail to be
+ distributed in source form, or binary for by approval. This package
+ has been put together to allow people to easily build a qmail binary
+ package for themselves, from source.
+ .
+ If there is a package called qmail available, then Dan has approved the
+ binary version of the package for approval, so you might as well install
+ that and save yourself some effort.
--- /dev/null
+Qmail is Copyright 1996, D. J. Bernstein.
+--
+
+Unfortunately (from SPI's point of view) Dan Bernstein does not include
+a conventional licence for qmail, so instead you must examine his published
+documentation on the subject to determine your rights to use his software.
+
+The right to distribute unmodified copies of the qmail-1.01 source is granted
+here:
+
+ ftp://koobera.math.uic.edu/www/qmail/dist.html
+
+In addition, Dan will approve distribution of specific binary packages, which
+he should have done for the Debian package that contains this file by the time
+you get to read it.
+
+He also states (see ftp://koobera.math.uic.edu/www/softwarelaw.html)
+the following:
+
+ What does all this mean for the free software world? Once you've legally
+ downloaded a program, you can compile it. You can run it. You can modify
+ it. You can distribute your patches for other people to use. If you think
+ you need a license from the copyright holder, you've been bamboozled by
+ Microsoft. As long as you're not distributing the software, you have
+ nothing to worry about.
+
+Of course, this only applies to people under US jurisdiction, but Dan
+claims that similar laws are in effect in most of the countries that
+take any notice of copyright, so I suppose that one can assume that
+this encapsulates his wishes on the subject.
+
+Cheers, Phil.
+<phil@hands.com>
--- /dev/null
+#!/bin/bash
+
+set -e
+
+function startofpath() {
+ if [ -f usr/man/man8/`basename $1`.8 ]; then
+ echo usr/sbin
+ elif [ -f usr/man/man1/`basename $1`.1 ]; then
+ echo usr/bin
+ else
+ case `basename $1` in
+ elq|pinq|qail|qlist2) echo usr/bin;;
+ datemail|predate|qmail-home|qsmhook|sendmail) echo usr/sbin;;
+ *) echo 1>&2 Cannot determine if $1 belongs in sbin or bin;exit 2;;
+ esac
+ fi
+}
+
+test -d debian/tmp || (echo "Could not find debian/tmp directory.";exit 1)
+
+cd debian/tmp
+
+for f in var/qmail/bin/*; do
+ mv $f `startofpath $f`
+done
+
+rmdir var/qmail/bin || ( echo "Could not remove qmail/bin directory!"; exit 3)
--- /dev/null
+#!/bin/bash
+
+set -e
+
+if [ ! -f qmail-start.c ]; then
+ echo "This program must be run from the qmail source directory!"
+ exit 1
+fi
+
+#if [ ! -f qmail-send.8 ]; then
+# make man
+#fi
+
+for f in `fgrep -l QMAIL/bin *.sh`; do
+ mv $f $f.$$ && sed -e "s,QMAIL/bin/predate,/usr/sbin/predate,g" \
+ -e "s,QMAIL/bin/sendmail,/usr/sbin/sendmail,g" \
+ -e "s,QMAIL/bin/maildir2mbox,/usr/bin/maildir2mbox,g" \
+ -e "s,QMAIL/bin/qmail-inject,/usr/sbin/qmail-inject,g" \
+ -e "s,QMAIL/bin/qlist,/usr/bin/qlist,g" \
+ -e "s,QMAIL/bin:,/usr/bin:/usr/sbin,g" $f.$$ >$f && \
+ rm $f.$$
+done
+
+if ls *.$$ >/dev/null 2>&1; then
+ echo Error during debianization! Some temporary files remain.
+ exit 1
+fi
+
+if fgrep QMAIL/bin *.sh; then
+ echo Error during debianization! Some .sh files still have relative paths.
+ exit 2
+fi
+
+
+if fgrep -q nofiles conf-groups; then
+ if sed <conf-groups >conf-groups.$$ -e '2s/nofiles/nogroup/' && \
+ mv -f conf-groups.$$ conf-groups; then
+ echo The file conf-groups was auto-edited.
+ echo Please eyeball it to see if the editing was done correctly.
+ echo --- begin conf-groups ----
+ cat conf-groups
+ echo --- end conf-groups ----
+ echo
+ else
+ echo Error during auto-editing of conf-groups!
+ exit 3
+ fi
+fi
+
+if grep '\"bin/' *.c | grep -v 'qmail-\(check\|setup\)' >/dev/null; then
+ echo Remember to replace the relative paths by full paths in the following files:
+ grep '\"bin/' *.c | grep -v 'qmail-\(check\|setup\)'
+fi
--- /dev/null
+#!/usr/bin/perl
+
+require DebianNet;
+
+$| = 1;
+
+my $action = shift;
+
+if ( $action eq 'configure' or $action eq 'abort-upgrade' or $action eq 'abort-deconfigure' or $action eq 'abort-remove' ) {
+ my $old_version = shift;
+
+ DebianNet::add_service('smtp stream tcp nowait qmaild /usr/sbin/tcpd /usr/bin/tcp-env /usr/sbin/qmail-smtpd',
+ "MAIL");
+ DebianNet::enable_service('smtp');
+
+ # Add rc?.d links
+ system('update-rc.d qmail defaults >/dev/null');
+
+ if ( ! -r '/var/qmail/control/me' ) {
+ system("/usr/sbin/qmailconfig");
+ }
+
+ if ( !defined($old_version) || $old_version eq '' ) {
+ print <<'EOT1';
+
+By default qmail will deliver mail to ~/Mailbox instead of /var/spool/mail.
+To learn how to deal with this, read the file /usr/doc/qmail/INSTALL.mbox.
+Disregard the warning in INSTALL.mbox about qmail-alias using flock to lock
+the mailbox.
+
+If you were using sendmail (or smail) previously, you will want to read
+the "qmail-upgrade" manpage, which details user-visible differences between
+sendmail and qmail.
+
+If you are new to qmail, you will want to at least peruse the qmail FAQ, which
+can be found in /usr/doc/qmail
+
+EOT1
+ print 'Do you want to start qmail now? [y/N] ';
+ my $answer = <STDIN>;
+ if ( $answer =~ /^\s*[yY]/ ) {
+ system("/etc/init.d/qmail start");
+ }
+ else {
+ print <<'EOT2';
+Qmail will be started at the next reboot. Or you can start qmail manually when
+you are ready by typing (as root) "/etc/init.d/qmail start" at a shell prompt.
+EOT2
+ }
+ }
+ else {
+ system("/etc/init.d/qmail start");
+ }
+}
+
+exit 0;
+
--- /dev/null
+#!/usr/bin/perl
+
+$| = 1;
+
+$action = shift @ARGV;
+
+if ( $action eq 'purge' ) {
+ system('update-rc.d qmail remove >/dev/null');
+ system("rm -rf /var/qmail");
+ system("rm -rf /etc/qmail");
+ exit $?;
+}
+
+if ( $action eq 'abort-install' ) {
+ # Put back old inetd.conf (?)
+ exit 0
+}
+
--- /dev/null
+#!/usr/bin/perl
+
+require 5.002;
+use strict 'subs';
+use strict 'barewords';
+use English;
+
+sub check_uid($$$$$$) {
+ my ($name, $uid, $gid, $gecos, $home, $shell) = @_;
+ my $ok = 1;
+
+ print "Checking user $name (uid $uid, gid $gid, homedir $home)... ";
+ @name_entry = getpwnam("$name");
+ if ( @name_entry == () ) {
+ my @uid_entry = getpwuid($uid);
+ if ( @uid_entry == () ) {
+ system("adduser --system --quiet --home $home --gid $gid --uid $uid --gecos \'$gecos\' $name >/dev/null 2>&1");
+ if ( $? != 0 ) {
+ print "\n Error while adding user $name!\n";
+ $ok = 0;
+ }
+ else {
+ print "added.\n";
+ }
+ system("chsh -s $shell $name");
+ }
+ else {
+ print "error!\n Uid $uid is being used by user $uid_entry[0]\n";
+ $ok = 0;
+ }
+ }
+ else {
+ if ( $name_entry[3] != $gid ) {
+ print "error!\n" if $ok;
+ print " User $name has primary group $name_entry[3] instead of $gid\n";
+ $ok = 0;
+ }
+ if ( $name_entry[2] != $uid ) {
+ print "error!\n" if $ok;
+ print " User $name has uid $name_entry[2] instead of $uid\n";
+ $ok = 0;
+ }
+ if ( $name_entry[7] ne $home ) {
+ print "error!\n" if $ok;
+ print " User $name has home directory $name_entry[7] instead of $home\n";
+ $ok = 0;
+ }
+ if ( $ok ) {
+ print "ok.\n";
+ }
+ }
+ return $ok;
+}
+
+sub check_gid($$@) {
+ my ($name, $gid, @members) = @_;
+ my $ok = 1;
+
+ print "Checking group $name (gid $gid)... ";
+ @name_entry = getgrnam($name);
+ if ( @name_entry == () ) {
+ my @gid_entry = getgrgid($gid);
+ if ( @gid_entry == () ) {
+ system("addgroup --quiet --gid $gid $name");
+ if ( $? != 0 ) {
+ print "\n Error while adding group $name\n";
+ $ok = 0;
+ }
+ else {
+ print "added.\n";
+ }
+ }
+ else {
+ print "error!\n Gid $gid is being used by group $gid_entry[0]\n";
+ $ok = 0;
+ }
+ }
+ else {
+ if ( $name_entry[2] != $gid ) {
+ print "error!\n Group $name has gid $name_entry[2] instead of $gid\n";
+ $ok = 0;
+ }
+ if ( $ok ) {
+ print "ok.\n";
+ }
+ }
+ return $ok;
+}
+
+sub is_qmail_installed {
+ my $qmail_installed = 0;
+
+ print "Checking if qmail is already installed on this computer... ";
+
+ $qmail_home = '';
+ if ( -d '/var/qmail' ) {
+ print "\n Found /var/qmail directory";
+ $qmail_home = '/var/qmail';
+ $qmail_installed = 1;
+ }
+ else {
+ $qmail_home = `qmail-home`;
+ if ( $qmail_home ne '') {
+ print "\n Found qmail home directory at $qmail_home (using qmail-home program)";
+ $qmail_installed = 1;
+ }
+ }
+
+ if ( -d '/var/spool/qmail' ) {
+ print "\n Found qmail spool directory at /var/spool/qmail";
+ $qmail_installed = 1;
+ }
+ if ( -d '/etc/qmail' ) {
+ print "\n Found qmail control directory at /etc/qmail";
+ $qmail_installed = 1;
+ }
+
+ if ( (-r '/etc/inetd.conf') and `fgrep -q qmail-smtpd /etc/inetd.conf` ) {
+ print "\n Found reference to qmail-smtpd in /etc/inetd.conf";
+ $qmail_installed = 1;
+ }
+ if ( (-r '/etc/xinetd.conf') and `fgrep -q qmail-smtpd /etc/xinetd.conf` ) {
+ print "\n Found reference to qmail-smtpd in /etc/xinetd.conf";
+ $qmail_installed = 1;
+ }
+
+ if ( -x '/etc/init.d/qmail' ) {
+ print "\n Found /etc/init.d/qmail script";
+ $qmail_installed = 1;
+ }
+ elsif ( `fgrep -q qmail-start /etc/init.d/*` ) {
+ print "\n Found reference to qmail-start in /etc/init.d directory";
+ $qmail_installed = 1;
+ }
+ if ( -x '/etc/rc.local' and `fgrep -q qmail-start /etc/rc.local` ) {
+ print "\n Found reference to qmail-start in /etc/rc.local";
+ $qmail_installed = 1;
+ }
+
+ if ( `killall -0 qmail-send >/dev/null 2>&1` ) {
+ print "\n Found qmail-send process running";
+ $qmail_installed = 1;
+ }
+
+ print 'no.' unless $qmail_installed;
+ print "\n";
+ return $qmail_installed;
+}
+
+
+$| = 1;
+
+$action = shift;
+
+if ( $action eq 'install' ) {
+ $old_version = shift;
+ if ( ! defined $old_version || $old_version eq '' ) {
+ print "First installation of the Debian qmail package...\n";
+ # Check if a non-Debian qmail is installed...
+ if ( is_qmail_installed() ) {
+ print "Please remove your copy of qmail before installing the qmail Debian package.\n\n";
+ exit 1;
+ }
+ # Check for qmail uids and gids
+ my $errors;
+ $errors++ unless check_gid('qmail', 70, ());
+ #$errors++ unless check_gid('nogroup', 65534, ());
+
+ $errors++ unless check_uid('alias', 70, 65534, 'qmail alias', '/var/qmail/alias', '/bin/sh');
+ $errors++ unless check_uid('qmaild', 71, 65534, 'qmail daemon', '/var/qmail', '/bin/sh');
+ $errors++ unless check_uid('qmails', 72, 70, 'qmail send', '/var/qmail', '/bin/sh');
+ $errors++ unless check_uid('qmailr', 73, 70, 'qmail remote', '/var/qmail', '/bin/sh');
+ $errors++ unless check_uid('qmailq', 74, 70, 'qmail queue', '/var/qmail', '/bin/sh');
+ $errors++ unless check_uid('qmaill', 75, 65534, 'qmail log', '/var/qmail', '/bin/sh');
+ $errors++ unless check_uid('qmailp', 76, 65534, 'qmail pw', '/var/qmail', '/bin/sh');
+ #$errors++ unless check_uid('nobody', 65534, 65534, 'nobody', '/tmp', '/bin/sh');
+
+ if ( $errors ) {
+ print "\n$errors entries have errors. Please correct these errors and reinstall qmail.\n";
+ exit 2;
+ }
+ }
+
+ # Make sure there are no smtp entries in /etc/inetd.conf
+ # Kludge around smail buggy /etc/inetd.conf handling. (Grr.)
+ my $fixed_smail = 0;
+ my $found_commented = 0;
+ my $found_uncommented = 0;
+ my $new_inetd = "/etc/inetd.conf.qmail-preinst.$$";
+ open I, '</etc/inetd.conf' or die "Could not open /etc/inetd.conf\n";
+ open N, ">$new_inetd" or die "Could not create $new_inetd\n";
+ while (<I>) {
+ if ( m|^\# *smtp\s+.*/usr/sbin/in.smtpd.*\(will be restored by smail postinst\)\s*$| ) {
+ $fixed_smail = 1;
+ next;
+ } elsif ( m/^\# *smtp\s+/ ) {
+ $found_commented= 1;
+ } elsif ( m/^smtp\s+/ ) {
+ $found_uncommented= 1;
+ }
+ print N or die "Cannot write to $new_inetd\n";
+ }
+ close N or die "Could not close $new_inetd\n";
+ close I or die "Could not close /etc/inetd.conf\n";
+ if ( $found_commented or $found_uncommented ) {
+ print "Your /etc/inetd.conf already containts entries for the SMTP service.\n";
+ print "Please remove all SMTP entries from /etc/inetd.conf (even those commented out)\n";
+ print "and reinstall the qmail package.\n\n";
+ exit 1;
+ }
+ if ( $fixed_smail ) {
+ print "Removing commented smtp entry left by buggy version of smail postinst... ";
+ rename "$new_inetd", '/etc/inetd.conf' or die "failed!\n";
+ print "done.\n";
+ }
+}
+
+exit 0;
--- /dev/null
+#!/usr/bin/perl
+
+require DebianNet;
+
+$| = 1;
+
+$action = shift;
+
+if ( $action eq 'failed-upgrade' ) {
+ exit 1;
+}
+
+if ( $action eq 'upgrade' or $action eq 'deconfigure' ) {
+ system("/etc/init.d/qmail stop");
+ exit $? if $?;
+ DebianNet::disable_service('smtp');
+ exit 0;
+}
+
+if ( $action eq 'remove' ) {
+ # Ask for confirmation if there are still messages in qmail's queue.
+ $mesg_inqueue = `find /var/qmail/queue/mess -type f -print | wc -l`;
+ $mesg_inqueue =~ s/\s//g;
+ $mesg_unprocessed = `find /var/qmail/queue/todo -type f -print | wc -l`;
+ $mesg_unprocessed =~ s/\s//g;
+
+ if ( $mesg_inqueue != 0 || $mesg_unprocessed != 0 ) {
+ print STDERR <<EOT;
+There are still messages in qmail's queue. You probably want to wait until
+qmail's queue is empty before removing the qmail package. Otherwise
+the messages currently waiting in the queue will not be delivered or will be
+lost. (\`qmail-qstat' will tell you the number of messages in qmail's queue.)
+
+EOT
+
+ print STDERR 'Do you still want to proceed and remove the qmail package? [y/N] ';
+ my $answer = <STDIN>;
+ exit 1 unless $answer =~ /^\s*[yY]/;
+ }
+
+ # Remove qmail-smtpd from inetd.conf
+ DebianNet::remove_service('smtp\s+stream\s+tcp\s+nowait\s+qmaild.*/usr/sbin/qmail-smtpd');
+
+ # Stop qmail process.
+ system("/etc/init.d/qmail stop");
+ exit $? if $?;
+}
+
+exit 0;
--- /dev/null
+#!/bin/sh
+#
+# /etc/init.d/qmail : start or stop the qmail mail subsystem.
+#
+# Written by Christian Hudon <chrish@debian.org>
+
+#
+# Configuration
+#
+
+
+# set default delivery method
+
+alias_empty="|/usr/sbin/qmail-procmail" # procmail delivery to /var/spool/mail
+#alias_empty="./Maildir/" # This uses qmail prefered ~/Maildir/ directory
+#alias_empty="./Mailbox" # This uses Mailbox file in users $HOME
+
+logger="splogger qmail"
+#logger="|accustamp >>/var/log/qmail.log" # If you have accustamp installed.
+#logger=">>/var/log/qmail.log" # Does not give timing info.
+
+# If you uncommented one of the lines that appends to /var/log/qmail.log, you
+# need to uncomment the following two lines.
+#touch /var/log/qmail.log
+#chown qmaill /var/log/qmail.log
+
+#
+# End of configuration
+#
+
+test -x /usr/sbin/qmail-start || exit 0
+test -x /usr/sbin/qmail-send || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting mail-transfer agent: qmail"
+ sh -c "start-stop-daemon --start --quiet \
+ --exec /usr/sbin/qmail-send \
+ --startas /usr/sbin/qmail-start -- \"$alias_empty\" $logger &"
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping mail-transfer agent: qmail"
+ if [ "`pidof /usr/sbin/qmail-send`" ] ; then
+ start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/qmail-send
+
+ # Wait until the timeout for qmail processes to die.
+ count=120
+ numdots=0
+ while ([ $count != 0 ]) do
+ let count=$count-1
+ if [ "`pidof /usr/sbin/qmail-send`" ] ; then
+ echo -n .
+ let numdots=$numdots+1
+ sleep 1
+ else
+ count=0
+ fi
+ done
+
+ # If it's not dead yet, kill it.
+# if [ "`pidof /usr/sbin/qmail-send`" ] ; then
+# echo -n " TIMEOUT!"
+# kill -KILL `pidof /usr/sbin/qmail-send`
+# else
+ case $numdots in
+ 0) echo "." ;;
+ 1) echo ;;
+ *) echo " done." ;;
+ esac
+# fi
+ else
+ echo " not running.";
+ fi
+
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ reload)
+ echo "Reloading 'locals' and 'virtualdomains' control files."
+ start-stop-daemon --stop --quiet --oknodo --signal HUP --exec /usr/sbin/qmail-send
+ ;;
+ *)
+ echo 'Usage: /etc/init.d/qmail {start|stop|restart|reload}'
+ exit 1
+esac
+
+exit 0
--- /dev/null
+This is a feeble little package that just contains a script to unpack
+and build qmail from source, so that we don't violate Dan Bernstein's
+`no binary distribution, without approval' restriction.
+
+Hopefully this will help allow a binary package to be approved, but
+even if it doesn't it means that Debian users can use qmail without to
+much effort.
+
+Philip Hands <phil@hands.com>
--- /dev/null
+#!/usr/bin/make -f
+#
+
+build:
+ $(checkdir)
+ if fgrep QMAIL/bin *.sh >/dev/null; then \
+ echo >&2 "You must run debian/debianize-source-tree first!"; \
+ exit 1; \
+ fi
+ $(MAKE) man
+ $(MAKE)
+ touch build
+
+clean:
+ $(checkdir)
+ -rm -f build
+ -$(MAKE) clean
+ -rm `find . -name "*~"`
+ -rm -rf debian/files
+ -rm -rf `find debian/* ! \( -name CVS -prune \) -type d -prune`
+
+binary-indep: checkroot build
+ $(checkdir)
+
+binary-arch: checkroot build
+ $(checkdir)
+ -rm -rf debian/files debian/substvars debian/tmp
+ -rm -rf `find ! \( -name CVS -prune \) debian/* -type d -prune`
+# Make the directory tree and copy qmail files.
+ install -d debian/tmp/etc/init.d \
+ debian/tmp/usr/doc/qmail \
+ debian/tmp/var/qmail \
+ debian/tmp/var/spool \
+ debian/tmp/usr/bin \
+ debian/tmp/usr/sbin \
+ debian/tmp/usr/lib \
+ debian/qmail-src/usr/bin \
+ debian/qmail-src/usr/src/qmail-src \
+ debian/qmail-src/usr/doc/qmail-src
+ ./install `pwd`/debian/tmp/var/qmail
+ mv debian/tmp/var/qmail/queue debian/tmp/var/spool/qmail
+ mv debian/tmp/var/qmail/control debian/tmp/etc/qmail
+ (cd debian/tmp/var/qmail && ln -s /var/spool/qmail queue)
+ (cd debian/tmp/var/qmail && ln -s /etc/qmail control)
+ mv debian/tmp/var/qmail/man debian/tmp/usr/man && \
+ rm -r debian/tmp/usr/man/cat?
+# Move /var/qmail/bin programs to either /usr/bin or /usr/sbin
+ bash debian/debianize-binary-tree
+# Create /usr/lib/sendmail symlink for backward compatibility.
+ (cd debian/tmp/usr/lib && ln -s ../sbin/sendmail)
+# Copy qmailconfig and its helper programs...
+ install -o root -g root -m 755 dnsfq debian/tmp/usr/sbin/qmailconfig-dnsfq
+ install -o root -g root -m 755 dnsip debian/tmp/usr/sbin/qmailconfig-dnsip
+ install -o root -g root -m 755 ipmeprint debian/tmp/usr/sbin/qmailconfig-ipmeprint
+ install -o root -g root -m 755 dnsptr debian/tmp/usr/sbin/qmailconfig-dnsptr
+# (This one is a bit of a kludge...)
+# Appears to be defunct in 1.03
+# sed -e 's|./hostname|hostname|g' \
+# -e 's|\./dnsptr|/usr/sbin/qmailconfig-dnsptr|g' \
+# -e 's|\./dnsip|/usr/sbin/qmailconfig-dnsip|g' \
+# -e 's|\./dnsfq|/usr/sbin/qmailconfig-dnsfq|g' \
+# -e 's|\./ipmeprint|/usr/sbin/qmailconfig-ipmeprint|g' \
+# qmail-config >debian/tmp/usr/sbin/qmailconfig
+# chmod 755 debian/tmp/usr/sbin/qmailconfig
+# Install /etc/init.d/qmail
+ install -o root -g root -m 755 debian/qmail debian/tmp/etc/init.d/qmail
+# Copy /usr/doc/qmail files.
+ install -o root -g root -m 644 debian/changelog debian/tmp/usr/doc/qmail/changelog.Debian
+ rm -rf debian/tmp/var/qmail/doc
+# do the stuff for qmail-src
+ cp ../qmail_1.03.orig.tar.gz ../qmail_1.03-1.diff.gz \
+ ../qmail_1.03-1.dsc debian/qmail-src/usr/src/qmail-src
+ install -m 755 debian/build-qmail debian/qmail-src/usr/bin
+ install debian/copyright debian/qmail-src/usr/doc/qmail-src
+ install debian/qmail-src.README debian/qmail-src/usr/doc/qmail-src/README
+ debstd -m CHANGES BLURB* FAQ INTERNALS README \
+ SECURITY INSTALL.* PIC.* REMOVE.* SYSDEPS THANKS THOUGHTS \
+ TODO SENDMAIL TEST.* UPGRADE
+# Correct permissions of binaries and manpages...
+ chmod go+rx debian/tmp/usr/*bin/*
+ chown -R root.root debian/tmp/usr/man
+
+ dpkg-gencontrol -pqmail
+# And finally, build the Debian package!
+ dpkg --build debian/tmp ..
+
+define checkdir
+ test -f qmail-send.c -a -f debian/rules
+endef
+
+binary: binary-indep binary-arch
+
+source diff:
+ @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+checkroot:
+ $(checkdir)
+ test "`whoami`" = root
+
+.PHONY: binary binary-arch binary-indep clean checkroot
--- /dev/null
+shlibs:Depends=libc5 (>= 5.4.0-0)
-QMAIL/bin/maildir2mbox && exec elm ${1+"$@"}
+/usr/bin/maildir2mbox && exec elm ${1+"$@"}
char buf[100 + FMT_ULONG];
-void dsplit(base,uid,mode)
+void dsplit(home,base,uid,mode)
+char *home;
char *base; /* must be under 100 bytes */
int uid;
int mode;
char *x;
unsigned long i;
- d(auto_qmail,base,uid,auto_gidq,mode);
+ d(home,base,uid,auto_gidq,mode);
for (i = 0;i < auto_split;++i) {
x = buf;
x += fmt_ulong(x,i);
*x = 0;
- d(auto_qmail,buf,uid,auto_gidq,mode);
+ d(home,buf,uid,auto_gidq,mode);
}
}
-void hier()
+void hier(home)
+char *home;
{
- h(auto_qmail,auto_uido,auto_gidq,0755);
-
- d(auto_qmail,"control",auto_uido,auto_gidq,0755);
- d(auto_qmail,"users",auto_uido,auto_gidq,0755);
- d(auto_qmail,"bin",auto_uido,auto_gidq,0755);
- d(auto_qmail,"boot",auto_uido,auto_gidq,0755);
- d(auto_qmail,"doc",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat1",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat5",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat7",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat8",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man1",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man5",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man7",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man8",auto_uido,auto_gidq,0755);
-
- d(auto_qmail,"alias",auto_uida,auto_gidq,02755);
-
- d(auto_qmail,"queue",auto_uidq,auto_gidq,0750);
- d(auto_qmail,"queue/pid",auto_uidq,auto_gidq,0700);
- d(auto_qmail,"queue/intd",auto_uidq,auto_gidq,0700);
- d(auto_qmail,"queue/todo",auto_uidq,auto_gidq,0750);
- d(auto_qmail,"queue/bounce",auto_uids,auto_gidq,0700);
-
- dsplit("queue/mess",auto_uidq,0750);
- dsplit("queue/info",auto_uids,0700);
- dsplit("queue/local",auto_uids,0700);
- dsplit("queue/remote",auto_uids,0700);
-
- d(auto_qmail,"queue/lock",auto_uidq,auto_gidq,0750);
- z(auto_qmail,"queue/lock/tcpto",1024,auto_uidr,auto_gidq,0644);
- z(auto_qmail,"queue/lock/sendmutex",0,auto_uids,auto_gidq,0600);
- p(auto_qmail,"queue/lock/trigger",auto_uids,auto_gidq,0622);
-
- c(auto_qmail,"boot","home",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","home+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","proc",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","proc+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm1",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm1+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm2",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm2+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm3",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm3+df",auto_uido,auto_gidq,0755);
-
- c(auto_qmail,"doc","FAQ",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","UPGRADE",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","SENDMAIL",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.alias",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.ctl",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.ids",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.maildir",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.mbox",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.vsm",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","TEST.deliver",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","TEST.receive",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","REMOVE.sendmail",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","REMOVE.binmail",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2alias",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2ext",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2local",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2rem",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2virt",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.nullclient",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.relaybad",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.relaygood",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.rem2local",auto_uido,auto_gidq,0644);
-
- c(auto_qmail,"bin","qmail-queue",auto_uidq,auto_gidq,04711);
- c(auto_qmail,"bin","qmail-lspawn",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-start",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-getpw",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-local",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-remote",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-rspawn",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-clean",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-send",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","splogger",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-newu",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-newmrh",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-pw2u",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-inject",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","predate",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","datemail",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","mailsubj",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-showctl",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qread",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qstat",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-tcpto",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-tcpok",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-pop3d",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-popup",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-qmqpc",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qmqpd",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qmtpd",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-smtpd",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","sendmail",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","tcp-env",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qreceipt",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qsmhook",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qbiff",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","forward",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","preline",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","condredirect",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","bouncesaying",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","except",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","maildirmake",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","maildir2mbox",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","maildirwatch",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qail",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","elq",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","pinq",auto_uido,auto_gidq,0755);
-
- c(auto_qmail,"man/man5","addresses.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","addresses.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","envelopes.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","maildir.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","maildir.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","mbox.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","mbox.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-control.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-header.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-header.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-log.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-log.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-users.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-users.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","tcp-environ.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","tcp-environ.0",auto_uido,auto_gidq,0644);
-
- c(auto_qmail,"man/man7","forgeries.7",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat7","forgeries.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man7","qmail-limits.7",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat7","qmail-limits.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man7","qmail.7",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat7","qmail.0",auto_uido,auto_gidq,0644);
-
- c(auto_qmail,"man/man1","forward.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","forward.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","condredirect.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","condredirect.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","bouncesaying.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","bouncesaying.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","except.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","except.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","maildirmake.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","maildirmake.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","maildir2mbox.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","maildir2mbox.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","maildirwatch.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","maildirwatch.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","mailsubj.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","mailsubj.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","qreceipt.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","qreceipt.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","qbiff.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","qbiff.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","preline.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","preline.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","tcp-env.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","tcp-env.0",auto_uido,auto_gidq,0644);
-
- c(auto_qmail,"man/man8","qmail-local.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-local.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-lspawn.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-lspawn.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-getpw.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-getpw.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-remote.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-remote.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-rspawn.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-rspawn.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-clean.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-clean.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-send.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-send.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-start.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-start.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","splogger.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","splogger.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-queue.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-queue.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-inject.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-inject.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-showctl.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-showctl.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-newmrh.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-newmrh.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-newu.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-newu.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-pw2u.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-pw2u.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qread.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qread.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qstat.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qstat.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-tcpok.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-tcpok.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-tcpto.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-tcpto.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-pop3d.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-pop3d.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-popup.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-popup.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qmqpc.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qmqpc.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qmqpd.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qmqpd.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qmtpd.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qmtpd.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-smtpd.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-smtpd.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-command.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-command.0",auto_uido,auto_gidq,0644);
+ if (!home)
+ home = auto_qmail;
+
+ h(home,auto_uido,auto_gidq,0755);
+
+ d(home,"control",auto_uido,auto_gidq,0755);
+ d(home,"users",auto_uido,auto_gidq,0755);
+ d(home,"bin",auto_uido,auto_gidq,0755);
+ d(home,"boot",auto_uido,auto_gidq,0755);
+ d(home,"doc",auto_uido,auto_gidq,0755);
+ d(home,"man",auto_uido,auto_gidq,0755);
+ d(home,"man/cat1",auto_uido,auto_gidq,0755);
+ d(home,"man/cat5",auto_uido,auto_gidq,0755);
+ d(home,"man/cat7",auto_uido,auto_gidq,0755);
+ d(home,"man/cat8",auto_uido,auto_gidq,0755);
+ d(home,"man/man1",auto_uido,auto_gidq,0755);
+ d(home,"man/man5",auto_uido,auto_gidq,0755);
+ d(home,"man/man7",auto_uido,auto_gidq,0755);
+ d(home,"man/man8",auto_uido,auto_gidq,0755);
+
+ d(home,"alias",auto_uida,auto_gidq,02755);
+
+ d(home,"queue",auto_uidq,auto_gidq,0750);
+ d(home,"queue/pid",auto_uidq,auto_gidq,0700);
+ d(home,"queue/intd",auto_uidq,auto_gidq,0700);
+ d(home,"queue/todo",auto_uidq,auto_gidq,0750);
+ d(home,"queue/bounce",auto_uids,auto_gidq,0700);
+
+ dsplit(home,"queue/mess",auto_uidq,0750);
+ dsplit(home,"queue/info",auto_uids,0700);
+ dsplit(home,"queue/local",auto_uids,0700);
+ dsplit(home,"queue/remote",auto_uids,0700);
+
+ d(home,"queue/lock",auto_uidq,auto_gidq,0750);
+ z(home,"queue/lock/tcpto",1024,auto_uidr,auto_gidq,0644);
+ z(home,"queue/lock/sendmutex",0,auto_uids,auto_gidq,0600);
+ p(home,"queue/lock/trigger",auto_uids,auto_gidq,0622);
+
+ c(home,"boot","home",auto_uido,auto_gidq,0755);
+ c(home,"boot","home+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","proc",auto_uido,auto_gidq,0755);
+ c(home,"boot","proc+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm1",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm1+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm2",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm2+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm3",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm3+df",auto_uido,auto_gidq,0755);
+
+ c(home,"doc","FAQ",auto_uido,auto_gidq,0644);
+ c(home,"doc","UPGRADE",auto_uido,auto_gidq,0644);
+ c(home,"doc","SENDMAIL",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.alias",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.ctl",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.ids",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.maildir",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.mbox",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.vsm",auto_uido,auto_gidq,0644);
+ c(home,"doc","TEST.deliver",auto_uido,auto_gidq,0644);
+ c(home,"doc","TEST.receive",auto_uido,auto_gidq,0644);
+ c(home,"doc","REMOVE.sendmail",auto_uido,auto_gidq,0644);
+ c(home,"doc","REMOVE.binmail",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2alias",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2ext",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2local",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2rem",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2virt",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.nullclient",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.relaybad",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.relaygood",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.rem2local",auto_uido,auto_gidq,0644);
+
+ c(home,"bin","qmail-queue",auto_uidq,auto_gidq,04711);
+ c(home,"bin","qmail-lspawn",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-start",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-getpw",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-local",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-remote",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-rspawn",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-clean",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-send",auto_uido,auto_gidq,0711);
+ c(home,"bin","splogger",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-newu",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-newmrh",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-pw2u",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-inject",auto_uido,auto_gidq,0755);
+ c(home,"bin","predate",auto_uido,auto_gidq,0755);
+ c(home,"bin","datemail",auto_uido,auto_gidq,0755);
+ c(home,"bin","mailsubj",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-showctl",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qread",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qstat",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-tcpto",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-tcpok",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-pop3d",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-popup",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-qmqpc",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qmqpd",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qmtpd",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-smtpd",auto_uido,auto_gidq,0755);
+ c(home,"bin","sendmail",auto_uido,auto_gidq,0755);
+ c(home,"bin","tcp-env",auto_uido,auto_gidq,0755);
+ c(home,"bin","qreceipt",auto_uido,auto_gidq,0755);
+ c(home,"bin","qsmhook",auto_uido,auto_gidq,0755);
+ c(home,"bin","qbiff",auto_uido,auto_gidq,0755);
+ c(home,"bin","forward",auto_uido,auto_gidq,0755);
+ c(home,"bin","preline",auto_uido,auto_gidq,0755);
+ c(home,"bin","condredirect",auto_uido,auto_gidq,0755);
+ c(home,"bin","bouncesaying",auto_uido,auto_gidq,0755);
+ c(home,"bin","except",auto_uido,auto_gidq,0755);
+ c(home,"bin","maildirmake",auto_uido,auto_gidq,0755);
+ c(home,"bin","maildir2mbox",auto_uido,auto_gidq,0755);
+ c(home,"bin","maildirwatch",auto_uido,auto_gidq,0755);
+ c(home,"bin","qail",auto_uido,auto_gidq,0755);
+ c(home,"bin","elq",auto_uido,auto_gidq,0755);
+ c(home,"bin","pinq",auto_uido,auto_gidq,0755);
+
+ c(home,"man/man5","addresses.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","addresses.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","envelopes.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","maildir.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","maildir.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","mbox.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","mbox.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-control.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-header.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-header.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-log.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-log.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-users.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-users.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","tcp-environ.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","tcp-environ.0",auto_uido,auto_gidq,0644);
+
+ c(home,"man/man7","forgeries.7",auto_uido,auto_gidq,0644);
+ c(home,"man/cat7","forgeries.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man7","qmail-limits.7",auto_uido,auto_gidq,0644);
+ c(home,"man/cat7","qmail-limits.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man7","qmail.7",auto_uido,auto_gidq,0644);
+ c(home,"man/cat7","qmail.0",auto_uido,auto_gidq,0644);
+
+ c(home,"man/man1","forward.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","forward.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","condredirect.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","condredirect.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","bouncesaying.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","bouncesaying.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","except.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","except.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","maildirmake.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","maildirmake.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","maildir2mbox.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","maildir2mbox.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","maildirwatch.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","maildirwatch.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","mailsubj.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","mailsubj.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","qreceipt.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","qreceipt.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","qbiff.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","qbiff.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","preline.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","preline.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","tcp-env.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","tcp-env.0",auto_uido,auto_gidq,0644);
+
+ c(home,"man/man8","qmail-local.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-local.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-lspawn.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-lspawn.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-getpw.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-getpw.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-remote.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-remote.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-rspawn.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-rspawn.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-clean.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-clean.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-send.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-send.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-start.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-start.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","splogger.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","splogger.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-queue.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-queue.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-inject.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-inject.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-showctl.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-showctl.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-newmrh.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-newmrh.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-newu.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-newu.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-pw2u.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-pw2u.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qread.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qread.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qstat.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qstat.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-tcpok.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-tcpok.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-tcpto.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-tcpto.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-pop3d.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-pop3d.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-popup.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-popup.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qmqpc.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qmqpc.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qmqpd.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qmqpd.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qmtpd.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qmtpd.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-smtpd.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-smtpd.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-command.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-command.0",auto_uido,auto_gidq,0644);
}
# Using dot-forward to support sendmail-style ~/.forward files.
# Using qmail-local to deliver messages to ~/Mailbox by default.
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start '|dot-forward .forward
./Mailbox' splogger qmail
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start ./Mailbox splogger qmail
char buf[100 + FMT_ULONG];
-void dsplit(base,uid,mode)
+void dsplit(home,base,uid,mode)
+char *home;
char *base; /* must be under 100 bytes */
int uid;
int mode;
char *x;
unsigned long i;
- d(auto_qmail,base,uid,auto_gidq,mode);
+ d(home,base,uid,auto_gidq,mode);
for (i = 0;i < auto_split;++i) {
x = buf;
x += fmt_ulong(x,i);
*x = 0;
- d(auto_qmail,buf,uid,auto_gidq,mode);
+ d(home,buf,uid,auto_gidq,mode);
}
}
-void hier()
+void hier(home)
+char *home;
{
- h(auto_qmail,auto_uido,auto_gidq,0755);
+ if (!home)
+ home = auto_qmail;
- d(auto_qmail,"control",auto_uido,auto_gidq,0755);
- d(auto_qmail,"users",auto_uido,auto_gidq,0755);
- d(auto_qmail,"bin",auto_uido,auto_gidq,0755);
- d(auto_qmail,"boot",auto_uido,auto_gidq,0755);
- d(auto_qmail,"doc",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat1",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat5",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat7",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/cat8",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man1",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man5",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man7",auto_uido,auto_gidq,0755);
- d(auto_qmail,"man/man8",auto_uido,auto_gidq,0755);
+ h(home,auto_uido,auto_gidq,0755);
- d(auto_qmail,"alias",auto_uida,auto_gidq,02755);
+ d(home,"control",auto_uido,auto_gidq,0755);
+ d(home,"users",auto_uido,auto_gidq,0755);
+ d(home,"bin",auto_uido,auto_gidq,0755);
+ d(home,"boot",auto_uido,auto_gidq,0755);
+ d(home,"doc",auto_uido,auto_gidq,0755);
+ d(home,"man",auto_uido,auto_gidq,0755);
+ d(home,"man/cat1",auto_uido,auto_gidq,0755);
+ d(home,"man/cat5",auto_uido,auto_gidq,0755);
+ d(home,"man/cat7",auto_uido,auto_gidq,0755);
+ d(home,"man/cat8",auto_uido,auto_gidq,0755);
+ d(home,"man/man1",auto_uido,auto_gidq,0755);
+ d(home,"man/man5",auto_uido,auto_gidq,0755);
+ d(home,"man/man7",auto_uido,auto_gidq,0755);
+ d(home,"man/man8",auto_uido,auto_gidq,0755);
- d(auto_qmail,"queue",auto_uidq,auto_gidq,0750);
- d(auto_qmail,"queue/pid",auto_uidq,auto_gidq,0700);
- d(auto_qmail,"queue/intd",auto_uidq,auto_gidq,0700);
- d(auto_qmail,"queue/todo",auto_uidq,auto_gidq,0750);
- d(auto_qmail,"queue/bounce",auto_uids,auto_gidq,0700);
+ d(home,"alias",auto_uida,auto_gidq,02755);
- dsplit("queue/mess",auto_uidq,0750);
- dsplit("queue/info",auto_uids,0700);
- dsplit("queue/local",auto_uids,0700);
- dsplit("queue/remote",auto_uids,0700);
+ d(home,"queue",auto_uidq,auto_gidq,0750);
+ d(home,"queue/pid",auto_uidq,auto_gidq,0700);
+ d(home,"queue/intd",auto_uidq,auto_gidq,0700);
+ d(home,"queue/todo",auto_uidq,auto_gidq,0750);
+ d(home,"queue/bounce",auto_uids,auto_gidq,0700);
- d(auto_qmail,"queue/lock",auto_uidq,auto_gidq,0750);
- z(auto_qmail,"queue/lock/tcpto",1024,auto_uidr,auto_gidq,0644);
- z(auto_qmail,"queue/lock/sendmutex",0,auto_uids,auto_gidq,0600);
- p(auto_qmail,"queue/lock/trigger",auto_uids,auto_gidq,0622);
+ dsplit(home,"queue/mess",auto_uidq,0750);
+ dsplit(home,"queue/info",auto_uids,0700);
+ dsplit(home,"queue/local",auto_uids,0700);
+ dsplit(home,"queue/remote",auto_uids,0700);
- c(auto_qmail,"boot","home",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","home+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","proc",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","proc+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm1",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm1+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm2",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm2+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm3",auto_uido,auto_gidq,0755);
- c(auto_qmail,"boot","binm3+df",auto_uido,auto_gidq,0755);
+ d(home,"queue/lock",auto_uidq,auto_gidq,0750);
+ z(home,"queue/lock/tcpto",1024,auto_uidr,auto_gidq,0644);
+ z(home,"queue/lock/sendmutex",0,auto_uids,auto_gidq,0600);
+ p(home,"queue/lock/trigger",auto_uids,auto_gidq,0622);
- c(auto_qmail,"doc","FAQ",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","UPGRADE",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","SENDMAIL",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.alias",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.ctl",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.ids",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.maildir",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.mbox",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","INSTALL.vsm",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","TEST.deliver",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","TEST.receive",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","REMOVE.sendmail",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","REMOVE.binmail",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2alias",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2ext",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2local",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2rem",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.local2virt",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.nullclient",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.relaybad",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.relaygood",auto_uido,auto_gidq,0644);
- c(auto_qmail,"doc","PIC.rem2local",auto_uido,auto_gidq,0644);
+ c(home,"boot","home",auto_uido,auto_gidq,0755);
+ c(home,"boot","home+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","proc",auto_uido,auto_gidq,0755);
+ c(home,"boot","proc+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm1",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm1+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm2",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm2+df",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm3",auto_uido,auto_gidq,0755);
+ c(home,"boot","binm3+df",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-queue",auto_uidq,auto_gidq,04711);
- c(auto_qmail,"bin","qmail-lspawn",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-start",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-getpw",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-local",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-remote",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-rspawn",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-clean",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-send",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","splogger",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-newu",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-newmrh",auto_uido,auto_gidq,0700);
- c(auto_qmail,"bin","qmail-pw2u",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-inject",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","predate",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","datemail",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","mailsubj",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-showctl",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qread",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qstat",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-tcpto",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-tcpok",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-pop3d",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-popup",auto_uido,auto_gidq,0711);
- c(auto_qmail,"bin","qmail-qmqpc",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qmqpd",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-qmtpd",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qmail-smtpd",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","sendmail",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","tcp-env",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qreceipt",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qsmhook",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qbiff",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","forward",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","preline",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","condredirect",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","bouncesaying",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","except",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","maildirmake",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","maildir2mbox",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","maildirwatch",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","qail",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","elq",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","pinq",auto_uido,auto_gidq,0755);
+ c(home,"doc","FAQ",auto_uido,auto_gidq,0644);
+ c(home,"doc","UPGRADE",auto_uido,auto_gidq,0644);
+ c(home,"doc","SENDMAIL",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.alias",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.ctl",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.ids",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.maildir",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.mbox",auto_uido,auto_gidq,0644);
+ c(home,"doc","INSTALL.vsm",auto_uido,auto_gidq,0644);
+ c(home,"doc","TEST.deliver",auto_uido,auto_gidq,0644);
+ c(home,"doc","TEST.receive",auto_uido,auto_gidq,0644);
+ c(home,"doc","REMOVE.sendmail",auto_uido,auto_gidq,0644);
+ c(home,"doc","REMOVE.binmail",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2alias",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2ext",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2local",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2rem",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.local2virt",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.nullclient",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.relaybad",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.relaygood",auto_uido,auto_gidq,0644);
+ c(home,"doc","PIC.rem2local",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","addresses.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","addresses.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","envelopes.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","maildir.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","maildir.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","mbox.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","mbox.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-control.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-header.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-header.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-log.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-log.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","qmail-users.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","qmail-users.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man5","tcp-environ.5",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat5","tcp-environ.0",auto_uido,auto_gidq,0644);
+ c(home,"bin","qmail-queue",auto_uidq,auto_gidq,04711);
+ c(home,"bin","qmail-lspawn",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-start",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-getpw",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-local",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-remote",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-rspawn",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-clean",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-send",auto_uido,auto_gidq,0711);
+ c(home,"bin","splogger",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-newu",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-newmrh",auto_uido,auto_gidq,0700);
+ c(home,"bin","qmail-pw2u",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-inject",auto_uido,auto_gidq,0755);
+ c(home,"bin","predate",auto_uido,auto_gidq,0755);
+ c(home,"bin","datemail",auto_uido,auto_gidq,0755);
+ c(home,"bin","mailsubj",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-showctl",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qread",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qstat",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-tcpto",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-tcpok",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-pop3d",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-popup",auto_uido,auto_gidq,0711);
+ c(home,"bin","qmail-qmqpc",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qmqpd",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-qmtpd",auto_uido,auto_gidq,0755);
+ c(home,"bin","qmail-smtpd",auto_uido,auto_gidq,0755);
+ c(home,"bin","sendmail",auto_uido,auto_gidq,0755);
+ c(home,"bin","tcp-env",auto_uido,auto_gidq,0755);
+ c(home,"bin","qreceipt",auto_uido,auto_gidq,0755);
+ c(home,"bin","qsmhook",auto_uido,auto_gidq,0755);
+ c(home,"bin","qbiff",auto_uido,auto_gidq,0755);
+ c(home,"bin","forward",auto_uido,auto_gidq,0755);
+ c(home,"bin","preline",auto_uido,auto_gidq,0755);
+ c(home,"bin","condredirect",auto_uido,auto_gidq,0755);
+ c(home,"bin","bouncesaying",auto_uido,auto_gidq,0755);
+ c(home,"bin","except",auto_uido,auto_gidq,0755);
+ c(home,"bin","maildirmake",auto_uido,auto_gidq,0755);
+ c(home,"bin","maildir2mbox",auto_uido,auto_gidq,0755);
+ c(home,"bin","maildirwatch",auto_uido,auto_gidq,0755);
+ c(home,"bin","qail",auto_uido,auto_gidq,0755);
+ c(home,"bin","elq",auto_uido,auto_gidq,0755);
+ c(home,"bin","pinq",auto_uido,auto_gidq,0755);
- c(auto_qmail,"man/man7","forgeries.7",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat7","forgeries.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man7","qmail-limits.7",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat7","qmail-limits.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man7","qmail.7",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat7","qmail.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","addresses.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","addresses.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","envelopes.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","maildir.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","maildir.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","mbox.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","mbox.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-control.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-header.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-header.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-log.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-log.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","qmail-users.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","qmail-users.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man5","tcp-environ.5",auto_uido,auto_gidq,0644);
+ c(home,"man/cat5","tcp-environ.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","forward.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","forward.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","condredirect.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","condredirect.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","bouncesaying.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","bouncesaying.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","except.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","except.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","maildirmake.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","maildirmake.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","maildir2mbox.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","maildir2mbox.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","maildirwatch.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","maildirwatch.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","mailsubj.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","mailsubj.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","qreceipt.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","qreceipt.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","qbiff.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","qbiff.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","preline.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","preline.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","tcp-env.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","tcp-env.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man7","forgeries.7",auto_uido,auto_gidq,0644);
+ c(home,"man/cat7","forgeries.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man7","qmail-limits.7",auto_uido,auto_gidq,0644);
+ c(home,"man/cat7","qmail-limits.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man7","qmail.7",auto_uido,auto_gidq,0644);
+ c(home,"man/cat7","qmail.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-local.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-local.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-lspawn.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-lspawn.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-getpw.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-getpw.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-remote.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-remote.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-rspawn.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-rspawn.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-clean.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-clean.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-send.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-send.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-start.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-start.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","splogger.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","splogger.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-queue.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-queue.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-inject.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-inject.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-showctl.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-showctl.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-newmrh.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-newmrh.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-newu.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-newu.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-pw2u.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-pw2u.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qread.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qread.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qstat.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qstat.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-tcpok.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-tcpok.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-tcpto.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-tcpto.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-pop3d.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-pop3d.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-popup.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-popup.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qmqpc.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qmqpc.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qmqpd.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qmqpd.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-qmtpd.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-qmtpd.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-smtpd.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-smtpd.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man8","qmail-command.8",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat8","qmail-command.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","forward.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","forward.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","condredirect.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","condredirect.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","bouncesaying.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","bouncesaying.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","except.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","except.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","maildirmake.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","maildirmake.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","maildir2mbox.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","maildir2mbox.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","maildirwatch.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","maildirwatch.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","mailsubj.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","mailsubj.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","qreceipt.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","qreceipt.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","qbiff.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","qbiff.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","preline.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","preline.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","tcp-env.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","tcp-env.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"bin","dot-forward",auto_uido,auto_gidq,0755);
+ c(home,"man/man8","qmail-local.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-local.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-lspawn.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-lspawn.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-getpw.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-getpw.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-remote.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-remote.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-rspawn.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-rspawn.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-clean.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-clean.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-send.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-send.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-start.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-start.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","splogger.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","splogger.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-queue.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-queue.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-inject.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-inject.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-showctl.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-showctl.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-newmrh.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-newmrh.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-newu.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-newu.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-pw2u.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-pw2u.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qread.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qread.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qstat.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qstat.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-tcpok.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-tcpok.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-tcpto.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-tcpto.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-pop3d.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-pop3d.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-popup.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-popup.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qmqpc.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qmqpc.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qmqpd.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qmqpd.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-qmtpd.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-qmtpd.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-smtpd.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-smtpd.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man8","qmail-command.8",auto_uido,auto_gidq,0644);
+ c(home,"man/cat8","qmail-command.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","dot-forward.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","dot-forward.0",auto_uido,auto_gidq,0644);
+ c(home,"bin","dot-forward",auto_uido,auto_gidq,0755);
- d(auto_qmail,"doc/fastforward",auto_uido,auto_gidq,0755);
+ c(home,"man/man1","dot-forward.1",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","dot-forward.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"bin","fastforward",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","printforward",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","setforward",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","newaliases",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","printmaillist",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","setmaillist",auto_uido,auto_gidq,0755);
- c(auto_qmail,"bin","newinclude",auto_uido,auto_gidq,0755);
+ d(home,"doc/fastforward",auto_uido,auto_gidq,0755);
- c(auto_qmail,"doc/fastforward","ALIASES",auto_uido,auto_gidq,0644);
+ c(home,"bin","fastforward",auto_uido,auto_gidq,0755);
+ c(home,"bin","printforward",auto_uido,auto_gidq,0755);
+ c(home,"bin","setforward",auto_uido,auto_gidq,0755);
+ c(home,"bin","newaliases",auto_uido,auto_gidq,0755);
+ c(home,"bin","printmaillist",auto_uido,auto_gidq,0755);
+ c(home,"bin","setmaillist",auto_uido,auto_gidq,0755);
+ c(home,"bin","newinclude",auto_uido,auto_gidq,0755);
- c(auto_qmail,"man/man1","fastforward.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","printforward.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","setforward.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","newaliases.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","printmaillist.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","setmaillist.1",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/man1","newinclude.1",auto_uido,auto_gidq,0644);
+ c(home,"doc/fastforward","ALIASES",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","fastforward.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","printforward.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","setforward.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","newaliases.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","printmaillist.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","setmaillist.0",auto_uido,auto_gidq,0644);
- c(auto_qmail,"man/cat1","newinclude.0",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","fastforward.1",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","printforward.1",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","setforward.1",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","newaliases.1",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","printmaillist.1",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","setmaillist.1",auto_uido,auto_gidq,0644);
+ c(home,"man/man1","newinclude.1",auto_uido,auto_gidq,0644);
+
+ c(home,"man/cat1","fastforward.0",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","printforward.0",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","setforward.0",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","newaliases.0",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","printmaillist.0",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","setmaillist.0",auto_uido,auto_gidq,0644);
+ c(home,"man/cat1","newinclude.0",auto_uido,auto_gidq,0644);
}
strerr_die6sys(111,FATAL,"unable to chmod ",home,"/",file,": ");
}
-void main()
+void main(argc,argv)
+int argc;
+char *argv[];
{
+ char *home = 0;
+ if (argc > 1)
+ home = argv[1];
fdsourcedir = open_read(".");
if (fdsourcedir == -1)
strerr_die2sys(111,FATAL,"unable to open current directory: ");
umask(077);
- hier();
+ hier(home);
_exit(0);
}
perm("",home,"/",file,S_IFREG,uid,gid,mode);
}
-void main()
+void main(argc,argv)
+int argc;
+char *argv[];
{
- hier();
+ char *home = 0;
+ if (argc > 1)
+ home = argv[1];
+ hier(home);
_exit(0);
}
echo To: ${1+"$@"}
echo ''
cat
-) | QMAIL/bin/qmail-inject
+) | /usr/sbin/qmail-inject
-QMAIL/bin/maildir2mbox && exec pine ${1+"$@"}
+/usr/bin/maildir2mbox && exec pine ${1+"$@"}
# Using dot-forward to support sendmail-style ~/.forward files.
# Using procmail to deliver messages to /var/spool/mail/$USER by default.
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start '|dot-forward .forward
|preline procmail' splogger qmail
# Using splogger to send the log through syslog.
# Using procmail to deliver messages to /var/spool/mail/$USER by default.
-exec env - PATH="QMAIL/bin:$PATH" \
+exec env - PATH="/usr/bin:/usr/sbin$PATH" \
qmail-start '|preline procmail' splogger qmail
-QMAIL/bin/maildir2mbox && exec Mail ${1+"$@"}
+/usr/bin/maildir2mbox && exec Mail ${1+"$@"}
}
if (pipe(pi) == -1) _exit(QLX_SYS);
- args[0] = "bin/qmail-getpw";
+ args[0] = "/usr/sbin/qmail-getpw";
args[1] = local;
args[2] = 0;
switch(gpwpid = vfork())
x = nughde.s;
xlen = nughde.len;
- args[0] = "bin/qmail-local";
+ args[0] = "/usr/sbin/qmail-local";
args[1] = "--";
args[2] = x;
n = byte_chr(x,xlen,0); if (n++ == xlen) _exit(QLX_USAGE); x += n; xlen -= n;
#include "qmail.h"
#include "auto_qmail.h"
-static char *binqqargs[2] = { "bin/qmail-queue", 0 } ;
+static char *binqqargs[2] = { "/usr/sbin/qmail-queue", 0 } ;
int qmail_open(qq)
struct qmail *qq;
_exit(100);
}
-char *smtpdarg[] = { "bin/qmail-smtpd", 0 };
+char *smtpdarg[] = { "/usr/sbin/qmail-smtpd", 0 };
void smtpd()
{
if (!env_get("PROTO")) {
_exit(111);
}
-char *qreadarg[] = { "bin/qmail-qread", 0 };
+char *qreadarg[] = { "/usr/sbin/qmail-qread", 0 };
void mailq()
{
execv(*qreadarg,qreadarg);
if (!qiargv) nomem();
arg = qiargv;
- *arg++ = "bin/qmail-inject";
+ *arg++ = "/usr/sbin/qmail-inject";
*arg++ = (flagh ? "-H" : "-a");
if (sender) {
*arg++ = "-f";