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.