diff -ur cf/m4/cfhead.m4 src/contrib/sendmail/cf/m4/cfhead.m4
--- cf/m4/cfhead.m4	Thu Aug 24 19:09:50 2000
+++ src/contrib/sendmail/cf/m4/cfhead.m4	Mon Nov  6 11:23:40 2000
@@ -214,7 +215,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_', `(using ${tls_version} with cipher ${cipher} (${cipher_bits} bits) verified ${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_ALL=C 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 mail.local/mail.local.8 src/contrib/sendmail/mail.local/mail.local.8
--- mail.local/mail.local.8.orig	Fri Dec 29 19:12:16 2000
+++ mail.local/mail.local.8	Sun Dec 31 10:27:40 2000
@@ -16,7 +16,7 @@
 \- store mail in a mailbox
 .SH SYNOPSIS
 .B mail.local
-.RB [ \-7 "] [" \-b "] [" \-d "] [" \-l "] [" \-f
+.RB [ \-7 "] [" \-B "] [" \-b "] [" \-d "] [" \-l "] [" \-s "] [" \-f
 .IR from "] "
 .RB [ \-r 
 .IR from "] " "user ..."
@@ -34,6 +36,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.
@@ -46,6 +53,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).
@@ -93,7 +107,6 @@
 .PD
 .SH SEE ALSO
 mail(1), 
-xsend(1), 
 flock(2), 
 getservbyname(3), 
 comsat(8), 
diff -ur mail.local/mail.local.c src/contrib/sendmail/mail.local/mail.local.c
--- mail.local/mail.local.c	Sun Feb 11 21:08:20 2001
+++ src/contrib/sendmail/mail.local/mail.local.c	Mon Mar  5 21:48:22 2001
@@ -154,7 +156,7 @@
 
 # if defined(BSD4_4) || defined(__GLIBC__)
 #   include <paths.h>
-#  define _PATH_LOCTMP	"/tmp/local.XXXXXX"
+#  define _PATH_LOCTMP	"/var/tmp/local.XXXXXX"
 # endif /* defined(BSD4_4) || defined(__GLIBC__) */
 
 # ifdef BSD4_4
@@ -215,7 +217,7 @@
 # endif /* USE_SETRESUID */
 
 # ifndef _PATH_LOCTMP
-#  define _PATH_LOCTMP	"/tmp/local.XXXXXX"
+#  define _PATH_LOCTMP	"/var/tmp/local.XXXXXX"
 # endif /* ! _PATH_LOCTMP */
 #  ifndef _PATH_MAILDIR
 #   define _PATH_MAILDIR	"/var/spool/mail"
@@ -252,6 +254,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;
 
 void	deliver __P((int, char *));
 int	e_to_sys __P((int));
@@ -291,7 +295,7 @@
 # endif /* LOG_MAIL */
 
 	from = NULL;
-	while ((ch = getopt(argc, argv, "7bdf:r:l")) != -1)
+	while ((ch = getopt(argc, argv, "7Bbdf:r:ls")) != -1)
 	{
 		switch(ch)
 		{
@@ -299,6 +303,10 @@
 			EightBitMime = FALSE;
 			break;
 
+		  case 'B':
+			nobiff = TRUE;
+			break;
+
 		  case 'b':		/* bounce mail when over quota. */
 			BounceQuota = TRUE;
 			break;
@@ -320,6 +328,10 @@
 			LMTPMode = TRUE;
 			break;
 
+		  case 's':
+			nofsync++;
+			break;
+
 		  case '?':
 		  default:
 			usage();
@@ -329,7 +341,8 @@
 	argv += optind;
 
 	/* initialize biff structures */
-	notifybiff(NULL);
+	if (!nobiff)
+		notifybiff(NULL);
 
 	if (LMTPMode)
 	{
@@ -1135,14 +1148,17 @@
 		goto err1;
 	}
 
-	/* Get the starting offset of the new message for biff. */
-	curoff = lseek(mbfd, (off_t) 0, SEEK_END);
-	if (sizeof curoff > sizeof(long))
-		(void) snprintf(biffmsg, sizeof(biffmsg), "%s@%s\n",
-				name, quad_to_string(curoff));
-	else
-		(void) snprintf(biffmsg, sizeof(biffmsg), "%s@%ld\n",
-				name, (long) curoff);
+	if (!nobiff)
+	{
+		/* Get the starting offset of the new message for biff. */
+		curoff = lseek(mbfd, (off_t) 0, SEEK_END);
+		if (sizeof curoff > sizeof(long))
+			(void) snprintf(biffmsg, sizeof(biffmsg), "%s@%s\n",
+					name, quad_to_string(curoff));
+		else
+			(void) snprintf(biffmsg, sizeof(biffmsg), "%s@%ld\n",
+					name, (long) curoff);
+	}
 
 	/* Copy the message into the file. */
 	if (lseek(fd, (off_t) 0, SEEK_SET) == (off_t) -1)
@@ -1203,7 +1219,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, errstring(errno));
 err3:
@@ -1229,7 +1245,7 @@
 		mailerr(errcode, "%s: %s", path, errstring(errno));
 		(void) truncate(path, curoff);
 	}
-	else
+	else if (!nobiff)
 		notifybiff(biffmsg);
 
 	if (setreuid(0, 0) < 0)
@@ -1408,7 +1424,7 @@
 usage()
 {
 	ExitVal = EX_USAGE;
-	mailerr(NULL, "usage: mail.local [-7] [-b] [-l] [-f from] user ...");
+	mailerr(NULL, "usage: mail.local [-7] [-B] [-b] [-l] [-f from] [-s] 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 src/contrib/sendmail/smrsh/smrsh.8
--- smrsh/smrsh.8.orig	Sat Dec 16 00:18:40 2000
+++ smrsh/smrsh.8	Sun Dec 31 10:37:02 2000
@@ -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.
@@ -78,11 +79,11 @@
 Compilation should be trivial on most systems.
 You may need to use \-DPATH=\e"\fIpath\fP\e"
 to adjust the default search path
-(defaults to ``/bin:/usr/bin:/usr/ucb'')
+(defaults to ``/bin:/usr/bin'')
 and/or \-DCMDBIN=\e"\fIdir\fP\e"
 to change the default program directory
-(defaults to ``/usr/adm/sm.bin'').
+(defaults to ``/usr/libexec/sm.bin'').
 .SH FILES
-/usr/adm/sm.bin \- directory for restricted programs
+/usr/libexec/sm.bin \- directory for restricted programs
 .SH SEE ALSO
 sendmail(8)
