diff -ur cf/m4/cfhead.m4.orig cf/m4/cfhead.m4
--- cf/m4/cfhead.m4.orig	Sun Jun 10 03:45:13 2001
+++ cf/m4/cfhead.m4	Fri Jun 15 06:47:34 2001
@@ -260,7 +261,8 @@
 define(`_REC_FULL_AUTH_', `$.$?{auth_type}(authenticated as ${auth_authen} $?{auth_author}for ${auth_author} $.with ${auth_type}')
 define(`_REC_HDR_', `$?sfrom $s $.$?_($?s$|from $.$_)')
 define(`_REC_END_', `for $u; $|;
-	$.$b')
+	$.$b$?g
+	(envelope-from $g)$.')
 define(`_REC_TLS_', `(version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u')
 define(`_REC_BY_', `$.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}')
 define(`confRECEIVED_HEADER', `_REC_HDR_
diff -ur cf/ostype/bsd4.4.m4 src/contrib/sendmail/cf/ostype/bsd4.4.m4
--- cf/ostype/bsd4.4.m4	Sun Apr 25 22:00:56 1999
+++ src/contrib/sendmail/cf/ostype/bsd4.4.m4	Wed Oct  4 23:19:29 2000
@@ -16,5 +16,6 @@
 divert(0)
 VERSIONID(`$Id: bsd4.4.m4,v 8.14 1999/04/24 05:37:40 gshapiro Exp $')
 ifdef(`STATUS_FILE',, `define(`STATUS_FILE', `/var/log/sendmail.st')')dnl
 ifdef(`LOCAL_MAILER_PATH',, `define(`LOCAL_MAILER_PATH', /usr/libexec/mail.local)')dnl
+ifdef(`LOCAL_MAILER_ARGS',, `define(`LOCAL_MAILER_ARGS', `mail $u')')dnl
 ifdef(`UUCP_MAILER_ARGS',, `define(`UUCP_MAILER_ARGS', `uux - -r -z -a$g $h!rmail ($u)')')dnl
diff -ur cf/sh/makeinfo.sh src/contrib/sendmail/cf/sh/makeinfo.sh
--- cf/sh/makeinfo.sh	Sun Feb  7 08:26:25 1999
+++ src/contrib/sendmail/cf/sh/makeinfo.sh	Wed Oct  4 23:19:29 2000
@@ -52,7 +54,7 @@
 else
 	host=`uname -n`
 fi
-echo '#####' built by $user@$host on `date`
+echo '#####' built by $user@$host on `LC_TIME=C date`
 echo '#####' in `pwd` | sed 's/\/tmp_mnt//'
 echo '#####' using $1 as configuration include directory | sed 's/\/tmp_mnt//'
 echo "define(\`__HOST__', $host)dnl"
diff -ur include/sendmail/pathnames.h.orig include/sendmail/pathnames.h
--- include/sendmail/pathnames.h.orig	Fri Mar 23 23:09:44 2001
+++ include/sendmail/pathnames.h	Mon May  7 08:32:45 2001
@@ -41,7 +41,7 @@
 #  endif /* ! _PATH_MAILDIR */
 
 #  ifndef _PATH_LOCTMP
-#   define _PATH_LOCTMP		"/tmp/local.XXXXXX"
+#   define _PATH_LOCTMP		"/var/tmp/local.XXXXXX"
 #  endif /* ! _PATH_LOCTMP */
 
 #  ifndef _PATH_HOSTS
diff -ur mail.local/mail.local.8.orig mail.local/mail.local.8
--- mail.local/mail.local.8.orig	Fri Apr  6 01:27:35 2001
+++ mail.local/mail.local.8	Thu May 31 07:36:03 2001
@@ -16,9 +16,9 @@
 \- store mail in a mailbox
 .SH SYNOPSIS
 .B mail.local
-.RB [ \-7 "] [" \-b "] [" \-d "] [" \-D
+.RB [ \-7 "] [" \-b "] [" \-B "] [" \-d "] [" \-D
 .IR mbdb ]
-.RB [ \-l "] [" \-f 
+.RB [ \-l "] [" \-s "] [" \-f 
 \fIfrom\fR|\fB\-r\fR
 .IR from ]
 .RB [ \-h
@@ -38,6 +41,11 @@
 .B \-7
 Do not advertise 8BITMIME support in LMTP mode.
 .TP 
+.B \-B
+Turn off the attempts to notify the
+.Dq biff
+service.
+.TP 
 .B \-b
 Return a permanent error instead of a temporary error
 if a mailbox exceeds quota.
@@ -56,6 +64,13 @@
 .TP
 .B \-l
 Turn on LMTP mode.
+.TP
+.B \-s
+Turn off the
+.Xr fsync 2
+call that forces the mailbox to be committed to disk before returning a
+.Dq success
+status.
 .TP 
 .BI \-r " from"
 Specify the sender's name (for backward compatibility).
@@ -97,7 +112,7 @@
 .SH FILES
 .PD 0.2v
 .TP 2.2i
-/tmp/local.XXXXXX
+/var/tmp/local.XXXXXX
 temporary files
 .TP
 /var/mail/user
@@ -108,7 +123,6 @@
 .PD
 .SH SEE ALSO
 mail(1), 
-xsend(1), 
 flock(2), 
 getservbyname(3), 
 comsat(8), 
diff -ur mail.local/mail.local.c.orig mail.local/mail.local.c
--- mail.local/mail.local.c.orig	Thu May 10 02:58:31 2001
+++ mail.local/mail.local.c	Thu May 31 07:39:04 2001
@@ -130,6 +132,8 @@
 bool	HoldErrs = false;		/* Hold errors in ErrBuf */
 bool	LMTPMode = false;
 bool	BounceQuota = false;		/* permanent error when over quota */
+bool	NoBiff = false;
+bool	NoFsync = false;
 char	*HomeMailFile = NULL;		/* store mail in homedir */
 
 void	deliver __P((int, char *));
@@ -172,7 +176,7 @@
 # endif /* LOG_MAIL */
 
 	from = NULL;
-	while ((ch = getopt(argc, argv, "7bdD:f:h:r:l")) != -1)
+	while ((ch = getopt(argc, argv, "7bBdD:f:h:r:ls")) != -1)
 	{
 		switch(ch)
 		{
@@ -180,6 +184,10 @@
 			EightBitMime = false;
 			break;
 
+		  case 'B':
+			NoBiff = true;
+			break;
+
 		  case 'b':		/* bounce mail when over quota. */
 			BounceQuota = true;
 			break;
@@ -215,6 +223,10 @@
 			LMTPMode = true;
 			break;
 
+		  case 's':
+			NoFsync = true;
+			break;
+
 		  case '?':
 		  default:
 			usage();
@@ -224,7 +236,8 @@
 	argv += optind;
 
 	/* initialize biff structures */
-	notifybiff(NULL);
+	if (!NoBiff)
+		notifybiff(NULL);
 
 	err = sm_mbdb_initialize(mbdbname);
 	if (err != EX_OK)
@@ -1128,6 +1141,7 @@
 
 	/* Get the starting offset of the new message for biff. */
 	curoff = lseek(mbfd, (off_t) 0, SEEK_END);
+	if (!NoBiff)
 	(void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n",
 			   name, (LONGLONG_T) curoff);
 
@@ -1190,7 +1204,7 @@
 	}
 
 	/* Flush to disk, don't wait for update. */
-	if (fsync(mbfd) < 0)
+	if (!NoFsync && fsync(mbfd) < 0)
 	{
 		mailerr("450 4.2.0", "%s: %s", path, sm_errstring(errno));
 err3:
@@ -1216,7 +1230,7 @@
 		mailerr(errcode, "%s: %s", path, sm_errstring(errno));
 		(void) truncate(path, curoff);
 	}
-	else
+	else if (!NoBiff)
 		notifybiff(biffmsg);
 
 	if (setreuid(0, 0) < 0)
@@ -1395,7 +1409,8 @@
 usage()
 {
 	ExitVal = EX_USAGE;
-	mailerr(NULL, "usage: mail.local [-7] [-b] [-d] [-l] [-f from|-r from] [-h filename] user ...");
+	mailerr(NULL, "usage: mail.local [-7] [-b] [-B] [-d] [-l] [-s] [-f from|-r from] [-h filename] user ...");
+
 	exit(ExitVal);
 }
 
diff -ur rmail/rmail.c src/contrib/sendmail/rmail/rmail.c
--- rmail/rmail.c	Sun Sep 17 00:20:25 2000
+++ src/contrib/sendmail/rmail/rmail.c	Mon Nov  6 11:23:42 2000
@@ -318,7 +320,11 @@
 	args[i++] = _PATH_SENDMAIL;	/* Build sendmail's argument list. */
 	args[i++] = "-G";		/* relay submission */
 	args[i++] = "-oee";		/* No errors, just status. */
+#ifdef QUEUE_ONLY
 	args[i++] = "-odq";		/* Queue it, don't try to deliver. */
+#else
+	args[i++] = "-odi";		/* Deliver in foreground. */
+#endif
 	args[i++] = "-oi";		/* Ignore '.' on a line by itself. */
 
 	/* set from system and protocol used */
diff -ur smrsh/smrsh.8.orig smrsh/smrsh.8
--- smrsh/smrsh.8.orig	Wed Jan 24 01:40:47 2001
+++ smrsh/smrsh.8	Mon May  7 08:32:45 2001
@@ -39,7 +41,7 @@
 .I smrsh
 limits programs to be in a single directory,
 by default
-/usr/adm/sm.bin,
+/usr/libexec/sm.bin,
 allowing the system administrator to choose the set of acceptable commands,
 and to the shell builtin commands ``exec'', ``exit'', and ``echo''.
 It also rejects any commands with the characters
@@ -50,13 +52,12 @@
 ``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"''
 .PP
 Initial pathnames on programs are stripped,
-so forwarding to ``/usr/ucb/vacation'',
-``/usr/bin/vacation'',
+so forwarding to ``/usr/bin/vacation'',
 ``/home/server/mydir/bin/vacation'',
 and
 ``vacation''
 all actually forward to
-``/usr/adm/sm.bin/vacation''.
+``/usr/libexec/sm.bin/vacation''.
 .PP
 System administrators should be conservative about populating
 the sm.bin directory.