2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-04 16:15:22 +00:00

snapshot-19991219

This commit is contained in:
Wietse Venema
1999-12-19 00:00:00 -05:00
parent 1ca1119df9
commit 89d0723baf
13 changed files with 1518 additions and 761 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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: {} \;

View File

@@ -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: {} \;

View File

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

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

View File

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

View File

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

View File

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