]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
snapshot-20011104
authorWietse Venema <wietse@porcupine.org>
Sun, 4 Nov 2001 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:27:32 +0000 (06:27 +0000)
21 files changed:
postfix/HISTORY
postfix/INSTALL
postfix/auxiliary/MacOSX/Postfix.StartupItem/Postfix [new file with mode: 0755]
postfix/auxiliary/MacOSX/Postfix.StartupItem/StartupParameters.plist [moved from postfix/auxiliary/MacOSX/darwin-Postfix/StartupParameters.plist with 83% similarity]
postfix/auxiliary/MacOSX/README-INSTALL.OSX [new file with mode: 0644]
postfix/auxiliary/MacOSX/README.OSXPublicBeta [deleted file]
postfix/auxiliary/MacOSX/activate-postfix [new file with mode: 0755]
postfix/auxiliary/MacOSX/activate-sendmail [new file with mode: 0755]
postfix/auxiliary/MacOSX/backup-postfix-binaries [new file with mode: 0755]
postfix/auxiliary/MacOSX/backup-sendmail-binaries [new file with mode: 0755]
postfix/auxiliary/MacOSX/darwin-Postfix/Postfix [deleted file]
postfix/auxiliary/MacOSX/defines [new file with mode: 0644]
postfix/auxiliary/MacOSX/niscript
postfix/auxiliary/MacOSX/stash-sendmail [deleted file]
postfix/html/faq.html
postfix/html/local.8.html
postfix/makedefs
postfix/man/man8/local.8
postfix/src/global/mail_version.h
postfix/src/local/local.c
postfix/src/smtpstone/smtp-sink.c

index 1ad04048e2f231ab22bb71bb9d7fea39522f2b8e..46c514f362cf976a2bfb63deefdcbfbae2eaff91 100644 (file)
@@ -5530,7 +5530,7 @@ Apologies for any names omitted.
 
        Bugfix: mail_date() mis-formatted negative time zone offsets
        with fractional hours (-03-30 instead of -0330). Fix by
-       Chad House, greyfirst.ca.
+       Chad House, greyfirst.ca. File: global/mail_date.c.
 
 20011102
 
@@ -5561,7 +5561,15 @@ Apologies for any names omitted.
        the result_attribute, but errored out when a DN didn't
        exist.  The behavior is now consistent: treat non-existant
        DN's in a special result attribute expansion the same as
-       DN's with no attribtue.  LaMont Jones, HP.
+       DN's with no attribute.  LaMont Jones, HP.
+
+20011104
+
+       Bugfix: the new smtp-sink -n option (terminate after the
+       specified number of deliveries) wasn't optional.
+
+       Portability: updated Mac OS X documentation and install
+       scripts by Gerben Wierda.
 
 Open problems:
 
index 822158c19654bea649d3ca128e5e33bdd9825aef..3d6748521995348b70482212514fd164c790376d 100644 (file)
@@ -52,6 +52,7 @@ If your system is supported, it is one of
     BSD/OS 2.x
     BSD/OS 3.x
     BSD/OS 4.x
+    Darwin 1.x
     FreeBSD 2.x
     FreeBSD 3.x
     FreeBSD 4.x
@@ -73,8 +74,7 @@ If your system is supported, it is one of
     Linux SuSE 5.x
     Linux SuSE 6.x
     Linux SuSE 7.x
-    Mac OS X server
-    Mac OS X Public Beta
+    Mac OS X
     NEXTSTEP 3.x
     NetBSD 1.x
     OPENSTEP 4.x
diff --git a/postfix/auxiliary/MacOSX/Postfix.StartupItem/Postfix b/postfix/auxiliary/MacOSX/Postfix.StartupItem/Postfix
new file mode 100755 (executable)
index 0000000..01bd81c
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# Gerben Wierda, Oct 2001. Adapted from an existing example. I waive every
+# copyright on this and I also do not give any warranty.
+
+. /etc/rc.common
+
+##
+# Start mail server
+##
+
+if [ "$1" == "start" ]
+then
+       if [ "${MAILSERVER:=-NO-}" = "-YES-" ]
+       then
+               ConsoleMessage "Starting Postfix mail services"
+               /usr/sbin/postfix start
+       fi
+elif [ "$1" == "stop" ]
+then
+       ConsoleMessage "Stopping Postfix mail services"
+       /usr/sbin/postfix stop
+elif [ "$1" == "restart" ]
+then
+       if [ "${MAILSERVER:=-NO-}" = "-YES-" ]
+       then
+               ConsoleMessage "Reloading Postfix configuration"
+               /usr/sbin/postfix reload
+       else
+               ConsoleMessage "Stopping Postfix mail services"
+               /usr/sbin/postfix stop
+       fi
+fi
+
+
similarity index 83%
rename from postfix/auxiliary/MacOSX/darwin-Postfix/StartupParameters.plist
rename to postfix/auxiliary/MacOSX/Postfix.StartupItem/StartupParameters.plist
index 9dcfebcf7dce6df3822cb8f2b1bd3616c53c60f7..b41a9a02bc3663df5614df2eaf2538d3a0470037 100644 (file)
@@ -8,5 +8,6 @@
   {
     start = "Starting Postfix";
     stop  = "Stopping Postfix";
+    restart  = "Reloading Postfix Configuration";
   };
 }
diff --git a/postfix/auxiliary/MacOSX/README-INSTALL.OSX b/postfix/auxiliary/MacOSX/README-INSTALL.OSX
new file mode 100644 (file)
index 0000000..32f1d9e
--- /dev/null
@@ -0,0 +1,63 @@
+# Adapted from an existing example  by Gerben Wierda, Oct 2001. I waive every
+# copyright on this and I also do not give any warranty.
+
+Let's start with the important warning:
+
+DO NOT USE THE MULTIPLE USERS APPLICATION TO CREATE THE POSTFIX USER!
+
+Run the commands below in the order that they are presented
+
+A. INSTALLING POSTFIX for the first time and selecting it as the active
+   Mail Transfer Agent (MTA):
+
+       # All these commands are written to be run from this directory.
+
+       # this creates the necessary users & groups for proper operation
+       # of postfix:
+       sudo ./niscript
+
+       # Prepare for reactivating sendmail if you want to
+       sudo ./backup-sendmail-binaries
+
+       # Install postfix:
+       # When the script asks you for setgid (the default will be no) tell it
+       # maildrop
+       (cd ../..; sudo make install)
+
+       # Prepare for reactivating postfix if you want to
+       sudo ./backup-postfix-binaries
+
+       # edit /etc/postfix/main.cf to suit your requirements
+
+       ### add your own command here ###
+
+       # Install the startup item and move the existing sendmail startup item
+       # out of the way
+       sudo ./activate-postfix
+
+       # Restart your computer
+
+       # Test. Read INSTALL for a series of suggested tests.
+
+B. RESTORING Sendmail as the MTA when Postfix is the active MTA
+
+       # Stop postfix
+       # Restore the sendmail binaries
+       # Restore the Sendmail startup item and move the Postfix startup item
+       # out of the way
+       sudo ./activate-sendmail
+
+       # Restart your computer
+
+C. RESTORING postfix as the MTA when Sendmail is the active MTA
+
+       # The first time you have to follow the steps of A.
+
+       # Kill the running sendmail daemon if you know how
+
+       # Restore the postfix binaries
+       # Restore the Postfix startup item and move the Sendmail startup item
+       # out of the way
+       sudo ./activate-postfix
+
+       # Restart your computer
diff --git a/postfix/auxiliary/MacOSX/README.OSXPublicBeta b/postfix/auxiliary/MacOSX/README.OSXPublicBeta
deleted file mode 100644 (file)
index 6b5fb69..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-Before you do the build, make sure you run niscript (as root) to properly
-create a postfix user, and postfix & maildrop groups.
-
-DO NOT USE THE MULTIPLE USERS APPLICATION TO CREATE THE POSTFIX USER!
-
-1)     su
-
-2)     ./niscript
-
-        this creates the necessary users & groups for proper operation
-        of postfix
-
-3)     ./stash-sendmail
-
-       move your existing sendmail binaries somewhere safe
-
-4)     make install
-
-       When the script asks you for setgid (the default will be no) tell it
-       maildrop
-
-5)     edit /etc/postfix/main.cf to suit your requirements
-
-6)     postfix start
-
-7)     Test.  Read INSTALL for a series of suggested tests.
-
-8)     cp -R darwin-Postfix /System/Library/StartupItems/Postfix
-
-9)     edit /System/Library/StartupItems/Sendmail.  add "exit 0" as the
-       first line
diff --git a/postfix/auxiliary/MacOSX/activate-postfix b/postfix/auxiliary/MacOSX/activate-postfix
new file mode 100755 (executable)
index 0000000..50d5b99
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# Written by Gerben Wierda, Oct 2001. I waive every copyright on this and
+# I also do not give any warranty.
+
+. ./defines
+
+if [ ! -e ${POSTFIXBACKUPDIR}/sendmail ]
+then
+       echo "Something is wrong: there is no existing postfix binary backup"
+       exit 1;
+else
+       echo "Restoring postfix versions of sendmail programs from backup..."
+       (cd ${POSTFIXBACKUPDIR}; tar cf - sendmail) | (cd /usr/sbin; tar xf -) 
+       (cd ${POSTFIXBACKUPDIR}; tar cf - newaliases) | (cd /usr/bin; tar xf -) 
+       (cd ${POSTFIXBACKUPDIR}; tar cf - mailq) | (cd /usr/bin; tar xf -)
+fi
+
+if [ -e "${PSI}" ]
+then
+       echo "Postfix StartupItem already exists."
+else
+       if [ -e "${PSIDISABLED}" ]
+       then
+               echo "Reinstating disabled Postfix StartupItem..."
+               mv "${PSIDISABLED}" "${PSI}"
+       else
+               echo "Installing new default Postfix StartupItem..."
+               cp -R Postfix.StartupItem "${PSI}"
+       fi
+fi
+
+if [ -e "${SSI}" ]
+then
+       if [ ! -d "${SIDISABLEDDIR}" ]
+       then
+               mkdir -p "${SIDISABLEDDIR}"
+       fi
+       echo "Moving existing Sendmail StartupItem to ${SIDISABLEDDIR}..."
+       if [ -e "${SSIDISABLED}" ]
+       then
+               echo "Something is wrong. A disabled Sendmail StartupItem already exists."
+               DATETIME=`date +"%Y%b%e-%H%M%S"`
+               echo "Moving Sendmail to Sendmail.${DATETIME}"
+               mv "${SSI}" "${SSIDISABLED}.${DATETIME}"
+               echo "You should have just one ${SSIDISABLED}"
+       else
+               mv "${SSI}" "${SSIDISABLED}"
+       fi
+fi
+
+. /etc/hostconfig
+
+if [ "${MAILSERVER:=-NO-}" = "-YES-" ]
+then
+       echo "Postfix will start on reboot"
+else
+       echo "Note: Postfix needs MAILSERVER set to -YES- in /etc/hostconfig"
+       echo "Postfix will NOT start on reboot"
+fi
+
diff --git a/postfix/auxiliary/MacOSX/activate-sendmail b/postfix/auxiliary/MacOSX/activate-sendmail
new file mode 100755 (executable)
index 0000000..15f68eb
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# Written by Gerben Wierda, Oct 2001. I waive every copyright on this and
+# I also do not give any warranty.
+
+. ./defines
+
+if [ ! -e ${SENDMAILBACKUPDIR}/sendmail ]
+then
+       echo "Something is wrong: there is no existing postfix binary backup"
+       exit 1;
+else
+       echo "Restoring sendmail versions of sendmail programs from backup..."
+       (cd ${SENDMAILBACKUPDIR}; tar cf - sendmail) | (cd /usr/sbin; tar xf -) 
+       (cd ${SENDMAILBACKUPDIR}; tar cf - newaliases) | (cd /usr/bin; tar xf -) 
+       (cd ${SENDMAILBACKUPDIR}; tar cf - mailq) | (cd /usr/bin; tar xf -)
+fi
+
+if [ -e "${SSI}" ]
+then
+       echo "Sendmail StartupItem already exists."
+else
+       if [ -e "${SSIDISABLED}" ]
+       then
+               echo "Reinstating disabled Sendmail StartupItem..."
+               mv "${SSIDISABLED}" "${SSI}"
+       else
+               echo "Something is wrong. I cannot find ${SSIDISABLED}"
+               echo "Postfix will be uninstalled, Sendmail not reinstalled."
+       fi
+fi
+
+if [ -e "${PSI}" ]
+then
+       if [ ! -d "${SIDISABLEDDIR}" ]
+       then
+               mkdir -p "${SIDISABLEDDIR}"
+       fi
+       echo "Moving existing Postfix StartupItem to ${SIDISABLEDDIR}..."
+       if [ -e "${PSIDISABLED}" ]
+       then
+               echo "Something is wrong. A disabled Postfix StartupItem already exists."
+               DATETIME=`date +"%Y%b%e-%H%M%S"`
+               echo "Moving Postfix to Postfix.${DATETIME}"
+               mv "${PSI}" "${PSIDISABLED}.${DATETIME}"
+               echo "You should have just one ${PSIDISABLED}"
+       else
+               mv "${PSI}" "${PSIDISABLED}"
+       fi
+fi
+
+. /etc/hostconfig
+
+if [ "${MAILSERVER:=-NO-}" = "-YES-" ]
+then
+       echo "Sendmail will start on reboot"
+else
+       echo "Note: Sendmail needs MAILSERVER set to -YES- in /etc/hostconfig"
+       echo "Sendmail will NOT start on reboot"
+fi
diff --git a/postfix/auxiliary/MacOSX/backup-postfix-binaries b/postfix/auxiliary/MacOSX/backup-postfix-binaries
new file mode 100755 (executable)
index 0000000..37c2b74
--- /dev/null
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+# Written by Gerben Wierda, Oct 2001. I waive every copyright on this and
+# I also do not give any warranty.
+
+# We use tar, as we do not know beforehand if we are dealing with real
+# files or symbolic links. Since we use tar, we cannot change filenames
+# we need to create a directory to hold our backup binaries.
+
+. ./defines
+
+if [ ! -d ${POSTFIXBACKUPDIR} ]
+then
+       mkdir -p ${POSTFIXBACKUPDIR}
+fi
+
+(cd /usr/sbin; tar cf - sendmail) | (cd ${POSTFIXBACKUPDIR}; tar xf -) 
+(cd /usr/bin; tar cf - newaliases) | (cd ${POSTFIXBACKUPDIR}; tar xf -) 
+(cd /usr/bin; tar cf - mailq) | (cd ${POSTFIXBACKUPDIR}; tar xf -) 
+
diff --git a/postfix/auxiliary/MacOSX/backup-sendmail-binaries b/postfix/auxiliary/MacOSX/backup-sendmail-binaries
new file mode 100755 (executable)
index 0000000..ae624f8
--- /dev/null
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+# Written by Gerben Wierda, Oct 2001. I waive every copyright on this and
+# I also do not give any warranty.
+
+# We use tar, as we do not know beforehand if we are dealing with real
+# files or symbolic links. Since we use tar, we cannot change filenames
+# we need to create a directory to hold our backup binaries.
+
+. ./defines
+
+if [ ! -d ${SENDMAILBACKUPDIR} ]
+then
+       mkdir -p ${SENDMAILBACKUPDIR}
+fi
+
+(cd /usr/sbin; tar cf - sendmail) | (cd ${SENDMAILBACKUPDIR}; tar xf -) 
+(cd /usr/bin; tar cf - newaliases) | (cd ${SENDMAILBACKUPDIR}; tar xf -) 
+(cd /usr/bin; tar cf - mailq) | (cd ${SENDMAILBACKUPDIR}; tar xf -) 
+
diff --git a/postfix/auxiliary/MacOSX/darwin-Postfix/Postfix b/postfix/auxiliary/MacOSX/darwin-Postfix/Postfix
deleted file mode 100755 (executable)
index 1ca2a92..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-. /etc/rc.common
-
-##
-# Start mail server
-##
-
-if [ "${MAILSERVER:=-NO-}" = "-YES-" ]; then
-
-    ConsoleMessage "Starting Postfix mail services"
-    /usr/sbin/postfix start
-fi
diff --git a/postfix/auxiliary/MacOSX/defines b/postfix/auxiliary/MacOSX/defines
new file mode 100644 (file)
index 0000000..3aa667d
--- /dev/null
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+# Written by Gerben Wierda, Oct 2001. I waive every copyright on this and
+# I also do not give any warranty.
+
+SIDIR="/System/Library/StartupItems"
+SIDISABLEDDIR="/System/Library/DisabledStartupItems"
+
+PSI="${SIDIR}/Postfix"
+SSI="${SIDIR}/Sendmail"
+PSIDISABLED="${SIDISABLEDDIR}/Postfix"
+SSIDISABLED="${SIDISABLEDDIR}/Sendmail"
+
+POSTFIXBACKUPDIR=/usr/sbin/.postfixbackup
+SENDMAILBACKUPDIR=/usr/sbin/.sendmailbackup
index 4b3b4df8b8e583181d482ed15b27417dd0464733..1c7fb888b8e66af893d4a2ad09d9c90edde6c754 100755 (executable)
-#! /bin/sh
-#
-# Written 9/20/00 by Joe Block <jpb@creol.ucf.edu>
-#
-# It shouldn't matter, but this script is GPL.
+#!/usr/bin/perl
+
+# niscript.pl by Gerben Wierda <gerben_wierda@rna.nl>
+
+# This little script is an adaptation of the original niscript sh script by
+# Joe Block <jpb@creol.ucf.edu>
+# instead of using fixed uid/gid and thus not robust if you run it on a
+# system where groups and/or users have been added, this script checks
+# if the users/groups are there and if not creates them with free id's.
+
+print <<_WARNING
 
-cat <<EOF
 This script massages your netinfo database.  This can severely break
 your system.  If your netinfo database breaks, you get to keep the parts.
 
-If you've already created a postfix user using Multiple Users, you'll need
-to edit this script.  do:
-
-               niutil -read / /users/postfix
-
-to find out what uid was assigned to postfix.  Comment out the stanza in
-this script that creates the postfix user
-
-Also note that this script assumes that you are
-       A) running MacOS X Public Beta
-       B) have not added any groups to the base system
-
-If you've added groups or are not running Public Beta, you should
-make sure the gids in this script have not already been used.
-
-You'll need to edit the script to remove the exit statement before the first
-call to niutil to show you read the directions and understand the risks.
-
-EOF
-
-PFSHELL=/usr/bin/false
-PFUID=88
-PFGID=88
-PFHOME=/Users/postfix
-MDGID=99
-
-echo -n "shell for user postfix? [$PFSHELL]"
-read pfshell
-if ["$pfshell" = ""]
-then
-       pfshell=$PFSHELL
-fi
-echo
-
-echo -n "uid for user postfix? [$PFUID]"
-read pfuid
-if ["$pfuid" = ""]
-then
-       pfuid=$PFUID
-fi
-echo
-
-echo -n "gid for user postfix? [$PFGID]"
-read pfgid
-if ["$pfgid" = ""]
-then
-       pfgid=$PFGID
-fi
-echo
-
-echo -n "Home directory for user postfix (we won't actually create it as postfix doesn't use it)? [$PFHOME]"
-read pfhome
-if ["$pfhome" = ""]
-then
-       pfhome=$PFHOME
-fi
-echo
-
-echo -n "gid for maildrop group? [$MDGID]"
-read mdgid
-if ["$mdgid" = ""]
-then
-       mdgid=$MDGID
-fi
-echo
-
-echo "postfix user: shell=$pfshell, uid=$pfuid, gid=$pfgid,home=$pfhome"
-echo "maildrop group: $mdgid"
-echo
-echo -n "You're sure you want to massage your netinfo database? [yes/NO]"
-read arewesure
-
-case $arewesure in
-       yes|YES)
-               echo "remember, you were warned"
-               ;;
-       *)
-               echo "OK, exiting"
-               exit 0
-               ;;
-esac
-exit 0
-
-echo "Tweaking netinfo now"
-echo "Creating postfix user"
-niutil -create / /users/postfix
-niutil -createprop / /users/postfix realname "Postfix user"
-niutil -createprop / /users/postfix shell $pfshell
-niutil -createprop / /users/postfix uid $pfuid
-niutil -createprop / /users/postfix gid $pfgid
-niutil -createprop / /users/postfix home $pfhome
-niutil -createprop / /users/postfix _shadow_passwd
-passwd postfix
-
-echo "Creating postfix group"
-niutil -create / /groups/postfix
-niutil -createprop / /groups/postfix name postfix
-niutil -createprop / /groups/postfix gid $pfgid
-niutil -createprop / /groups/postfix passwd '*'
-echo "Adding postfix user to postfix group"
-niutil -appendprop / /groups/postfix users postfix
-
-echo "Creating maildrop group.  Remember not to add any users to this group,"
-echo "or you might as well have made your maildrop directory world writable."
-niutil -create / /groups/maildrop
-niutil -createprop / /groups/maildrop name maildrop
-niutil -createprop / /groups/maildrop gid $mdgid
-niutil -createprop / /groups/maildrop passwd '*'
+No Warranty. Really.
+
+This script tries to create two groups (if they do not already exist):
+- postfix
+- maildrop
+and tries to create a user (if it does not already exist)
+- postfix
+which is member of group postfix.
+
+_WARNING
+;
+
+# The script starts to look at id 88 (both for user and group) and up to 65535
+# It dies if no free id is found.
+
+my $postfixgid = undef;
+my $maildropgid = undef;
+my $postfixuid = undef;
+
+# First create
+
+my @groups = readgroups();
+foreach $group (@groups) {
+       (my $groupname, undef, my $gid, undef) = split( ':', $group);
+       if ($groupname eq 'postfix') {
+               warn "You already have a postfix group (with gid $gid)\n";
+               $postfixgid = $gid;
+       }
+       if ($groupname eq 'maildrop') {
+               warn "You already have a maildrop group (with gid $gid)\n";
+               $maildropgid = $gid;
+       }
+}
+
+if (not defined $postfixgid) {
+       $postfixgid = creategroup( 'postfix');
+}
+
+if (not defined $maildropgid) {
+       $maildropgid = creategroup( 'maildrop');
+}
+
+my @users = readusers();
+foreach $user (@users) {
+       (my $username, undef, my $uid, undef) = split( ':', $user);
+       if ($username eq 'postfix') {
+               warn "You already have a postfix user (with uid $uid)\n";
+               $postfixuid = $uid;
+       }
+}
+
+if (not defined $postfixuid) {
+       $postfixuid = createuser( 'postfix', '"Postfix User"',
+                                 '/usr/bin/false', '/etc/postfix',
+                                 $postfixgid);
+       addusertogroup( 'postfix', 'postfix');
+}
+
+warn "\n";
+
+sub creategroup
+{
+       my $name = shift;
+       open( NIDUMP, "nidump group /|") or die "Cannot run nidump\n";
+       my @groups=<NIDUMP>;
+       close( NIDUMP);
+
+       my $tryno;
+       NEXTNO: for ($tryno = 88; $tryno <= 65535; $tryno++) {
+               foreach my $group (@groups) {
+                       (my $groupname, undef, my $gid, undef) =
+                               split( ':', $group);
+                       next NEXTNO if $gid == $tryno;
+               }
+               last NEXTNO;
+       }
+       die "Cannot find free gid\n" if $tryno == 65536;
+       warn "Will create $name as gid $tryno\n"; 
+       system "niutil -create / /groups/$name";
+       system "niutil -createprop / /groups/$name name $name";
+       system "niutil -createprop / /groups/$name gid $tryno";
+       system "niutil -createprop / /groups/$name passwd '*'";
+       return $tryno;
+}
+
+sub addusertogroup
+{
+       my $user = shift;
+       my $group = shift;
+       system "niutil -appendprop / /groups/$group users $user";
+}
+
+sub readgroups
+{
+       open( NIDUMP, "nidump group /|") or die "Cannot run nidump\n";
+       my @groups=<NIDUMP>;
+       close( NIDUMP);
+       return @groups;
+}
+
+sub readusers
+{
+       my @passwd;
+       open( NIDUMP, "nidump passwd /|") or die "Cannot run nidump\n";
+       @passwd=<NIDUMP>;
+       close( NIDUMP);
+       return @passwd;
+}
+
+sub createuser
+{
+       my $name = shift;
+       my $realname = shift;
+       my $shell = shift;
+       my $home = shift;
+       my $gid = shift;
+
+       open( NIDUMP, "nidump passwd /|") or die "Cannot run nidump\n";
+       my @passwd=<NIDUMP>;
+       close( NIDUMP);
+
+       my $tryno;
+       NEXTNO: for ($tryno = 88; $tryno <= 65535; $tryno++) {
+               foreach my $passwd (@passwds) {
+                       (my $passwdname, undef, my $uid, undef) =
+                               split( ':', $passwd);
+                       next NEXTNO if $uid == $tryno;
+               }
+               last NEXTNO;
+       }
+       die "Cannot find free uid\n" if $tryno == 65536;
+       warn "Will create $name as uid $tryno\n"; 
+       system "niutil -create / /users/$name";
+       system "niutil -createprop / /users/$name realname $realname";
+       system "niutil -createprop / /users/$name shell $shell";
+       system "niutil -createprop / /users/$name uid $tryno";
+       system "niutil -createprop / /users/$name gid $gid";
+       system "niutil -createprop / /users/$name home $home";
+       system "niutil -createprop / /users/$name _shadow_passwd";
+       system "niutil -createprop / /users/$name passwd '*'";
+       return $tryno;
+}
+
diff --git a/postfix/auxiliary/MacOSX/stash-sendmail b/postfix/auxiliary/MacOSX/stash-sendmail
deleted file mode 100755 (executable)
index 3a3ca1a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#! /bin/sh
-
-mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
-mv /usr/bin/newaliases /usr/bin/newaliases.OFF
-mv /usr/bin/mailq /usr/bin/mailq.OFF
-chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF
index 9ce25228b15ead8f741831a7ebbe12fe65aade30..66affb009b222bb73a40db83367df2aec29fb6bd 100644 (file)
@@ -1525,7 +1525,7 @@ permit if the local system is listed as MX host for the recipient
 domain. Use the optional <a
 href="#permit_mx_backup_networks">permit_mx_backup_networks</a>
 parameter to also require that the primary MX hosts match a list
-of network blocks.
+of network blocks (Postfix versions 20011008 and later).
 
 <li> Other UCE restrictions (e.g., SMTPD access maps) are not aware
 of sender-provided routing information.
index 08274fbdf39e8ac1015c156e9a1fe7c45b24ddf5..817c59af8eb103bf80270c6dcf77232300884579 100644 (file)
@@ -181,36 +181,39 @@ LOCAL(8)                                                 LOCAL(8)
        address, and appends no empty line.
 
 <b>EXTERNAL</b> <b>FILE</b> <b>DELIVERY</b>
-       The <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> configuration parameter  restricts
-       delivery  to  external  files. The default setting (<b>alias,</b>
-       <b>forward</b>) forbids file  destinations  in  <b>:include:</b>  files.
-       Specify  a  pathname  ending  in  <b>/</b>  for  <b>qmail</b>-compatible
-       <b>maildir</b> delivery.
+       The delivery format depends on  the  destination  filename
+       syntax.   The default is to use UNIX-style mailbox format.
+       Specify a name ending in <b>/</b>  for  <b>qmail</b>-compatible  <b>maildir</b>
+       delivery.
 
-       The <b>local</b> daemon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" enve-
-       lope  header  to each message, prepends an optional <b>Deliv-</b>
-       <b>ered-To:</b>  header  with  the  recipient  envelope  address,
-       prepends  a  &gt;  character to lines beginning with "<b>From</b> ",
-       and appends an empty line.  The envelope sender address is
-       available  in  the <b>Return-Path:</b> header.  When the destina-
-       tion is a regular file, it is locked for exclusive  access
-       while  delivery  is  in  progress. In case of problems, an
-       attempt is made to truncate a regular file to its original
-       length.
+       The  <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> configuration parameter restricts
+       delivery to external files. The  default  setting  (<b>alias,</b>
+       <b>forward</b>) forbids file destinations in <b>:include:</b> files.
+
+       In the case of UNIX-style mailbox delivery, the <b>local</b> dae-
+       mon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope header to
+       each  message,  prepends  an optional <b>Delivered-To:</b> header
+       with the recipient envelope address, prepends a &gt;  charac-
+       ter  to lines beginning with "<b>From</b> ", and appends an empty
+       line.  The envelope sender address  is  available  in  the
+       <b>Return-Path:</b>  header.   When  the destination is a regular
+       file, it is locked for exclusive access while delivery  is
+       in  progress.  In  case of problems, an attempt is made to
+       truncate a regular file to its original length.
 
        In the case of <b>maildir</b> delivery, the local daemon prepends
        an optional <b>Delivered-To:</b> header with the envelope recipi-
-       ent  address.  The envelope sender address is available in
+       ent address.  The envelope sender address is available  in
        the <b>Return-Path:</b> header.
 
 <b>ADDRESS</b> <b>EXTENSION</b>
-       The optional <b>recipient</b><i>_</i><b>delimiter</b>  configuration  parameter
-       specifies  how  to  separate address extensions from local
+       The  optional  <b>recipient</b><i>_</i><b>delimiter</b> configuration parameter
+       specifies how to separate address  extensions  from  local
        recipient names.
 
-       For example, with  "<b>recipient</b><i>_</i><b>delimiter</b>  <b>=</b>  <b>+</b>",  mail  for
-       <i>name</i>+<i>foo</i>  is  delivered  to  the  alias <i>name</i>+<i>foo</i> or to the
-       alias <i>name</i>, to  the  destinations  listed  in  ~<i>name</i>/.<b>for-</b>
+       For  example,  with  "<b>recipient</b><i>_</i><b>delimiter</b>  <b>=</b>  <b>+</b>", mail for
+       <i>name</i>+<i>foo</i> is delivered to the  alias  <i>name</i>+<i>foo</i>  or  to  the
+       alias  <i>name</i>,  to  the  destinations  listed in ~<i>name</i>/.<b>for-</b>
        <b>ward</b>+<i>foo</i> or in ~<i>name</i>/.<b>forward</b>, to the mailbox owned by the
        user <i>name</i>, or it is sent back as undeliverable.
 
@@ -218,10 +221,10 @@ LOCAL(8)                                                 LOCAL(8)
        <b>ered-To:</b> <i>name</i>+<i>foo</i>' header line.
 
 <b>DELIVERY</b> <b>RIGHTS</b>
-       Deliveries  to  external  files  and external commands are
+       Deliveries to external files  and  external  commands  are
        made with the rights of the receiving user on whose behalf
-       the  delivery  is made.  In the absence of a user context,
-       the <b>local</b> daemon uses the owner rights  of  the  <b>:include:</b>
+       the delivery is made.  In the absence of a  user  context,
+       the  <b>local</b>  daemon  uses the owner rights of the <b>:include:</b>
        file or alias database.  When those files are owned by the
        superuser, delivery is made with the rights specified with
        the <b>default</b><i>_</i><b>privs</b> configuration parameter.
@@ -230,42 +233,42 @@ LOCAL(8)                                                 LOCAL(8)
        <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a> (ARPA Internet Text Messages)
 
 <b>DIAGNOSTICS</b>
-       Problems  and transactions are logged to <b>syslogd</b>(8).  Cor-
-       rupted message files are marked so that the queue  manager
+       Problems and transactions are logged to <b>syslogd</b>(8).   Cor-
+       rupted  message files are marked so that the queue manager
        can move them to the <b>corrupt</b> queue afterwards.
 
-       Depending  on the setting of the <b>notify</b><i>_</i><b>classes</b> parameter,
-       the postmaster is notified of bounces and of  other  trou-
+       Depending on the setting of the <b>notify</b><i>_</i><b>classes</b>  parameter,
+       the  postmaster  is notified of bounces and of other trou-
        ble.
 
 <b>BUGS</b>
-       For  security  reasons,  the  message  delivery  status of
-       external commands or of external  files  is  never  check-
+       For security  reasons,  the  message  delivery  status  of
+       external  commands  or  of  external files is never check-
        pointed to file. As a result, the program may occasionally
        deliver more than once to a command or external file. Bet-
        ter safe than sorry.
 
-       Mutually-recursive  aliases  or  ~/.<b>forward</b>  files are not
-       detected early.  The resulting  mail  forwarding  loop  is
+       Mutually-recursive aliases or  ~/.<b>forward</b>  files  are  not
+       detected  early.   The  resulting  mail forwarding loop is
        broken by the use of the <b>Delivered-To:</b> message header.
 
 <b>CONFIGURATION</b> <b>PARAMETERS</b>
-       The  following  <b>main.cf</b> parameters are especially relevant
-       to this program. See the Postfix <b>main.cf</b> file  for  syntax
-       details  and  for  default  values. Use the <b>postfix</b> <b>reload</b>
+       The following <b>main.cf</b> parameters are  especially  relevant
+       to  this  program. See the Postfix <b>main.cf</b> file for syntax
+       details and for default values.  Use  the  <b>postfix</b>  <b>reload</b>
        command after a configuration change.
 
 <b>Miscellaneous</b>
        <b>alias</b><i>_</i><b>maps</b>
               List of alias databases.
 
-       <b>biff</b>   Enable or disable notification of new mail via  the
+       <b>biff</b>   Enable  or disable notification of new mail via the
               <b>comsat</b> network service.
 
        <b>expand</b><i>_</i><b>owner</b><i>_</i><b>alias</b>
               When delivering to an alias that has an owner- com-
-              panion alias, set the envelope  sender  address  to
-              the  right-hand  side  of  the owner alias, instead
+              panion  alias,  set  the envelope sender address to
+              the right-hand side of  the  owner  alias,  instead
               using of the left-hand side address.
 
        <b>export</b><i>_</i><b>environment</b>
@@ -277,10 +280,10 @@ LOCAL(8)                                                 LOCAL(8)
               ject to <i>$name</i> expansion.
 
        <b>local</b><i>_</i><b>command</b><i>_</i><b>shell</b>
-              Shell to use for external  command  execution  (for
-              example,  /some/where/smrsh  -c).   When a shell is
+              Shell  to  use  for external command execution (for
+              example, /some/where/smrsh -c).  When  a  shell  is
               specified, it is invoked even when the command con-
-              tains  no  shell  built-in commands or meta charac-
+              tains no shell built-in commands  or  meta  charac-
               ters.
 
        <b>owner</b><i>_</i><b>request</b><i>_</i><b>special</b>
@@ -288,10 +291,10 @@ LOCAL(8)                                                 LOCAL(8)
               addresses.
 
        <b>prepend</b><i>_</i><b>delivered</b><i>_</i><b>header</b>
-              Prepend   an  optional  <b>Delivered-To:</b>  header  upon
-              external forwarding, delivery to command  or  file.
-              Specify  zero  or  more of: <b>command,</b> <b>file,</b> <b>forward</b>.
-              Turning off <b>Delivered-To:</b> when forwarding  mail  is
+              Prepend  an  optional  <b>Delivered-To:</b>  header   upon
+              external  forwarding,  delivery to command or file.
+              Specify zero or more of:  <b>command,</b>  <b>file,</b>  <b>forward</b>.
+              Turning  off  <b>Delivered-To:</b> when forwarding mail is
               not recommended.
 
        <b>recipient</b><i>_</i><b>delimiter</b>
@@ -299,123 +302,123 @@ LOCAL(8)                                                 LOCAL(8)
 
        <b>require</b><i>_</i><b>home</b><i>_</i><b>directory</b>
               Require that a recipient's home directory is acces-
-              sible by the recipient before attempting  delivery.
+              sible  by the recipient before attempting delivery.
               Defer delivery otherwise.
 
 <b>Mailbox</b> <b>delivery</b>
        <b>fallback</b><i>_</i><b>transport</b>
               Message transport for recipients that are not found
-              in the UNIX passwd database.  This parameter  over-
+              in  the UNIX passwd database.  This parameter over-
               rides <b>luser</b><i>_</i><b>relay</b>.
 
        <b>home</b><i>_</i><b>mailbox</b>
-              Pathname  of  a  mailbox  relative to a user's home
+              Pathname of a mailbox relative  to  a  user's  home
               directory.  Specify a path ending in <b>/</b> for maildir-
               style delivery.
 
        <b>luser</b><i>_</i><b>relay</b>
-              Destination  (<i>@domain</i>  or <i>address</i>) for non-existent
-              users.  The <i>address</i> is subjected  to  <i>$name</i>  expan-
+              Destination (<i>@domain</i> or <i>address</i>)  for  non-existent
+              users.   The  <i>address</i>  is subjected to <i>$name</i> expan-
               sion.
 
        <b>mail</b><i>_</i><b>spool</b><i>_</i><b>directory</b>
-              Directory  with  UNIX-style  mailboxes. The default
+              Directory with UNIX-style  mailboxes.  The  default
               pathname is system dependent.
 
        <b>mailbox</b><i>_</i><b>command</b>
-              External command to use for mailbox  delivery.  The
+              External  command  to use for mailbox delivery. The
               command  executes  with  the  recipient  privileges
-              (exception: root). The string is subject  to  $name
+              (exception:  root).  The string is subject to $name
               expansions.
 
        <b>mailbox</b><i>_</i><b>command</b><i>_</i><b>maps</b>
-              Lookup  tables with per-recipient external commands
-              to use for mailbox delivery. Behavior  is  as  with
+              Lookup tables with per-recipient external  commands
+              to  use  for  mailbox delivery. Behavior is as with
               <b>mailbox</b><i>_</i><b>command</b>.
 
        <b>mailbox</b><i>_</i><b>transport</b>
-              Message  transport  to  use for mailbox delivery to
+              Message transport to use for  mailbox  delivery  to
               all local recipients, whether or not they are found
-              in  the UNIX passwd database.  This parameter over-
-              rides all other configuration parameters that  con-
+              in the UNIX passwd database.  This parameter  over-
+              rides  all other configuration parameters that con-
               trol mailbox delivery, including <b>luser</b><i>_</i><b>relay</b>.
 
 <b>Locking</b> <b>controls</b>
        <b>deliver</b><i>_</i><b>lock</b><i>_</i><b>attempts</b>
-              Limit  the  number of attempts to acquire an exclu-
+              Limit the number of attempts to acquire  an  exclu-
               sive lock on a mailbox or external file.
 
        <b>deliver</b><i>_</i><b>lock</b><i>_</i><b>delay</b>
-              Time in  seconds  between  successive  attempts  to
+              Time  in  seconds  between  successive  attempts to
               acquire an exclusive lock.
 
        <b>stale</b><i>_</i><b>lock</b><i>_</i><b>time</b>
               Limit the time after which a stale lock is removed.
 
        <b>mailbox</b><i>_</i><b>delivery</b><i>_</i><b>lock</b>
-              What file locking method(s) to use when  delivering
-              to  a  UNIX-style  mailbox.  The default setting is
-              system dependent.  For a  list  of  available  file
+              What  file locking method(s) to use when delivering
+              to a UNIX-style mailbox.  The  default  setting  is
+              system  dependent.   For  a  list of available file
               locking methods, use the <b>postconf</b> <b>-l</b> command.
 
 <b>Resource</b> <b>controls</b>
        <b>command</b><i>_</i><b>time</b><i>_</i><b>limit</b>
-              Limit  the  amount of time for delivery to external
+              Limit the amount of time for delivery  to  external
               command.
 
        <b>duplicate</b><i>_</i><b>filter</b><i>_</i><b>limit</b>
-              Limit the size of the duplicate filter for  results
+              Limit  the size of the duplicate filter for results
               from alias etc. expansion.
 
        <b>line</b><i>_</i><b>length</b><i>_</i><b>limit</b>
-              Limit  the  amount  of memory used for processing a
+              Limit the amount of memory used  for  processing  a
               partial input line.
 
        <b>local</b><i>_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b>
               Limit the number of parallel deliveries to the same
-              user.    The   default  limit  is  taken  from  the
+              user.   The  default  limit  is  taken   from   the
               <b>default</b><i>_</i><b>destination</b><i>_</i><b>concurrency</b><i>_</i><b>limit</b> parameter.
 
        <b>local</b><i>_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b>
-              Limit the number of recipients per  message  deliv-
-              ery.    The   default   limit  is  taken  from  the
+              Limit  the  number of recipients per message deliv-
+              ery.   The  default  limit  is   taken   from   the
               <b>default</b><i>_</i><b>destination</b><i>_</i><b>recipient</b><i>_</i><b>limit</b> parameter.
 
        <b>mailbox</b><i>_</i><b>size</b><i>_</i><b>limit</b>
-              Limit the size of a mailbox  etc.  file  (any  file
-              that  is written to upon delivery).  Set to zero to
+              Limit  the  size  of  a mailbox etc. file (any file
+              that is written to upon delivery).  Set to zero  to
               disable the limit.
 
 <b>Security</b> <b>controls</b>
        <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>commands</b>
-              Restrict the usage of  mail  delivery  to  external
-              command.   Specify zero or more of: <b>alias</b>, <b>forward</b>,
+              Restrict  the  usage  of  mail delivery to external
+              command.  Specify zero or more of: <b>alias</b>,  <b>forward</b>,
               <b>include</b>.
 
        <b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b>
-              Restrict the usage of  mail  delivery  to  external
-              file.   Specify  zero  or  more of: <b>alias</b>, <b>forward</b>,
+              Restrict  the  usage  of  mail delivery to external
+              file.  Specify zero or  more  of:  <b>alias</b>,  <b>forward</b>,
               <b>include</b>.
 
        <b>command</b><i>_</i><b>expansion</b><i>_</i><b>filter</b>
-              What characters are  allowed  to  appear  in  $name
-              expansions  of  mailbox_command. Illegal characters
+              What  characters  are  allowed  to  appear in $name
+              expansions of mailbox_command.  Illegal  characters
               are replaced by underscores.
 
        <b>default</b><i>_</i><b>privs</b>
-              Default rights for delivery  to  external  file  or
+              Default  rights  for  delivery  to external file or
               command.
 
        <b>forward</b><i>_</i><b>expansion</b><i>_</i><b>filter</b>
-              What  characters  are  allowed  to  appear in $name
-              expansions of forward_path. Illegal characters  are
+              What characters are  allowed  to  appear  in  $name
+              expansions  of forward_path. Illegal characters are
               replaced by underscores.
 
 <b>HISTORY</b>
-       The  <b>Delivered-To:</b>  header  appears in the <b>qmail</b> system by
+       The <b>Delivered-To:</b> header appears in the  <b>qmail</b>  system  by
        Daniel Bernstein.
 
-       The <i>maildir</i> structure  appears  in  the  <b>qmail</b>  system  by
+       The  <i>maildir</i>  structure  appears  in  the  <b>qmail</b> system by
        Daniel Bernstein.
 
 <b>SEE</b> <b>ALSO</b>
@@ -426,7 +429,7 @@ LOCAL(8)                                                 LOCAL(8)
        <a href="qmgr.8.html">qmgr(8)</a> queue manager
 
 <b>LICENSE</b>
-       The  Secure  Mailer  license must be distributed with this
+       The Secure Mailer license must be  distributed  with  this
        software.
 
 <b>AUTHOR(S)</b>
index 2c9a7f27eced8019eb4f8fe772a07b066a516e52..083f99f4b34efff7abc45ce18031d57808fbed2b 100644 (file)
@@ -230,7 +230,7 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
                RANLIB=echo
                SYSLIBS="-lresolv -lsocket -lnsl"
                ;;
-Rhapsody.5*|Darwin.*)
+Rhapsody.5*|Darwin.1.*)
                SYSTYPE=RHAPSODY5
                # Use the native compiler by default
                : ${CC=cc}
index f0eb862f9a0ebf48e8e4a983e6db5502cb17d351..382cb4970fa2b52c8d598ac6f4dba874993aee67 100644 (file)
@@ -193,13 +193,16 @@ and appends no empty line.
 .nf
 .ad
 .fi
+The delivery format depends on the destination filename syntax.
+The default is to use UNIX-style mailbox format.  Specify a name
+ending in \fB/\fR for \fBqmail\fR-compatible \fBmaildir\fR delivery.
+
 The \fBallow_mail_to_files\fR configuration parameter restricts
 delivery to external files. The default setting (\fBalias,
 forward\fR) forbids file destinations in \fB:include:\fR files.
-Specify a pathname ending in \fB/\fR for \fBqmail\fR-compatible
-\fBmaildir\fR delivery.
 
-The \fBlocal\fR daemon prepends a "\fBFrom \fIsender time_stamp\fR"
+In the case of UNIX-style mailbox delivery,
+the \fBlocal\fR daemon prepends a "\fBFrom \fIsender time_stamp\fR"
 envelope header to each message, prepends an
 optional \fBDelivered-To:\fR
 header with the recipient envelope address, prepends a \fB>\fR
index aa7b9f1f1022e82eea930c84a9f73ac93deeed0d..0b27eab11a2550124e50be7e90841cff6adbf67a 100644 (file)
@@ -15,7 +15,7 @@
   * Version of this program.
   */
 #define VAR_MAIL_VERSION       "mail_version"
-#define DEF_MAIL_VERSION       "Snapshot-20011103"
+#define DEF_MAIL_VERSION       "Snapshot-20011104"
 extern char *var_mail_version;
 
 /* LICENSE
index 9cf8307f176d1844f72a0320f47fddadf0c3863f..2d762c63866ba9fdebee248bca4baf97a158df23 100644 (file)
 /* EXTERNAL FILE DELIVERY
 /* .ad
 /* .fi
+/*     The delivery format depends on the destination filename syntax.
+/*     The default is to use UNIX-style mailbox format.  Specify a name
+/*     ending in \fB/\fR for \fBqmail\fR-compatible \fBmaildir\fR delivery.
+/*
 /*     The \fBallow_mail_to_files\fR configuration parameter restricts
 /*     delivery to external files. The default setting (\fBalias,
 /*     forward\fR) forbids file destinations in \fB:include:\fR files.
-/*     Specify a pathname ending in \fB/\fR for \fBqmail\fR-compatible
-/*     \fBmaildir\fR delivery.
 /*
-/*     The \fBlocal\fR daemon prepends a "\fBFrom \fIsender time_stamp\fR"
+/*     In the case of UNIX-style mailbox delivery,
+/*     the \fBlocal\fR daemon prepends a "\fBFrom \fIsender time_stamp\fR"
 /*     envelope header to each message, prepends an
 /*     optional \fBDelivered-To:\fR
 /*     header with the recipient envelope address, prepends a \fB>\fR
 /*     with the recipient privileges (exception: root). The string is subject
 /*     to $name expansions.
 /* .IP \fBmailbox_command_maps\fR
-/*     Lookup tables with per-recipient external commands to use for mailbox 
+/*     Lookup tables with per-recipient external commands to use for mailbox
 /*     delivery. Behavior is as with \fBmailbox_command\fR.
 /* .IP \fBmailbox_transport\fR
 /*     Message transport to use for mailbox delivery to all local
index 5ff346b8810bb984c4a61f8767baef8c5a35d9e8..7eb99744632c8b1fd3c08e7c3b0d9f3a40b771be 100644 (file)
@@ -409,7 +409,7 @@ static void disconnect(SINK_STATE *state)
     vstream_fclose(state->stream);
     vstring_free(state->buffer);
     myfree((char *) state);
-    if (counter >= max_count)
+    if (max_count > 0 && counter >= max_count)
        exit(0);
 }