|
|
1.1 ! root 1: divert(10) ! 2: # ! 3: # Sendmail ! 4: # Copyright (c) 1983 Eric P. Allman ! 5: # Berkeley, California ! 6: # ! 7: # Copyright (c) 1983 Regents of the University of California. ! 8: # All rights reserved. The Berkeley software License Agreement ! 9: # specifies the terms and conditions for redistribution. ! 10: # ! 11: # @(#)base.m4 5.7 (Berkeley) 10/21/85 ! 12: # ! 13: divert(0) ! 14: ############################################################ ! 15: # ! 16: # General configuration information ! 17: # ! 18: # This information is basically just "boiler-plate"; it must be ! 19: # there, but is essentially constant. ! 20: # ! 21: # Information in this file should be independent of location -- ! 22: # i.e., although there are some policy decisions made, they are ! 23: # not specific to Berkeley per se. ! 24: # ! 25: ############################################################ ! 26: ! 27: include(version.m4) ! 28: ! 29: ########################## ! 30: ### Special macros ### ! 31: ########################## ! 32: ! 33: # my name ! 34: DnMAILER-DAEMON ! 35: # UNIX header format ! 36: DlFrom $g $d ! 37: # delimiter (operator) characters ! 38: Do.:%@!^=/[] ! 39: # format of a total name ! 40: Dq$g$?x ($x)$. ! 41: # SMTP login message ! 42: De$j Sendmail $v/$Z ready at $b ! 43: ! 44: # forwarding host -- redefine this if you can't talk to the relay directly ! 45: DF$R ! 46: ! 47: ################### ! 48: ### Options ### ! 49: ################### ! 50: ! 51: # location of alias file ! 52: OA/usr/lib/aliases ! 53: # wait up to ten minutes for alias file rebuild ! 54: Oa10 ! 55: # substitution for space (blank) characters ! 56: OB. ! 57: # (don't) connect to "expensive" mailers ! 58: #Oc ! 59: # default delivery mode (deliver in background) ! 60: Odbackground ! 61: # temporary file mode ! 62: OF0600 ! 63: # default GID ! 64: Og1 ! 65: # location of help file ! 66: OH/usr/lib/sendmail.hf ! 67: # log level ! 68: OL9 ! 69: # default network name ! 70: ONARPA ! 71: # default messages to old style ! 72: Oo ! 73: # queue directory ! 74: OQ/usr/spool/mqueue ! 75: # read timeout -- violates protocols ! 76: Or2h ! 77: # status file ! 78: OS/usr/lib/sendmail.st ! 79: # queue up everything before starting transmission ! 80: Os ! 81: # default timeout interval ! 82: OT3d ! 83: # time zone names (V6 only) ! 84: OtPST,PDT ! 85: # default UID ! 86: Ou1 ! 87: # wizard's password ! 88: OW* ! 89: # load average at which we just queue messages ! 90: Ox8 ! 91: # load average at which we refuse connections ! 92: OX12 ! 93: ! 94: ############################### ! 95: ### Message precedences ### ! 96: ############################### ! 97: ! 98: Pfirst-class=0 ! 99: Pspecial-delivery=100 ! 100: Pbulk=-60 ! 101: Pjunk=-100 ! 102: ! 103: ######################### ! 104: ### Trusted users ### ! 105: ######################### ! 106: ! 107: Troot ! 108: Tdaemon ! 109: Tuucp ! 110: Teric ! 111: Tnetwork ! 112: ! 113: ############################# ! 114: ### Format of headers ### ! 115: ############################# ! 116: ! 117: H?P?Return-Path: <$g> ! 118: HReceived: $?sfrom $s $.by $j ($v/$Z) ! 119: id $i; $b ! 120: H?D?Resent-Date: $a ! 121: H?D?Date: $a ! 122: H?F?Resent-From: $q ! 123: H?F?From: $q ! 124: H?x?Full-Name: $x ! 125: HSubject: ! 126: # HPosted-Date: $a ! 127: # H?l?Received-Date: $b ! 128: H?M?Resent-Message-Id: <$t.$i@$j> ! 129: H?M?Message-Id: <$t.$i@$j> ! 130: ! 131: ########################### ! 132: ### Rewriting rules ### ! 133: ########################### ! 134: ! 135: ! 136: ################################ ! 137: # Sender Field Pre-rewriting # ! 138: ################################ ! 139: S1 ! 140: #R$*<$*>$* $1$2$3 defocus ! 141: ! 142: ################################### ! 143: # Recipient Field Pre-rewriting # ! 144: ################################### ! 145: S2 ! 146: #R$*<$*>$* $1$2$3 defocus ! 147: ! 148: ################################# ! 149: # Final Output Post-rewriting # ! 150: ################################# ! 151: S4 ! 152: ! 153: R@ $@ handle <> error addr ! 154: ! 155: # externalize local domain info ! 156: R$*<$*LOCAL>$* $1<$2$D>$3 change local info ! 157: R$*<$*LOCAL.ARPA>$* $1<$2$D>$3 change local info ! 158: R$*<$*.CC>$* $1$2$3 strip .CC ! 159: R$*<$+>$* $1$2$3 defocus ! 160: R@$+:@$+:$+ @$1,@$2:$3 <route-addr> canonical ! 161: ! 162: # UUCP must always be presented in old form ! 163: R$+@$-.UUCP $2!$1 [email protected] => h!u ! 164: ! 165: # delete duplicate local names -- mostly for arpaproto.mc ! 166: R$+%$=w@$=w $1@$3 u%UCB@UCB => u@UCB ! 167: R$+%$=w@$=w.ARPA $1@$3.ARPA u%UCB@UCB => u@UCB ! 168: ! 169: ########################### ! 170: # Name Canonicalization # ! 171: ########################### ! 172: S3 ! 173: ! 174: # handle "from:<>" special case ! 175: R<> $@@ turn into magic token ! 176: ! 177: # basic textual canonicalization -- note RFC733 heuristic here ! 178: R$*<$*<$*<$+>$*>$*>$* $4 3-level <> nesting ! 179: R$*<$*<$+>$*>$* $3 2-level <> nesting ! 180: R$*<$+>$* $2 basic RFC821/822 parsing ! 181: R$+ at $+ $1@$2 "at" -> "@" for RFC 822 ! 182: ! 183: # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later ! 184: R@$+,$+ @$1:$2 change all "," to ":" ! 185: ! 186: # localize and dispose of route-based addresses ! 187: R@$+:$+ $@$>6<@$1>:$2 handle <route-addr> ! 188: ! 189: # more miscellaneous cleanup ! 190: R$+ $:$>8$1 host dependent cleanup ! 191: R$+:$*;@$+ $@$1:$2;@$3 list syntax ! 192: R$+:$*; $@$1:$2; list syntax ! 193: R$+@$+ $:$1<@$2> focus on domain ! 194: R$+<$+@$+> $1$2<@$3> move gaze right ! 195: R$+<@$+> $@$>6$1<@$2> already canonical ! 196: ! 197: # convert old-style addresses to a domain-based address ! 198: R$-:$+ $@$>6$2<@$1> host:user ! 199: R$+^$+ $1!$2 convert ^ to ! ! 200: R$-.$+!$+ $@$>6$3<@$1.$2> host.domain!user ! 201: R$-!$+ $@$>6$2<@$1.UUCP> host!user (uucp) ! 202: R$+%$+ $@$>6$1<@$2> user%host ! 203: R$-=$+ $@$>6$2<@$1.BITNET> host=user (bitnet) ! 204: R$-.$+ $@$>6$2<@$1> host.user ! 205: ! 206: # always include local and tcp mailers (tcp for [w.x.y.z]-style addrs) ! 207: include(localm.m4) ! 208: include(tcpm.m4)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.