|
|
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.