|
|
1.1 root 1: ############################################################
2: ############################################################
3: #####
4: ##### SENDMAIL CONFIGURATION FILE
5: #####
6: ##### @(#)topaz.mc 4.1 7/25/83
7: #####
8: ############################################################
9: ############################################################
10:
11:
12:
13: ############################################################
14: ### local info
15: ############################################################
16:
17: # internet hostname
18: Cwucbcfo-2 cfo-2 2 ucbtopaz topaz
19:
20: #################################################
21: #
22: # General configuration information
23: #
24: # @(#)ccbase.m4 4.1 7/25/83
25: #
26: #################################################
27:
28: ######################
29: # General Macros #
30: ######################
31:
32: # our arpanet gateway
33: DABerkeley
34: CABerkeley ucbc70 c70 UCB-C70 u UCB UCB-VAX
35:
36: # local domain names
37: DDCC.BERKELEY
38: CDCC
39:
40: # major relay host
41: DRJADE
42: CRucbjade JADE H
43:
44: # my official hostname
45: Dj$w.CC.Berkeley.ARPA
46:
47: # known SMTP hosts in this domain
48: CSucbjade jade
49: # CSucbruby ruby
50:
51: # known top-level domains
52: CTLOCAL UUCP BITNET ARPA
53:
54: ############################################################
55: #
56: # General configuration information
57: #
58: # This information is basically just "boiler-plate"; it must be
59: # there, but is essentially constant.
60: #
61: # Information in this file should be independent of location --
62: # i.e., although there are some policy decisions made, they are
63: # not specific to Berkeley per se.
64: #
65: # @(#)base.m4 4.3 8/30/83
66: #
67: ############################################################
68:
69: # @(#)version.m4 4.7 8/31/83
70:
71: DV4.7
72:
73:
74: ##########################
75: ### Special macros ###
76: ##########################
77:
78: # my name
79: DnMAILER-DAEMON
80: # UNIX header format
81: DlFrom $g $d
82: # delimiter (operator) characters
83: Do.:%@!^=/[]
84: # format of a total name
85: Dq$g$?x ($x)$.
86: # SMTP login message
87: De$j Sendmail $v/$V ready at $b
88:
89: # forwarding host -- redefine this if you can't talk to the relay directly
90: DF$R
91:
92: ###################
93: ### Options ###
94: ###################
95:
96: # location of alias file
97: OA/usr/lib/aliases
98: # default delivery mode (deliver in background)
99: Odbackground
100: # (don't) connect to "expensive" mailers
101: #Oc
102: # temporary file mode
103: OF0644
104: # default GID
105: Og1
106: # location of help file
107: OH/usr/lib/sendmail.hf
108: # log level
109: OL9
110: # default messages to old style
111: Oo
112: # queue directory
113: OQ/usr/spool/mqueue
114: # read timeout -- violates protocols
115: Or2h
116: # status file
117: OS/usr/lib/sendmail.st
118: # queue up everything before starting transmission
119: Os
120: # default timeout interval
121: OT3d
122: # time zone names (V6 only)
123: OtPST,PDT
124: # default UID
125: Ou1
126: # wizard's password
127: OWa/FjIfuGKXyc2
128:
129: ###############################
130: ### Message precedences ###
131: ###############################
132:
133: Pfirst-class=0
134: Pspecial-delivery=100
135: Pjunk=-100
136:
137: #########################
138: ### Trusted users ###
139: #########################
140:
141: Troot
142: Tdaemon
143: Tuucp
144: Teric
145: Tnetwork
146:
147: #############################
148: ### Format of headers ###
149: #############################
150:
151: H?P?Return-Path: <$g>
152: HReceived: $?sfrom $s $.by $j ($v/$V)
153: id $i; $b
154: H?D?Resent-Date: $a
155: H?D?Date: $a
156: H?F?Resent-From: $q
157: H?F?From: $q
158: H?x?Full-Name: $x
159: HSubject:
160: # HPosted-Date: $a
161: # H?l?Received-Date: $b
162: H?M?Resent-Message-Id: <$t.$i@$j>
163: H?M?Message-Id: <$t.$i@$j>
164:
165: ###########################
166: ### Rewriting rules ###
167: ###########################
168:
169:
170: ################################
171: # Sender Field Pre-rewriting #
172: ################################
173: S1
174: #R$*<$*>$* $1$2$3 defocus
175:
176: ###################################
177: # Recipient Field Pre-rewriting #
178: ###################################
179: S2
180: #R$*<$*>$* $1$2$3 defocus
181:
182: #################################
183: # Final Output Post-rewriting #
184: #################################
185: S4
186:
187: R@ $@ handle <> error addr
188:
189: # externalize local domain info
190: R$*<$*LOCAL>$* $1<$2$D>$3 change local info
191: R$*<$+>$* $1$2$3 defocus
192: R@$+:$+:$+ $@@$1,$2:$3 <route-addr> canonical
193:
194: # UUCP must always be presented in old form
195: R$+@$-.UUCP $2!$1 [email protected] => h!u
196:
197: # delete duplicate local names -- mostly for arpaproto.mc
198: R$+%$=w@$=w $1@$3 u%UCB@UCB => u@UCB
199: R$+%$=w@$=w.ARPA $1@$3.ARPA u%UCB@UCB => u@UCB
200:
201: ###########################
202: # Name Canonicalization #
203: ###########################
204: S3
205:
206: # handle "from:<>" special case
207: R<> $@@ turn into magic token
208:
209: # basic textual canonicalization
210: R$*<$+>$* $2 basic RFC821/822 parsing
211: R$+ at $+ $1@$2 "at" -> "@" for RFC 822
212: R$*<$*>$* $1$2$3 in case recursive
213:
214: # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later
215: R@$+,$+ @$1:$2 change all "," to ":"
216:
217: # localize and dispose of domain-based addresses
218: R@$+:$+ $@$>6<@$1>:$2 handle <route-addr>
219:
220: # more miscellaneous cleanup
221: R$+ $:$>8$1 host dependent cleanup
222: R$+:$*;@$+ $@$1:$2;@$3 list syntax
223: R$+@$+ $:$1<@$2> focus on domain
224: R$+<$+@$+> $1$2<@$3> move gaze right
225: R$+<@$+> $@$>6$1<@$2> already canonical
226:
227: # convert old-style addresses to a domain-based address
228: R$+%$+ $@$>6$1<@$2> user%host
229: R$-:$+ $@$>6$2<@$1> host:user
230: R$-.$+ $@$>6$2<@$1> host.user
231: R$+^$+ $1!$2 convert ^ to !
232: R$-!$+ $@$>6$2<@$1.UUCP> resolve uucp names
233: R$-=$+ $@$>6$2<@$1.BITNET> resolve bitnet names
234:
235:
236: #######################
237: # Rewriting rules #
238: #######################
239:
240: ##### special local conversions
241: S6
242: R$*<@$*$=D>$* $1<@$2LOCAL>$4 convert local domain
243: R$*<@$*$=D.$=A>$* $1<@$2LOCAL>$5
244: R$*<@$*$=D.$=A.ARPA>$* $1<@$2LOCAL>$5
245: R$+%$*$=D<@$=A> $1<@$2LOCAL> hack for % syntax
246: R$+%$*$=D<@$=A.ARPA> $1<@$2LOCAL>
247: R$*<@$+.$=T.$=T>$* $1<@$2.$3>$5 UUCP/Bitnet top level
248: R$*<@$+.$=T.$=T>$* $1<@$2.$3>$5 UUCP/Bitnet top level
249: R$*<@$=C>$* $1<@$2.CC>$3 adjust CC hosts
250:
251: ############################################################
252: ############################################################
253: #####
254: ##### Local and Program Mailer specification
255: #####
256: ##### @(#)localm.m4 4.1 7/25/83
257: #####
258: ############################################################
259: ############################################################
260:
261: Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
262: Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u
263:
264: S10
265: R@ MAILER-DAEMON errors to mailer-daemon
266:
267:
268: ############################################################
269: ############################################################
270: #####
271: ##### BASIC ETHERNET RULES
272: #####
273: ##### @(#)ether.m4 4.1 7/25/83
274: #####
275: ############################################################
276: ############################################################
277:
278:
279:
280: ############################################################
281: ############################################################
282: #####
283: ##### RULESET ZERO PREAMBLE
284: #####
285: ##### The beginning of ruleset zero is constant through all
286: ##### configurations.
287: #####
288: ##### @(#)zerobase.m4 4.1 7/25/83
289: #####
290: ############################################################
291: ############################################################
292:
293: S0
294:
295: # first make canonical
296: R$*<$*>$* $1$2$3 defocus
297: R$+ $:$>3$1 make canonical
298:
299: # handle special cases.....
300: R@ $#local$:MAILER-DAEMON handle <> form
301: R$*<@[$+]>$* $#tcp$@[$2]$:$1@[$2]$3 numeric internet spec
302:
303: # arrange for local names to be fully qualified
304: R$*<$*$=S>$* $1<$2$3.LOCAL>$4 user@etherhost
305: R$*<$*$=Z>$* $1<$2$3.LOCAL>$4 user@berkhost
306: R$*<$+.ARPA.LOCAL>$* $1<$2.ARPA>$3 because ARPA is a host
307:
308: # now delete the local info
309: R$*<$*$=w.LOCAL>$* $1<$2>$4 thishost.LOCAL
310: R$*<$*$=w.ARPA>$* $1<$2>$4 thishost.ARPA
311: R$*<$*$=w.UUCP>$* $1<$2>$4 thishost.UUCP
312: R$*<$*$=w>$* $1<$2>$4 thishost
313: R$*<$*.>$* $1<$2>$3 drop trailing dot
314: R<@>:$* $@$>0$1 retry after route strip
315: R$*<@> $@$>0$1 strip null trash & retry
316:
317: # forward around hosts with communication problems
318: R$*<@$=F.LOCAL>$* $#ether$@$F$:$1<@$2.LOCAL>$3 reroute message
319:
320: ##################################
321: # End of ruleset zero preamble #
322: ##################################
323:
324:
325: ################################################
326: ### Machine dependent part of ruleset zero ###
327: ################################################
328:
329: # resolve names that can go via the ethernet
330: R$*<@$*$=S.LOCAL>$* $#ether$@$3$:$1<@$2$3.$D>$4 user@etherhost
331:
332: # other non-local names will be kicked upstairs
333: R$*<@$+>$* $#ether$@$F$:$1<@$2>$3 [email protected]
334:
335: # remaining names must be local
336: R$+ $#local$:$1 everything else
337:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.