Only in sendmail-8.8.7: Makefile
diff -cr sendmail-8.8.7/RELEASE_NOTES sendmail-8.8.8/RELEASE_NOTES
*** sendmail-8.8.7/RELEASE_NOTES	Sun Aug  3 10:24:40 1997
--- sendmail-8.8.8/RELEASE_NOTES	Fri Oct 24 15:48:14 1997
***************
*** 1,10 ****
  			SENDMAIL RELEASE NOTES
! 	     @(#)RELEASE_NOTES	8.8.7.7 (Berkeley) 8/3/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.7/8.8.7	97/08/03
  	If using Berkeley DB on systems without O_EXLOCK (open a file with
--- 1,149 ----
  			SENDMAIL RELEASE NOTES
! 	     @(#)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
diff -cr sendmail-8.8.7/cf/README sendmail-8.8.8/cf/README
*** sendmail-8.8.7/cf/README	Sun Jul  6 14:58:12 1997
--- sendmail-8.8.8/cf/README	Tue Sep 23 08:42:00 1997
***************
*** 4,10 ****
  
  		Eric Allman <eric@CS.Berkeley.EDU>
  
! 		@(#)README	8.122 (Berkeley) 7/6/97
  
  
  This document describes the sendmail configuration files being used
--- 4,10 ----
  
  		Eric Allman <eric@CS.Berkeley.EDU>
  
! 		@(#)README	8.124 (Berkeley) 9/23/97
  
  
  This document describes the sendmail configuration files being used
***************
*** 657,663 ****
  		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
  		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.
--- 657,663 ----
  		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
  		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,1344 ****
  confFROM_HEADER		From:		[$?x$x <$g>$|$g$.] The format of an 
  					internally generated From: address.
  confRECEIVED_HEADER	Received:
! 		[$?sfrom $s .$?_($?s$|from $.$_)
  			$.by $j ($v/$Z)$?r with $r$. id $i$?u
! 			for $u$.;
! 			$b]
  					The format of the Received: header
  					in messages passed through this host.
  					It is unwise to try to change this.
--- 1335,1344 ----
  confFROM_HEADER		From:		[$?x$x <$g>$|$g$.] The format of an 
  					internally generated From: address.
  confRECEIVED_HEADER	Received:
! 		[$?sfrom $s $.$?_($?s$|from $.$_)
  			$.by $j ($v/$Z)$?r with $r$. id $i$?u
! 			for $u; $|;
! 			$.$b]
  					The format of the Received: header
  					in messages passed through this host.
  					It is unwise to try to change this.
diff -cr sendmail-8.8.7/cf/cf/knecht.mc sendmail-8.8.8/cf/cf/knecht.mc
*** sendmail-8.8.7/cf/cf/knecht.mc	Mon Jul  7 10:25:17 1997
--- sendmail-8.8.8/cf/cf/knecht.mc	Mon Oct 20 15:53:54 1997
***************
*** 38,44 ****
  #
  
  divert(0)dnl
! VERSIONID(`@(#)knecht.mc	8.13 (Berkeley) 7/7/97')
  OSTYPE(bsd4.4)dnl
  DOMAIN(generic)dnl
  define(`confFORWARD_PATH', `$z/.forward.$w:$z/.forward+$h:$z/.forward')dnl
--- 38,44 ----
  #
  
  divert(0)dnl
! 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,53 ****
--- 48,54 ----
  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,125 ****
  # handle case of no @domain on address
  R<?> $*			$: < ? $&{client_name} > $1
  R<?> $*			$@ <OK>				...local unqualed ok
! R<? $+> $*		$#error $: 551 Domain name required
  							...remote is not
  R<$+> $*		$#error $: $1			error from domaincheck
  
--- 120,126 ----
  # handle case of no @domain on address
  R<?> $*			$: < ? $&{client_name} > $1
  R<?> $*			$@ <OK>				...local unqualed ok
! R<? $+> $*		$#error $: 550 Domain name required
  							...remote is not
  R<$+> $*		$#error $: $1			error from domaincheck
  
diff -cr sendmail-8.8.7/cf/m4/version.m4 sendmail-8.8.8/cf/m4/version.m4
*** sendmail-8.8.7/cf/m4/version.m4	Fri Aug  1 17:38:35 1997
--- sendmail-8.8.8/cf/m4/version.m4	Fri Oct 24 15:53:12 1997
***************
*** 32,39 ****
  # 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')
  #
  divert(0)
  # Configuration version number
! DZ8.8.7`'ifdef(`confCF_VERSION', `/confCF_VERSION')
--- 32,39 ----
  # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  # SUCH DAMAGE.
  #
! VERSIONID(`@(#)version.m4	8.8.8.1 (Berkeley) 10/24/97')
  #
  divert(0)
  # Configuration version number
! DZ8.8.8`'ifdef(`confCF_VERSION', `/confCF_VERSION')
diff -cr sendmail-8.8.7/cf/ostype/sinix.m4 sendmail-8.8.8/cf/ostype/sinix.m4
*** sendmail-8.8.7/cf/ostype/sinix.m4	Mon Apr  7 14:39:43 1997
--- sendmail-8.8.8/cf/ostype/sinix.m4	Sat Sep 13 12:02:27 1997
***************
*** 34,45 ****
  #
  
  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
--- 34,42 ----
  #
  
  divert(0)
! 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
diff -cr sendmail-8.8.7/contrib/expn.pl sendmail-8.8.8/contrib/expn.pl
*** sendmail-8.8.7/contrib/expn.pl	Sat Oct 28 12:51:15 1995
--- sendmail-8.8.8/contrib/expn.pl	Sat Sep 13 10:33:49 1997
***************
*** 6,24 ****
  #       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';
  
  # system requirements:
  # 	must have 'nslookup' and 'hostname' programs.
  
! # $Header: /home/muir/bin/RCS/expn,v 3.9 1995/10/02 17:51:35 muir Exp muir $
  
  # TODO:
  #	less magic should apply to command-line addresses
  #	less magic should apply to local addresses
  #	add magic to deal with cross-domain cnames
  
  # Checklist: (hard addresses)
  #	250 Kimmo Suominen <"|/usr/local/mh/lib/slocal -user kim"@grendel.tac.nyc.ny.us>
--- 6,24 ----
  #       THIS PROGRAM IS ITS OWN MANUAL PAGE.  INSTALL IN man & bin.
  #
  
! use 5.001;
! use IO::Socket;
  
  # system requirements:
  # 	must have 'nslookup' and 'hostname' programs.
  
! # $Header: /home/muir/bin/RCS/expn,v 3.11 1997/09/10 08:14:02 muir Exp muir $
  
  # 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,102 ****
  # $debug : -d
  # $valid : -a
  # $levels : -1
! # S : the socket connection to $server
  
  $have_nslookup = 1;	# we have the nslookup program
  $port = 'smtp';
--- 96,102 ----
  # $debug : -d
  # $valid : -a
  # $levels : -1
! # $S : the socket connection to $server
  
  $have_nslookup = 1;	# we have the nslookup program
  $port = 'smtp';
***************
*** 143,154 ****
  	}
  }
  
- $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);
--- 143,148 ----
***************
*** 177,191 ****
  				
  	# 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)) {
  		$0 = "$av0 - $server: could not connect: $!\n";
  		$emsg = $!;
  		unless (&mxlookup(0,$server,"$server: could not connect: $!",*users)) {
--- 171,183 ----
  				
  	# get a connection, or look for an mx
  	$0 = "$av0 - socket to $server";
! 
! 	$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)) {
***************
*** 193,204 ****
  		}
  		next HOST;
  	}
! 	select((select(S),$| = 1)[0]); # don't buffer output to S
  
  	# read the greeting
  	$0 = "$av0 - talking to $server";
  	&alarm("greeting with $server",'');
! 	while(<S>) {
  		alarm(0);
  		print if $watch;
  		if (/^(\d+)([- ])/) {
--- 185,196 ----
  		}
  		next HOST;
  	}
! 	$S->autoflush(1);
  
  	# read the greeting
  	$0 = "$av0 - talking to $server";
  	&alarm("greeting with $server",'');
! 	while(<$S>) {
  		alarm(0);
  		print if $watch;
  		if (/^(\d+)([- ])/) {
***************
*** 210,216 ****
  				print STDERR "$server: NOT 220 greeting: $_"
  					if ($debug || $vw);
  				if (&mxlookup(0,$server,"$server: did not respond with a 220 greeting",*users)) {
! 					close(S);
  					next HOST;
  				}
  			}
--- 202,208 ----
  				print STDERR "$server: NOT 220 greeting: $_"
  					if ($debug || $vw);
  				if (&mxlookup(0,$server,"$server: did not respond with a 220 greeting",*users)) {
! 					close($S);
  					next HOST;
  				}
  			}
***************
*** 222,228 ****
  			unless (&mxlookup(0,$server,"$server: did not respond with SMTP codes",*users)) {
  				&giveup('',"$server: did not talk SMTP");
  			}
! 			close(S);
  			next HOST;
  		}
  		&alarm("greeting with $server",'');
--- 214,220 ----
  			unless (&mxlookup(0,$server,"$server: did not respond with SMTP codes",*users)) {
  				&giveup('',"$server: did not talk SMTP");
  			}
! 			close($S);
  			next HOST;
  		}
  		&alarm("greeting with $server",'');
***************
*** 233,239 ****
  	$0 = "$av0 - sending helo to $server";
  	&alarm("sending helo to $server","");
  	&ps("helo $hostname");
! 	while(<S>) {
  		print if $watch;
  		last if /^\d+ /;
  	}
--- 225,231 ----
  	$0 = "$av0 - sending helo to $server";
  	&alarm("sending helo to $server","");
  	&ps("helo $hostname");
! 	while(<$S>) {
  		print if $watch;
  		last if /^\d+ /;
  	}
***************
*** 395,405 ****
  	&alarm("sending 'quit' to $server",'');
  	$0 = "$av0 - sending 'quit' to $server";
  	&ps("quit");
! 	while(<S>) {
  		print if $watch;
  		last if /^\d+ /;
  	}
! 	close(S);
  	alarm(0);
  }
  
--- 387,397 ----
  	&alarm("sending 'quit' to $server",'');
  	$0 = "$av0 - sending 'quit' to $server";
  	&ps("quit");
! 	while(<$S>) {
  		print if $watch;
  		last if /^\d+ /;
  	}
! 	close($S);
  	alarm(0);
  }
  
***************
*** 604,610 ****
  			&alarm("${c}'ing $try_u on $server",'',$u);
  			&ps("$c $try_u");
  			alarm(0);
! 			$s = <S>;
  			if ($s eq '') {
  				return "$server: lost connection";
  			}
--- 596,602 ----
  			&alarm("${c}'ing $try_u on $server",'',$u);
  			&ps("$c $try_u");
  			alarm(0);
! 			$s = <$S>;
  			if ($s eq '') {
  				return "$server: lost connection";
  			}
***************
*** 905,911 ****
  {
  	local($p) = @_;
  	print ">>> $p\n" if $watch;
! 	print S "$p\n";
  }
  # return case-adjusted name for a host (for comparison purposes)
  sub trhost 
--- 897,903 ----
  {
  	local($p) = @_;
  	print ">>> $p\n" if $watch;
! 	print $S "$p\n";
  }
  # return case-adjusted name for a host (for comparison purposes)
  sub trhost 
***************
*** 1207,1213 ****
  	local($done,$watch) = @_;
  	local(@resp);
  	print $s if $watch;
! 	while(($done eq "-") && ($s = <S>) && ($s =~ /^\d+([- ])/)) {
  		print $s if $watch;
  		$done = $1;
  		push(@resp,$s);
--- 1199,1205 ----
  	local($done,$watch) = @_;
  	local(@resp);
  	print $s if $watch;
! 	while(($done eq "-") && ($s = <$S>) && ($s =~ /^\d+([- ])/)) {
  		print $s if $watch;
  		$done = $1;
  		push(@resp,$s);
diff -cr sendmail-8.8.7/doc/op/op.me sendmail-8.8.8/doc/op/op.me
*** sendmail-8.8.7/doc/op/op.me	Thu Jul  3 07:06:25 1997
--- sendmail-8.8.8/doc/op/op.me	Mon Oct 20 12:33:12 1997
***************
*** 30,36 ****
  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  .\" SUCH DAMAGE.
  .\"
! .\"	@(#)op.me	8.105 (Berkeley) 7/3/97
  .\"
  .\" eqn op.me | pic | troff -me
  .eh 'SMM:08-%''Sendmail Installation and Operation Guide'
--- 30,36 ----
  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  .\" SUCH DAMAGE.
  .\"
! .\"	@(#)op.me	8.106 (Berkeley) 10/20/97
  .\"
  .\" eqn op.me | pic | troff -me
  .eh 'SMM:08-%''Sendmail Installation and Operation Guide'
***************
*** 67,73 ****
  Eric Allman
  eric@Sendmail.ORG
  .sp
! Version 8.105
  .sp
  For Sendmail Version 8.8
  .)l
--- 67,73 ----
  Eric Allman
  eric@Sendmail.ORG
  .sp
! Version 8.106
  .sp
  For Sendmail Version 8.8
  .)l
***************
*** 4128,4133 ****
--- 4128,4135 ----
  .ip h
  Upper case should be preserved in host names
  for this mailer.
+ .ip i
+ Do User Database rewriting on envelope sender address.
  .ip I
  This mailer will be speaking SMTP
  to another
***************
*** 8185,8191 ****
  .\".sz 10
  .\"Eric Allman
  .\".sp
! .\"Version 8.105
  .\".ce 0
  .bp 3
  .ce
--- 8187,8193 ----
  .\".sz 10
  .\"Eric Allman
  .\".sp
! .\"Version 8.106
  .\".ce 0
  .bp 3
  .ce
diff -cr sendmail-8.8.7/makemap/makemap.c sendmail-8.8.8/makemap/makemap.c
*** sendmail-8.8.7/makemap/makemap.c	Thu Jul 10 06:57:34 1997
--- sendmail-8.8.8/makemap/makemap.c	Tue Sep 23 09:11:10 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)makemap.c	8.37 (Berkeley) 7/10/97";
  #endif /* not lint */
  
  #include <sys/types.h>
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)makemap.c	8.38 (Berkeley) 9/23/97";
  #endif /* not lint */
  
  #include <sys/types.h>
***************
*** 363,375 ****
  				pbuf, errstring(st));
  			exit(EX_CANTCREAT);
  		}
- 		if (std.st_dev == stp.st_dev && std.st_ino == stp.st_ino)
- 		{
- 			fprintf(stderr,
- 				"%s: cannot run with GDBM\n",
- 				mapname);
- 			exit(EX_CONFIG);
- 		}
  		break;
  #endif
  	  default:
--- 363,368 ----
***************
*** 407,412 ****
--- 400,413 ----
  #ifdef NDBM
  	  case T_DBM:
  		dbp.dbm = dbm_open(mapname, mode, 0644);
+ 		if (dbp.dbm != NULL &&
+ 		    dbm_dirfno(dbp.dbm) == dbm_pagfno(dbp.dbm))
+ 		{
+ 			fprintf(stderr, "dbm map %s: cannot run with GDBM\n",
+ 				mapname);
+ 			dbm_close(dbp.dbm);
+ 			exit(EX_CONFIG);
+ 		}
  		if (!ignoresafeties && dbp.dbm != NULL &&
  		    (filechanged(dbuf, dbm_dirfno(dbp.dbm), &std, sff) ||
  		     filechanged(pbuf, dbm_pagfno(dbp.dbm), &stp, sff)))
diff -cr sendmail-8.8.7/smrsh/smrsh.c sendmail-8.8.8/smrsh/smrsh.c
*** sendmail-8.8.7/smrsh/smrsh.c	Wed Sep 25 08:13:59 1996
--- sendmail-8.8.8/smrsh/smrsh.c	Sun Oct 19 16:04:08 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)smrsh.c	8.4 (Berkeley) 11/11/95";
  #endif /* not lint */
  
  /*
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)smrsh.c	8.5 (Berkeley) 10/19/97";
  #endif /* not lint */
  
  /*
***************
*** 76,81 ****
--- 76,82 ----
  #endif
  #include <sysexits.h>
  #include <syslog.h>
+ #include <stdlib.h>
  
  /* directory in which all commands must reside */
  #ifndef CMDDIR
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.386BSD sendmail-8.8.8/src/Makefiles/Makefile.386BSD
*** sendmail-8.8.7/src/Makefiles/Makefile.386BSD	Fri Mar 28 09:06:39 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.386BSD	Thu Aug  7 12:29:55 1997
***************
*** 1,4 ****
! #	@(#)Makefile.386BSD	8.5 (Berkeley) 3/28/97
  
  PROG=	sendmail
  
--- 1,4 ----
! #	@(#)Makefile.386BSD	8.6 (Berkeley) 8/7/97
  
  PROG=	sendmail
  
***************
*** 32,38 ****
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
--- 32,38 ----
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.A-UX sendmail-8.8.8/src/Makefiles/Makefile.A-UX
*** sendmail-8.8.7/src/Makefiles/Makefile.A-UX	Mon Apr  7 10:20:32 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.A-UX	Thu Aug  7 12:29:56 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.A-UX	8.15 (Berkeley) 3/29/97
  #
  #  Tested on A/UX 3.1.1.
  #
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.A-UX	8.16 (Berkeley) 8/7/97
  #
  #  Tested on A/UX 3.1.1.
  #
***************
*** 68,74 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 68,74 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.AIX sendmail-8.8.8/src/Makefiles/Makefile.AIX
*** sendmail-8.8.7/src/Makefiles/Makefile.AIX	Fri Mar 28 09:06:39 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.AIX	Thu Aug  7 12:29:55 1997
***************
*** 7,13 ****
  #
  #  This has been tested on AIX 3.1.5 and 3.2.3e.
  #
! #	@(#)Makefile.AIX	8.12 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on AIX 3.1.5 and 3.2.3e.
  #
! #	@(#)Makefile.AIX	8.13 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 70,76 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	system
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	system
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.AIX.2 sendmail-8.8.8/src/Makefiles/Makefile.AIX.2
*** sendmail-8.8.7/src/Makefiles/Makefile.AIX.2	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.AIX.2	Thu Aug  7 12:29:57 1997
***************
*** 7,13 ****
  #
  #  This has been tested on AIX/RT V2.2.1  OPSYS level 1773
  #
! #	@(#)Makefile.AIX.2	8.4 (Berkeley) 3/28/97
  #
  
  SMROOT=	/usr/local/newmail
--- 7,13 ----
  #
  #  This has been tested on AIX/RT V2.2.1  OPSYS level 1773
  #
! #	@(#)Makefile.AIX.2	8.5 (Berkeley) 8/7/97
  #
  
  SMROOT=	/usr/local/newmail
***************
*** 74,80 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	system
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 74,80 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	system
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.AIX.4 sendmail-8.8.8/src/Makefiles/Makefile.AIX.4
*** sendmail-8.8.7/src/Makefiles/Makefile.AIX.4	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.AIX.4	Thu Aug  7 12:29:57 1997
***************
*** 70,76 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	system
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	system
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.BSD-OS sendmail-8.8.8/src/Makefiles/Makefile.BSD-OS
*** sendmail-8.8.7/src/Makefiles/Makefile.BSD-OS	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.BSD-OS	Thu Aug  7 12:29:57 1997
***************
*** 1,7 ****
  #
  #  This Makefile is for BSDI boxes running BSD-OS (formerly BSD-386).
  #
! #	@(#)Makefile.BSD-OS	8.6 (Berkeley) 3/28/97
  #
  
  PROG=	sendmail
--- 1,7 ----
  #
  #  This Makefile is for BSDI boxes running BSD-OS (formerly BSD-386).
  #
! #	@(#)Makefile.BSD-OS	8.7 (Berkeley) 8/7/97
  #
  
  PROG=	sendmail
***************
*** 26,32 ****
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
--- 26,32 ----
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.BSD43 sendmail-8.8.8/src/Makefiles/Makefile.BSD43
*** sendmail-8.8.7/src/Makefiles/Makefile.BSD43	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.BSD43	Thu Aug  7 12:29:55 1997
***************
*** 11,17 ****
  #	It should also work on UMIPS-BSD from MIPS, if you still have
  #	any lying around.
  #
! #	@(#)Makefile.BSD43	8.10 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 11,17 ----
  #	It should also work on UMIPS-BSD from MIPS, if you still have
  #	any lying around.
  #
! #	@(#)Makefile.BSD43	8.11 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 70,76 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.CLIX sendmail-8.8.8/src/Makefiles/Makefile.CLIX
*** sendmail-8.8.7/src/Makefiles/Makefile.CLIX	Tue Jun 10 07:15:13 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.CLIX	Thu Aug  7 12:29:55 1997
***************
*** 8,14 ****
  #
  #  --Paul Southworth <pauls@cic.net>
  #
! #	@(#)Makefile.CLIX	8.8 (Berkeley) 6/10/97
  #
  
  # make sure the shell constructs below use the right shell
--- 8,14 ----
  #
  #  --Paul Southworth <pauls@cic.net>
  #
! #	@(#)Makefile.CLIX	8.9 (Berkeley) 8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 69,75 ****
  INSTALL=cp
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail # aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=cp
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail # aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.CSOS sendmail-8.8.8/src/Makefiles/Makefile.CSOS
*** sendmail-8.8.7/src/Makefiles/Makefile.CSOS	Fri Mar 28 09:06:41 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.CSOS	Thu Aug  7 12:29:56 1997
***************
*** 5,11 ****
  #
  #	Contributed by Scott Bolte <scott@craycos.com>.
  #
! #	@(#)Makefile.CSOS	8.8	(Berkeley)	3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 5,11 ----
  #
  #	Contributed by Scott Bolte <scott@craycos.com>.
  #
! #	@(#)Makefile.CSOS	8.9	(Berkeley)	8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 68,74 ****
  INSTALL=cpset
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  SHELL=	/bin/sh
  
  ALL=	sendmail
--- 68,74 ----
  INSTALL=cpset
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  SHELL=	/bin/sh
  
  ALL=	sendmail
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.ConvexOS sendmail-8.8.8/src/Makefiles/Makefile.ConvexOS
*** sendmail-8.8.7/src/Makefiles/Makefile.ConvexOS	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.ConvexOS	Thu Aug  7 12:29:55 1997
***************
*** 7,13 ****
  #
  #  This has been tested on CxOS 11.0 beta 1 and 10.x.
  #
! #	@(#)Makefile.ConvexOS	8.13 (Berkeley) 3/28/97
  #
  
  
--- 7,13 ----
  #
  #  This has been tested on CxOS 11.0 beta 1 and 10.x.
  #
! #	@(#)Makefile.ConvexOS	8.14 (Berkeley) 8/7/97
  #
  
  
***************
*** 69,75 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.Dell sendmail-8.8.8/src/Makefiles/Makefile.Dell
*** sendmail-8.8.7/src/Makefiles/Makefile.Dell	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.Dell	Thu Aug  7 12:29:55 1997
***************
*** 9,15 ****
  #	<kim@grendel.lut.fi> -- I haven't tested this myself.  It may
  #	work on other SVR4 ports.
  #
! #	@(#)Makefile.Dell	8.9 (Berkeley) 3/28/97
  #
  
  # make sure the shell constructs below use the right shell
--- 9,15 ----
  #	<kim@grendel.lut.fi> -- I haven't tested this myself.  It may
  #	work on other SVR4 ports.
  #
! #	@(#)Makefile.Dell	8.10 (Berkeley) 8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 71,77 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.DomainOS sendmail-8.8.8/src/Makefiles/Makefile.DomainOS
*** sendmail-8.8.7/src/Makefiles/Makefile.DomainOS	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.DomainOS	Thu Aug  7 12:29:55 1997
***************
*** 7,13 ****
  #
  #  This has been tested on DomainOS 10.3.5
  #
! #	@(#)Makefile.DomainOS	8.12 (Berkeley) 3/28/97
  #
  #
  
--- 7,13 ----
  #
  #  This has been tested on DomainOS 10.3.5
  #
! #	@(#)Makefile.DomainOS	8.13 (Berkeley) 8/7/97
  #
  #
  
***************
*** 75,81 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 75,81 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.EWS-UX_V sendmail-8.8.8/src/Makefiles/Makefile.EWS-UX_V
*** sendmail-8.8.7/src/Makefiles/Makefile.EWS-UX_V	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.EWS-UX_V	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #  This has been tested on NEC EWS-UX/V 4.2
  #
! #	@(#)Makefile.EWS-UX_V	8.7 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on NEC EWS-UX/V 4.2
  #
! #	@(#)Makefile.EWS-UX_V	8.8 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 72,78 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 72,78 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.FreeBSD sendmail-8.8.8/src/Makefiles/Makefile.FreeBSD
*** sendmail-8.8.7/src/Makefiles/Makefile.FreeBSD	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.FreeBSD	Thu Aug  7 12:29:55 1997
***************
*** 1,7 ****
  #
  #  Makefile for FreeBSD
  #
! #	@(#)Makefile.FreeBSD	8.7 (Berkeley) 3/28/97
  
  PROG=	sendmail
  
--- 1,7 ----
  #
  #  Makefile for FreeBSD
  #
! #	@(#)Makefile.FreeBSD	8.8 (Berkeley) 8/7/97
  
  PROG=	sendmail
  
***************
*** 39,45 ****
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
--- 39,45 ----
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.HP-UX sendmail-8.8.8/src/Makefiles/Makefile.HP-UX
*** sendmail-8.8.7/src/Makefiles/Makefile.HP-UX	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.HP-UX	Thu Aug  7 12:29:55 1997
***************
*** 8,14 ****
  #  This has been tested on HP-UX 9.05 on 7xx series and HP-UX 9.04
  #  on 8xx series.
  #
! #	@(#)Makefile.HP-UX	8.16 (Berkeley) 3/28/97
  #
  
  CC=	cc -Aa -D_HPUX_SOURCE
--- 8,14 ----
  #  This has been tested on HP-UX 9.05 on 7xx series and HP-UX 9.04
  #  on 8xx series.
  #
! #	@(#)Makefile.HP-UX	8.17 (Berkeley) 8/7/97
  #
  
  CC=	cc -Aa -D_HPUX_SOURCE
***************
*** 69,75 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.HP-UX.10.x sendmail-8.8.8/src/Makefiles/Makefile.HP-UX.10.x
*** sendmail-8.8.7/src/Makefiles/Makefile.HP-UX.10.x	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.HP-UX.10.x	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #  This has been tested on HP-UX 10.x.  Changes for 10.0 contributed
  #  by John Beck of Hewlett-Packard.
  #
! #	@(#)Makefile.HP-UX.10.x	8.10 (Berkeley) 3/28/97
  #
  
  CC=	cc -Aa -D_HPUX_SOURCE
--- 8,14 ----
  #  This has been tested on HP-UX 10.x.  Changes for 10.0 contributed
  #  by John Beck of Hewlett-Packard.
  #
! #	@(#)Makefile.HP-UX.10.x	8.11 (Berkeley) 8/7/97
  #
  
  CC=	cc -Aa -D_HPUX_SOURCE
***************
*** 69,75 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.IRIX sendmail-8.8.8/src/Makefiles/Makefile.IRIX
*** sendmail-8.8.7/src/Makefiles/Makefile.IRIX	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.IRIX	Thu Aug  7 12:29:55 1997
***************
*** 7,13 ****
  #
  #  This has been tested on IRIX 4.0.4.
  #
! #	@(#)Makefile.IRIX	8.14 (Berkeley) 3/28/97
  #
  SHELL=	/bin/sh
  
--- 7,13 ----
  #
  #  This has been tested on IRIX 4.0.4.
  #
! #	@(#)Makefile.IRIX	8.15 (Berkeley) 8/7/97
  #
  SHELL=	/bin/sh
  
***************
*** 65,71 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 65,71 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.IRIX64.6.0 sendmail-8.8.8/src/Makefiles/Makefile.IRIX64.6.0
*** sendmail-8.8.7/src/Makefiles/Makefile.IRIX64.6.0	Tue Jun 10 16:50:07 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.IRIX64.6.0	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #  This has been tested on IRIX64 6.0.
  #  Changes from Mark R. Levinson <ml@cvdev.rochester.edu>.
  #
! #	@(#)Makefile.IRIX64.6.0	8.7 (Berkeley) 3/28/97
  #
  SHELL=	/bin/sh
  
--- 8,14 ----
  #  This has been tested on IRIX64 6.0.
  #  Changes from Mark R. Levinson <ml@cvdev.rochester.edu>.
  #
! #	@(#)Makefile.IRIX64.6.0	8.8 (Berkeley) 8/7/97
  #
  SHELL=	/bin/sh
  
***************
*** 65,71 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 65,71 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.IRIX64.6.1 sendmail-8.8.8/src/Makefiles/Makefile.IRIX64.6.1
*** sendmail-8.8.7/src/Makefiles/Makefile.IRIX64.6.1	Tue Jun 10 16:50:07 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.IRIX64.6.1	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #  This has been tested on IRIX64 6.0.
  #  Changes from Mark R. Levinson <ml@cvdev.rochester.edu>.
  #
! #	@(#)Makefile.IRIX64.6.0	8.7 (Berkeley) 3/28/97
  #
  SHELL=	/bin/sh
  
--- 8,14 ----
  #  This has been tested on IRIX64 6.0.
  #  Changes from Mark R. Levinson <ml@cvdev.rochester.edu>.
  #
! #	@(#)Makefile.IRIX64.6.0	8.8 (Berkeley) 8/7/97
  #
  SHELL=	/bin/sh
  
***************
*** 65,71 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 65,71 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.ISC sendmail-8.8.8/src/Makefiles/Makefile.ISC
*** sendmail-8.8.7/src/Makefiles/Makefile.ISC	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.ISC	Thu Aug  7 12:29:56 1997
***************
*** 3,9 ****
  #
  #	Contributed by J.J. Bailey <jjb@jagware.bcc.com>
  #
! #	@(#)Makefile.ISC	8.10	(Berkeley)	3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 3,9 ----
  #
  #	Contributed by J.J. Bailey <jjb@jagware.bcc.com>
  #
! #	@(#)Makefile.ISC	8.11	(Berkeley)	8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 62,68 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 62,68 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.KSR sendmail-8.8.8/src/Makefiles/Makefile.KSR
*** sendmail-8.8.7/src/Makefiles/Makefile.KSR	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.KSR	Thu Aug  7 12:29:56 1997
***************
*** 8,14 ****
  #  This has been tested on KSR OS 1.2.2.  Contributed by Todd C. Miller
  #	<Todd.Miller@cs.colorado.edu>
  #
! #	@(#)Makefile.KSR	8.4 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 8,14 ----
  #  This has been tested on KSR OS 1.2.2.  Contributed by Todd C. Miller
  #	<Todd.Miller@cs.colorado.edu>
  #
! #	@(#)Makefile.KSR	8.5 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 66,72 ****
  INSTALL=installbsd
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 66,72 ----
  INSTALL=installbsd
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.LUNA sendmail-8.8.8/src/Makefiles/Makefile.LUNA
*** sendmail-8.8.7/src/Makefiles/Makefile.LUNA	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.LUNA	Thu Aug  7 12:29:56 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.LUNA	8.7 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.LUNA	8.8 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 67,73 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 67,73 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.Linux sendmail-8.8.8/src/Makefiles/Makefile.Linux
*** sendmail-8.8.7/src/Makefiles/Makefile.Linux	Sun Jul  6 11:22:57 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.Linux	Thu Aug  7 12:29:55 1997
***************
*** 20,26 ****
  #  to ENVDEF.  If you are running libc < 4.4.4, you must use -DHASSNPRINTF=0
  #  (or upgrade your libc -- an even better idea!).
  #
! #	@(#)Makefile.Linux	8.19 (Berkeley) 7/6/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 20,26 ----
  #  to ENVDEF.  If you are running libc < 4.4.4, you must use -DHASSNPRINTF=0
  #  (or upgrade your libc -- an even better idea!).
  #
! #	@(#)Makefile.Linux	8.20 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 81,87 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 81,87 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.Linux.ppc sendmail-8.8.8/src/Makefiles/Makefile.Linux.ppc
*** sendmail-8.8.7/src/Makefiles/Makefile.Linux.ppc	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.Linux.ppc	Thu Aug  7 12:29:57 1997
***************
*** 22,28 ****
  #
  #  This Makefile contributed by Paul DuBois <dubois@primate.wisc.edu>.
  #
! #	@(#)Makefile.Linux.ppc	8.3 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 22,28 ----
  #
  #  This Makefile contributed by Paul DuBois <dubois@primate.wisc.edu>.
  #
! #	@(#)Makefile.Linux.ppc	8.4 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 83,89 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 83,89 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.Mach386 sendmail-8.8.8/src/Makefiles/Makefile.Mach386
*** sendmail-8.8.7/src/Makefiles/Makefile.Mach386	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.Mach386	Thu Aug  7 12:29:55 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.Mach386	8.9 (Berkeley) 3/28/97
  #
  
  CC=	gcc
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.Mach386	8.10 (Berkeley) 8/7/97
  #
  
  CC=	gcc
***************
*** 66,72 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 66,72 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NCR.MP-RAS.2.x sendmail-8.8.8/src/Makefiles/Makefile.NCR.MP-RAS.2.x
*** sendmail-8.8.7/src/Makefiles/Makefile.NCR.MP-RAS.2.x	Mon Jul  7 13:49:58 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NCR.MP-RAS.2.x	Thu Aug  7 12:29:56 1997
***************
*** 8,14 ****
  #	NCR 3000 support from Kevin Darcy <kevin@tech.mis.cfc.com>
  #		and Tom Moore <tmoore@fievel.DaytonOH.NCR.COM>.
  #
! #	@(#)Makefile.NCR.MP-RAS.2.x	8.16 (Berkeley) 7/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 8,14 ----
  #	NCR 3000 support from Kevin Darcy <kevin@tech.mis.cfc.com>
  #		and Tom Moore <tmoore@fievel.DaytonOH.NCR.COM>.
  #
! #	@(#)Makefile.NCR.MP-RAS.2.x	8.17 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 67,73 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 67,73 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NCR.MP-RAS.3.x sendmail-8.8.8/src/Makefiles/Makefile.NCR.MP-RAS.3.x
*** sendmail-8.8.7/src/Makefiles/Makefile.NCR.MP-RAS.3.x	Mon Jul  7 13:49:58 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NCR.MP-RAS.3.x	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #	NCR SVR4 MP-RAS 3.x support from
  #	Tom Moore <tmoore@fievel.DaytonOH.NCR.COM>.
  #
! #	@(#)Makefile.NCR.MP-RAS.3.x	8.6 (Berkeley) 7/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 8,14 ----
  #	NCR SVR4 MP-RAS 3.x support from
  #	Tom Moore <tmoore@fievel.DaytonOH.NCR.COM>.
  #
! #	@(#)Makefile.NCR.MP-RAS.3.x	8.7 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 67,73 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 67,73 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NEWS-OS.4.x sendmail-8.8.8/src/Makefiles/Makefile.NEWS-OS.4.x
*** sendmail-8.8.7/src/Makefiles/Makefile.NEWS-OS.4.x	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NEWS-OS.4.x	Thu Aug  7 12:29:57 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.NEWS-OS.4.x	8.8 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.NEWS-OS.4.x	8.9 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 70,76 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NEWS-OS.6.x sendmail-8.8.8/src/Makefiles/Makefile.NEWS-OS.6.x
*** sendmail-8.8.7/src/Makefiles/Makefile.NEWS-OS.6.x	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NEWS-OS.6.x	Thu Aug  7 12:29:57 1997
***************
*** 7,13 ****
  #
  #  This has been tested on NEWS-OS 6.0.3
  #
! #	@(#)Makefile.NEWS-OS.6.x	8.7 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on NEWS-OS 6.0.3
  #
! #	@(#)Makefile.NEWS-OS.6.x	8.8 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 74,80 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 74,80 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NeXT.2.x sendmail-8.8.8/src/Makefiles/Makefile.NeXT.2.x
*** sendmail-8.8.7/src/Makefiles/Makefile.NeXT.2.x	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NeXT.2.x	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #  This has been tested on NeXT 2.1.
  #
! #	@(#)Makefile.NeXT.2.x	8.12 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on NeXT 2.1.
  #
! #	@(#)Makefile.NeXT.2.x	8.13 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 68,74 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 68,74 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NeXT.3.x sendmail-8.8.8/src/Makefiles/Makefile.NeXT.3.x
*** sendmail-8.8.7/src/Makefiles/Makefile.NeXT.3.x	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NeXT.3.x	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #  This has been tested on NEXTSTEP 3.3.
  #
! #	@(#)Makefile.NeXT.3.x	8.7 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on NEXTSTEP 3.3.
  #
! #	@(#)Makefile.NeXT.3.x	8.8 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 76,82 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 76,82 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NetBSD sendmail-8.8.8/src/Makefiles/Makefile.NetBSD
*** sendmail-8.8.7/src/Makefiles/Makefile.NetBSD	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NetBSD	Thu Aug  7 12:29:56 1997
***************
*** 1,7 ****
  #
  #  NetBSD Makefile
  #
! #	@(#)Makefile.NetBSD	8.6 (Berkeley) 3/28/97
  #	@Id: Makefile.NetBSD,v 1.3 1994/02/01 05:33:44 glass Exp $
  #
  
--- 1,7 ----
  #
  #  NetBSD Makefile
  #
! #	@(#)Makefile.NetBSD	8.7 (Berkeley) 8/7/97
  #	@Id: Makefile.NetBSD,v 1.3 1994/02/01 05:33:44 glass Exp $
  #
  
***************
*** 36,42 ****
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
--- 36,42 ----
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.NonStop-UX sendmail-8.8.8/src/Makefiles/Makefile.NonStop-UX
*** sendmail-8.8.7/src/Makefiles/Makefile.NonStop-UX	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.NonStop-UX	Thu Aug  7 12:29:56 1997
***************
*** 9,15 ****
  #	(I don't think this actually compiles cleanly -- I had trouble
  #	 integrating Rick's changes.  EPA 6/94)
  #
! #	@(#)Makefile.NonStop-UX	8.8 (Berkeley) 3/28/97
  #
  
  # make sure the shell constructs below use the right shell
--- 9,15 ----
  #	(I don't think this actually compiles cleanly -- I had trouble
  #	 integrating Rick's changes.  EPA 6/94)
  #
! #	@(#)Makefile.NonStop-UX	8.9 (Berkeley) 8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 70,76 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.OSF1 sendmail-8.8.8/src/Makefiles/Makefile.OSF1
*** sendmail-8.8.7/src/Makefiles/Makefile.OSF1	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.OSF1	Fri Oct 24 09:08:04 1997
***************
*** 7,13 ****
  #
  #  This has been tested on OSF/1 1.3
  #
! #	@(#)Makefile.OSF1	8.11 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on OSF/1 1.3
  #
! #	@(#)Makefile.OSF1	8.12 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 70,76 ****
  INSTALL=installbsd
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=installbsd
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.OpenBSD sendmail-8.8.8/src/Makefiles/Makefile.OpenBSD
*** sendmail-8.8.7/src/Makefiles/Makefile.OpenBSD	Wed Jun 25 06:31:39 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.OpenBSD	Thu Aug  7 12:29:57 1997
***************
*** 1,7 ****
  #
  #  OpenBSD Makefile
  #
! #	@(#)Makefile.OpenBSD	8.1 (Berkeley) 6/25/97
  #
  
  PROG=	sendmail
--- 1,7 ----
  #
  #  OpenBSD Makefile
  #
! #	@(#)Makefile.OpenBSD	8.2 (Berkeley) 8/7/97
  #
  
  PROG=	sendmail
***************
*** 35,41 ****
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
--- 35,41 ----
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  beforeinstall:
  #	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.PTX sendmail-8.8.8/src/Makefiles/Makefile.PTX
*** sendmail-8.8.7/src/Makefiles/Makefile.PTX	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.PTX	Thu Aug  7 12:29:56 1997
***************
*** 9,15 ****
  #
  #	From Tim "Pinball Wizard" Wright <timw@sequent.com>.
  #
! #	@(#)Makefile.PTX	8.11 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 9,15 ----
  #
  #	From Tim "Pinball Wizard" Wright <timw@sequent.com>.
  #
! #	@(#)Makefile.PTX	8.12 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 71,77 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.Paragon sendmail-8.8.8/src/Makefiles/Makefile.Paragon
*** sendmail-8.8.7/src/Makefiles/Makefile.Paragon	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.Paragon	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #  This has been tested on OSF/1 1.3
  #
! #	@(#)Makefile.Paragon	8.8 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on OSF/1 1.3
  #
! #	@(#)Makefile.Paragon	8.9 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 66,72 ****
  INSTALL=installbsd
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 66,72 ----
  INSTALL=installbsd
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.PowerUX sendmail-8.8.8/src/Makefiles/Makefile.PowerUX
*** sendmail-8.8.7/src/Makefiles/Makefile.PowerUX	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.PowerUX	Thu Aug  7 12:29:57 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.PowerUX	8.2 (Berkeley) 3/28/97
  #
  #  Harris Nighthawk 6000 series (nh6000) PowerUX Makefile
  #  Bob Miorelli, Pratt & Whitney   <miorelli@pweh.com>
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.PowerUX	8.3 (Berkeley) 8/7/97
  #
  #  Harris Nighthawk 6000 series (nh6000) PowerUX Makefile
  #  Bob Miorelli, Pratt & Whitney   <miorelli@pweh.com>
***************
*** 69,75 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.RISCos sendmail-8.8.8/src/Makefiles/Makefile.RISCos
*** sendmail-8.8.7/src/Makefiles/Makefile.RISCos	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.RISCos	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #	For Mips RISC/os 4.52.
  #
! #	@(#)Makefile.RISCos	8.14 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #	For Mips RISC/os 4.52.
  #
! #	@(#)Makefile.RISCos	8.15 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 69,75 ****
  INSTALL=/usr/bsd43/bin/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=/usr/bsd43/bin/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.RISCos.4_0 sendmail-8.8.8/src/Makefiles/Makefile.RISCos.4_0
*** sendmail-8.8.7/src/Makefiles/Makefile.RISCos.4_0	Wed Jun 18 19:23:54 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.RISCos.4_0	Thu Aug  7 12:29:57 1997
***************
*** 10,16 ****
  # by Harlan Stenn.  I have also found it necessary to set TimeZoneSpec
  # in the *.mc file, or sendmail doesn't get the right offset from GMT.
  #
! #	@(#)Makefile.RISCos.4_0	8.1 (Berkeley) 6/18/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 10,16 ----
  # by Harlan Stenn.  I have also found it necessary to set TimeZoneSpec
  # in the *.mc file, or sendmail doesn't get the right offset from GMT.
  #
! #	@(#)Makefile.RISCos.4_0	8.2 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 72,78 ****
  INSTALL=/etc/mipsinstall
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 72,78 ----
  INSTALL=/etc/mipsinstall
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SCO sendmail-8.8.8/src/Makefiles/Makefile.SCO
*** sendmail-8.8.7/src/Makefiles/Makefile.SCO	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SCO	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #  This has been tested on SCO.
  #
! #	@(#)Makefile.SCO	8.11 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on SCO.
  #
! #	@(#)Makefile.SCO	8.12 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 63,69 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 63,69 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SCO.4.2 sendmail-8.8.8/src/Makefiles/Makefile.SCO.4.2
*** sendmail-8.8.7/src/Makefiles/Makefile.SCO.4.2	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SCO.4.2	Thu Aug  7 12:29:57 1997
***************
*** 7,13 ****
  #
  #  Tested on SCO rel 4.2 by Marian Durkovic <marian@svf.stuba.sk>.
  #
! #	@(#)Makefile.SCO.4.2	8.5 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  Tested on SCO rel 4.2 by Marian Durkovic <marian@svf.stuba.sk>.
  #
! #	@(#)Makefile.SCO.4.2	8.6 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 63,69 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 63,69 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SCO.5.x sendmail-8.8.8/src/Makefiles/Makefile.SCO.5.x
*** sendmail-8.8.7/src/Makefiles/Makefile.SCO.5.x	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SCO.5.x	Thu Aug  7 12:29:57 1997
***************
*** 7,13 ****
  #
  #  Tested on SCO OpenServer 5 by Keith Reynolds <keithr@sco.COM>.
  #
! #	@(#)Makefile.SCO.5.x	8.5 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  Tested on SCO OpenServer 5 by Keith Reynolds <keithr@sco.COM>.
  #
! #	@(#)Makefile.SCO.5.x	8.6 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 64,70 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 64,70 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SINIX sendmail-8.8.8/src/Makefiles/Makefile.SINIX
*** sendmail-8.8.7/src/Makefiles/Makefile.SINIX	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SINIX	Sat Sep 13 12:00:26 1997
***************
*** 6,12 ****
  #
  #	Contributed by Gerald Rinske <Gerald.Rinske@mch.sni.de>.
  #
! #	@(#)Makefile.SINIX	8.2 (Berkeley) 3/28/97
  #
  
  # make sure the shell constructs below use the right shell
--- 6,12 ----
  #
  #	Contributed by Gerald Rinske <Gerald.Rinske@mch.sni.de>.
  #
! #	@(#)Makefile.SINIX	8.4 (Berkeley) 9/13/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 15,21 ****
  # use O=-O (usual) or O=-g (debugging)
  O=	-O
  
! #CC=	/usr/ccs/bin/cc
  #DESTDIR=/usr/local/sendmail
  
  # define the database mechanism used for alias lookups:
--- 15,21 ----
  # use O=-O (usual) or O=-g (debugging)
  O=	-O
  
! CC=	/usr/bin/cc
  #DESTDIR=/usr/local/sendmail
  
  # define the database mechanism used for alias lookups:
***************
*** 25,31 ****
  # The really old (V7) DBM library is no longer supported.
  # See READ_ME for a description of how these flags interact.
  #
! DBMDEF=	-DNEWDB -DNIS
  
  # environment definitions (e.g., -D_AIX3)
  ENVDEF=	-D__svr4__
--- 25,31 ----
  # The really old (V7) DBM library is no longer supported.
  # See READ_ME for a description of how these flags interact.
  #
! DBMDEF=	-DNEWDB
  
  # environment definitions (e.g., -D_AIX3)
  ENVDEF=	-D__svr4__
***************
*** 36,45 ****
  INCDIRS=-I/usr/local/include
  
  # library directories
! LIBDIRS=-L/usr/local/lib -L/usr/ucblib
  
  # libraries required on your system
! LIBS=	-lc -ldb -lresolv -lsocket -lnsl -lucb
  
  # location of sendmail binary (usually /usr/sbin or /usr/lib)
  BINDIR=	${DESTDIR}/usr/ucblib
--- 36,45 ----
  INCDIRS=-I/usr/local/include
  
  # library directories
! LIBDIRS=-L/usr/local/lib
  
  # libraries required on your system
! LIBS=	-ldb -lsocket -lnsl -lresolv -lelf
  
  # location of sendmail binary (usually /usr/sbin or /usr/lib)
  BINDIR=	${DESTDIR}/usr/ucblib
***************
*** 68,74 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 68,74 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SVR4 sendmail-8.8.8/src/Makefiles/Makefile.SVR4
*** sendmail-8.8.7/src/Makefiles/Makefile.SVR4	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SVR4	Thu Aug  7 12:29:56 1997
***************
*** 9,15 ****
  #	<kim@grendel.lut.fi> -- I haven't tested this myself.  It may
  #	work on other SVR4 ports.
  #
! #	@(#)Makefile.SVR4	8.9 (Berkeley) 3/28/97
  #
  
  # make sure the shell constructs below use the right shell
--- 9,15 ----
  #	<kim@grendel.lut.fi> -- I haven't tested this myself.  It may
  #	work on other SVR4 ports.
  #
! #	@(#)Makefile.SVR4	8.10 (Berkeley) 8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 71,77 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS sendmail-8.8.8/src/Makefiles/Makefile.SunOS
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS	Thu Aug  7 12:29:56 1997
***************
*** 10,16 ****
  #		create empty files stdlib.h and stddef.h in your
  #		compile directory.
  #
! #	@(#)Makefile.SunOS	8.11 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 10,16 ----
  #		create empty files stdlib.h and stddef.h in your
  #		compile directory.
  #
! #	@(#)Makefile.SunOS	8.12 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 70,76 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS.4.0 sendmail-8.8.8/src/Makefiles/Makefile.SunOS.4.0
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS.4.0	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS.4.0	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #	You may find you need to find versions of some routines
  #	such as strcasecmp in order to link this on SunOS 4.0.3.
  #
! #	@(#)Makefile.SunOS.4.0	8.13 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 8,14 ----
  #	You may find you need to find versions of some routines
  #	such as strcasecmp in order to link this on SunOS 4.0.3.
  #
! #	@(#)Makefile.SunOS.4.0	8.14 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 69,75 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.1 sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.1
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.1	Tue Jun 24 14:56:27 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.1	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #  This has been tested on Solaris 2.1 and 2.2.  It DOES NOT WORK on
  #  versions of Solaris after 2.2.
  #
! #	@(#)Makefile.SunOS.5.1	8.20 (Berkeley) 6/24/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 8,14 ----
  #  This has been tested on Solaris 2.1 and 2.2.  It DOES NOT WORK on
  #  versions of Solaris after 2.2.
  #
! #	@(#)Makefile.SunOS.5.1	8.21 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 71,77 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.2 sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.2
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.2	Tue Jun 24 14:56:27 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.2	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #  This has been tested on Solaris 2.1 and 2.2.  It DOES NOT WORK on
  #  versions of Solaris after 2.2.
  #
! #	@(#)Makefile.SunOS.5.1	8.20 (Berkeley) 6/24/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 8,14 ----
  #  This has been tested on Solaris 2.1 and 2.2.  It DOES NOT WORK on
  #  versions of Solaris after 2.2.
  #
! #	@(#)Makefile.SunOS.5.1	8.21 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 71,77 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.3 sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.3
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.3	Tue Jun 24 14:56:27 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.3	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #  This has been tested on Solaris 2.3.
  #
! #	@(#)Makefile.SunOS.5.3	8.20 (Berkeley) 6/24/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on Solaris 2.3.
  #
! #	@(#)Makefile.SunOS.5.3	8.21 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 70,76 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.4 sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.4
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.4	Tue Jun 24 14:56:27 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.4	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #  This has been tested on Solaris 2.4.
  #
! #	@(#)Makefile.SunOS.5.4	8.22 (Berkeley) 6/24/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on Solaris 2.4.
  #
! #	@(#)Makefile.SunOS.5.4	8.23 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 73,79 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 73,79 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.5 sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.5
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.5	Tue Jun 24 14:56:27 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.5	Thu Aug  7 12:29:57 1997
***************
*** 7,13 ****
  #
  #  This has been tested on Solaris 2.5.
  #
! #	@(#)Makefile.SunOS.5.5	8.11 (Berkeley) 6/24/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on Solaris 2.5.
  #
! #	@(#)Makefile.SunOS.5.5	8.12 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 71,77 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.6 sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.6
*** sendmail-8.8.7/src/Makefiles/Makefile.SunOS.5.6	Tue Jun 24 14:56:27 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.SunOS.5.6	Thu Aug  7 12:29:57 1997
***************
*** 7,13 ****
  #
  #  This has been tested on Solaris 2.6.
  #
! #	@(#)Makefile.SunOS.5.6	8.3 (Berkeley) 6/24/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #  This has been tested on Solaris 2.6.
  #
! #	@(#)Makefile.SunOS.5.6	8.4 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 70,76 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.Titan sendmail-8.8.8/src/Makefiles/Makefile.Titan
*** sendmail-8.8.7/src/Makefiles/Makefile.Titan	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.Titan	Thu Aug  7 12:29:56 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.Titan	8.9 (Berkeley) 3/28/97
  #
  
  # put the compiler in BSD mode
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.Titan	8.10 (Berkeley) 8/7/97
  #
  
  # put the compiler in BSD mode
***************
*** 70,76 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 70,76 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.ULTRIX sendmail-8.8.8/src/Makefiles/Makefile.ULTRIX
*** sendmail-8.8.7/src/Makefiles/Makefile.ULTRIX	Fri Mar 28 09:06:41 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.ULTRIX	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #	This has been tested on Ultrix 4.2A and 4.3A.
  #
! #	@(#)Makefile.ULTRIX	8.14 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #	This has been tested on Ultrix 4.2A and 4.3A.
  #
! #	@(#)Makefile.ULTRIX	8.15 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 71,77 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.UMAX sendmail-8.8.8/src/Makefiles/Makefile.UMAX
*** sendmail-8.8.7/src/Makefiles/Makefile.UMAX	Fri Mar 28 09:06:41 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.UMAX	Thu Aug  7 12:29:56 1997
***************
*** 7,13 ****
  #
  #	This has been tested on Encore UMAX V
  #
! #	@(#)Makefile.UMAX	8.9 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 7,13 ----
  #
  #	This has been tested on Encore UMAX V
  #
! #	@(#)Makefile.UMAX	8.10 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 73,79 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 73,79 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.UNICOS sendmail-8.8.8/src/Makefiles/Makefile.UNICOS
*** sendmail-8.8.7/src/Makefiles/Makefile.UNICOS	Sun Jul  6 11:22:57 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.UNICOS	Thu Aug  7 12:29:56 1997
***************
*** 11,17 ****
  #		Douglas K. Rand, University of North Dakota
  #		rand@aero.und.nodak.edu
  #
! #       @(#)Makefile.UNICOS	8.7	(Berkeley)	7/6/97
  #
  
  # make sure the shell constructs below use the right shell
--- 11,17 ----
  #		Douglas K. Rand, University of North Dakota
  #		rand@aero.und.nodak.edu
  #
! #       @(#)Makefile.UNICOS	8.8	(Berkeley)	8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 71,77 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 71,77 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.UNIX_SV.4.x.i386 sendmail-8.8.8/src/Makefiles/Makefile.UNIX_SV.4.x.i386
*** sendmail-8.8.7/src/Makefiles/Makefile.UNIX_SV.4.x.i386	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.UNIX_SV.4.x.i386	Thu Aug  7 12:29:56 1997
***************
*** 9,15 ****
  #
  #  For UnixWare 2.x, use -DUNIXWARE2 in ENVDEF in place of -DUNIXWARE.
  #
! #	@(#)Makefile.UNIX_SV.4.x.i386	8.8 (Berkeley) 3/28/97
  #
  
  # make sure the shell constructs below use the right shell
--- 9,15 ----
  #
  #  For UnixWare 2.x, use -DUNIXWARE2 in ENVDEF in place of -DUNIXWARE.
  #
! #	@(#)Makefile.UNIX_SV.4.x.i386	8.9 (Berkeley) 8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 72,78 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 72,78 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.UX4800 sendmail-8.8.8/src/Makefiles/Makefile.UX4800
*** sendmail-8.8.7/src/Makefiles/Makefile.UX4800	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.UX4800	Thu Aug  7 12:29:57 1997
***************
*** 8,14 ****
  #  This has been tested on NEC UX4800.
  #  Contributed by Kazuhisa Shimizu <shimizu@lang.csd.nes.nec.co.jp>.
  #
! #	@(#)Makefile.UX4800	8.5 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 8,14 ----
  #  This has been tested on NEC UX4800.
  #  Contributed by Kazuhisa Shimizu <shimizu@lang.csd.nes.nec.co.jp>.
  #
! #	@(#)Makefile.UX4800	8.6 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 74,80 ****
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 74,80 ----
  INSTALL=/usr/ucb/install
  BINOWN=	root
  BINGRP=	sys
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.UXPDS.V10 sendmail-8.8.8/src/Makefiles/Makefile.UXPDS.V10
*** sendmail-8.8.7/src/Makefiles/Makefile.UXPDS.V10	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.UXPDS.V10	Thu Aug  7 12:29:57 1997
***************
*** 12,18 ****
  #	and Toshiaki Nomura of the Fujitsu FreeSoftware Group
  #	<dsfrsoft@oai6.yk.fujitsu.co.jp>.
  #
! #	@(#)Makefile.UXPDS.V10	8.8 (Berkeley) 3/28/97
  #
  
  # make sure the shell constructs below use the right shell
--- 12,18 ----
  #	and Toshiaki Nomura of the Fujitsu FreeSoftware Group
  #	<dsfrsoft@oai6.yk.fujitsu.co.jp>.
  #
! #	@(#)Makefile.UXPDS.V10	8.9 (Berkeley) 8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 83,89 ****
  	${DESTDIR}/usr/ucb/hoststat ${DESTDIR}/usr/ucb/purgestat
  BINOWN= root
  BINGRP= mail
! BINMODE=6555
  INSTALL=/usr/ucb/install
  
  ALL=	sendmail man-pages
--- 83,89 ----
  	${DESTDIR}/usr/ucb/hoststat ${DESTDIR}/usr/ucb/purgestat
  BINOWN= root
  BINGRP= mail
! BINMODE=4555
  INSTALL=/usr/ucb/install
  
  ALL=	sendmail man-pages
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.UXPDS.V20 sendmail-8.8.8/src/Makefiles/Makefile.UXPDS.V20
*** sendmail-8.8.7/src/Makefiles/Makefile.UXPDS.V20	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.UXPDS.V20	Thu Aug  7 12:29:57 1997
***************
*** 12,18 ****
  #	and Toshiaki Nomura of the Fujitsu FreeSoftware Group
  #	<dsfrsoft@oai6.yk.fujitsu.co.jp>.
  #
! #	@(#)Makefile.UXPDS.V20	8.8 (Berkeley) 3/28/97
  #
  
  # make sure the shell constructs below use the right shell
--- 12,18 ----
  #	and Toshiaki Nomura of the Fujitsu FreeSoftware Group
  #	<dsfrsoft@oai6.yk.fujitsu.co.jp>.
  #
! #	@(#)Makefile.UXPDS.V20	8.9 (Berkeley) 8/7/97
  #
  
  # make sure the shell constructs below use the right shell
***************
*** 83,89 ****
  	${DESTDIR}/usr/ucb/hoststat ${DESTDIR}/usr/ucb/purgestat
  BINOWN= root
  BINGRP= mail
! BINMODE=6555
  INSTALL=/usr/ucb/install
  
  ALL=	sendmail man-pages
--- 83,89 ----
  	${DESTDIR}/usr/ucb/hoststat ${DESTDIR}/usr/ucb/purgestat
  BINOWN= root
  BINGRP= mail
! BINMODE=4555
  INSTALL=/usr/ucb/install
  
  ALL=	sendmail man-pages
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.Utah sendmail-8.8.8/src/Makefiles/Makefile.Utah
*** sendmail-8.8.7/src/Makefiles/Makefile.Utah	Fri Mar 28 09:06:41 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.Utah	Thu Aug  7 12:29:56 1997
***************
*** 1,4 ****
! #	@(#)Makefile.Utah	8.5 (Berkeley) 3/28/97
  
  PROG=	sendmail
  
--- 1,4 ----
! #	@(#)Makefile.Utah	8.6 (Berkeley) 8/7/97
  
  PROG=	sendmail
  
***************
*** 32,38 ****
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  beforeinstall:
  	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
--- 32,38 ----
  BINDIR=	/usr/sbin
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  beforeinstall:
  	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.dgux sendmail-8.8.8/src/Makefiles/Makefile.dgux
*** sendmail-8.8.7/src/Makefiles/Makefile.dgux	Fri Mar 28 09:06:40 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.dgux	Thu Aug  7 12:29:56 1997
***************
*** 2,8 ****
  #  Tested on DG/UX 5.4.2 by A. Bryan Curnutt <bryan@Stoner.COM>.
  #  Updated for DG/UX 5.4.3 by Mark T. Robinson <mtr@ornl.gov>.
  #
! #	@(#)Makefile.dgux	8.11 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 2,8 ----
  #  Tested on DG/UX 5.4.2 by A. Bryan Curnutt <bryan@Stoner.COM>.
  #  Updated for DG/UX 5.4.3 by Mark T. Robinson <mtr@ornl.gov>.
  #
! #	@(#)Makefile.dgux	8.12 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 62,68 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	bin
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 62,68 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	bin
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.dist sendmail-8.8.8/src/Makefiles/Makefile.dist
*** sendmail-8.8.7/src/Makefiles/Makefile.dist	Fri Mar 28 09:06:41 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.dist	Thu Aug  7 12:29:56 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.dist	8.19 (Berkeley) 3/28/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.dist	8.20 (Berkeley) 8/7/97
  #
  
  # use O=-O (usual) or O=-g (debugging)
***************
*** 65,71 ****
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=6555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 65,71 ----
  INSTALL=install
  BINOWN=	root
  BINGRP=	kmem
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.maxion sendmail-8.8.8/src/Makefiles/Makefile.maxion
*** sendmail-8.8.7/src/Makefiles/Makefile.maxion	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.maxion	Thu Aug  7 12:29:57 1997
***************
*** 5,11 ****
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.maxion	8.4 (Berkeley) 3/28/97
  #
  #	Concurrent Computer Corporation Maxion support contributed by
  #	Donald R. Laster Jr. <laster@access.digex.net>.
--- 5,11 ----
  #  old make program (I recommend that you get and port the new make if you
  #  are going to be doing any signficant work on sendmail).
  #
! #	@(#)Makefile.maxion	8.5 (Berkeley) 8/7/97
  #
  #	Concurrent Computer Corporation Maxion support contributed by
  #	Donald R. Laster Jr. <laster@access.digex.net>.
***************
*** 69,75 ****
  INSTALL=/usr/ucb/install
  BINOWN=	smtp
  BINGRP=	mail
! BINMODE=7555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
--- 69,75 ----
  INSTALL=/usr/ucb/install
  BINOWN=	smtp
  BINGRP=	mail
! BINMODE=4555
  
  ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  
diff -cr sendmail-8.8.7/src/Makefiles/Makefile.uts.systemV sendmail-8.8.8/src/Makefiles/Makefile.uts.systemV
*** sendmail-8.8.7/src/Makefiles/Makefile.uts.systemV	Fri Mar 28 09:06:42 1997
--- sendmail-8.8.8/src/Makefiles/Makefile.uts.systemV	Thu Aug  7 12:29:56 1997
***************
*** 8,14 ****
  #  By Janet Jackson <janet@dialix.oz.au> 1994-11-24
  #	This has been tested on (uname -a output) uts bsuts systemV 2.1.5 5890
  #
! #	@(#)Makefile.uts.systemV	8.6 (Berkeley) 3/28/97
  #
  
  #  Sendmail 8 on UTS requires BIND 4.9's include files and lib44bsd and
--- 8,14 ----
  #  By Janet Jackson <janet@dialix.oz.au> 1994-11-24
  #	This has been tested on (uname -a output) uts bsuts systemV 2.1.5 5890
  #
! #	@(#)Makefile.uts.systemV	8.7 (Berkeley) 8/7/97
  #
  
  #  Sendmail 8 on UTS requires BIND 4.9's include files and lib44bsd and
***************
*** 79,85 ****
  	${DESTDIR}/usr/lib/hoststat ${DESTDIR}/usr/lib/purgestat
  BINOWN=	root
  BINGRP=	mail
! BINMODE=6555
  
  #ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  ALL=	sendmail
--- 79,85 ----
  	${DESTDIR}/usr/lib/hoststat ${DESTDIR}/usr/lib/purgestat
  BINOWN=	root
  BINGRP=	mail
! BINMODE=4555
  
  #ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
  ALL=	sendmail
diff -cr sendmail-8.8.7/src/READ_ME sendmail-8.8.8/src/READ_ME
*** sendmail-8.8.7/src/READ_ME	Fri Aug  1 17:41:56 1997
--- sendmail-8.8.8/src/READ_ME	Thu Oct 23 13:53:12 1997
***************
*** 30,36 ****
  # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  # SUCH DAMAGE.
  #
! #	@(#)READ_ME	8.148 (Berkeley) 8/1/97
  #
  
  This directory contains the source files for sendmail.
--- 30,36 ----
  # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  # SUCH DAMAGE.
  #
! #	@(#)READ_ME	8.156 (Berkeley) 10/23/97
  #
  
  This directory contains the source files for sendmail.
***************
*** 148,156 ****
  
  NEWDB		The new Berkeley DB package.  Some systems (e.g., BSD/OS and
  		Digital UNIX 4.0) have this package pre-installed.  If your
! 		system does not have NEWDB installed, get the latest version
  		from http://www.sleepycat.com/packages/db.1.85.tar.gz.
! 		DO NOT use the version from the Net2 distribution.  If you are
  		still running BSD/386 1.x, you will also need to define
  		OLD_NEWDB.
  NDBM		The older NDBM implementation -- the very old V7 DBM
--- 148,157 ----
  
  NEWDB		The new Berkeley DB package.  Some systems (e.g., BSD/OS and
  		Digital UNIX 4.0) have this package pre-installed.  If your
! 		system does not have NEWDB installed, get version 1.85
  		from http://www.sleepycat.com/packages/db.1.85.tar.gz.
! 		DO NOT use Berkeley DB version 2.X with sendmail.  DO NOT
! 		use the version from the Net2 distribution.  If you are
  		still running BSD/386 1.x, you will also need to define
  		OLD_NEWDB.
  NDBM		The older NDBM implementation -- the very old V7 DBM
***************
*** 731,737 ****
  	101790-01 (SunOS 4.1.3_U1: TCP socket and reset problems).
  
  Solaris 2.x (SunOS 5.x)
! 	To compile for Solaris, be sure you use -DSOLARIS.
  
  	To the best of my knowledge, Solaris does not have the
  	gethostbyname problem described above.  However, it does
--- 732,744 ----
  	101790-01 (SunOS 4.1.3_U1: TCP socket and reset problems).
  
  Solaris 2.x (SunOS 5.x)
! 	To compile for Solaris, the Makefile chosen by makesendmail must
! 	include a SOLARIS definition which reflects the Solaris version
! 	(i.e. -DSOLARIS=20400 for 2.4 or -DSOLARIS=20501 for 2.5.1).
! 	If you are using gcc, make sure -I/usr/include is not used (or
! 	it might complain about TopFrame).  If you are using Sun's cc,
! 	make sure /opt/SUNWspro/bin/cc is used instead of /usr/ucb/cc
! 	(or it might complain about tm_zone).
  
  	To the best of my knowledge, Solaris does not have the
  	gethostbyname problem described above.  However, it does
***************
*** 828,849 ****
  	incompatible snprintf(3s) calls.  This problem is fixed in sendmail
  	8.8.5.
  
! Solaris 2.5.1 (SunOS 5.5.1)
! 	Apparently patch 103663-01 installs a new /usr/include/resolv.h
! 	file that defines the __P macro without checking to see if it is
! 	already defined.  This causes compile warnings such as:
  
  	   In file included from daemon.c:51:
  	   /usr/include/resolv.h:208: warning: `__P' redefined
  	   cdefs.h:58: warning: this is the location of the previous definition
  
! 	If you are running with this patch, create a resolv.h file in the
! 	obj.SunOS.5.5.1.* directory that reads:
  
  	   #undef __P
  	   #include "/usr/include/resolv.h"
  
! 	... And then file a bug report with Sun.
  
  Ultrix
  	By default, the IDENT protocol is turned off on Ultrix.  If you
--- 835,859 ----
  	incompatible snprintf(3s) calls.  This problem is fixed in sendmail
  	8.8.5.
  
! Solaris 2.5.1 (SunOS 5.5.1) and 2.6 (SunOS 5.6)
! 	Apparently Solaris 2.5.1 patch 103663-01 installs a new
! 	/usr/include/resolv.h file that defines the __P macro without
! 	checking to see if it is already defined.  This new resolv.h is also
! 	included in the Solaris 2.6 distribution. This causes compile
! 	warnings such as:
  
  	   In file included from daemon.c:51:
  	   /usr/include/resolv.h:208: warning: `__P' redefined
  	   cdefs.h:58: warning: this is the location of the previous definition
  
! 	These warnings can be safely ignored or you can create a resolv.h
! 	file in the obj.SunOS.5.5.1.* or obj.SunOS.5.6.* directory that reads:
  
  	   #undef __P
  	   #include "/usr/include/resolv.h"
  
! 	Sun is aware of the problem (Sun bug ID 4081053) and it will be fixed
! 	in a to-be-released patch.
  
  Ultrix
  	By default, the IDENT protocol is turned off on Ultrix.  If you
***************
*** 852,858 ****
  	IDENT on in the configuration file by setting the "ident" timeout
  	to 30 seconds.
  
! OSF/1
  	If you are compiling on OSF/1 (DEC Alpha), you must use
  	-L/usr/shlib (otherwise it core dumps on startup).  You may also
  	need -mld to get the nlist() function, although some versions
--- 862,868 ----
  	IDENT on in the configuration file by setting the "ident" timeout
  	to 30 seconds.
  
! Digital UNIX (formerly DEC OSF/1)
  	If you are compiling on OSF/1 (DEC Alpha), you must use
  	-L/usr/shlib (otherwise it core dumps on startup).  You may also
  	need -mld to get the nlist() function, although some versions
***************
*** 865,870 ****
--- 875,893 ----
  	properly due to a bug in the getpw* routines.  If you want to use
  	this, use -DDEC_OSF_BROKEN_GETPWENT=1.  The problem is fixed in 3.2C.
  
+ 	On Digital UNIX 4.0 and later, Berkeley DB is included with the
+ 	operating system and already has the ndbm.o module removed.  However,
+ 	Digital has modified the original Berkeley DB db.h include file.
+ 	This results in the following warning while compiling map.c and udb.c:
+ 
+ 	cc: Warning: /usr/include/db.h, line 74: The redefinition of the macro
+ 	 "__signed" conflicts with a current definition because the replacement
+ 	 lists differ.  The redefinition is now in effect.
+ 	#define __signed        signed
+ 	------------------------^
+ 
+ 	This warning can be ignored.
+ 
  IRIX
  	The header files on SGI IRIX are completely prototyped, and as
  	a result you can sometimes get some warning messages during
***************
*** 1439,1442 ****
  
  Eric Allman
  
! (Version 8.148, last update 8/1/97 16:41:54)
--- 1462,1465 ----
  
  Eric Allman
  
! (Version 8.156, last update 10/23/97 12:53:12)
diff -cr sendmail-8.8.7/src/collect.c sendmail-8.8.8/src/collect.c
*** sendmail-8.8.7/src/collect.c	Mon Jun 30 17:43:36 1997
--- sendmail-8.8.8/src/collect.c	Mon Oct  6 08:14:26 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)collect.c	8.71 (Berkeley) 6/30/97";
  #endif /* not lint */
  
  # include <errno.h>
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)collect.c	8.72 (Berkeley) 10/6/97";
  #endif /* not lint */
  
  # include <errno.h>
***************
*** 567,573 ****
  	/* check for message too large */
  	if (MaxMessageSize > 0 && e->e_msgsize > MaxMessageSize)
  	{
! 		e->e_flags |= EF_NO_BODY_RETN;
  		e->e_status = "5.2.3";
  		usrerr("552 Message exceeds maximum fixed size (%ld)",
  			MaxMessageSize);
--- 567,573 ----
  	/* check for message too large */
  	if (MaxMessageSize > 0 && e->e_msgsize > MaxMessageSize)
  	{
! 		e->e_flags |= EF_NO_BODY_RETN|EF_CLRQUEUE;
  		e->e_status = "5.2.3";
  		usrerr("552 Message exceeds maximum fixed size (%ld)",
  			MaxMessageSize);
diff -cr sendmail-8.8.7/src/conf.c sendmail-8.8.8/src/conf.c
*** sendmail-8.8.7/src/conf.c	Sat Aug  2 11:06:54 1997
--- sendmail-8.8.8/src/conf.c	Mon Oct 20 08:41:38 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)conf.c	8.374 (Berkeley) 8/2/97";
  #endif /* not lint */
  
  # include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)conf.c	8.379 (Berkeley) 10/20/97";
  #endif /* not lint */
  
  # include "sendmail.h"
***************
*** 2066,2072 ****
  	static time_t lastconn = (time_t) 0;
  	static int conncnt = 0;
  	extern bool enoughdiskspace();
- 	extern void setproctitle __P((const char *, ...));
  
  #ifdef XLA
  	if (!xla_smtp_ok())
--- 2066,2071 ----
***************
*** 2225,2231 ****
  	char **argv;
  	char **envp;
  {
! 	register int i;
  	extern char **environ;
  
  	/*
--- 2224,2230 ----
  	char **argv;
  	char **envp;
  {
! 	register int i, envpsize = 0;
  	extern char **environ;
  
  	/*
***************
*** 2234,2240 ****
  	*/
  
  	for (i = 0; envp[i] != NULL; i++)
! 		continue;
  	environ = (char **) xalloc(sizeof (char *) * (i + 1));
  	for (i = 0; envp[i] != NULL; i++)
  		environ[i] = newstr(envp[i]);
--- 2233,2239 ----
  	*/
  
  	for (i = 0; envp[i] != NULL; i++)
! 		envpsize += strlen(envp[i]) + 1;
  	environ = (char **) xalloc(sizeof (char *) * (i + 1));
  	for (i = 0; envp[i] != NULL; i++)
  		environ[i] = newstr(envp[i]);
***************
*** 2245,2250 ****
--- 2244,2259 ----
  	*/
  
  	Argv = argv;
+ 
+ 	/*
+ 	**  Find the last environment variable within sendmail's
+ 	**  process memory area.
+ 	*/
+ 	while (i > 0 && (envp[i - 1] < argv[0] ||
+ 			 envp[i - 1] > (argv[argc - 1] +
+ 					strlen(argv[argc - 1]) + 1 + envpsize)))
+ 		i--;
+ 
  	if (i > 0)
  		LastArgv = envp[i - 1] + strlen(envp[i - 1]);
  	else
***************
*** 2820,2825 ****
--- 2829,2835 ----
  #define tell(s)	if (opterr) {fputs(*nargv,stderr);fputs(s,stderr); \
  		fputc(optopt,stderr);fputc('\n',stderr);return(BADCH);}
  
+ int
  getopt(nargc,nargv,ostr)
  	int		nargc;
  	char *const	*nargv;
***************
*** 2827,2833 ****
  {
  	static char	*place = EMSG;	/* option letter processing */
  	static char	atend = 0;
! 	register char	*oli;		/* option letter list index */
  
  	if (atend) {
  		atend = 0;
--- 2837,2843 ----
  {
  	static char	*place = EMSG;	/* option letter processing */
  	static char	atend = 0;
! 	register char	*oli = NULL;	/* option letter list index */
  
  	if (atend) {
  		atend = 0;
***************
*** 3844,3850 ****
  	bool safedir;
  {
  #if (!defined(_POSIX_CHOWN_RESTRICTED) || _POSIX_CHOWN_RESTRICTED != -1) && \
!     defined(_PC_CHOWN_RESTRICTED)
  	int rval;
  
  	/* give the system administrator a chance to override */
--- 3854,3860 ----
  	bool safedir;
  {
  #if (!defined(_POSIX_CHOWN_RESTRICTED) || _POSIX_CHOWN_RESTRICTED != -1) && \
!     (defined(_PC_CHOWN_RESTRICTED) || defined(_GNU_TYPES_H))
  	int rval;
  
  	/* give the system administrator a chance to override */
diff -cr sendmail-8.8.7/src/conf.h sendmail-8.8.8/src/conf.h
*** sendmail-8.8.7/src/conf.h	Sun Aug  3 10:23:28 1997
--- sendmail-8.8.8/src/conf.h	Fri Oct 24 15:46:12 1997
***************
*** 31,37 ****
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   *
!  *	@(#)conf.h	8.328 (Berkeley) 8/3/97
   */
  
  /*
--- 31,37 ----
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   *
!  *	@(#)conf.h	8.335 (Berkeley) 10/24/97
   */
  
  /*
***************
*** 294,300 ****
    define BSD_REMAP_SIGNAL_TO_SIGVEC
      RTisms needed above */
  /* make this sendmail in a completely different place */
! # define _PATH_VENDORCF		"/usr/local/newmail/sendmail.cf"
  # ifndef _PATH_SENDMAILPID
  #  define _PATH_SENDMAILPID	"/usr/local/newmail/sendmail.pid"
  # endif
--- 294,302 ----
    define BSD_REMAP_SIGNAL_TO_SIGVEC
      RTisms needed above */
  /* make this sendmail in a completely different place */
! # ifndef _PATH_VENDOR_CF
! #  define _PATH_VENDOR_CF	"/usr/local/newmail/sendmail.cf"
! # endif
  # ifndef _PATH_SENDMAILPID
  #  define _PATH_SENDMAILPID	"/usr/local/newmail/sendmail.pid"
  # endif
***************
*** 348,353 ****
--- 350,356 ----
  # ifdef IRIX6
  #  define LA_TYPE	LA_IRIX6	/* figure out at run time */
  #  define SAFENFSPATHCONF 0	/* pathconf(2) lies on NFS filesystems */
+ #  define SYSLOG_BUFSIZE 512
  # else
  #  define LA_TYPE	LA_INT
  
***************
*** 382,388 ****
  # include <sys/time.h>
  # define HASINITGROUPS	1	/* has initgroups(3) call */
  # define HASUNAME	1	/* use System V uname(2) system call */
- # define HASGETUSERSHELL 1	/* DOES have getusershell(3) call in libc */
  # define HASFCHMOD	1	/* has fchmod(2) syscall */
  # define IP_SRCROUTE	1	/* can check IP source routing */
  # define SAFENFSPATHCONF 1	/* pathconf(2) pessimizes on NFS filesystems */
--- 385,390 ----
***************
*** 438,443 ****
--- 440,446 ----
  
  # else
  			/* SunOS 4.0.3 or 4.1.x */
+ #  define HASGETUSERSHELL 1	/* DOES have getusershell(3) call in libc */
  #  define HASSETREUID	1	/* has setreuid(2) call */
  #  ifndef HASFLOCK
  #   define HASFLOCK	1	/* has flock(2) call */
***************
*** 903,908 ****
--- 906,912 ----
  #if _SCO_DS >= 1
  # include <paths.h>
  # define _SCO_unix_4_2
+ # define SIOCGIFNUM_IS_BROKEN 1	/* SIOCGIFNUM returns bogus value */
  # define HASSNPRINTF	1	/* has snprintf(3) call */
  # define HASFCHMOD	1	/* has fchmod(2) call */
  # define HASSETRLIMIT	1	/* has setrlimit(2) call */
***************
*** 1188,1193 ****
--- 1192,1198 ----
  #  define LA_TYPE	LA_PROCSTR
  # endif
  # define SFS_TYPE	SFS_VFS		/* use <sys/vfs.h> statfs() impl */
+ # define SPT_PADCHAR	'\0'		/* pad process title with nulls */
  # ifndef _PATH_SENDMAILPID
  #  define _PATH_SENDMAILPID	"/var/run/sendmail.pid"
  # endif
***************
*** 1224,1229 ****
--- 1229,1235 ----
  # define BSD			/* has BSD routines */
  # define HASSETRLIMIT	0	/* ... but not setrlimit(2) */
  # define BROKEN_RES_SEARCH 1	/* res_search(unknown) returns h_errno=0 */
+ # define BOGUS_O_EXCL	1	/* exclusive open follows symlinks */
  # define HASUNAME	1	/* use System V uname(2) system call */
  # define HASFCHMOD	1	/* has fchmod(2) syscall */
  # define HASINITGROUPS	1	/* has initgroups(3) call */
***************
*** 1836,1841 ****
--- 1842,1856 ----
  # undef offsetof	/* avoid stddefs.h and sys/sysmacros.h conflict */
  #endif
  
+ /*
+ **  Siemens Nixdorf Informationssysteme AG SINIX 
+ **
+ **	Contributed by Gerald Rinske <Gerald.Rinske@mch.sni.de>
+ **	of Siemens Business Services VAS.
+ */
+ #ifdef _sinix_
+ # define SYSLOG_BUFSIZE		1024
+ #endif
  
  /**********************************************************************
  **  End of Per-Operating System defines
diff -cr sendmail-8.8.7/src/daemon.c sendmail-8.8.8/src/daemon.c
*** sendmail-8.8.7/src/daemon.c	Sat Aug  2 11:58:52 1997
--- sendmail-8.8.8/src/daemon.c	Thu Oct 23 10:26:05 1997
***************
*** 37,45 ****
  
  #ifndef lint
  #ifdef DAEMON
! static char sccsid[] = "@(#)daemon.c	8.186 (Berkeley) 8/2/97 (with daemon mode)";
  #else
! static char sccsid[] = "@(#)daemon.c	8.186 (Berkeley) 8/2/97 (without daemon mode)";
  #endif
  #endif /* not lint */
  
--- 37,45 ----
  
  #ifndef lint
  #ifdef DAEMON
! static char sccsid[] = "@(#)daemon.c	8.195 (Berkeley) 10/23/97 (with daemon mode)";
  #else
! static char sccsid[] = "@(#)daemon.c	8.195 (Berkeley) 10/23/97 (without daemon mode)";
  #endif
  #endif /* not lint */
  
***************
*** 103,111 ****
  **		e -- the current envelope.
  **
  **	Returns:
! **		TRUE -- if a "null server" should be used -- that is, one
! **			that rejects all commands.
! **		FALSE -- to use a normal server.
  **
  **	Side Effects:
  **		Waits until some interesting activity occurs.  When
--- 103,109 ----
  **		e -- the current envelope.
  **
  **	Returns:
! **		none.
  **
  **	Side Effects:
  **		Waits until some interesting activity occurs.  When
***************
*** 122,128 ****
  int		TcpRcvBufferSize = 0;		/* size of TCP receive buffer */
  int		TcpSndBufferSize = 0;		/* size of TCP send buffer */
  
! bool
  getrequests(e)
  	ENVELOPE *e;
  {
--- 120,126 ----
  int		TcpRcvBufferSize = 0;		/* size of TCP receive buffer */
  int		TcpSndBufferSize = 0;		/* size of TCP send buffer */
  
! void
  getrequests(e)
  	ENVELOPE *e;
  {
***************
*** 188,194 ****
  	*/
  
  	if (tTd(15, 1))
! 		printf("getrequests: port 0x%x\n", DaemonAddr.sin.sin_port);
  
  	/* get a socket for the SMTP connection */
  	socksize = opendaemonsocket(TRUE);
--- 186,192 ----
  	*/
  
  	if (tTd(15, 1))
! 		printf("getrequests: port 0x%x\n", port);
  
  	/* get a socket for the SMTP connection */
  	socksize = opendaemonsocket(TRUE);
***************
*** 238,244 ****
  
  		/* see if we are rejecting connections */
  		(void) blocksignal(SIGALRM);
! 		if (refuseconnections(ntohs(DaemonAddr.sin.sin_port)))
  		{
  			if (DaemonSocket >= 0)
  			{
--- 236,242 ----
  
  		/* see if we are rejecting connections */
  		(void) blocksignal(SIGALRM);
! 		if (refuseconnections(ntohs(port)))
  		{
  			if (DaemonSocket >= 0)
  			{
***************
*** 284,290 ****
  
  		/* wait for a connection */
  		setproctitle("accepting connections on port %d",
! 			     ntohs(DaemonAddr.sin.sin_port));
  #if 0
  		/*
  		**  Andrew Sun <asun@ieps-sun.ml.com> claims that this will
--- 282,288 ----
  
  		/* wait for a connection */
  		setproctitle("accepting connections on port %d",
! 			     ntohs(port));
  #if 0
  		/*
  		**  Andrew Sun <asun@ieps-sun.ml.com> claims that this will
***************
*** 372,378 ****
  			char *p;
  			extern SIGFUNC_DECL intsig __P((int));
  			FILE *inchannel, *outchannel;
- 			bool nullconn;
  
  			/*
  			**  CHILD -- return to caller.
--- 370,375 ----
***************
*** 437,449 ****
  			/* open maps for check_relay ruleset */
  			initmaps(FALSE, e);
  
- 			/* validate the connection */
- 			HoldErrs = TRUE;
- 			nullconn = !validate_connection(&RealHostAddr, RealHostName, e);
- 			HoldErrs = FALSE;
- 			if (nullconn)
- 				break;
- 
  #ifdef XLA
  			if (!xla_host_ok(RealHostName))
  			{
--- 434,439 ----
***************
*** 452,460 ****
  			}
  #endif
  
! 			if (tTd(15, 2))
! 				printf("getreq: returning (normal server)\n");
! 			return FALSE;
  		}
  
  		/* parent -- keep track of children */
--- 442,448 ----
  			}
  #endif
  
! 			break;
  		}
  
  		/* parent -- keep track of children */
***************
*** 473,480 ****
  			(void) close(pipefd[1]);
  	}
  	if (tTd(15, 2))
! 		printf("getreq: returning (null server)\n");
! 	return TRUE;
  }
  /*
  **  OPENDAEMONSOCKET -- open the SMTP socket
--- 461,468 ----
  			(void) close(pipefd[1]);
  	}
  	if (tTd(15, 2))
! 		printf("getreq: returning\n");
! 	return;
  }
  /*
  **  OPENDAEMONSOCKET -- open the SMTP socket
***************
*** 1265,1271 ****
  	int nleft;
  	struct hostent *hp;
  	char **ha;
! 	bool may_be_forged;
  	char ibuf[MAXNAME + 1];
  	static char hbuf[MAXNAME * 2 + 2];
  
--- 1253,1259 ----
  	int nleft;
  	struct hostent *hp;
  	char **ha;
! 	volatile bool may_be_forged;
  	char ibuf[MAXNAME + 1];
  	static char hbuf[MAXNAME * 2 + 2];
  
***************
*** 1750,1755 ****
--- 1738,1744 ----
  	}
  
  	/* found a match -- copy out */
+ 	hp->h_name = denlstring((char *) hp->h_name, TRUE, TRUE);
  	s->s_namecanon.nc_stat = *statp = EX_OK;
  	s->s_namecanon.nc_cname = newstr(hp->h_name);
  	if (bitset(MF_MATCHONLY, map->map_mflags))
***************
*** 2027,2033 ****
  #endif /* NAMED_BIND */
  
  	if (hp != NULL && hp->h_name[0] != '[')
! 		return (char *) hp->h_name;
  	else
  	{
  		/* produce a dotted quad */
--- 2016,2024 ----
  #endif /* NAMED_BIND */
  
  	if (hp != NULL && hp->h_name[0] != '[')
! 		return denlstring((char *) hp->h_name, TRUE, TRUE);
! 	else if (sap->sa.sa_family == AF_UNIX && sap->sunix.sun_path[0] == '\0')
! 		return "localhost";
  	else
  	{
  		/* produce a dotted quad */
diff -cr sendmail-8.8.7/src/deliver.c sendmail-8.8.8/src/deliver.c
*** sendmail-8.8.7/src/deliver.c	Sat Aug  2 08:05:09 1997
--- sendmail-8.8.8/src/deliver.c	Wed Oct 22 13:12:02 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)deliver.c	8.285 (Berkeley) 8/2/97";
  #endif /* not lint */
  
  #include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)deliver.c	8.296 (Berkeley) 10/22/97";
  #endif /* not lint */
  
  #include "sendmail.h"
***************
*** 44,49 ****
--- 44,53 ----
  extern int	h_errno;
  #endif
  
+ #if HASSETUSERCONTEXT
+ # include <login_cap.h>
+ #endif
+ 
  #if SMTP
  extern char	SmtpError[];
  #endif
***************
*** 77,83 ****
  	register ENVELOPE *ee;
  	ENVELOPE *splitenv = NULL;
  	int oldverbose = Verbose;
! 	bool somedeliveries = FALSE;
  	pid_t pid;
  	extern void sendenvelope();
  
--- 81,87 ----
  	register ENVELOPE *ee;
  	ENVELOPE *splitenv = NULL;
  	int oldverbose = Verbose;
! 	bool somedeliveries = FALSE, expensive = FALSE;
  	pid_t pid;
  	extern void sendenvelope();
  
***************
*** 281,286 ****
--- 285,291 ----
  				if (tTd(13, 30))
  					printf("    ... expensive\n");
  				q->q_flags |= QQUEUEUP;
+ 				expensive = TRUE;
  			}
  			else
  			{
***************
*** 393,403 ****
  
  		/* treat this as a delivery in terms of counting tries */
  		e->e_dtime = curtime();
! 		e->e_ntries++;
  		for (ee = splitenv; ee != NULL; ee = ee->e_sibling)
  		{
  			ee->e_dtime = curtime();
! 			ee->e_ntries++;
  		}
  	}
  
--- 398,410 ----
  
  		/* treat this as a delivery in terms of counting tries */
  		e->e_dtime = curtime();
! 		if (!expensive)
! 			e->e_ntries++;
  		for (ee = splitenv; ee != NULL; ee = ee->e_sibling)
  		{
  			ee->e_dtime = curtime();
! 			if (!expensive)
! 				ee->e_ntries++;
  		}
  	}
  
***************
*** 466,499 ****
  		/*
  		**  Since fcntl locking has the interesting semantic that
  		**  the lock is owned by a process, not by an open file
! 		**  descriptor, we have to flush this to the queue, and
  		**  then restart from scratch in the child.
  		*/
  
! 		{
! 			/* save id for future use */
! 			char *qid = e->e_id;
! 
! 			/* now drop the envelope in the parent */
! 			e->e_flags |= EF_INQUEUE;
! 			dropenvelope(e, FALSE);
! 
! 			/* arrange to reacquire lock after fork */
! 			e->e_id = qid;
! 		}
! 
  		for (ee = splitenv; ee != NULL; ee = ee->e_sibling)
! 		{
! 			/* save id for future use */
! 			char *qid = ee->e_id;
! 
! 			/* drop envelope in parent */
! 			ee->e_flags |= EF_INQUEUE;
! 			dropenvelope(ee, FALSE);
! 
! 			/* and save qid for reacquisition */
! 			ee->e_id = qid;
! 		}
  
  # endif /* !HASFLOCK */
  
--- 473,485 ----
  		/*
  		**  Since fcntl locking has the interesting semantic that
  		**  the lock is owned by a process, not by an open file
! 		**  descriptor, we have to unlock this envelope, and
  		**  then restart from scratch in the child.
  		*/
  
! 		unlockqueue(e);
  		for (ee = splitenv; ee != NULL; ee = ee->e_sibling)
! 			unlockqueue(ee);
  
  # endif /* !HASFLOCK */
  
***************
*** 1368,1374 ****
  					hostbuf, m->m_name);
  			else
  				message("Connecting to %s port %d via %s...",
! 					hostbuf, port, m->m_name);
  			i = makeconnection(hostbuf, port, mci, e);
  			mci->mci_lastuse = curtime();
  			mci->mci_exitstat = i;
--- 1354,1360 ----
  					hostbuf, m->m_name);
  			else
  				message("Connecting to %s port %d via %s...",
! 					hostbuf, ntohs(port), m->m_name);
  			i = makeconnection(hostbuf, port, mci, e);
  			mci->mci_lastuse = curtime();
  			mci->mci_exitstat = i;
***************
*** 1577,1583 ****
  					pwd = sm_getpwnam(contextaddr->q_user);
  				if (pwd != NULL)
  					(void) setusercontext(NULL,
! 						pwd, pwd->m_uid,
  						LOGIN_SETRESOURCES|LOGIN_SETPRIORITY);
  			}
  #endif
--- 1563,1569 ----
  					pwd = sm_getpwnam(contextaddr->q_user);
  				if (pwd != NULL)
  					(void) setusercontext(NULL,
! 						pwd, pwd->pw_uid,
  						LOGIN_SETRESOURCES|LOGIN_SETPRIORITY);
  			}
  #endif
***************
*** 1901,1907 ****
  			for (to = tochain; to != NULL; to = to->q_tchain)
  			{
  				e->e_to = to->q_paddr;
! 				if (strlen(to->q_paddr) + (t - tobuf) + 2 >= sizeof tobuf)
  				{
  					/* not enough room */
  					continue;
--- 1887,1893 ----
  			for (to = tochain; to != NULL; to = to->q_tchain)
  			{
  				e->e_to = to->q_paddr;
! 				if (strlen(to->q_paddr) + (t - tobuf) + 2 > sizeof tobuf)
  				{
  					/* not enough room */
  					continue;
***************
*** 2244,2249 ****
--- 2230,2237 ----
  {
  	int st;
  
+ 	mci_unlock_host(mci);
+ 
  	/* close any connections */
  	if (mci->mci_in != NULL)
  		(void) xfclose(mci->mci_in, mci->mci_mailer->m_name, "mci_in");
***************
*** 2331,2336 ****
--- 2319,2327 ----
  	extern int N_SysEx;
  	char buf[MAXLINE];
  
+ 	if (e == NULL)
+ 		syserr("giveresponse: null envelope");
+ 
  	/*
  	**  Compute status message from code.
  	*/
***************
*** 2428,2434 ****
  	**	that.
  	*/
  
! 	if (LogLevel > ((stat == EX_TEMPFAIL) ? 8 : (stat == EX_OK) ? 7 : 6))
  		logdelivery(m, mci, &statmsg[4], ctladdr, xstart, e);
  
  	if (tTd(11, 2))
--- 2419,2426 ----
  	**	that.
  	*/
  
! 	if (OpMode != MD_VERIFY && !bitset(EF_VRFYONLY, e->e_flags) &&
! 	    LogLevel > ((stat == EX_TEMPFAIL) ? 8 : (stat == EX_OK) ? 7 : 6))
  		logdelivery(m, mci, &statmsg[4], ctladdr, xstart, e);
  
  	if (tTd(11, 2))
***************
*** 2741,2747 ****
  		}
  	}
  	expand(template, buf, sizeof buf, e);
! 	putxline(buf, strlen(buf), mci, PXLF_NOTHINGSPECIAL);
  }
  /*
  **  PUTBODY -- put the body of a message.
--- 2733,2739 ----
  		}
  	}
  	expand(template, buf, sizeof buf, e);
! 	putxline(buf, strlen(buf), mci, PXLF_HEADER);
  }
  /*
  **  PUTBODY -- put the body of a message.
***************
*** 3096,3112 ****
  **		none.
  */
  
  int
  mailfile(filename, ctladdr, sfflags, e)
! 	char *filename;
  	ADDRESS *ctladdr;
! 	int sfflags;
  	register ENVELOPE *e;
  {
  	register FILE *f;
  	register pid_t pid = -1;
! 	int mode = ST_MODE_NOFILE;
  	bool suidwarn = geteuid() == 0;
  
  	if (tTd(11, 1))
  	{
--- 3088,3108 ----
  **		none.
  */
  
+ static jmp_buf	CtxMailfileTimeout;
+ static void	mailfiletimeout();
+ 
  int
  mailfile(filename, ctladdr, sfflags, e)
! 	char *volatile filename;
  	ADDRESS *ctladdr;
! 	volatile int sfflags;
  	register ENVELOPE *e;
  {
  	register FILE *f;
  	register pid_t pid = -1;
! 	volatile int mode = ST_MODE_NOFILE;
  	bool suidwarn = geteuid() == 0;
+ 	EVENT *ev;
  
  	if (tTd(11, 1))
  	{
***************
*** 3140,3146 ****
  		/* child -- actually write to file */
  		struct stat stb;
  		MCI mcibuf;
! 		int oflags = O_WRONLY|O_APPEND;
  
  		if (e->e_lockfp != NULL)
  			(void) close(fileno(e->e_lockfp));
--- 3136,3142 ----
  		/* child -- actually write to file */
  		struct stat stb;
  		MCI mcibuf;
! 		volatile int oflags = O_WRONLY|O_APPEND;
  
  		if (e->e_lockfp != NULL)
  			(void) close(fileno(e->e_lockfp));
***************
*** 3152,3157 ****
--- 3148,3163 ----
  		e->e_to = filename;
  		ExitStat = EX_OK;
  
+ 		if (setjmp(CtxMailfileTimeout) != 0)
+ 		{
+ 			exit(EX_TEMPFAIL);
+ 		}
+ 
+ 		if (TimeOuts.to_fileopen > 0)
+ 			ev = setevent(TimeOuts.to_fileopen, mailfiletimeout, 0);
+ 		else
+ 			ev = NULL;
+ 
  #ifdef HASLSTAT
  		if (lstat(filename, &stb) < 0)
  #else
***************
*** 3287,3292 ****
--- 3293,3301 ----
  			exit(EX_CANTCREAT);
  		}
  
+ 		if (ev != NULL)
+ 			clrevent(ev);
+ 
  		bzero(&mcibuf, sizeof mcibuf);
  		mcibuf.mci_mailer = FileMailer;
  		mcibuf.mci_out = f;
***************
*** 3331,3336 ****
--- 3340,3351 ----
  		/*NOTREACHED*/
  	}
  	return EX_UNAVAILABLE;	/* avoid compiler warning on IRIX */
+ }
+ 
+ static void
+ mailfiletimeout()
+ {
+ 	longjmp(CtxMailfileTimeout, 1);
  }
  /*
  **  HOSTSIGNATURE -- return the "signature" for a host.
diff -cr sendmail-8.8.7/src/err.c sendmail-8.8.8/src/err.c
*** sendmail-8.8.7/src/err.c	Fri Jul 25 12:59:38 1997
--- sendmail-8.8.8/src/err.c	Sat Oct 18 13:11:55 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)err.c	8.64 (Berkeley) 7/25/97";
  #endif /* not lint */
  
  # include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)err.c	8.65 (Berkeley) 10/18/97";
  #endif /* not lint */
  
  # include "sendmail.h"
***************
*** 556,562 ****
  	}
  
  	/* output the "to" person */
! 	if (to != NULL && to[0] != '\0')
  	{
  		(void) snprintf(eb, spaceleft, "%s... ",
  			shortenstring(to, 203));
--- 556,564 ----
  	}
  
  	/* output the "to" person */
! 	if (to != NULL && to[0] != '\0' &&
! 	    strncmp(num, "551", 3) != 0 &&
! 	    strncmp(num, "251", 3) != 0)
  	{
  		(void) snprintf(eb, spaceleft, "%s... ",
  			shortenstring(to, 203));
diff -cr sendmail-8.8.7/src/headers.c sendmail-8.8.8/src/headers.c
*** sendmail-8.8.7/src/headers.c	Wed Jul  9 12:32:30 1997
--- sendmail-8.8.8/src/headers.c	Wed Oct 22 13:12:02 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)headers.c	8.111 (Berkeley) 7/9/97";
  #endif /* not lint */
  
  # include <errno.h>
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)headers.c	8.115 (Berkeley) 10/22/97";
  #endif /* not lint */
  
  # include <errno.h>
***************
*** 522,530 ****
  			(void) sendtolist(h->h_value, NULLADDR,
  					  &e->e_sendqueue, 0, e);
  
  			/* delete fatal errors generated by this address */
! 			if (!GrabTo && !bitset(EF_FATALERRS, saveflags))
  				e->e_flags &= ~EF_FATALERRS;
  		}
  
  		/* save the message-id for logging */
--- 522,537 ----
  			(void) sendtolist(h->h_value, NULLADDR,
  					  &e->e_sendqueue, 0, e);
  
+ #if 0
+ 			/*
+ 			** Change functionality so a fatal error on an
+ 			** address doesn't affect the entire envelope.
+ 			*/
+ 			 
  			/* delete fatal errors generated by this address */
! 			if (!bitset(EF_FATALERRS, saveflags))
  				e->e_flags &= ~EF_FATALERRS;
+ #endif
  		}
  
  		/* save the message-id for logging */
***************
*** 1330,1336 ****
  	int putflags;
  	char obuf[MAXLINE];
  
! 	putflags = 0;
  #if _FFR_7BITHDRS
  	if (bitnset(M_7BITHDRS, mci->mci_mailer->m_flags))
  		putflags |= PXLF_STRIP8BIT;
--- 1337,1343 ----
  	int putflags;
  	char obuf[MAXLINE];
  
! 	putflags = PXLF_HEADER;
  #if _FFR_7BITHDRS
  	if (bitnset(M_7BITHDRS, mci->mci_mailer->m_flags))
  		putflags |= PXLF_STRIP8BIT;
***************
*** 1342,1349 ****
  		int l;
  
  		l = nlp - v;
! 		if (sizeof obuf - (obp - obuf) < l)
! 			l = sizeof obuf - (obp - obuf);
  
  		snprintf(obp, SPACELEFT(obuf, obp), "%.*s", l, v);
  		putxline(obuf, strlen(obuf), mci, putflags);
--- 1349,1356 ----
  		int l;
  
  		l = nlp - v;
! 		if (SPACELEFT(obuf, obp) - 1 < l)
! 			l = SPACELEFT(obuf, obp) - 1;
  
  		snprintf(obp, SPACELEFT(obuf, obp), "%.*s", l, v);
  		putxline(obuf, strlen(obuf), mci, putflags);
***************
*** 1385,1391 ****
  	int opos;
  	int omax;
  	bool firstone = TRUE;
! 	int putflags = 0;
  	char obuf[MAXLINE + 3];
  
  	/*
--- 1392,1398 ----
  	int opos;
  	int omax;
  	bool firstone = TRUE;
! 	int putflags = PXLF_HEADER;
  	char obuf[MAXLINE + 3];
  
  	/*
***************
*** 1491,1496 ****
--- 1498,1504 ----
  			*p = savechar;
  			continue;
  		}
+ 		name = denlstring(name, FALSE, TRUE);
  
  		/* output the name with nice formatting */
  		opos += strlen(name);
diff -cr sendmail-8.8.7/src/main.c sendmail-8.8.8/src/main.c
*** sendmail-8.8.7/src/main.c	Fri Jul 25 13:00:00 1997
--- sendmail-8.8.8/src/main.c	Mon Oct 20 12:18:51 1997
***************
*** 39,45 ****
  #endif /* not lint */
  
  #ifndef lint
! static char sccsid[] = "@(#)main.c	8.249 (Berkeley) 7/25/97";
  #endif /* not lint */
  
  #define	_DEFINE
--- 39,45 ----
  #endif /* not lint */
  
  #ifndef lint
! static char sccsid[] = "@(#)main.c	8.258 (Berkeley) 10/20/97";
  #endif /* not lint */
  
  #define	_DEFINE
***************
*** 50,59 ****
  #include <resolv.h>
  #endif
  
- # ifdef lint
- char	edata, end;
- # endif /* lint */
- 
  /*
  **  SENDMAIL -- Post mail to a set of destinations.
  **
--- 50,55 ----
***************
*** 122,128 ****
  	char **av;
  	extern char Version[];
  	char *ep, *from;
- 	typedef int (*fnptr)();
  	STAB *st;
  	register int i;
  	int j;
--- 118,123 ----
***************
*** 133,139 ****
  	bool run_in_foreground = FALSE;	/* -bD mode */
  	static bool reenter = FALSE;
  	struct passwd *pw;
- 	struct stat stb;
  	struct hostent *hp;
  	bool nullserver = FALSE;
  	char jbuf[MAXHOSTNAMELEN];	/* holds MyHostName */
--- 128,133 ----
***************
*** 436,441 ****
--- 430,437 ----
  		res_init();
  	if (tTd(8, 8))
  		_res.options |= RES_DEBUG;
+ 	else
+ 		_res.options &= ~RES_DEBUG;
  # ifdef RES_NOALIASES
  	_res.options |= RES_NOALIASES;
  # endif
***************
*** 832,837 ****
--- 828,842 ----
  	ConfigFileRead = TRUE;
  	vendor_post_defaults(CurEnv);
  
+ 	/* Enforce use of local time (null string overrides this) */
+ 	if (TimeZoneSpec == NULL)
+ 		unsetenv("TZ");
+ 	else if (TimeZoneSpec[0] != '\0')
+ 		setuserenv("TZ", TimeZoneSpec);
+ 	else
+ 		setuserenv("TZ", NULL);
+ 	tzset();
+ 
  	/* avoid denial-of-service attacks */
  	resetlimits();
  
***************
*** 903,917 ****
  	if (DefaultNotify == 0)
  		DefaultNotify = QPINGONFAILURE|QPINGONDELAY;
  
- 	/* Enforce use of local time (null string overrides this) */
- 	if (TimeZoneSpec == NULL)
- 		unsetenv("TZ");
- 	else if (TimeZoneSpec[0] != '\0')
- 		setuserenv("TZ", TimeZoneSpec);
- 	else
- 		setuserenv("TZ", NULL);
- 	tzset();
- 
  	/* be sure we don't pick up bogus HOSTALIASES environment variable */
  	if (queuemode && RealUid != 0)
  		(void) unsetenv("HOSTALIASES");
--- 908,913 ----
***************
*** 1321,1327 ****
  	if (OpMode == MD_DAEMON || QueueIntvl != 0)
  	{
  		char dtype[200];
! 		extern bool getrequests __P((ENVELOPE *));
  
  		if (!run_in_foreground && !tTd(99, 100))
  		{
--- 1317,1323 ----
  	if (OpMode == MD_DAEMON || QueueIntvl != 0)
  	{
  		char dtype[200];
! 		extern void getrequests __P((ENVELOPE *));
  
  		if (!run_in_foreground && !tTd(99, 100))
  		{
***************
*** 1371,1377 ****
  		dropenvelope(CurEnv, TRUE);
  
  #if DAEMON
! 		nullserver = getrequests(CurEnv);
  
  		/* drop privileges */
  		(void) drop_privileges(FALSE);
--- 1367,1373 ----
  		dropenvelope(CurEnv, TRUE);
  
  #if DAEMON
! 		getrequests(CurEnv);
  
  		/* drop privileges */
  		(void) drop_privileges(FALSE);
***************
*** 1385,1390 ****
--- 1381,1391 ----
  
  		p = getauthinfo(fileno(InChannel));
  		define('_', p, &BlankEnvelope);
+ 
+ 		/* validate the connection */
+ 		HoldErrs = TRUE;
+ 		nullserver = !validate_connection(&RealHostAddr, RealHostName, CurEnv);
+ 		HoldErrs = FALSE;
  #endif /* DAEMON */
  	}
  
***************
*** 1476,1485 ****
  		CurEnv->e_flags &= ~EF_FATALERRS;
  		collect(InChannel, FALSE, NULL, CurEnv);
  
! 		/* bail out if there were fatal errors in collect */
! 		if (OpMode != MD_VERIFY && bitset(EF_FATALERRS, CurEnv->e_flags))
  		{
- 			CurEnv->e_flags |= EF_CLRQUEUE;
  			finis();
  			/*NOTREACHED*/
  			return -1;
--- 1477,1485 ----
  		CurEnv->e_flags &= ~EF_FATALERRS;
  		collect(InChannel, FALSE, NULL, CurEnv);
  
! 		/* bail out if message too large */
! 		if (bitset(EF_CLRQUEUE, CurEnv->e_flags))
  		{
  			finis();
  			/*NOTREACHED*/
  			return -1;
***************
*** 2047,2053 ****
  				RunAsUid, RunAsGid);
  		exit(EX_OSERR);
  	}
! 	execv(SaveArgv[0], (ARGV_T) SaveArgv);
  	if (LogLevel > 0)
  		sm_syslog(LOG_ALERT, NOQID, "could not exec %s: %m", SaveArgv[0]);
  	exit(EX_OSFILE);
--- 2047,2053 ----
  				RunAsUid, RunAsGid);
  		exit(EX_OSERR);
  	}
! 	execve(SaveArgv[0], (ARGV_T) SaveArgv, (ARGV_T) ExternalEnviron);
  	if (LogLevel > 0)
  		sm_syslog(LOG_ALERT, NOQID, "could not exec %s: %m", SaveArgv[0]);
  	exit(EX_OSFILE);
***************
*** 2089,2102 ****
  
  #ifdef NGROUPS_MAX
  	/* reset group permissions; these can be set later */
! 	emptygidset[0] = RunAsGid == 0 ? getegid() : RunAsGid;
  	(void) setgroups(1, emptygidset);
  #endif
  
  	/* reset primary group and user id */
! 	if (RunAsGid != 0 && setgid(RunAsGid) < 0)
  		rval = EX_OSERR;
! 	if (RunAsUid != 0 && setuid(RunAsUid) < 0)
  		rval = EX_OSERR;
  	return rval;
  }
--- 2089,2102 ----
  
  #ifdef NGROUPS_MAX
  	/* reset group permissions; these can be set later */
! 	emptygidset[0] = (to_real_uid || RunAsGid != 0) ? RunAsGid : getegid();
  	(void) setgroups(1, emptygidset);
  #endif
  
  	/* reset primary group and user id */
! 	if ((to_real_uid || RunAsGid != 0) && setgid(RunAsGid) < 0)
  		rval = EX_OSERR;
! 	if ((to_real_uid || RunAsUid != 0) && setuid(RunAsUid) < 0)
  		rval = EX_OSERR;
  	return rval;
  }
diff -cr sendmail-8.8.7/src/map.c sendmail-8.8.8/src/map.c
*** sendmail-8.8.7/src/map.c	Wed Jul  9 13:35:06 1997
--- sendmail-8.8.8/src/map.c	Tue Oct 21 05:28:06 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)map.c	8.181 (Berkeley) 7/9/97";
  #endif /* not lint */
  
  #include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)map.c	8.186 (Berkeley) 10/21/97";
  #endif /* not lint */
  
  #include "sendmail.h"
***************
*** 402,409 ****
  **
  **	Side Effects:
  **		initializes aliases:
! **		if NDBM:  opens the database.
! **		if ~NDBM: reads the aliases into the symbol table.
  */
  
  void
--- 402,409 ----
  **
  **	Side Effects:
  **		initializes aliases:
! **		if alias database:  opens the database.
! **		if no database available: reads aliases into the symbol table.
  */
  
  void
***************
*** 417,441 ****
  	checkfd012("entering initmaps");
  #endif
  	CurEnv = e;
! 	if (rebuild)
! 	{
! 		stabapply(map_init, 1);
! 		stabapply(map_init, 2);
! 	}
! 	else
! 	{
! 		stabapply(map_init, 0);
! 	}
  #if XDEBUG
  	checkfd012("exiting initmaps");
  #endif
  }
  
  void
! map_init(s, rebuild)
  	register STAB *s;
! 	int rebuild;
  {
  	register MAP *map;
  
  	/* has to be a map */
--- 417,436 ----
  	checkfd012("entering initmaps");
  #endif
  	CurEnv = e;
! 
! 	stabapply(map_init, 0);
! 	stabapply(map_init, rebuild ? 2 : 1);
  #if XDEBUG
  	checkfd012("exiting initmaps");
  #endif
  }
  
  void
! map_init(s, pass)
  	register STAB *s;
! 	int pass;
  {
+ 	bool rebuildable;
  	register MAP *map;
  
  	/* has to be a map */
***************
*** 452,464 ****
  				map->map_class->map_cname,
  			map->map_mname == NULL ? "NULL" : map->map_mname,
  			map->map_file == NULL ? "NULL" : map->map_file,
! 			rebuild);
  
! 	if (rebuild == (bitset(MF_ALIAS, map->map_mflags) &&
! 		    bitset(MCF_REBUILDABLE, map->map_class->map_cflags) ? 1 : 2))
  	{
  		if (tTd(38, 3))
! 			printf("\twrong pass\n");
  		return;
  	}
  
--- 447,469 ----
  				map->map_class->map_cname,
  			map->map_mname == NULL ? "NULL" : map->map_mname,
  			map->map_file == NULL ? "NULL" : map->map_file,
! 			pass);
! 
! 	/*
! 	** Pass 0 opens all non-rebuildable maps.
! 	** Pass 1 opens all rebuildable maps for read.
! 	** Pass 2 rebuilds all rebuildable maps.
! 	*/
! 
! 	rebuildable = (bitset(MF_ALIAS, map->map_mflags) &&
! 		       bitset(MCF_REBUILDABLE, map->map_class->map_cflags));
  
! 	if ((pass == 0 && rebuildable) ||
! 	    ((pass == 1 || pass == 2) && !rebuildable))
  	{
  		if (tTd(38, 3))
! 			printf("\twrong pass (pass = %d, rebuildable = %d)\n",
! 			       pass, rebuildable);
  		return;
  	}
  
***************
*** 468,510 ****
  		map->map_class->map_close(map);
  		map->map_mflags &= ~(MF_OPEN|MF_WRITABLE);
  	}
! 
! 	if (rebuild == 2)
  	{
  		rebuildaliases(map, FALSE);
  	}
  	else
  	{
! 		if (map->map_class->map_open(map, O_RDONLY))
! 		{
! 			if (tTd(38, 4))
! 				printf("\t%s:%s %s: valid\n",
! 					map->map_class->map_cname == NULL ? "NULL" :
! 						map->map_class->map_cname,
! 					map->map_mname == NULL ? "NULL" :
! 						map->map_mname,
! 					map->map_file == NULL ? "NULL" :
! 						map->map_file);
! 			map->map_mflags |= MF_OPEN;
! 		}
! 		else
  		{
! 			if (tTd(38, 4))
! 				printf("\t%s:%s %s: invalid: %s\n",
! 					map->map_class->map_cname == NULL ? "NULL" :
! 						map->map_class->map_cname,
! 					map->map_mname == NULL ? "NULL" :
! 						map->map_mname,
! 					map->map_file == NULL ? "NULL" :
! 						map->map_file,
! 					errstring(errno));
! 			if (!bitset(MF_OPTIONAL, map->map_mflags))
! 			{
! 				extern MAPCLASS BogusMapClass;
  
! 				map->map_class = &BogusMapClass;
! 				map->map_mflags |= MF_OPEN;
! 			}
  		}
  	}
  }
--- 473,514 ----
  		map->map_class->map_close(map);
  		map->map_mflags &= ~(MF_OPEN|MF_WRITABLE);
  	}
! 		
! 	if (pass == 2)
  	{
  		rebuildaliases(map, FALSE);
+ 		return;
+ 	}
+ 
+ 	if (map->map_class->map_open(map, O_RDONLY))
+ 	{
+ 		if (tTd(38, 4))
+ 			printf("\t%s:%s %s: valid\n",
+ 				map->map_class->map_cname == NULL ? "NULL" :
+ 					map->map_class->map_cname,
+ 				map->map_mname == NULL ? "NULL" :
+ 					map->map_mname,
+ 				map->map_file == NULL ? "NULL" :
+ 					map->map_file);
+ 		map->map_mflags |= MF_OPEN;
  	}
  	else
  	{
! 		if (tTd(38, 4))
! 			printf("\t%s:%s %s: invalid: %s\n",
! 				map->map_class->map_cname == NULL ? "NULL" :
! 					map->map_class->map_cname,
! 				map->map_mname == NULL ? "NULL" :
! 					map->map_mname,
! 				map->map_file == NULL ? "NULL" :
! 					map->map_file,
! 				errstring(errno));
! 		if (!bitset(MF_OPTIONAL, map->map_mflags))
  		{
! 			extern MAPCLASS BogusMapClass;
  
! 			map->map_class = &BogusMapClass;
! 			map->map_mflags |= MF_OPEN;
  		}
  	}
  }
***************
*** 781,794 ****
  	if (std.st_mode == ST_MODE_NOFILE)
  		mode |= O_CREAT|O_EXCL;
  
- 	/* heuristic: if files are linked, this is actually gdbm */
- 	if (std.st_dev == stp.st_dev && std.st_ino == stp.st_ino)
- 	{
- 		syserr("dbm map \"%s\": cannot support GDBM",
- 			map->map_mname);
- 		return FALSE;
- 	}
- 
  #if LOCK_ON_OPEN
  	if (mode == O_RDONLY)
  		mode |= O_SHLOCK;
--- 785,790 ----
***************
*** 891,896 ****
--- 887,906 ----
  	}
  	dfd = dbm_dirfno(dbm);
  	pfd = dbm_pagfno(dbm);
+ 	if (dfd == pfd)
+ 	{
+ 		/* heuristic: if files are linked, this is actually gdbm */
+ 		dbm_close(dbm);
+ #if !LOCK_ON_OPEN && !NOFTRUNCATE
+ 		if (map->map_lockfd >= 0)
+ 			close(map->map_lockfd);
+ #endif
+ 		errno = 0;
+ 		syserr("dbm map \"%s\": cannot support GDBM",
+ 			map->map_mname);
+ 		return FALSE;
+ 	}
+ 
  	if (filechanged(dirfile, dfd, &std, sff) ||
  	    filechanged(pagfile, pfd, &stp, sff))
  	{
***************
*** 944,949 ****
--- 954,960 ----
  	datum key, val;
  	int fd;
  	char keybuf[MAXNAME + 1];
+ 	struct stat stbuf;
  
  	if (tTd(38, 20))
  		printf("ndbm_map_lookup(%s, %s)\n",
***************
*** 960,968 ****
--- 971,1010 ----
  		makelower(keybuf);
  		key.dptr = keybuf;
  	}
+ lockdbm:
  	fd = dbm_dirfno((DBM *) map->map_db1);
  	if (fd >= 0 && !bitset(MF_LOCKED, map->map_mflags))
  		(void) lockfile(fd, map->map_file, ".dir", LOCK_SH);
+ 	if (fd < 0 || fstat(fd, &stbuf) < 0 || stbuf.st_mtime > map->map_mtime) 
+ 	{
+ 		/* Reopen the database to sync the cache */
+ 		int omode = bitset(map->map_mflags, MF_WRITABLE) ? O_RDWR
+ 								 : O_RDONLY;
+ 
+ 		map->map_class->map_close(map);
+ 		map->map_mflags &= ~(MF_OPEN|MF_WRITABLE);
+ 		if (map->map_class->map_open(map, omode)) 
+ 		{
+ 			map->map_mflags |= MF_OPEN;
+ 			if ((omode && O_ACCMODE) == O_RDWR)
+ 				map->map_mflags |= MF_WRITABLE;
+ 			goto lockdbm;
+ 		}
+ 		else
+ 		{
+ 			if (!bitset(MF_OPTIONAL, map->map_mflags)) 
+ 			{
+ 				extern MAPCLASS BogusMapClass;
+ 
+ 				*statp = EX_TEMPFAIL;
+ 				map->map_class = &BogusMapClass;
+ 				map->map_mflags |= MF_OPEN;
+ 				syserr("Cannot reopen NDBM database %s",
+ 					map->map_file);
+ 			}
+ 			return NULL;
+ 		}
+ 	}
  	val.dptr = NULL;
  	if (bitset(MF_TRY0NULL, map->map_mflags))
  	{
***************
*** 2489,2495 ****
  					filter, map->map_mname);
  			}
  			result = NULL;
! 			*statp = EX_UNAVAILABLE;
  			goto quick_exit;
  		}
  	}
--- 2531,2537 ----
  					filter, map->map_mname);
  			}
  			result = NULL;
! 			*statp = EX_TEMPFAIL;
  			goto quick_exit;
  		}
  	}
diff -cr sendmail-8.8.7/src/parseaddr.c sendmail-8.8.8/src/parseaddr.c
*** sendmail-8.8.7/src/parseaddr.c	Sat Aug  2 11:55:25 1997
--- sendmail-8.8.8/src/parseaddr.c	Mon Oct 20 12:22:04 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)parseaddr.c	8.130 (Berkeley) 8/2/97";
  #endif /* not lint */
  
  # include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)parseaddr.c	8.132 (Berkeley) 10/20/97";
  #endif /* not lint */
  
  # include "sendmail.h"
***************
*** 1859,1864 ****
--- 1859,1865 ----
  	{ "QDELIVERED",		QDELIVERED	},
  	{ "QDELAYED",		QDELAYED	},
  	{ "QTHISPASS",		QTHISPASS	},
+ 	{ "QRCPTOK",		QRCPTOK		},
  	{ NULL }
  };
  
***************
*** 2136,2142 ****
--- 2137,2147 ----
  	}
  	pvp = prescan(a->q_user, '\0', pvpbuf, sizeof pvpbuf, &delimptr, NULL);
  	if (pvp == NULL)
+ 	{
+ 		if (tTd(29, 9))
+ 			printf("maplocaluser: cannot prescan %s\n", a->q_user);
  		return;
+ 	}
  
  	define('h', a->q_host, e);
  	define('u', a->q_user, e);
***************
*** 2144,2160 ****
--- 2149,2173 ----
   
  	if (rewrite(pvp, 5, 0, e) == EX_TEMPFAIL)
  	{
+ 		if (tTd(29, 9))
+ 			printf("maplocaluser: rewrite tempfail\n");
  		a->q_flags |= QQUEUEUP;
  		a->q_status = "4.4.3";
  		return;
  	}
  	if (pvp[0] == NULL || (pvp[0][0] & 0377) != CANONNET)
+ 	{
+ 		if (tTd(29, 9))
+ 			printf("maplocaluser: doesn't resolve\n");
  		return;
+ 	}
  
  	/* if non-null, mailer destination specified -- has it changed? */
  	a1 = buildaddr(pvp, NULL, 0, e);
  	if (a1 == NULL || sameaddr(a, a1))
  	{
+ 		if (tTd(29, 9))
+ 			printf("maplocaluser: address unchanged\n");
  		if (a1 != NULL)
  			free(a1);
  		return;
diff -cr sendmail-8.8.7/src/queue.c sendmail-8.8.8/src/queue.c
*** sendmail-8.8.7/src/queue.c	Wed Jul 23 16:14:19 1997
--- sendmail-8.8.8/src/queue.c	Sat Oct  4 09:46:18 1997
***************
*** 36,44 ****
  
  #ifndef lint
  #if QUEUE
! static char sccsid[] = "@(#)queue.c	8.174 (Berkeley) 7/23/97 (with queueing)";
  #else
! static char sccsid[] = "@(#)queue.c	8.174 (Berkeley) 7/23/97 (without queueing)";
  #endif
  #endif /* not lint */
  
--- 36,44 ----
  
  #ifndef lint
  #if QUEUE
! static char sccsid[] = "@(#)queue.c	8.175 (Berkeley) 10/4/97 (with queueing)";
  #else
! static char sccsid[] = "@(#)queue.c	8.175 (Berkeley) 10/4/97 (without queueing)";
  #endif
  #endif /* not lint */
  
***************
*** 474,480 ****
  	FILE *tfp;
  {
  	char *uname;
- 	char *paddr;
  	register ADDRESS *q;
  	uid_t uid;
  	gid_t gid;
--- 474,479 ----
***************
*** 514,525 ****
  	lastuid = uid;
  	lastctladdr = a;
  
- 	paddr = denlstring(a->q_paddr, TRUE, FALSE);
  	if (uid == 0 || uname == NULL || uname[0] == '\0')
! 		fprintf(tfp, "C:%s\n", paddr);
  	else
! 		fprintf(tfp, "C%s:%ld:%ld:%s\n",
! 			uname, (long) uid, (long) gid, paddr);
  }
  /*
  **  RUNQUEUE -- run the jobs in the queue.
--- 513,524 ----
  	lastuid = uid;
  	lastctladdr = a;
  
  	if (uid == 0 || uname == NULL || uname[0] == '\0')
! 		fprintf(tfp, "C");
  	else
! 		fprintf(tfp, "C%s:%ld:%ld",
! 			denlstring(uname, TRUE, FALSE), (long) uid, (long) gid);
! 	fprintf(tfp, ":%s\n", denlstring(a->q_paddr, TRUE, FALSE));
  }
  /*
  **  RUNQUEUE -- run the jobs in the queue.
diff -cr sendmail-8.8.7/src/readcf.c sendmail-8.8.8/src/readcf.c
*** sendmail-8.8.7/src/readcf.c	Sat Aug  2 11:06:53 1997
--- sendmail-8.8.8/src/readcf.c	Wed Oct  1 15:13:23 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)readcf.c	8.200 (Berkeley) 8/2/97";
  #endif /* not lint */
  
  # include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)readcf.c	8.201 (Berkeley) 10/1/97";
  #endif /* not lint */
  
  # include "sendmail.h"
***************
*** 1521,1526 ****
--- 1521,1530 ----
  #define O_DONTLOCK	0xa5
  	{ "DontLockFilesForRead",	O_DONTLOCK,	FALSE	},
  #endif
+ #if _FFR_MAXALIASRECURSION_OPTION
+ #define O_MAXALIASRCSN	0xa6
+ 	{ "MaxAliasRecursion",		O_MAXALIASRCSN,	FALSE	},
+ #endif
  
  	{ NULL,				'\0',		FALSE	}
  };
***************
*** 2352,2357 ****
--- 2356,2367 ----
  #if _FFR_DONTLOCKFILESFORREAD_OPTION
  	  case O_DONTLOCK:
  		DontLockReadFiles = atobool(val);
+ 		break;
+ #endif
+ 
+ #if _FFR_MAXALIASRECURSION_OPTION
+ 	  case O_MAXALIASRCSN:
+ 		MaxAliasRecursion = atoi(val);
  		break;
  #endif
  
diff -cr sendmail-8.8.7/src/recipient.c sendmail-8.8.8/src/recipient.c
*** sendmail-8.8.7/src/recipient.c	Thu May 29 10:42:25 1997
--- sendmail-8.8.8/src/recipient.c	Sun Oct 19 15:48:46 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)recipient.c	8.130 (Berkeley) 5/29/97";
  #endif /* not lint */
  
  # include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)recipient.c	8.133 (Berkeley) 10/19/97";
  #endif /* not lint */
  
  # include "sendmail.h"
***************
*** 263,268 ****
--- 263,269 ----
  	/* break aliasing loops */
  	if (aliaslevel > MaxAliasRecursion)
  	{
+ 		a->q_flags |= QBADADDR;
  		a->q_status = "5.4.6";
  		usrerr("554 aliasing/forwarding loop broken (%d aliases deep; %d max)",
  			aliaslevel, MaxAliasRecursion);
***************
*** 327,333 ****
  
  	for (pq = sendq; (q = *pq) != NULL; pq = &q->q_next)
  	{
! 		if (sameaddr(q, a))
  		{
  			if (tTd(26, 1))
  			{
--- 328,334 ----
  
  	for (pq = sendq; (q = *pq) != NULL; pq = &q->q_next)
  	{
! 		if (sameaddr(q, a) && bitset(QRCPTOK, q->q_flags))
  		{
  			if (tTd(26, 1))
  			{
***************
*** 641,647 ****
  					a->q_paddr);
  		}
  	}
! 
  	return (a);
  }
  /*
--- 642,648 ----
  					a->q_paddr);
  		}
  	}
! 	a->q_flags |= QRCPTOK;
  	return (a);
  }
  /*
***************
*** 922,928 ****
  	volatile int sfflags = SFF_REGONLY;
  	register char *p;
  	bool safechown = FALSE;
! 	bool safedir = FALSE;
  	struct stat st;
  	char buf[MAXLINE];
  	extern bool chownsafe();
--- 923,929 ----
  	volatile int sfflags = SFF_REGONLY;
  	register char *p;
  	bool safechown = FALSE;
! 	volatile bool safedir = FALSE;
  	struct stat st;
  	char buf[MAXLINE];
  	extern bool chownsafe();
diff -cr sendmail-8.8.7/src/savemail.c sendmail-8.8.8/src/savemail.c
*** sendmail-8.8.7/src/savemail.c	Sat Aug  2 11:06:53 1997
--- sendmail-8.8.8/src/savemail.c	Wed Oct 22 19:30:27 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)savemail.c	8.114 (Berkeley) 8/2/97";
  #endif /* not lint */
  
  # include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)savemail.c	8.121 (Berkeley) 10/22/97";
  #endif /* not lint */
  
  # include "sendmail.h"
***************
*** 85,91 ****
  	int flags;
  	char buf[MAXLINE+1];
  	extern char *ttypath();
- 	typedef int (*fnptr)();
  	extern bool writable();
  
  	if (tTd(6, 1))
--- 85,90 ----
***************
*** 254,261 ****
  			}
  			if (!emptyaddr(&e->e_from))
  			{
! 				(void) sendtolist(e->e_from.q_paddr,
! 					  NULLADDR, &e->e_errorqueue, 0, e);
  			}
  
  			/*
--- 253,281 ----
  			}
  			if (!emptyaddr(&e->e_from))
  			{
! 				char from[TOBUFSIZE];
! 				extern bool pruneroute __P((char *));
! 
! 				if (strlen(e->e_from.q_paddr) + 1 > sizeof from)
! 				{
! 					state = ESM_POSTMASTER;
! 					break;
! 				}
! 				strcpy(from, e->e_from.q_paddr);
! 
! 				if (!DontPruneRoutes && pruneroute(from))
! 				{
! 					ADDRESS *a;
! 
! 					for (a = e->e_errorqueue; a != NULL;
! 					     a = a->q_next)
! 					{
! 						if (sameaddr(a, &e->e_from))
! 							a->q_flags |= QDONTSEND;
! 					}
! 				}
! 				(void) sendtolist(from, NULLADDR,
! 						  &e->e_errorqueue, 0, e);
  			}
  
  			/*
***************
*** 379,385 ****
  				break;
  			}
  
! 			flags = SFF_NOLINK|SFF_CREAT|SFF_REGONLY|SFF_OPENASROOT|SFF_MUSTOWN;
  			if (!writable(DeadLetterDrop, NULL, flags) ||
  			    (fp = safefopen(DeadLetterDrop, O_WRONLY|O_APPEND,
  					    FileMode, flags)) == NULL)
--- 399,405 ----
  				break;
  			}
  
! 			flags = SFF_NOLINK|SFF_CREAT|SFF_REGONLY|SFF_ROOTOK|SFF_OPENASROOT|SFF_MUSTOWN;
  			if (!writable(DeadLetterDrop, NULL, flags) ||
  			    (fp = safefopen(DeadLetterDrop, O_WRONLY|O_APPEND,
  					    FileMode, flags)) == NULL)
***************
*** 519,544 ****
  	initsys(ee);
  	for (q = returnq; q != NULL; q = q->q_next)
  	{
- 		extern bool pruneroute __P((char *));
- 
  		if (bitset(QBADADDR, q->q_flags))
  			continue;
  
  		q->q_flags &= ~(QHASNOTIFY|Q_PINGFLAGS);
  		q->q_flags |= QPINGONFAILURE;
  
- 		if (!DontPruneRoutes && pruneroute(q->q_paddr))
- 		{
- 			register ADDRESS *p;
- 
- 			parseaddr(q->q_paddr, q, RF_COPYPARSE, '\0', NULL, e);
- 			for (p = returnq; p != NULL; p = p->q_next)
- 			{
- 				if (p != q && sameaddr(p, q))
- 					q->q_flags |= QDONTSEND;
- 			}
- 		}
- 
  		if (!bitset(QDONTSEND, q->q_flags))
  			ee->e_nrcpts++;
  
--- 539,550 ----
***************
*** 650,656 ****
  		return 0;
  	for (q = ee->e_sendqueue; q != NULL; q = q->q_next)
  	{
! 		if (bitset(QSENT, q->q_flags))
  			return 0;
  	}
  	return -1;
--- 656,662 ----
  		return 0;
  	for (q = ee->e_sendqueue; q != NULL; q = q->q_next)
  	{
! 		if (bitset(QQUEUEUP|QSENT, q->q_flags))
  			return 0;
  	}
  	return -1;
***************
*** 681,687 ****
  {
  	register FILE *xfile;
  	char *p;
! 	register ADDRESS *q;
  	bool printheader;
  	bool sendbody;
  	bool pm_notify;
--- 687,693 ----
  {
  	register FILE *xfile;
  	char *p;
! 	register ADDRESS *q = NULL;
  	bool printheader;
  	bool sendbody;
  	bool pm_notify;
***************
*** 1001,1017 ****
  				p = "rfc822";
  			for (r = q; r->q_alias != NULL; r = r->q_alias)
  				continue;
! 			if (strchr(r->q_user, '@') == NULL)
  			{
  				(void) snprintf(buf, sizeof buf,
! 					"Final-Recipient: %s; %.700s@%.100s",
! 					p, r->q_user, MyHostName);
  			}
! 			else
  			{
  				(void) snprintf(buf, sizeof buf,
  					"Final-Recipient: %s; %.800s",
! 					p, r->q_user);
  			}
  			putline(buf, mci);
  
--- 1007,1029 ----
  				p = "rfc822";
  			for (r = q; r->q_alias != NULL; r = r->q_alias)
  				continue;
! 			if (strchr(r->q_user, '@') != NULL)
  			{
  				(void) snprintf(buf, sizeof buf,
! 					"Final-Recipient: %s; %.800s",
! 					p, r->q_user);
  			}
! 			else if (strchr(r->q_paddr, '@') != NULL)
  			{
  				(void) snprintf(buf, sizeof buf,
  					"Final-Recipient: %s; %.800s",
! 					p, r->q_paddr);
! 			}
! 			else
! 			{
! 				(void) snprintf(buf, sizeof buf,
! 					"Final-Recipient: %s; %.700s@%.100s",
! 					p, r->q_user, MyHostName);
  			}
  			putline(buf, mci);
  
diff -cr sendmail-8.8.7/src/sendmail.h sendmail-8.8.8/src/sendmail.h
*** sendmail-8.8.7/src/sendmail.h	Sat Aug  2 11:06:53 1997
--- sendmail-8.8.8/src/sendmail.h	Wed Oct 22 13:12:02 1997
***************
*** 31,37 ****
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   *
!  *	@(#)sendmail.h	8.242 (Berkeley) 8/2/97
   */
  
  /*
--- 31,37 ----
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   *
!  *	@(#)sendmail.h	8.245 (Berkeley) 10/22/97
   */
  
  /*
***************
*** 41,47 ****
  # ifdef _DEFINE
  # define EXTERN
  # ifndef lint
! static char SmailSccsId[] =	"@(#)sendmail.h	8.242		8/2/97";
  # endif
  # else /*  _DEFINE */
  # define EXTERN extern
--- 41,47 ----
  # ifdef _DEFINE
  # define EXTERN
  # ifndef lint
! static char SmailSccsId[] =	"@(#)sendmail.h	8.245		10/22/97";
  # endif
  # else /*  _DEFINE */
  # define EXTERN extern
***************
*** 206,211 ****
--- 206,212 ----
  # define QDELIVERED	0x00040000	/* DSN: successful final delivery */
  # define QDELAYED	0x00080000	/* DSN: message delayed */
  # define QTHISPASS	0x40000000	/* temp: address set this pass */
+ # define QRCPTOK	0x80000000	/* recipient() processed address */
  
  # define Q_PINGFLAGS	(QPINGONSUCCESS|QPINGONFAILURE|QPINGONDELAY)
  
***************
*** 928,933 ****
--- 929,935 ----
  #define PXLF_NOTHINGSPECIAL	0	/* no special mapping */
  #define PXLF_MAPFROM		0x0001	/* map From_ to >From_ */
  #define PXLF_STRIP8BIT		0x0002	/* strip 8th bit */
+ #define PXLF_HEADER		0x0004	/* map newlines in headers */
  /*
  **  Additional definitions
  */
***************
*** 1231,1237 ****
  EXTERN char	*MustQuoteChars;	/* quote these characters in phrases */
  EXTERN char	*ServiceSwitchFile;	/* backup service switch */
  EXTERN char	*DefaultCharSet;	/* default character set for MIME */
- EXTERN int	DeliveryNiceness;	/* how nice to be during delivery */
  EXTERN char	*PostMasterCopy;	/* address to get errs cc's */
  EXTERN int	CheckpointInterval;	/* queue file checkpoint interval */
  EXTERN bool	DontPruneRoutes;	/* don't prune source routes */
--- 1233,1238 ----
diff -cr sendmail-8.8.7/src/srvrsmtp.c sendmail-8.8.8/src/srvrsmtp.c
*** sendmail-8.8.7/src/srvrsmtp.c	Sat Aug  2 11:06:53 1997
--- sendmail-8.8.8/src/srvrsmtp.c	Sun Oct 19 15:48:46 1997
***************
*** 36,44 ****
  
  #ifndef lint
  #if SMTP
! static char sccsid[] = "@(#)srvrsmtp.c	8.154 (Berkeley) 8/2/97 (with SMTP)";
  #else
! static char sccsid[] = "@(#)srvrsmtp.c	8.154 (Berkeley) 8/2/97 (without SMTP)";
  #endif
  #endif /* not lint */
  
--- 36,44 ----
  
  #ifndef lint
  #if SMTP
! static char sccsid[] = "@(#)srvrsmtp.c	8.159 (Berkeley) 10/19/97 (with SMTP)";
  #else
! static char sccsid[] = "@(#)srvrsmtp.c	8.159 (Berkeley) 10/19/97 (without SMTP)";
  #endif
  #endif /* not lint */
  
***************
*** 153,159 ****
  	volatile int n_noop = 0;	/* count of NOOP/VERB/ONEX etc cmds */
  	volatile int n_helo = 0;	/* count of HELO/EHLO commands */
  	bool ok;
! 	int lognullconnection = TRUE;
  	register char *q;
  	char inp[MAXLINE];
  	char cmdbuf[MAXLINE];
--- 153,159 ----
  	volatile int n_noop = 0;	/* count of NOOP/VERB/ONEX etc cmds */
  	volatile int n_helo = 0;	/* count of HELO/EHLO commands */
  	bool ok;
! 	volatile int lognullconnection = TRUE;
  	register char *q;
  	char inp[MAXLINE];
  	char cmdbuf[MAXLINE];
***************
*** 252,257 ****
--- 252,269 ----
  				sm_syslog(LOG_NOTICE, e->e_id,
  					"lost input channel from %.100s",
  					CurSmtpClient);
+ 			if (lognullconnection && LogLevel > 5)
+ 				sm_syslog(LOG_INFO, NULL,
+ 				"Null connection from %.100s",
+ 				CurSmtpClient);
+ 
+ 			/*
+ 			** If have not accepted mail (DATA), do not bounce
+ 			** bad addresses back to sender.
+ 			*/
+ 			if (bitset(EF_CLRQUEUE, e->e_flags))
+ 				e->e_sendqueue = NULL;
+ 
  			if (InChild)
  				ExitStat = EX_QUIT;
  			finis();
***************
*** 872,877 ****
--- 884,890 ----
  					shortenstring(inp, 203));
  			if (setjmp(TopFrame) > 0)
  				goto undo_subproc;
+ 			QuickAbort = TRUE;
  			vrfyqueue = NULL;
  			if (vrfy)
  				e->e_flags |= EF_VRFYONLY;
***************
*** 917,932 ****
  			/* crude way to avoid denial-of-service attacks */
  			checksmtpattack(&n_etrn, MAXETRNCOMMANDS, "ETRN", e);
  
  			id = p;
  			if (*id == '@')
  				id++;
  			else
  				*--id = '@';
- 			if (LogLevel > 5)
- 				sm_syslog(LOG_INFO, e->e_id,
- 					"%.100s: ETRN %s",
- 					CurSmtpClient,
- 					shortenstring(id, 203));
  			QueueLimitRecipient = id;
  			ok = runqueue(TRUE, TRUE);
  			QueueLimitRecipient = NULL;
--- 930,946 ----
  			/* crude way to avoid denial-of-service attacks */
  			checksmtpattack(&n_etrn, MAXETRNCOMMANDS, "ETRN", e);
  
+ 			if (LogLevel > 5)
+ 				sm_syslog(LOG_INFO, e->e_id,
+ 					"%.100s: ETRN %s",
+ 					CurSmtpClient,
+ 					shortenstring(p, 203));
+ 
  			id = p;
  			if (*id == '@')
  				id++;
  			else
  				*--id = '@';
  			QueueLimitRecipient = id;
  			ok = runqueue(TRUE, TRUE);
  			QueueLimitRecipient = NULL;
diff -cr sendmail-8.8.7/src/usersmtp.c sendmail-8.8.8/src/usersmtp.c
*** sendmail-8.8.7/src/usersmtp.c	Thu Jun  5 08:29:51 1997
--- sendmail-8.8.8/src/usersmtp.c	Mon Oct 20 12:18:51 1997
***************
*** 36,44 ****
  
  #ifndef lint
  #if SMTP
! static char sccsid[] = "@(#)usersmtp.c	8.87 (Berkeley) 6/3/97 (with SMTP)";
  #else
! static char sccsid[] = "@(#)usersmtp.c	8.87 (Berkeley) 6/3/97 (without SMTP)";
  #endif
  #endif /* not lint */
  
--- 36,44 ----
  
  #ifndef lint
  #if SMTP
! static char sccsid[] = "@(#)usersmtp.c	8.88 (Berkeley) 10/20/97 (with SMTP)";
  #else
! static char sccsid[] = "@(#)usersmtp.c	8.88 (Berkeley) 10/20/97 (without SMTP)";
  #endif
  #endif /* not lint */
  
***************
*** 60,66 ****
  char	SmtpMsgBuffer[MAXLINE];		/* buffer for commands */
  char	SmtpReplyBuffer[MAXLINE];	/* buffer for replies */
  char	SmtpError[MAXLINE] = "";	/* save failure error messages */
- int	SmtpPid;			/* pid of mailer */
  bool	SmtpNeedIntro;			/* need "while talking" in transcript */
  
  extern void	smtpmessage __P((char *f, MAILER *m, MCI *mci, ...));
--- 60,65 ----
diff -cr sendmail-8.8.7/src/util.c sendmail-8.8.8/src/util.c
*** sendmail-8.8.7/src/util.c	Fri Aug  1 17:41:56 1997
--- sendmail-8.8.8/src/util.c	Wed Oct 22 13:12:02 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)util.c	8.133 (Berkeley) 8/1/97";
  #endif /* not lint */
  
  # include "sendmail.h"
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)util.c	8.137 (Berkeley) 10/22/97";
  #endif /* not lint */
  
  # include "sendmail.h"
***************
*** 520,525 ****
--- 520,526 ----
  **		pxflags -- flag bits:
  **		    PXLF_MAPFROM -- map From_ to >From_.
  **		    PXLF_STRIP8BIT -- strip 8th bit.
+ **		    PXLF_HEADER -- map bare newline in header to newline space.
  **
  **	Returns:
  **		none
***************
*** 626,632 ****
  		fputs(mci->mci_mailer->m_eol, mci->mci_out);
  		if (l < end && *l == '\n')
  		{
! 			if (*++l != ' ' && *l != '\t' && *l != '\0')
  			{
  				(void) putc(' ', mci->mci_out);
  				if (TrafficLogFile != NULL)
--- 627,634 ----
  		fputs(mci->mci_mailer->m_eol, mci->mci_out);
  		if (l < end && *l == '\n')
  		{
! 			if (*++l != ' ' && *l != '\t' && *l != '\0' &&
! 			    bitset(PXLF_HEADER, pxflags))
  			{
  				(void) putc(' ', mci->mci_out);
  				if (TrafficLogFile != NULL)
***************
*** 1058,1064 ****
  {
  #if XDEBUG
  	register int i;
- 	struct stat stbuf;
  
  	for (i = 0; i < 3; i++)
  		fill_fd(i, where);
--- 1060,1065 ----
***************
*** 1199,1205 ****
  	int i;
  	struct stat st;
  	char buf[200];
- 	extern char *hostnamebyanyaddr();
  
  	p = buf;
  	snprintf(p, SPACELEFT(buf, p), "%3d: ", fd);
--- 1200,1205 ----
***************
*** 1311,1317 ****
  
  printit:
  	if (logit)
! 		sm_syslog(LOG_DEBUG, CurEnv->e_id,
  			"%.800s", buf);
  	else
  		printf("%s\n", buf);
--- 1311,1317 ----
  
  printit:
  	if (logit)
! 		sm_syslog(LOG_DEBUG, CurEnv ? CurEnv->e_id : NULL,
  			"%.800s", buf);
  	else
  		printf("%s\n", buf);
diff -cr sendmail-8.8.7/src/version.c sendmail-8.8.8/src/version.c
*** sendmail-8.8.7/src/version.c	Sun Aug  3 10:24:50 1997
--- sendmail-8.8.8/src/version.c	Fri Oct 24 15:52:25 1997
***************
*** 33,39 ****
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)version.c	8.8.7.3 (Berkeley) 8/3/97";
  #endif /* not lint */
  
! char	Version[] = "8.8.7";
--- 33,39 ----
   */
  
  #ifndef lint
! static char sccsid[] = "@(#)version.c	8.8.8.1 (Berkeley) 10/24/97";
  #endif /* not lint */
  
! char	Version[] = "8.8.8";
diff -cr sendmail-8.8.7/test/t_exclopen.c sendmail-8.8.8/test/t_exclopen.c
*** sendmail-8.8.7/test/t_exclopen.c	Fri Mar 28 07:16:10 1997
--- sendmail-8.8.8/test/t_exclopen.c	Thu Aug  7 07:46:53 1997
***************
*** 19,24 ****
--- 19,26 ----
  **	HP-UX 10.20	OK
  **	Irix 5.3	OK
  **	Irix 6.2	OK
+ **	Irix 6.3	OK
+ **	Irix 6.4	OK
  **	Linux		OK
  **	NeXT 2.1	OK
  **	Solaris 2.x	OK
