--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using dot-forward to support sendmail-style ~/.forward files.
+ # 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="/usr/bin:/usr/sbin$PATH" \
+ qmail-start '|dot-forward .forward
+ |preline -f /usr/libexec/mail.local -r "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
+ splogger qmail
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # 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="/usr/bin:/usr/sbin$PATH" \
+ qmail-start \
+ '|preline -f /usr/libexec/mail.local -r "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
+ splogger qmail
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using dot-forward to support sendmail-style ~/.forward files.
+ # Using binmail to deliver messages to /var/spool/mail/$USER by default.
+ # Using SVR4 binmail interface: /bin/mail -r
+
++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
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using binmail to deliver messages to /var/spool/mail/$USER by default.
+ # Using SVR4 binmail interface: /bin/mail -r
+
++exec env - PATH="/usr/bin:/usr/sbin$PATH" \
+ qmail-start \
+ '|preline -f /bin/mail -r "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
+ splogger qmail
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using dot-forward to support sendmail-style ~/.forward files.
+ # Using binmail to deliver messages to /var/spool/mail/$USER by default.
+ # Using V7 binmail interface: /bin/mail -f
+
++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
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using binmail to deliver messages to /var/spool/mail/$USER by default.
+ # Using V7 binmail interface: /bin/mail -f
+
++exec env - PATH="/usr/bin:/usr/sbin$PATH" \
+ qmail-start \
+ '|preline -f /bin/mail -f "${SENDER:-MAILER-DAEMON}" -d "$USER"' \
+ splogger qmail
--- /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
- -e "s,QMAIL/bin/qlist,/usr/bin/qlist,g" $f.$$ >$f && \
+#!/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
- -rm -rf `find debian/* -type d -prune`
+#!/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/* -type d -prune`
++ -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
- ./qmail-hier | ./install debian/tmp/var/qmail
++ -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
- 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 `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...)
- cp ../qmail_1.01.orig.tar.gz ../qmail_1.01-2.diff.gz \
- ../qmail_1.01-2.dsc debian/qmail-src/usr/src/qmail-src
++# 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
- debstd -m CHANGES BLURB* FAQ INTERNALS README RFC* \
- SECURITY INSTALL.* SYSDEPS THANKS THOUGHTS TODO
++ 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
-void dsplit(base,uid,mode)
+ #include "auto_qmail.h"
+ #include "auto_split.h"
+ #include "auto_uids.h"
+ #include "fmt.h"
+ #include "fifo.h"
+
+ char buf[100 + FMT_ULONG];
+
- d(auto_qmail,base,uid,auto_gidq,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,buf,uid,auto_gidq,mode);
++ d(home,base,uid,auto_gidq,mode);
+
+ for (i = 0;i < auto_split;++i) {
+ x = buf;
+ x += fmt_str(x,base);
+ x += fmt_str(x,"/");
+ x += fmt_ulong(x,i);
+ *x = 0;
+
-void hier()
++ d(home,buf,uid,auto_gidq,mode);
+ }
+ }
+
- 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);
++void hier(home)
++char *home;
+ {
++ 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);
+ }
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using dot-forward to support sendmail-style ~/.forward files.
+ # Using qmail-local to deliver messages to ~/Mailbox by default.
+
++exec env - PATH="/usr/bin:/usr/sbin$PATH" \
+ qmail-start '|dot-forward .forward
+ ./Mailbox' splogger qmail
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using qmail-local to deliver messages to ~/Mailbox by default.
+
++exec env - PATH="/usr/bin:/usr/sbin$PATH" \
+ qmail-start ./Mailbox splogger qmail
--- /dev/null
-void dsplit(base,uid,mode)
+ #include "auto_qmail.h"
+ #include "auto_split.h"
+ #include "auto_uids.h"
+ #include "fmt.h"
+ #include "fifo.h"
+
+ char buf[100 + FMT_ULONG];
+
- d(auto_qmail,base,uid,auto_gidq,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,buf,uid,auto_gidq,mode);
++ d(home,base,uid,auto_gidq,mode);
+
+ for (i = 0;i < auto_split;++i) {
+ x = buf;
+ x += fmt_str(x,base);
+ x += fmt_str(x,"/");
+ x += fmt_ulong(x,i);
+ *x = 0;
+
-void hier()
++ d(home,buf,uid,auto_gidq,mode);
+ }
+ }
+
- h(auto_qmail,auto_uido,auto_gidq,0755);
++void hier(home)
++char *home;
+ {
- 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);
++ if (!home)
++ home = auto_qmail;
+
- d(auto_qmail,"alias",auto_uida,auto_gidq,02755);
++ h(home,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,"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);
+
- 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,"alias",auto_uida,auto_gidq,02755);
+
- 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);
++ 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);
+
- 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);
++ 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,"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);
++ 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,"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,"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,"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,"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/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,"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/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/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/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/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,"bin","dot-forward",auto_uido,auto_gidq,0755);
++ 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,"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,"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);
+
- d(auto_qmail,"doc/fastforward",auto_uido,auto_gidq,0755);
++ c(home,"bin","dot-forward",auto_uido,auto_gidq,0755);
+
- 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);
++ 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,"doc/fastforward","ALIASES",auto_uido,auto_gidq,0644);
++ d(home,"doc/fastforward",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,"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/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,"doc/fastforward","ALIASES",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);
+ }
substdio ssin;
substdio ssout;
- void doit(line)
- stralloc *line;
+ void c(home,subdir,file,uid,gid,mode)
+ char *home;
+ char *subdir;
+ char *file;
+ int uid;
+ int gid;
+ int mode;
{
- char *x;
- unsigned int xlen;
- unsigned int i;
- char *type;
- char *uidstr;
- char *gidstr;
- char *modestr;
- char *mid;
- char *name;
- unsigned long uid;
- unsigned long gid;
- unsigned long mode;
int fdin;
int fdout;
- unsigned long zlen;
-
- x = line->s; xlen = line->len;
-
- type = x;
- i = byte_chr(x,xlen,':'); if (i == xlen) return;
- x[i++] = 0; x += i; xlen -= i;
-
- uidstr = x;
- i = byte_chr(x,xlen,':'); if (i == xlen) return;
- x[i++] = 0; x += i; xlen -= i;
-
- gidstr = x;
- i = byte_chr(x,xlen,':'); if (i == xlen) return;
- x[i++] = 0; x += i; xlen -= i;
-
- modestr = x;
- i = byte_chr(x,xlen,':'); if (i == xlen) return;
- x[i++] = 0; x += i; xlen -= i;
-
- mid = x;
- i = byte_chr(x,xlen,':'); if (i == xlen) return;
- x[i++] = 0; x += i; xlen -= i;
-
- name = x;
- i = byte_chr(x,xlen,':'); if (i == xlen) return;
- x[i++] = 0; x += i; xlen -= i;
-
- if (!stralloc_copys(&target,to)) nomem();
- if (!stralloc_cats(&target,mid)) nomem();
- if (!stralloc_cats(&target,name)) nomem();
- if (!stralloc_0(&target)) nomem();
-
- uid = -1; if (*uidstr) scan_ulong(uidstr,&uid);
- gid = -1; if (*gidstr) scan_ulong(gidstr,&gid);
- scan_8long(modestr,&mode);
-
- switch(*type) {
- case 'z':
- scan_ulong(type + 1,&zlen);
-
- fdout = open_trunc(target.s);
- if (fdout == -1)
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
- substdio_fdbuf(&ssout,write,fdout,outbuf,sizeof(outbuf));
-
- while (zlen--)
- if (substdio_put(&ssout,"",1) == -1)
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
-
- if (substdio_flush(&ssout) == -1)
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
- if (fsync(fdout) == -1)
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
- close(fdout);
- break;
-
- case 'p':
- if (fifo_make(target.s,0700) == -1)
- if (errno != error_exist)
- strerr_die4sys(111,FATAL,"unable to mkfifo ",target.s,": ");
- break;
-
- case 'd':
- if (mkdir(target.s,0700) == -1)
- if (errno != error_exist)
- strerr_die4sys(111,FATAL,"unable to mkdir ",target.s,": ");
- break;
-
- case 'c':
- fdin = open_read(name);
- if (fdin == -1)
- strerr_die4sys(111,FATAL,"unable to read ",name,": ");
- substdio_fdbuf(&ssin,read,fdin,inbuf,sizeof(inbuf));
-
- fdout = open_trunc(target.s);
- if (fdout == -1)
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
- substdio_fdbuf(&ssout,write,fdout,outbuf,sizeof(outbuf));
-
- switch(substdio_copy(&ssout,&ssin)) {
- case -2:
- strerr_die4sys(111,FATAL,"unable to read ",name,": ");
- case -3:
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
- }
-
- close(fdin);
- if (substdio_flush(&ssout) == -1)
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
- if (fsync(fdout) == -1)
- strerr_die4sys(111,FATAL,"unable to write ",target.s,": ");
- close(fdout);
- break;
-
- default:
- return;
+
+ if (fchdir(fdsourcedir) == -1)
+ strerr_die2sys(111,FATAL,"unable to switch back to source directory: ");
+
+ fdin = open_read(file);
+ if (fdin == -1)
+ strerr_die4sys(111,FATAL,"unable to read ",file,": ");
+ substdio_fdbuf(&ssin,read,fdin,inbuf,sizeof inbuf);
+
+ if (chdir(home) == -1)
+ strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
+ if (chdir(subdir) == -1)
+ strerr_die6sys(111,FATAL,"unable to switch to ",home,"/",subdir,": ");
+
+ fdout = open_trunc(file);
+ if (fdout == -1)
+ strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
+ substdio_fdbuf(&ssout,write,fdout,outbuf,sizeof outbuf);
+
+ switch(substdio_copy(&ssout,&ssin)) {
+ case -2:
+ strerr_die4sys(111,FATAL,"unable to read ",file,": ");
+ case -3:
+ strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
}
- if (chown(target.s,uid,gid) == -1)
- strerr_die4sys(111,FATAL,"unable to chown ",target.s,": ");
- if (chmod(target.s,mode) == -1)
- strerr_die4sys(111,FATAL,"unable to chmod ",target.s,": ");
+ close(fdin);
+ if (substdio_flush(&ssout) == -1)
+ strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
+ if (fsync(fdout) == -1)
+ strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
+ if (close(fdout) == -1) /* NFS silliness */
+ strerr_die6sys(111,FATAL,"unable to write .../",subdir,"/",file,": ");
+
+ if (chown(file,uid,gid) == -1)
+ strerr_die6sys(111,FATAL,"unable to chown .../",subdir,"/",file,": ");
+ if (chmod(file,mode) == -1)
+ strerr_die6sys(111,FATAL,"unable to chmod .../",subdir,"/",file,": ");
}
- char buf[256];
- substdio in = SUBSTDIO_FDBUF(read,0,buf,sizeof(buf));
- stralloc line = {0};
+ void z(home,file,len,uid,gid,mode)
+ char *home;
+ char *file;
+ int len;
+ int uid;
+ int gid;
+ int mode;
+ {
+ int fdout;
+
+ if (chdir(home) == -1)
+ strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
+
+ fdout = open_trunc(file);
+ if (fdout == -1)
+ strerr_die6sys(111,FATAL,"unable to write ",home,"/",file,": ");
+ substdio_fdbuf(&ssout,write,fdout,outbuf,sizeof outbuf);
+
+ while (len-- > 0)
+ if (substdio_put(&ssout,"",1) == -1)
+ strerr_die6sys(111,FATAL,"unable to write ",home,"/",file,": ");
+
+ if (substdio_flush(&ssout) == -1)
+ strerr_die6sys(111,FATAL,"unable to write ",home,"/",file,": ");
+ if (fsync(fdout) == -1)
+ strerr_die6sys(111,FATAL,"unable to write ",home,"/",file,": ");
+ if (close(fdout) == -1) /* NFS silliness */
+ strerr_die6sys(111,FATAL,"unable to write ",home,"/",file,": ");
+
+ if (chown(file,uid,gid) == -1)
+ strerr_die6sys(111,FATAL,"unable to chown ",home,"/",file,": ");
+ if (chmod(file,mode) == -1)
+ strerr_die6sys(111,FATAL,"unable to chmod ",home,"/",file,": ");
+ }
-void main()
+void main(argc,argv)
+int argc;
- char **argv;
++char *argv[];
{
- int match;
++ 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);
-
- to = argv[1];
- if (!to) strerr_die2x(100,FATAL,"install: usage: install dir");
-
- for (;;) {
- if (getln(&in,&line,&match,'\n') == -1)
- strerr_die2sys(111,FATAL,"unable to read input: ");
- doit(&line);
- if (!match)
- _exit(0);
- }
- hier();
++ hier(home);
+ _exit(0);
}
}
if ((uid != -1) && (st.st_uid != uid))
- strerr_warn3(WARNING,target.s," has wrong owner",0);
+ strerr_warn6(WARNING,prefix1,prefix2,prefix3,file," has wrong owner",0);
if ((gid != -1) && (st.st_gid != gid))
- strerr_warn3(WARNING,target.s," has wrong group",0);
+ strerr_warn6(WARNING,prefix1,prefix2,prefix3,file," has wrong group",0);
if ((st.st_mode & 07777) != mode)
- strerr_warn3(WARNING,target.s," has wrong permissions",0);
- if ((st.st_mode & S_IFMT) != ftype)
- strerr_warn3(WARNING,target.s," has wrong type",0);
+ strerr_warn6(WARNING,prefix1,prefix2,prefix3,file," has wrong permissions",0);
+ if ((st.st_mode & S_IFMT) != type)
+ strerr_warn6(WARNING,prefix1,prefix2,prefix3,file," has wrong type",0);
}
- char buf[256];
- substdio in = SUBSTDIO_FDBUF(read,0,buf,sizeof(buf));
- stralloc line = {0};
+ void h(home,uid,gid,mode)
+ char *home;
+ int uid;
+ int gid;
+ int mode;
+ {
+ perm("","","",home,S_IFDIR,uid,gid,mode);
+ }
- void main(argc,argv)
- int argc;
- char **argv;
+ void d(home,subdir,uid,gid,mode)
+ char *home;
+ char *subdir;
+ int uid;
+ int gid;
+ int mode;
{
- int match;
+ if (chdir(home) == -1)
+ strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
+ perm("",home,"/",subdir,S_IFDIR,uid,gid,mode);
+ }
+
+ void p(home,fifo,uid,gid,mode)
+ char *home;
+ char *fifo;
+ int uid;
+ int gid;
+ int mode;
+ {
+ if (chdir(home) == -1)
+ strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
+ perm("",home,"/",fifo,S_IFIFO,uid,gid,mode);
+ }
- umask(077);
+ void c(home,subdir,file,uid,gid,mode)
+ char *home;
+ char *subdir;
+ char *file;
+ int uid;
+ int gid;
+ int mode;
+ {
+ if (chdir(home) == -1)
+ strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
+ if (chdir(subdir) == -1)
+ strerr_die6sys(111,FATAL,"unable to switch to ",home,"/",subdir,": ");
+ perm(".../",subdir,"/",file,S_IFREG,uid,gid,mode);
+ }
- to = argv[1];
- if (!to) strerr_die2x(100,FATAL,"instcheck: usage: instcheck dir");
+ void z(home,file,len,uid,gid,mode)
+ char *home;
+ char *file;
+ int len;
+ int uid;
+ int gid;
+ int mode;
+ {
+ if (chdir(home) == -1)
+ strerr_die4sys(111,FATAL,"unable to switch to ",home,": ");
+ perm("",home,"/",file,S_IFREG,uid,gid,mode);
+ }
- for (;;) {
- if (getln(&in,&line,&match,'\n') == -1)
- strerr_die2sys(111,FATAL,"unable to read input: ");
- doit(&line);
- if (!match)
- _exit(0);
- }
-void main()
++void main(argc,argv)
++int argc;
++char *argv[];
+ {
- hier();
++ char *home = 0;
++ if (argc > 1)
++ home = argv[1];
++ hier(home);
+ _exit(0);
}
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using dot-forward to support sendmail-style ~/.forward files.
+ # Using procmail to deliver messages to /var/spool/mail/$USER by default.
+
++exec env - PATH="/usr/bin:/usr/sbin$PATH" \
+ qmail-start '|dot-forward .forward
+ |preline procmail' splogger qmail
--- /dev/null
-exec env - PATH="QMAIL/bin:$PATH" \
+ #!/bin/sh
+
+ # Using splogger to send the log through syslog.
+ # Using procmail to deliver messages to /var/spool/mail/$USER by default.
+
++exec env - PATH="/usr/bin:/usr/sbin$PATH" \
+ qmail-start '|preline procmail' splogger qmail
void nomem()
{
- substdio_putsflush(subfderr,"sendmail: fatal: out of memory\n");
- _exit(111);
+ substdio_putsflush(subfderr,"sendmail: fatal: out of memory\n");
+ _exit(111);
+ }
+
+ void die_usage()
+ {
+ substdio_putsflush(subfderr,"sendmail: usage: sendmail [ -t ] [ -fsender ] [ -Fname ] [ -bp ] [ -bs ] [ arg ... ]\n");
+ _exit(100);
+ }
+
-char *smtpdarg[] = { "bin/qmail-smtpd", 0 };
++char *smtpdarg[] = { "/usr/sbin/qmail-smtpd", 0 };
+ void smtpd()
+ {
+ if (!env_get("PROTO")) {
+ if (!env_put("RELAYCLIENT=")) nomem();
+ if (!env_put("DATABYTES=0")) nomem();
+ if (!env_put("PROTO=TCP")) nomem();
+ if (!env_put("TCPLOCALIP=127.0.0.1")) nomem();
+ if (!env_put("TCPLOCALHOST=localhost")) nomem();
+ if (!env_put("TCPREMOTEIP=127.0.0.1")) nomem();
+ if (!env_put("TCPREMOTEHOST=localhost")) nomem();
+ if (!env_put("TCPREMOTEINFO=sendmail-bs")) nomem();
+ }
+ execv(*smtpdarg,smtpdarg);
+ substdio_putsflush(subfderr,"sendmail: fatal: unable to run qmail-smtpd\n");
+ _exit(111);
+ }
+
-char *qreadarg[] = { "bin/qmail-qread", 0 };
++char *qreadarg[] = { "/usr/sbin/qmail-qread", 0 };
+ void mailq()
+ {
+ execv(*qreadarg,qreadarg);
+ substdio_putsflush(subfderr,"sendmail: fatal: unable to run qmail-qread\n");
+ _exit(111);
}
int flagh;
int argc;
char **argv;
{
- int opt;
- char **qiargv;
- char **arg;
- int i;
-
- if (chdir(auto_qmail) == -1)
- {
- substdio_putsflush(subfderr,"sendmail: fatal: unable to switch to qmail home directory\n");
- _exit(111);
+ int opt;
+ char **qiargv;
+ char **arg;
+ int i;
+
+ if (chdir(auto_qmail) == -1) {
+ substdio_putsflush(subfderr,"sendmail: fatal: unable to switch to qmail home directory\n");
+ _exit(111);
}
- flagh = 0;
- sender = 0;
- while ((opt = getopt(argc,argv,"vimte:f:p:o:B:F:EJx")) != opteof)
- switch(opt)
- {
- case 'B': break;
- case 't': flagh = 1; break;
- case 'f': sender = optarg; break;
- case 'F': if (!env_put2("MAILNAME",optarg)) nomem(); break;
- case 'p': break; /* could generate a Received line from optarg */
- case 'v': break;
- case 'i': break; /* what an absurd concept */
- case 'x': break; /* SVR4 stupidity */
- case 'm': break; /* twisted-paper-path blindness, incompetent design */
- case 'e': break; /* qmail has only one error mode */
- case 'o':
- switch(optarg[0])
- {
- case 'd': break; /* qmail has only one delivery mode */
- case 'e': break; /* see 'e' above */
- case 'i': break; /* see 'i' above */
- case 'm': break; /* see 'm' above */
+ flagh = 0;
+ sender = 0;
+ while ((opt = getopt(argc,argv,"vimte:f:p:o:B:F:EJxb:")) != opteof)
+ switch(opt) {
+ case 'B': break;
+ case 't': flagh = 1; break;
+ case 'f': sender = optarg; break;
+ case 'F': if (!env_put2("MAILNAME",optarg)) nomem(); break;
+ case 'p': break; /* could generate a Received line from optarg */
+ case 'v': break;
+ case 'i': break; /* what an absurd concept */
+ case 'x': break; /* SVR4 stupidity */
+ case 'm': break; /* twisted-paper-path blindness, incompetent design */
+ case 'e': break; /* qmail has only one error mode */
+ case 'o':
+ switch(optarg[0]) {
+ case 'd': break; /* qmail has only one delivery mode */
+ case 'e': break; /* see 'e' above */
+ case 'i': break; /* see 'i' above */
+ case 'm': break; /* see 'm' above */
+ }
+ break;
+ case 'E': case 'J': /* Sony NEWS-OS */
+ while (argv[optind][optpos]) ++optpos; /* skip optional argument */
+ break;
+ case 'b':
+ switch(optarg[0]) {
+ case 'm': break;
+ case 'p': mailq();
+ case 's': smtpd();
+ default: die_usage();
}
- break;
- case 'E': case 'J': /* Sony NEWS-OS */
- while (argv[optind][optpos]) ++optpos; /* skip optional argument */
- break;
- default:
- _exit(100);
+ break;
+ default:
+ die_usage();
}
- argc -= optind;
- argv += optind;
-
- if (str_equal(optprogname,"mailq"))
- {
- substdio_putsflush(subfderr,"sendmail: fatal: please use qmail-qread instead\n");
- _exit(100);
- }
+ argc -= optind;
+ argv += optind;
+
+ if (str_equal(optprogname,"mailq"))
+ mailq();
- if (str_equal(optprogname,"newaliases"))
- {
- substdio_putsflush(subfderr,"sendmail: fatal: please use the qmsmac newaliases instead\n");
- _exit(100);
+ if (str_equal(optprogname,"newaliases")) {
+ substdio_putsflush(subfderr,"sendmail: fatal: please use fastforward/newaliases instead\n");
+ _exit(100);
}
- qiargv = (char **) alloc((argc + 10) * sizeof(char *));
- if (!qiargv) nomem();
-
- arg = qiargv;
- *arg++ = "/usr/sbin/qmail-inject";
- *arg++ = (flagh ? "-H" : "-a");
- if (sender)
- {
- *arg++ = "-f";
- *arg++ = sender;
+ qiargv = (char **) alloc((argc + 10) * sizeof(char *));
+ if (!qiargv) nomem();
+
+ arg = qiargv;
- *arg++ = "bin/qmail-inject";
++ *arg++ = "/usr/sbin/qmail-inject";
+ *arg++ = (flagh ? "-H" : "-a");
+ if (sender) {
+ *arg++ = "-f";
+ *arg++ = sender;
}
- *arg++ = "--";
- for (i = 0;i < argc;++i) *arg++ = argv[i];
- *arg = 0;
-
- execv(*qiargv,qiargv);
+ *arg++ = "--";
+ for (i = 0;i < argc;++i) *arg++ = argv[i];
+ *arg = 0;
- substdio_putsflush(subfderr,"sendmail: fatal: unable to run qmail-inject\n");
- _exit(111);
+ execv(*qiargv,qiargv);
+ substdio_putsflush(subfderr,"sendmail: fatal: unable to run qmail-inject\n");
+ _exit(111);
}