2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-03 23:55:18 +00:00

snapshot-20011104

This commit is contained in:
Wietse Venema
2001-11-04 00:00:00 -05:00
committed by Viktor Dukhovni
parent 9102679caa
commit 9cc882833d
21 changed files with 527 additions and 245 deletions

View File

@@ -5530,7 +5530,7 @@ Apologies for any names omitted.
Bugfix: mail_date() mis-formatted negative time zone offsets Bugfix: mail_date() mis-formatted negative time zone offsets
with fractional hours (-03-30 instead of -0330). Fix by with fractional hours (-03-30 instead of -0330). Fix by
Chad House, greyfirst.ca. Chad House, greyfirst.ca. File: global/mail_date.c.
20011102 20011102
@@ -5561,7 +5561,15 @@ Apologies for any names omitted.
the result_attribute, but errored out when a DN didn't the result_attribute, but errored out when a DN didn't
exist. The behavior is now consistent: treat non-existant exist. The behavior is now consistent: treat non-existant
DN's in a special result attribute expansion the same as 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: Open problems:

View File

@@ -52,6 +52,7 @@ If your system is supported, it is one of
BSD/OS 2.x BSD/OS 2.x
BSD/OS 3.x BSD/OS 3.x
BSD/OS 4.x BSD/OS 4.x
Darwin 1.x
FreeBSD 2.x FreeBSD 2.x
FreeBSD 3.x FreeBSD 3.x
FreeBSD 4.x FreeBSD 4.x
@@ -73,8 +74,7 @@ If your system is supported, it is one of
Linux SuSE 5.x Linux SuSE 5.x
Linux SuSE 6.x Linux SuSE 6.x
Linux SuSE 7.x Linux SuSE 7.x
Mac OS X server Mac OS X
Mac OS X Public Beta
NEXTSTEP 3.x NEXTSTEP 3.x
NetBSD 1.x NetBSD 1.x
OPENSTEP 4.x OPENSTEP 4.x

View File

@@ -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

View File

@@ -8,5 +8,6 @@
{ {
start = "Starting Postfix"; start = "Starting Postfix";
stop = "Stopping Postfix"; stop = "Stopping Postfix";
restart = "Reloading Postfix Configuration";
}; };
} }

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 -)

View File

@@ -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 -)

View File

@@ -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

View File

@@ -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

View File

@@ -1,118 +1,158 @@
#! /bin/sh #!/usr/bin/perl
#
# Written 9/20/00 by Joe Block <jpb@creol.ucf.edu> # niscript.pl by Gerben Wierda <gerben_wierda@rna.nl>
#
# It shouldn't matter, but this script is GPL. # 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 This script massages your netinfo database. This can severely break
your system. If your netinfo database breaks, you get to keep the parts. 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 No Warranty. Really.
to edit this script. do:
niutil -read / /users/postfix 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.
to find out what uid was assigned to postfix. Comment out the stanza in _WARNING
this script that creates the postfix user ;
Also note that this script assumes that you are # The script starts to look at id 88 (both for user and group) and up to 65535
A) running MacOS X Public Beta # It dies if no free id is found.
B) have not added any groups to the base system
If you've added groups or are not running Public Beta, you should my $postfixgid = undef;
make sure the gids in this script have not already been used. my $maildropgid = undef;
my $postfixuid = undef;
You'll need to edit the script to remove the exit statement before the first # First create
call to niutil to show you read the directions and understand the risks.
EOF 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;
}
}
PFSHELL=/usr/bin/false if (not defined $postfixgid) {
PFUID=88 $postfixgid = creategroup( 'postfix');
PFGID=88 }
PFHOME=/Users/postfix
MDGID=99
echo -n "shell for user postfix? [$PFSHELL]" if (not defined $maildropgid) {
read pfshell $maildropgid = creategroup( 'maildrop');
if ["$pfshell" = ""] }
then
pfshell=$PFSHELL
fi
echo
echo -n "uid for user postfix? [$PFUID]" my @users = readusers();
read pfuid foreach $user (@users) {
if ["$pfuid" = ""] (my $username, undef, my $uid, undef) = split( ':', $user);
then if ($username eq 'postfix') {
pfuid=$PFUID warn "You already have a postfix user (with uid $uid)\n";
fi $postfixuid = $uid;
echo }
}
echo -n "gid for user postfix? [$PFGID]" if (not defined $postfixuid) {
read pfgid $postfixuid = createuser( 'postfix', '"Postfix User"',
if ["$pfgid" = ""] '/usr/bin/false', '/etc/postfix',
then $postfixgid);
pfgid=$PFGID addusertogroup( 'postfix', 'postfix');
fi }
echo
echo -n "Home directory for user postfix (we won't actually create it as postfix doesn't use it)? [$PFHOME]" warn "\n";
read pfhome
if ["$pfhome" = ""]
then
pfhome=$PFHOME
fi
echo
echo -n "gid for maildrop group? [$MDGID]" sub creategroup
read mdgid {
if ["$mdgid" = ""] my $name = shift;
then open( NIDUMP, "nidump group /|") or die "Cannot run nidump\n";
mdgid=$MDGID my @groups=<NIDUMP>;
fi close( NIDUMP);
echo
echo "postfix user: shell=$pfshell, uid=$pfuid, gid=$pfgid,home=$pfhome" my $tryno;
echo "maildrop group: $mdgid" NEXTNO: for ($tryno = 88; $tryno <= 65535; $tryno++) {
echo foreach my $group (@groups) {
echo -n "You're sure you want to massage your netinfo database? [yes/NO]" (my $groupname, undef, my $gid, undef) =
read arewesure 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;
}
case $arewesure in sub addusertogroup
yes|YES) {
echo "remember, you were warned" my $user = shift;
;; my $group = shift;
*) system "niutil -appendprop / /groups/$group users $user";
echo "OK, exiting" }
exit 0
;;
esac
exit 0
echo "Tweaking netinfo now" sub readgroups
echo "Creating postfix user" {
niutil -create / /users/postfix open( NIDUMP, "nidump group /|") or die "Cannot run nidump\n";
niutil -createprop / /users/postfix realname "Postfix user" my @groups=<NIDUMP>;
niutil -createprop / /users/postfix shell $pfshell close( NIDUMP);
niutil -createprop / /users/postfix uid $pfuid return @groups;
niutil -createprop / /users/postfix gid $pfgid }
niutil -createprop / /users/postfix home $pfhome
niutil -createprop / /users/postfix _shadow_passwd
passwd postfix
echo "Creating postfix group" sub readusers
niutil -create / /groups/postfix {
niutil -createprop / /groups/postfix name postfix my @passwd;
niutil -createprop / /groups/postfix gid $pfgid open( NIDUMP, "nidump passwd /|") or die "Cannot run nidump\n";
niutil -createprop / /groups/postfix passwd '*' @passwd=<NIDUMP>;
echo "Adding postfix user to postfix group" close( NIDUMP);
niutil -appendprop / /groups/postfix users postfix 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;
}
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 '*'

View File

@@ -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

View File

@@ -1525,7 +1525,7 @@ permit if the local system is listed as MX host for the recipient
domain. Use the optional <a domain. Use the optional <a
href="#permit_mx_backup_networks">permit_mx_backup_networks</a> href="#permit_mx_backup_networks">permit_mx_backup_networks</a>
parameter to also require that the primary MX hosts match a list 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 <li> Other UCE restrictions (e.g., SMTPD access maps) are not aware
of sender-provided routing information. of sender-provided routing information.

View File

@@ -181,22 +181,25 @@ LOCAL(8) LOCAL(8)
address, and appends no empty line. address, and appends no empty line.
<b>EXTERNAL</b> <b>FILE</b> <b>DELIVERY</b> <b>EXTERNAL</b> <b>FILE</b> <b>DELIVERY</b>
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>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b> configuration parameter restricts 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> delivery to external files. The default setting (<b>alias,</b>
<b>forward</b>) forbids file destinations in <b>:include:</b> files. <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 <b>local</b> daemon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" enve- In the case of UNIX-style mailbox delivery, the <b>local</b> dae-
lope header to each message, prepends an optional <b>Deliv-</b> mon prepends a "<b>From</b> <i>sender</i> <i>time_stamp</i>" envelope header to
<b>ered-To:</b> header with the recipient envelope address, each message, prepends an optional <b>Delivered-To:</b> header
prepends a &gt; character to lines beginning with "<b>From</b> ", with the recipient envelope address, prepends a &gt; charac-
and appends an empty line. The envelope sender address is ter to lines beginning with "<b>From</b> ", and appends an empty
available in the <b>Return-Path:</b> header. When the destina- line. The envelope sender address is available in the
tion is a regular file, it is locked for exclusive access <b>Return-Path:</b> header. When the destination is a regular
while delivery is in progress. In case of problems, an file, it is locked for exclusive access while delivery is
attempt is made to truncate a regular file to its original in progress. In case of problems, an attempt is made to
length. truncate a regular file to its original length.
In the case of <b>maildir</b> delivery, the local daemon prepends In the case of <b>maildir</b> delivery, the local daemon prepends
an optional <b>Delivered-To:</b> header with the envelope recipi- an optional <b>Delivered-To:</b> header with the envelope recipi-

View File

@@ -230,7 +230,7 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
RANLIB=echo RANLIB=echo
SYSLIBS="-lresolv -lsocket -lnsl" SYSLIBS="-lresolv -lsocket -lnsl"
;; ;;
Rhapsody.5*|Darwin.*) Rhapsody.5*|Darwin.1.*)
SYSTYPE=RHAPSODY5 SYSTYPE=RHAPSODY5
# Use the native compiler by default # Use the native compiler by default
: ${CC=cc} : ${CC=cc}

View File

@@ -193,13 +193,16 @@ and appends no empty line.
.nf .nf
.ad .ad
.fi .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 The \fBallow_mail_to_files\fR configuration parameter restricts
delivery to external files. The default setting (\fBalias, delivery to external files. The default setting (\fBalias,
forward\fR) forbids file destinations in \fB:include:\fR files. 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 envelope header to each message, prepends an
optional \fBDelivered-To:\fR optional \fBDelivered-To:\fR
header with the recipient envelope address, prepends a \fB>\fR header with the recipient envelope address, prepends a \fB>\fR

View File

@@ -15,7 +15,7 @@
* Version of this program. * Version of this program.
*/ */
#define VAR_MAIL_VERSION "mail_version" #define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "Snapshot-20011103" #define DEF_MAIL_VERSION "Snapshot-20011104"
extern char *var_mail_version; extern char *var_mail_version;
/* LICENSE /* LICENSE

View File

@@ -177,13 +177,16 @@
/* EXTERNAL FILE DELIVERY /* EXTERNAL FILE DELIVERY
/* .ad /* .ad
/* .fi /* .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 /* The \fBallow_mail_to_files\fR configuration parameter restricts
/* delivery to external files. The default setting (\fBalias, /* delivery to external files. The default setting (\fBalias,
/* forward\fR) forbids file destinations in \fB:include:\fR files. /* 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 /* envelope header to each message, prepends an
/* optional \fBDelivered-To:\fR /* optional \fBDelivered-To:\fR
/* header with the recipient envelope address, prepends a \fB>\fR /* header with the recipient envelope address, prepends a \fB>\fR

View File

@@ -409,7 +409,7 @@ static void disconnect(SINK_STATE *state)
vstream_fclose(state->stream); vstream_fclose(state->stream);
vstring_free(state->buffer); vstring_free(state->buffer);
myfree((char *) state); myfree((char *) state);
if (counter >= max_count) if (max_count > 0 && counter >= max_count)
exit(0); exit(0);
} }