mirror of
https://github.com/vdukhovni/postfix
synced 2025-09-04 16:15:22 +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
|
Bugfix: the local delivery agent's recipient duplicate
|
||||||
filter did not work when configured to use unlimited memory
|
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
|
19991125
|
||||||
|
|
||||||
@@ -3322,7 +3322,7 @@ Apologies for any names omitted.
|
|||||||
now frees in-memory recipients as soon as a message is
|
now frees in-memory recipients as soon as a message is
|
||||||
delivered to one destination, rather than waiting until
|
delivered to one destination, rather than waiting until
|
||||||
all in-memory destinations of that message have been tried.
|
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.
|
qmgr/qmgr_message.c.
|
||||||
|
|
||||||
Performance: when delivering mail to a huge list of
|
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
|
Bugfix: the local delivery agent would deliver to the user
|
||||||
instead of the .forward file when the .forward file was
|
instead of the .forward file when the .forward file was
|
||||||
already visited via some non-recursive path. Patch by Patrik
|
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
|
Robustness: attempt to deliver all addresses in the expansion
|
||||||
of an alias or .forward file, even when some addresses must
|
of an alias or .forward file, even when some addresses must
|
||||||
@@ -3381,8 +3381,8 @@ Apologies for any names omitted.
|
|||||||
19991216
|
19991216
|
||||||
|
|
||||||
Feature: allow an empty inet_interfaces parameter, just
|
Feature: allow an empty inet_interfaces parameter, just
|
||||||
like an empty mydestination parameter. It's needed for a
|
like an empty mydestination parameter. It's needed for true
|
||||||
true null client that delivers no mail locally at all.
|
null clients and for firewalls that deliver no local mail.
|
||||||
|
|
||||||
Feature: "disable_vrfy_command = yes" disables some forms
|
Feature: "disable_vrfy_command = yes" disables some forms
|
||||||
of address harvesting used by spammers.
|
of address harvesting used by spammers.
|
||||||
@@ -3410,3 +3410,20 @@ Apologies for any names omitted.
|
|||||||
and even understands address forms with RFC 822-style
|
and even understands address forms with RFC 822-style
|
||||||
comments.
|
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
|
OPENSTEP 4.x
|
||||||
OSF1.V3 (Digital UNIX)
|
OSF1.V3 (Digital UNIX)
|
||||||
OSF1.V4 aka Digital UNIX V4
|
OSF1.V4 aka Digital UNIX V4
|
||||||
|
OSF1.V5 aka Digital UNIX V5
|
||||||
OpenBSD 2.x
|
OpenBSD 2.x
|
||||||
Reliant UNIX 5.x
|
Reliant UNIX 5.x
|
||||||
Rhapsody 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
|
Most definitions will be remembered, so you have to specify them
|
||||||
only once. All definitions have a reasonable default value.
|
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)
|
install_root - prefix for installed file names (for package building)
|
||||||
|
|
||||||
config_directory - directory with Postfix configuration files.
|
config_directory - directory with Postfix configuration files.
|
||||||
@@ -39,24 +41,40 @@ only once. All definitions have a reasonable default value.
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
# By now, shells must have functions. Ultrix users must use sh5 or lose.
|
# By now, shells must have functions. Ultrix users must use sh5 or lose.
|
||||||
|
# The following shell functions replace files/symlinks while minimizing
|
||||||
# Apparently, some broken LINUX file utilities won't move symlinks across
|
# the time that a file does not exist, and avoid copying over programs
|
||||||
# file systems. Upgrade to a better system. Don't waste my time.
|
# in order to not disturb running programs.
|
||||||
|
|
||||||
compare_or_replace() {
|
compare_or_replace() {
|
||||||
cmp $2 $3 >/dev/null 2>&1 || {
|
cmp $2 $3 >/dev/null 2>&1 || {
|
||||||
rm -f junk || exit 1
|
rm -f $tempdir/junk || exit 1
|
||||||
cp $2 junk || exit 1
|
cp $2 $tempdir/junk || exit 1
|
||||||
mv -f junk $3 || exit 1
|
chmod $1 $tempdir/junk || exit 1
|
||||||
|
mv -f $tempdir/junk $3 || exit 1
|
||||||
chmod $1 $3 || exit 1
|
chmod $1 $3 || exit 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compare_or_symlink() {
|
compare_or_symlink() {
|
||||||
cmp $1 $2 >/dev/null 2>&1 || {
|
cmp $1 $2 >/dev/null 2>&1 || {
|
||||||
rm -f junk || exit 1
|
rm -f $tempdir/junk || exit 1
|
||||||
ln -s $1 junk || exit 1
|
target=`echo $1 | sed '
|
||||||
mv -f junk $2 || exit 1
|
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';;
|
*) n=; c='\c';;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Default settings. These are clobbered by remembered settings.
|
# Default settings. Most are clobbered by remembered settings.
|
||||||
|
|
||||||
|
tempdir=`pwd`
|
||||||
install_root=/
|
install_root=/
|
||||||
config_directory=/etc/postfix
|
config_directory=/etc/postfix
|
||||||
daemon_directory=/usr/libexec/postfix
|
daemon_directory=/usr/libexec/postfix
|
||||||
@@ -90,7 +109,7 @@ manpages=/usr/local/man
|
|||||||
|
|
||||||
# Find out the location of configuration files.
|
# Find out the location of configuration files.
|
||||||
|
|
||||||
for name in install_root config_directory
|
for name in tempdir install_root config_directory
|
||||||
do
|
do
|
||||||
while :
|
while :
|
||||||
do
|
do
|
||||||
@@ -105,11 +124,11 @@ done
|
|||||||
|
|
||||||
# Sanity checks
|
# Sanity checks
|
||||||
|
|
||||||
for path in $install_root $config_directory
|
for path in $tempdir $install_root $config_directory
|
||||||
do
|
do
|
||||||
case $path in
|
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
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -157,29 +176,39 @@ do
|
|||||||
case $path in
|
case $path in
|
||||||
/*) ;;
|
/*) ;;
|
||||||
no) ;;
|
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
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -f junk || exit 1
|
test -d $tempdir || mkdir -p $tempdir || exit 1
|
||||||
touch junk
|
|
||||||
|
|
||||||
chown "$mail_owner" junk >/dev/null 2>&1 || {
|
( rm -f $tempdir/junk && touch $tempdir/junk ) || {
|
||||||
echo "Error: $mail_owner needs an entry in the passwd file" 1>&2
|
echo Error: you have no write permission to $tempdir. 1>&2
|
||||||
echo "Remember, $mail_owner must have a dedicated user id and group id." 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
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
case $setgid in
|
case $setgid in
|
||||||
no) ;;
|
no) ;;
|
||||||
*) chgrp "$setgid" junk >/dev/null 2>&1 || {
|
*) chgrp "$setgid" $tempdir/junk >/dev/null 2>&1 || {
|
||||||
echo "Error: $setgid needs an entry in the group file" 1>&2
|
echo Error: $setgid needs an entry in the group file. 1>&2
|
||||||
echo "Remember, $setgid must have a dedicated group id." 1>&2
|
echo Remember, $setgid must have a dedicated group id. 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
esac
|
esac
|
||||||
|
|
||||||
rm -f junk
|
rm -f $tempdir/junk
|
||||||
|
|
||||||
# Avoid clumsiness.
|
# Avoid clumsiness.
|
||||||
|
|
||||||
@@ -217,8 +246,8 @@ done
|
|||||||
|
|
||||||
test -f bin/sendmail && {
|
test -f bin/sendmail && {
|
||||||
compare_or_replace a+x,go-w bin/sendmail $SENDMAIL_PATH || exit 1
|
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 $NEWALIASES_PATH
|
||||||
compare_or_symlink $sendmail_path $MAILQ_PATH
|
compare_or_symlink $SENDMAIL_PATH $MAILQ_PATH
|
||||||
}
|
}
|
||||||
|
|
||||||
compare_or_replace a+r,go-w conf/LICENSE $CONFIG_DIRECTORY/LICENSE || exit 1
|
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
|
for name in sendmail_path newaliases_path mailq_path setgid manpages
|
||||||
do
|
do
|
||||||
eval echo $name=\$$name
|
eval echo $name=\$$name
|
||||||
done) >junk || exit 1
|
done) >$tempdir/junk || exit 1
|
||||||
compare_or_move a+x,go-w junk $CONFIG_DIRECTORY/install.cf || exit 1
|
compare_or_move a+x,go-w $tempdir/junk $CONFIG_DIRECTORY/install.cf || exit 1
|
||||||
rm -f junk
|
rm -f $tempdir/junk
|
||||||
|
|
||||||
# Use set-gid privileges instead of writable maildrop (optional).
|
# 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
|
- 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.
|
corresponding "domain.name local:" entry in your transport_maps.
|
||||||
See the html/faq.html sections for firewalls and intranets.
|
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 LDAP client code (John Hensley).
|
||||||
|
|
||||||
- Updated mysql client code (Scott Cotton).
|
- Updated mysql client code (Scott Cotton).
|
||||||
|
@@ -256,6 +256,10 @@ mail_owner = postfix
|
|||||||
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
|
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
|
||||||
# Exception: delivery for root is done as $default_user.
|
# 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),
|
# Other environment variables of interest: USER (recipient username),
|
||||||
# EXTENSION (address extension), DOMAIN (domain part of address),
|
# EXTENSION (address extension), DOMAIN (domain part of address),
|
||||||
# and LOCAL (the address localpart).
|
# and LOCAL (the address localpart).
|
||||||
|
@@ -218,6 +218,15 @@ check)
|
|||||||
$WARN not owned by $mail_owner: $dir)
|
$WARN not owned by $mail_owner: $dir)
|
||||||
done
|
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
|
$command_directory/postsuper || exit 1
|
||||||
|
|
||||||
find corrupt -type f -exec $WARN damaged message: {} \;
|
find corrupt -type f -exec $WARN damaged message: {} \;
|
||||||
|
@@ -219,6 +219,15 @@ check)
|
|||||||
$WARN not owned by $mail_owner: $dir)
|
$WARN not owned by $mail_owner: $dir)
|
||||||
done
|
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
|
$command_directory/postsuper || exit 1
|
||||||
|
|
||||||
find corrupt -type f -exec $WARN damaged message: {} \;
|
find corrupt -type f -exec $WARN damaged message: {} \;
|
||||||
|
@@ -101,6 +101,10 @@ home_mailbox =
|
|||||||
# as the recipient with proper HOME, SHELL and LOGNAME environment settings.
|
# as the recipient with proper HOME, SHELL and LOGNAME environment settings.
|
||||||
# Exception: delivery for root is done as $default_user.
|
# 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),
|
# Other environment variables of interest: USER (recipient username),
|
||||||
# EXTENSION (address extension), DOMAIN (domain part of address),
|
# EXTENSION (address extension), DOMAIN (domain part of address),
|
||||||
# and LOCAL (the address localpart).
|
# and LOCAL (the address localpart).
|
||||||
|
@@ -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-19991216"
|
#define DEF_MAIL_VERSION "Snapshot-19991219"
|
||||||
extern char *var_mail_version;
|
extern char *var_mail_version;
|
||||||
|
|
||||||
/* LICENSE
|
/* 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>
|
<dt> <b>relay_domains</b>
|
||||||
|
|
||||||
<dd> This parameter controls the behavior of the <a
|
<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>
|
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
|
restrictions that can appear as part of a recipient address
|
||||||
restriction list.
|
restriction list.
|
||||||
|
|
||||||
|
@@ -85,12 +85,7 @@ case "$SYSTEM.$RELEASE" in
|
|||||||
;;
|
;;
|
||||||
BSD/OS.4*) SYSTYPE=BSDI4
|
BSD/OS.4*) SYSTYPE=BSDI4
|
||||||
;;
|
;;
|
||||||
OSF1.V3.*) SYSTYPE=OSF1
|
OSF1.V[3-5].*) SYSTYPE=OSF1
|
||||||
# Use the native compiler by default
|
|
||||||
: ${CC=cc}
|
|
||||||
: ${DEBUG="-g3"}
|
|
||||||
;;
|
|
||||||
OSF1.V4.*) SYSTYPE=OSF1
|
|
||||||
# Use the native compiler by default
|
# Use the native compiler by default
|
||||||
: ${CC=cc}
|
: ${CC=cc}
|
||||||
: ${DEBUG="-g3"}
|
: ${DEBUG="-g3"}
|
||||||
|
@@ -962,16 +962,11 @@ static int vrfy_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
|
|||||||
smtpd_chat_reply(state, "%s", err);
|
smtpd_chat_reply(state, "%s", err);
|
||||||
return (-1);
|
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) {
|
if ((err = smtpd_check_rcptmap(state, argv[1].strval)) != 0) {
|
||||||
smtpd_chat_reply(state, "%s", err);
|
smtpd_chat_reply(state, "%s", err);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
smtpd_chat_reply(state, "250 <%s>", argv[1].strval);
|
smtpd_chat_reply(state, "252 <%s>", argv[1].strval);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user