From: Wietse Venema Date: Sun, 4 Nov 2001 05:00:00 +0000 (-0500) Subject: snapshot-20011104 X-Git-Tag: v1.1.0~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9cc882833d437496c0808ed3ac185e47bee5176b;p=thirdparty%2Fpostfix.git snapshot-20011104 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index 1ad04048e..46c514f36 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -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: diff --git a/postfix/INSTALL b/postfix/INSTALL index 822158c19..3d6748521 100644 --- a/postfix/INSTALL +++ b/postfix/INSTALL @@ -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 index 000000000..01bd81cad --- /dev/null +++ b/postfix/auxiliary/MacOSX/Postfix.StartupItem/Postfix @@ -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 + + diff --git a/postfix/auxiliary/MacOSX/darwin-Postfix/StartupParameters.plist b/postfix/auxiliary/MacOSX/Postfix.StartupItem/StartupParameters.plist similarity index 83% rename from postfix/auxiliary/MacOSX/darwin-Postfix/StartupParameters.plist rename to postfix/auxiliary/MacOSX/Postfix.StartupItem/StartupParameters.plist index 9dcfebcf7..b41a9a02b 100644 --- a/postfix/auxiliary/MacOSX/darwin-Postfix/StartupParameters.plist +++ b/postfix/auxiliary/MacOSX/Postfix.StartupItem/StartupParameters.plist @@ -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 index 000000000..32f1d9ef4 --- /dev/null +++ b/postfix/auxiliary/MacOSX/README-INSTALL.OSX @@ -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 index 6b5fb694b..000000000 --- a/postfix/auxiliary/MacOSX/README.OSXPublicBeta +++ /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 index 000000000..50d5b990a --- /dev/null +++ b/postfix/auxiliary/MacOSX/activate-postfix @@ -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 index 000000000..15f68eb78 --- /dev/null +++ b/postfix/auxiliary/MacOSX/activate-sendmail @@ -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 index 000000000..37c2b74c2 --- /dev/null +++ b/postfix/auxiliary/MacOSX/backup-postfix-binaries @@ -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 index 000000000..ae624f8a2 --- /dev/null +++ b/postfix/auxiliary/MacOSX/backup-sendmail-binaries @@ -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 index 1ca2a9209..000000000 --- a/postfix/auxiliary/MacOSX/darwin-Postfix/Postfix +++ /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 index 000000000..3aa667d7f --- /dev/null +++ b/postfix/auxiliary/MacOSX/defines @@ -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 diff --git a/postfix/auxiliary/MacOSX/niscript b/postfix/auxiliary/MacOSX/niscript index 4b3b4df8b..1c7fb888b 100755 --- a/postfix/auxiliary/MacOSX/niscript +++ b/postfix/auxiliary/MacOSX/niscript @@ -1,118 +1,158 @@ -#! /bin/sh -# -# Written 9/20/00 by Joe Block -# -# It shouldn't matter, but this script is GPL. +#!/usr/bin/perl + +# niscript.pl by Gerben Wierda + +# This little script is an adaptation of the original niscript sh script by +# Joe Block +# 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 <; + 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=; + close( NIDUMP); + return @groups; +} + +sub readusers +{ + my @passwd; + open( NIDUMP, "nidump passwd /|") or die "Cannot run nidump\n"; + @passwd=; + 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=; + 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 index 3a3ca1aae..000000000 --- a/postfix/auxiliary/MacOSX/stash-sendmail +++ /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 diff --git a/postfix/html/faq.html b/postfix/html/faq.html index 9ce25228b..66affb009 100644 --- a/postfix/html/faq.html +++ b/postfix/html/faq.html @@ -1525,7 +1525,7 @@ permit if the local system is listed as MX host for the recipient domain. Use the optional permit_mx_backup_networks parameter to also require that the primary MX hosts match a list -of network blocks. +of network blocks (Postfix versions 20011008 and later).
  • Other UCE restrictions (e.g., SMTPD access maps) are not aware of sender-provided routing information. diff --git a/postfix/html/local.8.html b/postfix/html/local.8.html index 08274fbdf..817c59af8 100644 --- a/postfix/html/local.8.html +++ b/postfix/html/local.8.html @@ -181,36 +181,39 @@ LOCAL(8) LOCAL(8) address, and appends no empty line. EXTERNAL FILE DELIVERY - The allow_mail_to_files configuration parameter restricts - delivery to external files. The default setting (alias, - forward) forbids file destinations in :include: files. - Specify a pathname ending in / for qmail-compatible - maildir delivery. + The delivery format depends on the destination filename + syntax. The default is to use UNIX-style mailbox format. + Specify a name ending in / for qmail-compatible maildir + delivery. - The local daemon prepends a "From sender time_stamp" enve- - lope header to each message, prepends an optional Deliv- - ered-To: header with the recipient envelope address, - prepends a > character to lines beginning with "From ", - and appends an empty line. The envelope sender address is - available in the Return-Path: 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 allow_mail_to_files configuration parameter restricts + delivery to external files. The default setting (alias, + forward) forbids file destinations in :include: files. + + In the case of UNIX-style mailbox delivery, the local dae- + mon prepends a "From sender time_stamp" envelope header to + each message, prepends an optional Delivered-To: header + with the recipient envelope address, prepends a > charac- + ter to lines beginning with "From ", and appends an empty + line. The envelope sender address is available in the + Return-Path: 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 maildir delivery, the local daemon prepends an optional Delivered-To: header with the envelope recipi- - ent address. The envelope sender address is available in + ent address. The envelope sender address is available in the Return-Path: header. ADDRESS EXTENSION - The optional recipient_delimiter configuration parameter - specifies how to separate address extensions from local + The optional recipient_delimiter configuration parameter + specifies how to separate address extensions from local recipient names. - For example, with "recipient_delimiter = +", mail for - name+foo is delivered to the alias name+foo or to the - alias name, to the destinations listed in ~name/.for- + For example, with "recipient_delimiter = +", mail for + name+foo is delivered to the alias name+foo or to the + alias name, to the destinations listed in ~name/.for- ward+foo or in ~name/.forward, to the mailbox owned by the user name, or it is sent back as undeliverable. @@ -218,10 +221,10 @@ LOCAL(8) LOCAL(8) ered-To: name+foo' header line. DELIVERY RIGHTS - 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 local daemon uses the owner rights of the :include: + the delivery is made. In the absence of a user context, + the local daemon uses the owner rights of the :include: file or alias database. When those files are owned by the superuser, delivery is made with the rights specified with the default_privs configuration parameter. @@ -230,42 +233,42 @@ LOCAL(8) LOCAL(8) RFC 822 (ARPA Internet Text Messages) DIAGNOSTICS - Problems and transactions are logged to syslogd(8). Cor- - rupted message files are marked so that the queue manager + Problems and transactions are logged to syslogd(8). Cor- + rupted message files are marked so that the queue manager can move them to the corrupt queue afterwards. - Depending on the setting of the notify_classes parameter, - the postmaster is notified of bounces and of other trou- + Depending on the setting of the notify_classes parameter, + the postmaster is notified of bounces and of other trou- ble. BUGS - 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 ~/.forward files are not - detected early. The resulting mail forwarding loop is + Mutually-recursive aliases or ~/.forward files are not + detected early. The resulting mail forwarding loop is broken by the use of the Delivered-To: message header. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant - to this program. See the Postfix main.cf file for syntax - details and for default values. Use the postfix reload + The following main.cf parameters are especially relevant + to this program. See the Postfix main.cf file for syntax + details and for default values. Use the postfix reload command after a configuration change. Miscellaneous alias_maps List of alias databases. - biff Enable or disable notification of new mail via the + biff Enable or disable notification of new mail via the comsat network service. expand_owner_alias 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. export_environment @@ -277,10 +280,10 @@ LOCAL(8) LOCAL(8) ject to $name expansion. local_command_shell - 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. owner_request_special @@ -288,10 +291,10 @@ LOCAL(8) LOCAL(8) addresses. prepend_delivered_header - Prepend an optional Delivered-To: header upon - external forwarding, delivery to command or file. - Specify zero or more of: command, file, forward. - Turning off Delivered-To: when forwarding mail is + Prepend an optional Delivered-To: header upon + external forwarding, delivery to command or file. + Specify zero or more of: command, file, forward. + Turning off Delivered-To: when forwarding mail is not recommended. recipient_delimiter @@ -299,123 +302,123 @@ LOCAL(8) LOCAL(8) require_home_directory 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. Mailbox delivery fallback_transport 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 luser_relay. home_mailbox - 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 / for maildir- style delivery. luser_relay - Destination (@domain or address) for non-existent - users. The address is subjected to $name expan- + Destination (@domain or address) for non-existent + users. The address is subjected to $name expan- sion. mail_spool_directory - Directory with UNIX-style mailboxes. The default + Directory with UNIX-style mailboxes. The default pathname is system dependent. mailbox_command - 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. mailbox_command_maps - 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 mailbox_command. mailbox_transport - 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 luser_relay. Locking controls deliver_lock_attempts - 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. deliver_lock_delay - Time in seconds between successive attempts to + Time in seconds between successive attempts to acquire an exclusive lock. stale_lock_time Limit the time after which a stale lock is removed. mailbox_delivery_lock - 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 postconf -l command. Resource controls command_time_limit - Limit the amount of time for delivery to external + Limit the amount of time for delivery to external command. duplicate_filter_limit - Limit the size of the duplicate filter for results + Limit the size of the duplicate filter for results from alias etc. expansion. line_length_limit - Limit the amount of memory used for processing a + Limit the amount of memory used for processing a partial input line. local_destination_concurrency_limit 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 default_destination_concurrency_limit parameter. local_destination_recipient_limit - 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 default_destination_recipient_limit parameter. mailbox_size_limit - 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. Security controls allow_mail_to_commands - Restrict the usage of mail delivery to external - command. Specify zero or more of: alias, forward, + Restrict the usage of mail delivery to external + command. Specify zero or more of: alias, forward, include. allow_mail_to_files - Restrict the usage of mail delivery to external - file. Specify zero or more of: alias, forward, + Restrict the usage of mail delivery to external + file. Specify zero or more of: alias, forward, include. command_expansion_filter - 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. default_privs - Default rights for delivery to external file or + Default rights for delivery to external file or command. forward_expansion_filter - 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. HISTORY - The Delivered-To: header appears in the qmail system by + The Delivered-To: header appears in the qmail system by Daniel Bernstein. - The maildir structure appears in the qmail system by + The maildir structure appears in the qmail system by Daniel Bernstein. SEE ALSO @@ -426,7 +429,7 @@ LOCAL(8) LOCAL(8) qmgr(8) queue manager LICENSE - The Secure Mailer license must be distributed with this + The Secure Mailer license must be distributed with this software. AUTHOR(S) diff --git a/postfix/makedefs b/postfix/makedefs index 2c9a7f27e..083f99f4b 100644 --- a/postfix/makedefs +++ b/postfix/makedefs @@ -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} diff --git a/postfix/man/man8/local.8 b/postfix/man/man8/local.8 index f0eb862f9..382cb4970 100644 --- a/postfix/man/man8/local.8 +++ b/postfix/man/man8/local.8 @@ -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 diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index aa7b9f1f1..0b27eab11 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -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 diff --git a/postfix/src/local/local.c b/postfix/src/local/local.c index 9cf8307f1..2d762c638 100644 --- a/postfix/src/local/local.c +++ b/postfix/src/local/local.c @@ -177,13 +177,16 @@ /* 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 @@ -308,7 +311,7 @@ /* 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 diff --git a/postfix/src/smtpstone/smtp-sink.c b/postfix/src/smtpstone/smtp-sink.c index 5ff346b88..7eb997446 100644 --- a/postfix/src/smtpstone/smtp-sink.c +++ b/postfix/src/smtpstone/smtp-sink.c @@ -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); }