diff options
author | Dirk Meyer <dinoex@FreeBSD.org> | 2008-05-04 11:23:02 +0000 |
---|---|---|
committer | Dirk Meyer <dinoex@FreeBSD.org> | 2008-05-04 11:23:02 +0000 |
commit | 983379892815501d51ee651568d2ba8a5df9f8f3 (patch) | |
tree | cd291fff599552197cf4c372b341fa6e7893ac14 /mail/sendmail/files/patch-mail.local.c | |
parent | Update to 0.12.1 (diff) |
- update to 8.14.3
- split patch into seperate files
Diffstat (limited to 'mail/sendmail/files/patch-mail.local.c')
-rw-r--r-- | mail/sendmail/files/patch-mail.local.c | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/mail/sendmail/files/patch-mail.local.c b/mail/sendmail/files/patch-mail.local.c new file mode 100644 index 000000000000..c66a1926951d --- /dev/null +++ b/mail/sendmail/files/patch-mail.local.c @@ -0,0 +1,97 @@ +--- mail.local/mail.local.c.orig 2008-02-19 08:13:30.000000000 +0100 ++++ mail.local/mail.local.c 2008-05-04 11:59:31.000000000 +0200 +@@ -153,6 +153,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; + bool CloseMBDB = false; + char *HomeMailFile = NULL; /* store mail in homedir */ + +@@ -234,12 +236,12 @@ + sm_exit(EX_CONFIG); + } + #if HASHSPOOL +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:lH:p:n")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:lsH:p:n")) != -1) + #else /* HASHSPOOL */ + # if _FFR_SPOOL_PATH +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:lp:")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:lsp:")) != -1) + # else /* _FFR_SPOOL_PATH */ +- while ((ch = getopt(argc, argv, "7bdD:f:h:r:l")) != -1) ++ while ((ch = getopt(argc, argv, "7bBdD:f:h:r:ls")) != -1) + # endif /* _FFR_SPOOL_PATH */ + #endif /* HASHSPOOL */ + { +@@ -249,6 +251,10 @@ + EightBitMime = false; + break; + ++ case 'B': ++ NoBiff = true; ++ break; ++ + case 'b': /* bounce mail when over quota. */ + BounceQuota = true; + break; +@@ -342,6 +348,10 @@ + break; + #endif /* HASHSPOOL || _FFR_SPOOL_PATH */ + ++ case 's': ++ NoFsync = true; ++ break; ++ + case '?': + default: + usage(); +@@ -351,7 +361,8 @@ + argv += optind; + + /* initialize biff structures */ +- notifybiff(NULL); ++ if (!NoBiff) ++ notifybiff(NULL); + + err = sm_mbdb_initialize(mbdbname); + if (err != EX_OK) +@@ -1273,6 +1284,7 @@ + + /* Get the starting offset of the new message */ + curoff = lseek(mbfd, (off_t) 0, SEEK_END); ++ if (!NoBiff) + (void) sm_snprintf(biffmsg, sizeof(biffmsg), "%s@%lld\n", + name, (LONGLONG_T) curoff); + +@@ -1335,7 +1347,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: +@@ -1402,7 +1414,7 @@ + /* Attempt to truncate back to pre-write size */ + goto err3; + } +- else ++ else if (!NoBiff) + notifybiff(biffmsg); + + if (setreuid(0, 0) < 0) +@@ -1582,9 +1594,9 @@ + { + ExitVal = EX_USAGE; + # if _FFR_SPOOL_PATH +- mailerr(NULL, "usage: mail.local [-7] [-b] [-d] [-l] [-f from|-r from] [-h filename] [-p path] user ..."); ++ mailerr(NULL, "usage: mail.local [-7] [-b] [-B] [-d] [-l] [-s] [-f from|-r from] [-h filename] [-p path] user ..."); + # else /* _FFR_SPOOL_PATH */ +- 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 ..."); + # endif /* _FFR_SPOOL_PATH */ + sm_exit(ExitVal); + } |