mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-31 14:17:41 +00:00
snapshot-19991219
This commit is contained in:
@@ -3298,7 +3298,7 @@ Apologies for any names omitted.
|
||||
|
||||
Bugfix: the local delivery agent's recipient duplicate
|
||||
filter did not work when configured to use unlimited memory
|
||||
(which is not a recommended setting). Patrik Rak @ein.cz.
|
||||
(which is not a recommended setting). Patrik Rak @raxoft.cz.
|
||||
|
||||
19991125
|
||||
|
||||
@@ -3322,7 +3322,7 @@ Apologies for any names omitted.
|
||||
now frees in-memory recipients as soon as a message is
|
||||
delivered to one destination, rather than waiting until
|
||||
all in-memory destinations of that message have been tried.
|
||||
Patch by Patrik Rak @ ein.cz. Files: qmgr/qmgr_entry.c,
|
||||
Patch by Patrik Rak @ raxoft.cz. Files: qmgr/qmgr_entry.c,
|
||||
qmgr/qmgr_message.c.
|
||||
|
||||
Performance: when delivering mail to a huge list of
|
||||
@@ -3346,7 +3346,7 @@ Apologies for any names omitted.
|
||||
Bugfix: the local delivery agent would deliver to the user
|
||||
instead of the .forward file when the .forward file was
|
||||
already visited via some non-recursive path. Patch by Patrik
|
||||
Rak @ ein.cz. Files: global/been_here.c, local/dotforward.c.
|
||||
Rak @ raxoft.cz. Files: global/been_here.c, local/dotforward.c.
|
||||
|
||||
Robustness: attempt to deliver all addresses in the expansion
|
||||
of an alias or .forward file, even when some addresses must
|
||||
@@ -3381,8 +3381,8 @@ Apologies for any names omitted.
|
||||
19991216
|
||||
|
||||
Feature: allow an empty inet_interfaces parameter, just
|
||||
like an empty mydestination parameter. It's needed for a
|
||||
true null client that delivers no mail locally at all.
|
||||
like an empty mydestination parameter. It's needed for true
|
||||
null clients and for firewalls that deliver no local mail.
|
||||
|
||||
Feature: "disable_vrfy_command = yes" disables some forms
|
||||
of address harvesting used by spammers.
|
||||
@@ -3409,4 +3409,21 @@ Apologies for any names omitted.
|
||||
Feature: the sendmail -f option now understands '<user>'
|
||||
and even understands address forms with RFC 822-style
|
||||
comments.
|
||||
|
||||
|
||||
19991217
|
||||
|
||||
Cleanup: no more UCE checks for VRFY commands.
|
||||
|
||||
19991218
|
||||
|
||||
Cleanup: INSTALL.sh produces relative symlinks, which is
|
||||
necessary when install_root is not /.
|
||||
|
||||
19991219
|
||||
|
||||
Documentation: completely reorganized the FAQ and added
|
||||
many new entries.
|
||||
|
||||
Cleanup: INSTALL.sh uses a configurable directory for
|
||||
scratch files, so that it can install from a file system
|
||||
that is not writable by the super-user.
|
||||
|
@@ -76,6 +76,7 @@ If your system is supported, it is one of
|
||||
OPENSTEP 4.x
|
||||
OSF1.V3 (Digital UNIX)
|
||||
OSF1.V4 aka Digital UNIX V4
|
||||
OSF1.V5 aka Digital UNIX V5
|
||||
OpenBSD 2.x
|
||||
Reliant UNIX 5.x
|
||||
Rhapsody 5.x
|
||||
|
@@ -20,6 +20,8 @@ Before installing files, this script prompts you for some definitions.
|
||||
Most definitions will be remembered, so you have to specify them
|
||||
only once. All definitions have a reasonable default value.
|
||||
|
||||
tempdir - where to write scratch files
|
||||
|
||||
install_root - prefix for installed file names (for package building)
|
||||
|
||||
config_directory - directory with Postfix configuration files.
|
||||
@@ -39,24 +41,40 @@ only once. All definitions have a reasonable default value.
|
||||
EOF
|
||||
|
||||
# By now, shells must have functions. Ultrix users must use sh5 or lose.
|
||||
|
||||
# Apparently, some broken LINUX file utilities won't move symlinks across
|
||||
# file systems. Upgrade to a better system. Don't waste my time.
|
||||
# The following shell functions replace files/symlinks while minimizing
|
||||
# the time that a file does not exist, and avoid copying over programs
|
||||
# in order to not disturb running programs.
|
||||
|
||||
compare_or_replace() {
|
||||
cmp $2 $3 >/dev/null 2>&1 || {
|
||||
rm -f junk || exit 1
|
||||
cp $2 junk || exit 1
|
||||
mv -f junk $3 || exit 1
|
||||
rm -f $tempdir/junk || exit 1
|
||||
cp $2 $tempdir/junk || exit 1
|
||||
chmod $1 $tempdir/junk || exit 1
|
||||
mv -f $tempdir/junk $3 || exit 1
|
||||
chmod $1 $3 || exit 1
|
||||
}
|
||||
}
|
||||
|
||||
compare_or_symlink() {
|
||||
cmp $1 $2 >/dev/null 2>&1 || {
|
||||
rm -f junk || exit 1
|
||||
ln -s $1 junk || exit 1
|
||||
mv -f junk $2 || exit 1
|
||||
rm -f $tempdir/junk || exit 1
|
||||
target=`echo $1 | sed '
|
||||
s;^'$install_root';;
|
||||
s;//;/;g
|
||||
s;/\./;/;g
|
||||
s;^/*;;
|
||||
H
|
||||
s;/[^/]*$;/;
|
||||
s;[^/]*/;../;g
|
||||
G
|
||||
s/\n//
|
||||
'`
|
||||
ln -s $target $tempdir/junk || exit 1
|
||||
mv -f $tempdir/junk $2 || {
|
||||
echo Error: your mv command is unable to rename symlinks. 1>&2
|
||||
echo If you run Linux, upgrade to GNU fileutils-4.0 or better. 1>&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,8 +92,9 @@ case `echo -n` in
|
||||
*) n=; c='\c';;
|
||||
esac
|
||||
|
||||
# Default settings. These are clobbered by remembered settings.
|
||||
# Default settings. Most are clobbered by remembered settings.
|
||||
|
||||
tempdir=`pwd`
|
||||
install_root=/
|
||||
config_directory=/etc/postfix
|
||||
daemon_directory=/usr/libexec/postfix
|
||||
@@ -90,7 +109,7 @@ manpages=/usr/local/man
|
||||
|
||||
# Find out the location of configuration files.
|
||||
|
||||
for name in install_root config_directory
|
||||
for name in tempdir install_root config_directory
|
||||
do
|
||||
while :
|
||||
do
|
||||
@@ -105,11 +124,11 @@ done
|
||||
|
||||
# Sanity checks
|
||||
|
||||
for path in $install_root $config_directory
|
||||
for path in $tempdir $install_root $config_directory
|
||||
do
|
||||
case $path in
|
||||
/*) ;;
|
||||
*) echo "$path should be an absolute path name" 1>&2; exit 1;;
|
||||
*) echo Error: $path should be an absolute path name. 1>&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -157,29 +176,39 @@ do
|
||||
case $path in
|
||||
/*) ;;
|
||||
no) ;;
|
||||
*) echo "$path should be an absolute path name" 1>&2; exit 1;;
|
||||
*) echo Error: $path should be an absolute path name. 1>&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
rm -f junk || exit 1
|
||||
touch junk
|
||||
test -d $tempdir || mkdir -p $tempdir || exit 1
|
||||
|
||||
chown "$mail_owner" junk >/dev/null 2>&1 || {
|
||||
echo "Error: $mail_owner needs an entry in the passwd file" 1>&2
|
||||
echo "Remember, $mail_owner must have a dedicated user id and group id." 1>&2
|
||||
( rm -f $tempdir/junk && touch $tempdir/junk ) || {
|
||||
echo Error: you have no write permission to $tempdir. 1>&2
|
||||
echo Specify an alternative directory for scratch files. 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
chown root $tempdir/junk >/dev/null 2>&1 || {
|
||||
echo Error: you have no permission to change file ownership. 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
chown "$mail_owner" $tempdir/junk >/dev/null 2>&1 || {
|
||||
echo Error: $mail_owner needs an entry in the passwd file. 1>&2
|
||||
echo Remember, $mail_owner must have a dedicated user id and group id. 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
case $setgid in
|
||||
no) ;;
|
||||
*) chgrp "$setgid" junk >/dev/null 2>&1 || {
|
||||
echo "Error: $setgid needs an entry in the group file" 1>&2
|
||||
echo "Remember, $setgid must have a dedicated group id." 1>&2
|
||||
*) chgrp "$setgid" $tempdir/junk >/dev/null 2>&1 || {
|
||||
echo Error: $setgid needs an entry in the group file. 1>&2
|
||||
echo Remember, $setgid must have a dedicated group id. 1>&2
|
||||
exit 1
|
||||
}
|
||||
esac
|
||||
|
||||
rm -f junk
|
||||
rm -f $tempdir/junk
|
||||
|
||||
# Avoid clumsiness.
|
||||
|
||||
@@ -217,8 +246,8 @@ done
|
||||
|
||||
test -f bin/sendmail && {
|
||||
compare_or_replace a+x,go-w bin/sendmail $SENDMAIL_PATH || exit 1
|
||||
compare_or_symlink $sendmail_path $NEWALIASES_PATH
|
||||
compare_or_symlink $sendmail_path $MAILQ_PATH
|
||||
compare_or_symlink $SENDMAIL_PATH $NEWALIASES_PATH
|
||||
compare_or_symlink $SENDMAIL_PATH $MAILQ_PATH
|
||||
}
|
||||
|
||||
compare_or_replace a+r,go-w conf/LICENSE $CONFIG_DIRECTORY/LICENSE || exit 1
|
||||
@@ -250,9 +279,9 @@ bin/postconf -c $CONFIG_DIRECTORY -e \
|
||||
for name in sendmail_path newaliases_path mailq_path setgid manpages
|
||||
do
|
||||
eval echo $name=\$$name
|
||||
done) >junk || exit 1
|
||||
compare_or_move a+x,go-w junk $CONFIG_DIRECTORY/install.cf || exit 1
|
||||
rm -f junk
|
||||
done) >$tempdir/junk || exit 1
|
||||
compare_or_move a+x,go-w $tempdir/junk $CONFIG_DIRECTORY/install.cf || exit 1
|
||||
rm -f $tempdir/junk
|
||||
|
||||
# Use set-gid privileges instead of writable maildrop (optional).
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
Incompatible changes with snapshot 19991216
|
||||
Incompatible changes with snapshot 19991219
|
||||
===========================================
|
||||
|
||||
- The experimental permit_recipient_map feature is gone. It was
|
||||
@@ -27,9 +27,14 @@ parent domain of a transport map entry, you must now add a
|
||||
corresponding "domain.name local:" entry in your transport_maps.
|
||||
See the html/faq.html sections for firewalls and intranets.
|
||||
|
||||
Major changes with snapshot 19991216
|
||||
Major changes with snapshot 19991219
|
||||
====================================
|
||||
|
||||
- Overhauled FAQ (html/faq.html) with many more examples.
|
||||
|
||||
- Several little improvements to the installation procedure:
|
||||
relative symlinks, configurable directory for scratch files.
|
||||
|
||||
- Updated LDAP client code (John Hensley).
|
||||
|
||||
- Updated mysql client code (Scott Cotton).
|
||||
|
@@ -256,6 +256,10 @@ mail_owner = postfix
|
||||
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
|
||||
# Exception: delivery for root is done as $default_user.
|
||||
#
|
||||
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE WITH, E.G., PROCMAIL,
|
||||
# YOU MUST SET UP AN ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL
|
||||
# USER.
|
||||
#
|
||||
# Other environment variables of interest: USER (recipient username),
|
||||
# EXTENSION (address extension), DOMAIN (domain part of address),
|
||||
# and LOCAL (the address localpart).
|
||||
|
@@ -218,6 +218,15 @@ check)
|
||||
$WARN not owned by $mail_owner: $dir)
|
||||
done
|
||||
|
||||
for dir in bin etc lib sbin usr
|
||||
do
|
||||
test -d $dir && find $dir -type f -print | while read path
|
||||
do
|
||||
cmp -s $path /$path ||
|
||||
$WARN $queue_directory/$path and /$path differ
|
||||
done
|
||||
done
|
||||
|
||||
$command_directory/postsuper || exit 1
|
||||
|
||||
find corrupt -type f -exec $WARN damaged message: {} \;
|
||||
|
@@ -219,6 +219,15 @@ check)
|
||||
$WARN not owned by $mail_owner: $dir)
|
||||
done
|
||||
|
||||
for dir in bin etc lib sbin usr
|
||||
do
|
||||
test -d $dir && find $dir -type f -print | while read path
|
||||
do
|
||||
cmp -s $path /$path ||
|
||||
$WARN $queue_directory/$path and /$path differ
|
||||
done
|
||||
done
|
||||
|
||||
$command_directory/postsuper || exit 1
|
||||
|
||||
find corrupt -type f -exec $WARN damaged message: {} \;
|
||||
|
@@ -100,6 +100,10 @@ home_mailbox =
|
||||
# command to use instead of mailbox delivery. The command is run
|
||||
# as the recipient with proper HOME, SHELL and LOGNAME environment settings.
|
||||
# Exception: delivery for root is done as $default_user.
|
||||
#
|
||||
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE WITH, E.G., PROCMAIL,
|
||||
# YOU MUST SET UP AN ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL
|
||||
# USER.
|
||||
#
|
||||
# Other environment variables of interest: USER (recipient username),
|
||||
# EXTENSION (address extension), DOMAIN (domain part of address),
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* Version of this program.
|
||||
*/
|
||||
#define VAR_MAIL_VERSION "mail_version"
|
||||
#define DEF_MAIL_VERSION "Snapshot-19991216"
|
||||
#define DEF_MAIL_VERSION "Snapshot-19991219"
|
||||
extern char *var_mail_version;
|
||||
|
||||
/* LICENSE
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -849,8 +849,9 @@ subdomain under any of the domains listed in <b>$maps_rbl_domains.</b>
|
||||
<dt> <b>relay_domains</b>
|
||||
|
||||
<dd> This parameter controls the behavior of the <a
|
||||
href="#check_relay_domains"> check_relay_domains</a> and <a
|
||||
href="#check_relay_domains"> check_relay_domains</a>, <a
|
||||
href="#reject_unauth_destination"> reject_unauth_destination</a>
|
||||
and <a href="#permit_auth_destination"> permit_auth_destination</a>
|
||||
restrictions that can appear as part of a recipient address
|
||||
restriction list.
|
||||
|
||||
|
@@ -85,12 +85,7 @@ case "$SYSTEM.$RELEASE" in
|
||||
;;
|
||||
BSD/OS.4*) SYSTYPE=BSDI4
|
||||
;;
|
||||
OSF1.V3.*) SYSTYPE=OSF1
|
||||
# Use the native compiler by default
|
||||
: ${CC=cc}
|
||||
: ${DEBUG="-g3"}
|
||||
;;
|
||||
OSF1.V4.*) SYSTYPE=OSF1
|
||||
OSF1.V[3-5].*) SYSTYPE=OSF1
|
||||
# Use the native compiler by default
|
||||
: ${CC=cc}
|
||||
: ${DEBUG="-g3"}
|
||||
|
@@ -962,16 +962,11 @@ static int vrfy_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
|
||||
smtpd_chat_reply(state, "%s", err);
|
||||
return (-1);
|
||||
}
|
||||
if (SMTPD_STAND_ALONE(state) == 0
|
||||
&& (err = smtpd_check_rcpt(state, argv[1].strval)) != 0) {
|
||||
smtpd_chat_reply(state, "%s", err);
|
||||
return (-1);
|
||||
}
|
||||
if ((err = smtpd_check_rcptmap(state, argv[1].strval)) != 0) {
|
||||
smtpd_chat_reply(state, "%s", err);
|
||||
return (-1);
|
||||
}
|
||||
smtpd_chat_reply(state, "250 <%s>", argv[1].strval);
|
||||
smtpd_chat_reply(state, "252 <%s>", argv[1].strval);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user