mirror of
https://github.com/vdukhovni/postfix
synced 2025-09-04 08:05:37 +00:00
snapshot-20011104
This commit is contained in:
committed by
Viktor Dukhovni
parent
9102679caa
commit
9cc882833d
@@ -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:
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
35
postfix/auxiliary/MacOSX/Postfix.StartupItem/Postfix
Executable file
35
postfix/auxiliary/MacOSX/Postfix.StartupItem/Postfix
Executable 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
|
||||||
|
|
||||||
|
|
@@ -8,5 +8,6 @@
|
|||||||
{
|
{
|
||||||
start = "Starting Postfix";
|
start = "Starting Postfix";
|
||||||
stop = "Stopping Postfix";
|
stop = "Stopping Postfix";
|
||||||
|
restart = "Reloading Postfix Configuration";
|
||||||
};
|
};
|
||||||
}
|
}
|
63
postfix/auxiliary/MacOSX/README-INSTALL.OSX
Normal file
63
postfix/auxiliary/MacOSX/README-INSTALL.OSX
Normal 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
|
@@ -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
|
|
61
postfix/auxiliary/MacOSX/activate-postfix
Executable file
61
postfix/auxiliary/MacOSX/activate-postfix
Executable 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
|
||||||
|
|
60
postfix/auxiliary/MacOSX/activate-sendmail
Executable file
60
postfix/auxiliary/MacOSX/activate-sendmail
Executable 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
|
20
postfix/auxiliary/MacOSX/backup-postfix-binaries
Executable file
20
postfix/auxiliary/MacOSX/backup-postfix-binaries
Executable 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 -)
|
||||||
|
|
20
postfix/auxiliary/MacOSX/backup-sendmail-binaries
Executable file
20
postfix/auxiliary/MacOSX/backup-sendmail-binaries
Executable 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 -)
|
||||||
|
|
@@ -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
|
|
15
postfix/auxiliary/MacOSX/defines
Normal file
15
postfix/auxiliary/MacOSX/defines
Normal 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
|
@@ -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 '*'
|
|
||||||
|
@@ -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
|
|
@@ -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.
|
||||||
|
@@ -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 > character to lines beginning with "<b>From</b> ",
|
with the recipient envelope address, prepends a > 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-
|
||||||
|
@@ -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}
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user