Permalink
Browse files

sendmail 8.8.8 import

  • Loading branch information...
1 parent 25203b4 commit 39bdee0326844ed1f880795248ad5392253213a0 cjs committed Nov 9, 1997
@@ -1,11 +1,150 @@
SENDMAIL RELEASE NOTES
- @(#)RELEASE_NOTES 8.8.7.7 (Berkeley) 8/3/97
+ @(#)RELEASE_NOTES 8.8.8.4 (Berkeley) 10/24/97
This listing shows the version of the sendmail binary, the version
of the sendmail configuration files, the date of release, and a
summary of the changes in that release.
+8.8.8/8.8.8 97/10/24
+ If the check_relay ruleset failed, the relay= field was logged
+ incorrectly. Problem noted by Kari Hurtta of the Finnish
+ Meteorological Institute.
+ If /usr/tmp/dead.letter already existed, sendmail could not
+ add additional bounces to it. Problem noted by Thomas J.
+ Arseneault of SRI International.
+ If an SMTP mailer used a non-standard port number for the outgoing
+ connection, it would be displayed incorrectly in verbose mode.
+ Problem noted by John Kennedy of Cal State University, Chico.
+ Log the ETRN parameter specified by the client before altering them
+ to internal form. Suggested by Bob Kupiec of GES-Verio.
+ EXPN and VRFY SMTP commands on malformed addresses were logging as
+ User unknown with bogus delay= values. Change them to log
+ the same as compliant addresses. Problem noted by Kari E.
+ Hurtta of the Finnish Meteorological Institute.
+ Ignore the debug resolver option unless using sendmail debug trace
+ option for resolver. Problem noted by Greg Nichols of Wind
+ River Systems.
+ If SingleThreadDelivery was enabled and the remote server returned a
+ protocol error on the DATA command, the connection would be
+ closed but the persistent host status file would not be
+ unlocked so other sendmail processes could not deliver to
+ that host. Problem noted by Peter Wemm of DIALix.
+ If queueing up a message due to an expensive mailer, don't increment
+ the number of delivery attempts or set the last delivery
+ attempt time so the message will be delivered on the next
+ queue run regardless of MinQueueAge. Problem noted by
+ Brian J. Coan of the Institute for Global Communications.
+ Authentication warnings of "Processed from queue _directory_" and
+ "Processed by _username_ with -C _filename_" would be logged
+ with the incorrect timestamp. Problem noted by Kari E. Hurtta
+ of the Finnish Meteorological Institute.
+ Use a better heuristic for detecting GDBM.
+ Log null connections on dropped connections. Problem noted by
+ Jon Lewis of Florida Digital Turnpike.
+ If class dbm maps are rebuilt, sendmail will now detect this and
+ reopen the map. Previously, they could give stale
+ results during a single message processing (but would
+ recover when the next message was received). Fix from
+ Joe Pruett of Q7 Enterprises.
+ Do not log failures such as "User unknown" on -bv or SMTP VRFY
+ requests. Problem noted by Kari E. Hurtta of the
+ Finnish Meteorological Institute.
+ Do not send a bounce message back to the sender regarding bad
+ recipients if the SMTP connection is dropped before the
+ message is accepted. Problem noted by Kari E. Hurtta of the
+ Finnish Meteorological Institute.
+ Use "localhost" instead of "[UNIX: localhost]" when connecting to
+ sendmail via a UNIX pipe. This will allow rulesets using
+ $&{client_name} to process without sending the string through
+ dequote. Problem noted by Alan Barrett of Internet Africa.
+ A combination of deferred delivery mode, a double bounce situation,
+ and the inability to save a bounce message to
+ /var/tmp/dead.letter would cause sendmail to send a bounce
+ to postmaster but not remove the offending envelope from the
+ queue causing it to create a new bounce message each time the
+ queue was run. Problem noted by Brad Doctor of Net Daemons
+ Associates.
+ Remove newlines from hostname information returned via DNS. There are
+ no known security implications of newlines in hostnames as
+ sendmail filters newlines in all vital areas; however, this
+ could cause confusing error messages.
+ Starting with sendmail 8.8.6, mail sent with the '-t' option would be
+ rejected if any of the specified addresses were bad. This
+ behavior was modified to only reject the bad addresses and not
+ the entire message. Problem noted by Jozsef Hollosi of
+ SuperNet, Inc.
+ Use Timeout.fileopen when delivering mail to a file. Suggested by
+ Bryan Costales of InfoBeat, Inc.
+ Display the proper Final-Recipient on DSN messages for non-SMTP
+ mailers. Problem noted by Kari E. Hurtta of the
+ Finnish Meteorological Institute.
+ An error in calculating the available space in the list of addresses
+ for logging deliveries could cause an address to be silently
+ dropped.
+ Include the initial user environment if sendmail is restarted via
+ a HUP signal. This will give room for the process title.
+ Problem noted by Jon Lewis of Florida Digital Turnpike.
+ Mail could be delivered without a body if the machine does not
+ support flock locking and runs out of processes during
+ delivery. Fix from Chuck Lever of the University of Michigan.
+ Drop recipient address from 251 and 551 SMTP responses per RFC 821.
+ Problem noted by Kari E. Hurtta of the Finnish Meteorological
+ Institute.
+ Make sure non-rebuildable database maps are opened before the
+ rebuildable maps (i.e. alias files) in case the database maps
+ are needed for verifying the left hand side of the aliases.
+ Problem noted by Lloyd Parkes of Victoria University.
+ Make sure sender RFC822 source route addresses are alias expanded for
+ bounce messages. Problem noted by Juergen Georgi of
+ RUS University of Stuttgart.
+ Minor lint fixes.
+ Return a temporary error instead of a permanent error if an LDAP map
+ search returns an error. This will allow sequenced maps which
+ use other LDAP servers to be checked. Fix from Booker Bense
+ of Stanford University.
+ When automatically converting from quoted printable to 8bit text do
+ not pad bare linefeeds with a space. Problem noted by Theo
+ Nolte of the University of Technology Aachen, Germany.
+ Portability:
+ Non-standard C compilers may have had a problem compiling
+ conf.c due to a standard C external declaration of
+ setproctitle(). Problem noted by Ted Roberts of
+ Electronic Data Systems.
+ AUX: has a broken O_EXCL implementation. Reported by Jim
+ Jagielski of jaguNET Access Services.
+ BSD/OS: didn't compile if HASSETUSERCONTEXT was defined.
+ Digital UNIX: Digital UNIX (and possibly others) moves
+ loader environment variables into the loader memory
+ area. If one of these environment variables (such as
+ LD_LIBRARY_PATH) was the last environment variable,
+ an invalid memory address would be used by the process
+ title routine causing memory corruption. Problem
+ noted by Sam Hartman of Mesa Internet Systems.
+ GNU libc: uses an enum for _PC_CHOWN_RESTRICTED which caused
+ chownsafe() to always return 0 even if the OS does
+ not permit file giveaways. Problem noted by
+ Yasutaka Sumi of The University of Tokyo.
+ IRIX6: Syslog buffer size set to 512 bytes. Reported by
+ Gerald Rinske of Siemens Business Services VAS.
+ Linux: Pad process title with NULLs. Problem noted by
+ Jon Lewis of Florida Digital Turnpike.
+ SCO OpenServer 5.0: SIOCGIFCONF ioctl call returns an
+ incorrect value for the number of interfaces.
+ Problem noted by Chris Loelke of JetStream Internet
+ Services.
+ SINIX: Update for Makefile and syslog buffer size from Gerald
+ Rinske of Siemens Business Services VAS.
+ Solaris: Make sure HASGETUSERSHELL setting for SunOS is not
+ used on a Solaris machine. Problem noted by
+ Stephen Ma of Jtec Pty Limited.
+ CONFIG: SINIX: Update from Gerald Rinske of Siemens Business
+ Services VAS.
+ MAKEMAP: Use a better heuristic for detecting GDBM.
+ CONTRIB: expn.pl: Updated version from the author, David Muir Sharnoff.
+ OP.ME: Document the F=i mailer flag. Problem noted by Per Hedeland of
+ Ericsson.
+
8.8.7/8.8.7 97/08/03
If using Berkeley DB on systems without O_EXLOCK (open a file with
an exclusive lock already set -- i.e., almost all systems
@@ -4,7 +4,7 @@
Eric Allman <eric@CS.Berkeley.EDU>
- @(#)README 8.122 (Berkeley) 7/6/97
+ @(#)README 8.124 (Berkeley) 9/23/97
This document describes the sendmail configuration files being used
@@ -657,7 +657,7 @@ genericstable This feature will cause certain addresses originating in the
The key for this table is either the full address or the
unqualified username (the former is tried first); the
value is the new user address. If the new user address does
- not include a domain, $j is used. Note that the address must
+ not include a domain, $j is used. Note that the address
being looked up must be fully qualified. For local mail, it
is necessary to use FEATURE(always_add_domain) for the
addresses to be qualified.
@@ -1335,10 +1335,10 @@ confCF_VERSION $Z macro If defined, this is appended to the
confFROM_HEADER From: [$?x$x <$g>$|$g$.] The format of an
internally generated From: address.
confRECEIVED_HEADER Received:
- [$?sfrom $s .$?_($?s$|from $.$_)
+ [$?sfrom $s $.$?_($?s$|from $.$_)
$.by $j ($v/$Z)$?r with $r$. id $i$?u
- for $u$.;
- $b]
+ for $u; $|;
+ $.$b]
The format of the Received: header
in messages passed through this host.
It is unwise to try to change this.
@@ -38,7 +38,7 @@ divert(-1)
#
divert(0)dnl
-VERSIONID(`@(#)knecht.mc 8.13 (Berkeley) 7/7/97')
+VERSIONID(`@(#)knecht.mc 8.15 (Berkeley) 10/20/97')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward+$h:$z/.forward')dnl
@@ -48,6 +48,7 @@ define(`confTO_ICONNECT', `10s')dnl
define(`confCOPY_ERRORS_TO', `Postmaster')dnl
define(`confTO_QUEUEWARN', `8h')dnl
define(`confPRIVACY_FLAGS', ``authwarnings,noexpn,novrfy'')dnl
+define(`LOCAL_MAILER_FLAGS', `rmn9P')dnl
FEATURE(virtusertable)dnl
MAILER(local)dnl
MAILER(smtp)dnl
@@ -119,7 +120,7 @@ R<FAIL> $* $#error $: 451 Sender domain must resolve
# handle case of no @domain on address
R<?> $* $: < ? $&{client_name} > $1
R<?> $* $@ <OK> ...local unqualed ok
-R<? $+> $* $#error $: 551 Domain name required
+R<? $+> $* $#error $: 550 Domain name required
...remote is not
R<$+> $* $#error $: $1 error from domaincheck
@@ -32,8 +32,8 @@ divert(-1)
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-VERSIONID(`@(#)version.m4 8.8.7.1 (Berkeley) 8/1/97')
+VERSIONID(`@(#)version.m4 8.8.8.1 (Berkeley) 10/24/97')
#
divert(0)
# Configuration version number
-DZ8.8.7`'ifdef(`confCF_VERSION', `/confCF_VERSION')
+DZ8.8.8`'ifdef(`confCF_VERSION', `/confCF_VERSION')
@@ -34,12 +34,9 @@ divert(-1)
#
divert(0)
-VERSIONID(`@(#)sinix.m4 8.1 (Berkeley) 12/14/96')
-define(`QUEUE_DIR', /usr/ucblib/mqueue)dnl
-define(`ALIAS_FILE', /usr/ucblib/aliases)dnl
-ifdef(`HELP_FILE',,`define(`HELP_FILE', /usr/ucblib/sendmail.hf)')dnl
-ifdef(`STATUS_FILE',,`define(`STATUS_FILE', /usr/ucblib/sendmail.st)')dnl
-define(`LOCAL_MAILER_PATH', `/usr/ucblib/mail.local')dnl
-define(`LOCAL_MAILER_FLAGS', `rmn9')dnl
-define(`LOCAL_SHELL_FLAGS', `ehuP')dnl
-define(`UUCP_MAILER_ARGS', `uux - -r -a$g -gmedium $h!rmail ($u)')dnl
+VERSIONID(`@(#)sinix.m4 8.2 (Berkeley) 9/13/97')
+ifdef(`QUEUE_DIR',, `define(`QUEUE_DIR', /var/spool/mqueue)')dnl
+define(`ALIAS_FILE', /etc/aliases)dnl
+define(`LOCAL_MAILER_PATH', `/bin/mail.local')dnl
+ifdef(`STATUS_FILE',, `define(`STATUS_FILE', /var/sendmail.st)')dnl
+ifdef(`HELP_FILE',, `define(`HELP_FILE', /etc/sendmail.hf)')dnl
@@ -6,19 +6,19 @@
# THIS PROGRAM IS ITS OWN MANUAL PAGE. INSTALL IN man & bin.
#
-# hardcoded constants, should work fine for BSD-based systems
-require 'sys/socket.ph';
-$sockaddr = 'S n a4 x8';
+use 5.001;
+use IO::Socket;
# system requirements:
# must have 'nslookup' and 'hostname' programs.
-# $Header: /cvsroot/src/usr.sbin/sendmail/contrib/Attic/expn.pl,v 1.1.1.7 1997/09/09 06:22:54 cjs Exp $
+# $Header: /cvsroot/src/usr.sbin/sendmail/contrib/Attic/expn.pl,v 1.1.1.8 1997/11/09 22:15:32 cjs Exp $
# TODO:
# less magic should apply to command-line addresses
# less magic should apply to local addresses
# add magic to deal with cross-domain cnames
+# disconnect & reconnect after 25 commands to the same sendmail 8.8.* host
# Checklist: (hard addresses)
# 250 Kimmo Suominen <"|/usr/local/mh/lib/slocal -user kim"@grendel.tac.nyc.ny.us>
@@ -96,7 +96,7 @@
# $debug : -d
# $valid : -a
# $levels : -1
-# S : the socket connection to $server
+# $S : the socket connection to $server
$have_nslookup = 1; # we have the nslookup program
$port = 'smtp';
@@ -143,12 +143,6 @@
}
}
-$0 = "$av0 - building local socket";
-($name,$aliases,$proto) = getprotobyname('tcp');
-($name,$aliases,$port) = getservbyname($port,'tcp')
- unless $port =~ /^\d+/;
-$this = pack($sockaddr, &AF_INET, 0, $thisaddr);
-
HOST:
while (@hosts) {
$server = shift(@hosts);
@@ -177,28 +171,26 @@
# get a connection, or look for an mx
$0 = "$av0 - socket to $server";
- $that = pack($sockaddr, &AF_INET, $port, $thataddr);
- socket(S, &AF_INET, &SOCK_STREAM, $proto)
- || die "socket: $!";
- $0 = "$av0 - bind to $server";
- bind(S, $this)
- || die "bind $hostname,0: $!";
- $0 = "$av0 - connect to $server";
- print "debug = $debug server = $server\n" if $debug > 8;
- if (! connect(S, $that) || ($debug == 10 && $server =~ /relay\d.UU.NET$/i)) {
+
+ $S = new IO::Socket::INET (
+ 'PeerAddr' => $server,
+ 'PeerPort' => $port,
+ 'Proto' => 'tcp');
+
+ if (! $S || ($debug == 10 && $server =~ /relay\d.UU.NET$/i)) {
$0 = "$av0 - $server: could not connect: $!\n";
$emsg = $!;
unless (&mxlookup(0,$server,"$server: could not connect: $!",*users)) {
&giveup('mx',"$server: Could not connect: $emsg");
}
next HOST;
}
- select((select(S),$| = 1)[0]); # don't buffer output to S
+ $S->autoflush(1);
# read the greeting
$0 = "$av0 - talking to $server";
&alarm("greeting with $server",'');
- while(<S>) {
+ while(<$S>) {
alarm(0);
print if $watch;
if (/^(\d+)([- ])/) {
@@ -210,7 +202,7 @@
print STDERR "$server: NOT 220 greeting: $_"
if ($debug || $vw);
if (&mxlookup(0,$server,"$server: did not respond with a 220 greeting",*users)) {
- close(S);
+ close($S);
next HOST;
}
}
@@ -222,7 +214,7 @@
unless (&mxlookup(0,$server,"$server: did not respond with SMTP codes",*users)) {
&giveup('',"$server: did not talk SMTP");
}
- close(S);
+ close($S);
next HOST;
}
&alarm("greeting with $server",'');
@@ -233,7 +225,7 @@
$0 = "$av0 - sending helo to $server";
&alarm("sending helo to $server","");
&ps("helo $hostname");
- while(<S>) {
+ while(<$S>) {
print if $watch;
last if /^\d+ /;
}
@@ -395,11 +387,11 @@
&alarm("sending 'quit' to $server",'');
$0 = "$av0 - sending 'quit' to $server";
&ps("quit");
- while(<S>) {
+ while(<$S>) {
print if $watch;
last if /^\d+ /;
}
- close(S);
+ close($S);
alarm(0);
}
@@ -604,7 +596,7 @@ sub expn_vrfy
&alarm("${c}'ing $try_u on $server",'',$u);
&ps("$c $try_u");
alarm(0);
- $s = <S>;
+ $s = <$S>;
if ($s eq '') {
return "$server: lost connection";
}
@@ -905,7 +897,7 @@ sub ps
{
local($p) = @_;
print ">>> $p\n" if $watch;
- print S "$p\n";
+ print $S "$p\n";
}
# return case-adjusted name for a host (for comparison purposes)
sub trhost
@@ -1207,7 +1199,7 @@ sub read_response
local($done,$watch) = @_;
local(@resp);
print $s if $watch;
- while(($done eq "-") && ($s = <S>) && ($s =~ /^\d+([- ])/)) {
+ while(($done eq "-") && ($s = <$S>) && ($s =~ /^\d+([- ])/)) {
print $s if $watch;
$done = $1;
push(@resp,$s);
Oops, something went wrong.

0 comments on commit 39bdee0

Please sign in to comment.