|
|
1.1 root 1: ############################################################
2: ############################################################
3: #####
4: ##### SENDMAIL CONFIGURATION FILE
5: #####
6: ##### @(#)arpa.mc 4.2 8/6/83
7: #####
8: ############################################################
9: ############################################################
10:
11:
12:
13: ############################################################
14: ### local info
15: ############################################################
16:
17: # internet hostname
18: Cwucbarpa arpa arpavax ucbarpavax r UCB-ARPA
19:
20: # uucp hostnames
21: DUucbarpa
22: CUucbarpa
23:
24: # local UUCP connections
25: #CVsun
26:
27: # we have full sendmail support here
28: Oa
29:
30: #################################################
31: #
32: # General configuration information
33: #
34: # @(#)csbase.m4 4.3 8/21/83
35: #
36: #################################################
37:
38: ######################
39: # General Macros #
40: ######################
41:
42: # our arpanet gateway
43: DABerkeley
44: CABerkeley UCB ucbc70 c70 UCB-C70 u UCB-VAX ucbvax
45:
46: # local domain names
47: DDBERKELEY
48: CDBERKELEY UCB ucbc70 c70 ucb-c70 u UCB-VAX ucbvax
49:
50: # major relay host
51: DRUCBVAX
52: CRucbvax vax k
53:
54: # my official hostname
55: Dj$w.ARPA
56:
57: # known SMTP/ethernet hosts (this domain only) -- only $R need be complete
58: CSucbarpa arpa
59: CSucbbach bach ucbstatvax statvax
60: CSucbbrahms brahms mathstat
61: CSucbcad cad cad-a
62: CSucbcalder calder
63: CSucbcartan cartan
64: CSucbcory cory ucbokeeffe okeeffe
65: CSucbdali dali
66: CSucbdegas degas
67: # CSucbear ear
68: CSucbernie ernie
69: CSucbesvax esvax
70: CSucbic ic ucbic-ec ic-ec cad-b cad-ic
71: CSucbicw icw ucbicw-ec icw-ec cad-c cad-icw
72: CSucbingres ingres
73: CSucbkim kim
74: CSucbmatisse matisse
75: CSucbmedea medea
76: CSucbmerlin merlin
77: CSucbmiro miro
78: CSucbmonet monet
79: CSucboz oz
80: CSucbvax
81: CSucbweyl weyl
82:
83: # known top-level domains
84: CTLOCAL ARPA UUCP BITNET CC
85:
86: ############################################################
87: #
88: # General configuration information
89: #
90: # This information is basically just "boiler-plate"; it must be
91: # there, but is essentially constant.
92: #
93: # Information in this file should be independent of location --
94: # i.e., although there are some policy decisions made, they are
95: # not specific to Berkeley per se.
96: #
97: # @(#)base.m4 4.3 8/30/83
98: #
99: ############################################################
100:
101: # @(#)version.m4 4.7 8/31/83
102:
103: DV4.7
104:
105:
106: ##########################
107: ### Special macros ###
108: ##########################
109:
110: # my name
111: DnMAILER-DAEMON
112: # UNIX header format
113: DlFrom $g $d
114: # delimiter (operator) characters
115: Do.:%@!^=/[]
116: # format of a total name
117: Dq$g$?x ($x)$.
118: # SMTP login message
119: De$j Sendmail $v/$V ready at $b
120:
121: # forwarding host -- redefine this if you can't talk to the relay directly
122: DF$R
123:
124: ###################
125: ### Options ###
126: ###################
127:
128: # location of alias file
129: OA/usr/lib/aliases
130: # default delivery mode (deliver in background)
131: Odbackground
132: # (don't) connect to "expensive" mailers
133: #Oc
134: # temporary file mode
135: OF0644
136: # default GID
137: Og1
138: # location of help file
139: OH/usr/lib/sendmail.hf
140: # log level
141: OL9
142: # default messages to old style
143: Oo
144: # queue directory
145: OQ/usr/spool/mqueue
146: # read timeout -- violates protocols
147: Or2h
148: # status file
149: OS/usr/lib/sendmail.st
150: # queue up everything before starting transmission
151: Os
152: # default timeout interval
153: OT3d
154: # time zone names (V6 only)
155: OtPST,PDT
156: # default UID
157: Ou1
158: # wizard's password
159: OWa/FjIfuGKXyc2
160:
161: ###############################
162: ### Message precedences ###
163: ###############################
164:
165: Pfirst-class=0
166: Pspecial-delivery=100
167: Pjunk=-100
168:
169: #########################
170: ### Trusted users ###
171: #########################
172:
173: Troot
174: Tdaemon
175: Tuucp
176: Teric
177: Tnetwork
178:
179: #############################
180: ### Format of headers ###
181: #############################
182:
183: H?P?Return-Path: <$g>
184: HReceived: $?sfrom $s $.by $j ($v/$V)
185: id $i; $b
186: H?D?Resent-Date: $a
187: H?D?Date: $a
188: H?F?Resent-From: $q
189: H?F?From: $q
190: H?x?Full-Name: $x
191: HSubject:
192: # HPosted-Date: $a
193: # H?l?Received-Date: $b
194: H?M?Resent-Message-Id: <$t.$i@$j>
195: H?M?Message-Id: <$t.$i@$j>
196:
197: ###########################
198: ### Rewriting rules ###
199: ###########################
200:
201:
202: ################################
203: # Sender Field Pre-rewriting #
204: ################################
205: S1
206: #R$*<$*>$* $1$2$3 defocus
207:
208: ###################################
209: # Recipient Field Pre-rewriting #
210: ###################################
211: S2
212: #R$*<$*>$* $1$2$3 defocus
213:
214: #################################
215: # Final Output Post-rewriting #
216: #################################
217: S4
218:
219: R@ $@ handle <> error addr
220:
221: # externalize local domain info
222: R$*<$*LOCAL>$* $1<$2$D>$3 change local info
223: R$*<$+>$* $1$2$3 defocus
224: R@$+:$+:$+ $@@$1,$2:$3 <route-addr> canonical
225:
226: # UUCP must always be presented in old form
227: R$+@$-.UUCP $2!$1 [email protected] => h!u
228:
229: # delete duplicate local names -- mostly for arpaproto.mc
230: R$+%$=w@$=w $1@$3 u%UCB@UCB => u@UCB
231: R$+%$=w@$=w.ARPA $1@$3.ARPA u%UCB@UCB => u@UCB
232:
233: ###########################
234: # Name Canonicalization #
235: ###########################
236: S3
237:
238: # handle "from:<>" special case
239: R<> $@@ turn into magic token
240:
241: # basic textual canonicalization
242: R$*<$+>$* $2 basic RFC821/822 parsing
243: R$+ at $+ $1@$2 "at" -> "@" for RFC 822
244: R$*<$*>$* $1$2$3 in case recursive
245:
246: # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later
247: R@$+,$+ @$1:$2 change all "," to ":"
248:
249: # localize and dispose of domain-based addresses
250: R@$+:$+ $@$>6<@$1>:$2 handle <route-addr>
251:
252: # more miscellaneous cleanup
253: R$+ $:$>8$1 host dependent cleanup
254: R$+:$*;@$+ $@$1:$2;@$3 list syntax
255: R$+@$+ $:$1<@$2> focus on domain
256: R$+<$+@$+> $1$2<@$3> move gaze right
257: R$+<@$+> $@$>6$1<@$2> already canonical
258:
259: # convert old-style addresses to a domain-based address
260: R$+%$+ $@$>6$1<@$2> user%host
261: R$-:$+ $@$>6$2<@$1> host:user
262: R$-.$+ $@$>6$2<@$1> host.user
263: R$+^$+ $1!$2 convert ^ to !
264: R$-!$+ $@$>6$2<@$1.UUCP> resolve uucp names
265: R$-=$+ $@$>6$2<@$1.BITNET> resolve bitnet names
266:
267:
268: #######################
269: # Rewriting rules #
270: #######################
271:
272: ##### special local conversions
273: S6
274: R$*<@$*$=D>$* $1<@$2LOCAL>$4 convert local domain
275: R$*<@$*$=D.ARPA>$* $1<@$2LOCAL>$4
276: R$+%$+<@LOCAL> $1<@$2.LOCAL> hack for % syntax
277: R$*<@$+.$=T.$=T>$* $1<@$2.$3>$5 make UUCP top level
278: R$*<@$+.$=T.$=T>$* $1<@$2.$3>$5 make UUCP top level
279: R$*<@$*$=C.$=T>$* $1<@$2$3>$5 adjust CC hosts (ucbvax)
280: R$*<@$*$=C>$* $1<@$2$3.CC>$4 adjust CC hosts (ucbvax)
281:
282: ############################################################
283: ############################################################
284: #####
285: ##### Local and Program Mailer specification
286: #####
287: ##### @(#)localm.m4 4.1 7/25/83
288: #####
289: ############################################################
290: ############################################################
291:
292: Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
293: Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u
294:
295: S10
296: R@ MAILER-DAEMON errors to mailer-daemon
297:
298: ############################################################
299: ############################################################
300: #####
301: ##### Ethernet Mailer specification
302: #####
303: ##### @(#)etherm.m4 4.1 7/25/83
304: #####
305: ############################################################
306: ############################################################
307:
308: Mether, P=[IPC], F=msDFMueCX, S=11, R=21, A=IPC $h
309:
310: S11
311: R$*<@$+>$* $@$1<@$2>$3 already ok
312: R$+ $@$1<@$w> tack on our hostname
313:
314: S21
315:
316:
317:
318: ############################################################
319: ############################################################
320: #####
321: ##### RULESET ZERO PREAMBLE
322: #####
323: ##### The beginning of ruleset zero is constant through all
324: ##### configurations.
325: #####
326: ##### @(#)zerobase.m4 4.1 7/25/83
327: #####
328: ############################################################
329: ############################################################
330:
331: S0
332:
333: # first make canonical
334: R$*<$*>$* $1$2$3 defocus
335: R$+ $:$>3$1 make canonical
336:
337: # handle special cases.....
338: R@ $#local$:MAILER-DAEMON handle <> form
339: R$*<@[$+]>$* $#tcp$@[$2]$:$1@[$2]$3 numeric internet spec
340:
341: # arrange for local names to be fully qualified
342: R$*<$*$=S>$* $1<$2$3.LOCAL>$4 user@etherhost
343: R$*<$*$=Z>$* $1<$2$3.LOCAL>$4 user@berkhost
344: R$*<$+.ARPA.LOCAL>$* $1<$2.ARPA>$3 because ARPA is a host
345:
346: # now delete the local info
347: R$*<$*$=w.LOCAL>$* $1<$2>$4 thishost.LOCAL
348: R$*<$*$=w.ARPA>$* $1<$2>$4 thishost.ARPA
349: R$*<$*$=w.UUCP>$* $1<$2>$4 thishost.UUCP
350: R$*<$*$=w>$* $1<$2>$4 thishost
351: R$*<$*.>$* $1<$2>$3 drop trailing dot
352: R<@>:$* $@$>0$1 retry after route strip
353: R$*<@> $@$>0$1 strip null trash & retry
354:
355: # forward around hosts with communication problems
356: R$*<@$=F.LOCAL>$* $#ether$@$F$:$1<@$2.LOCAL>$3 reroute message
357:
358: ##################################
359: # End of ruleset zero preamble #
360: ##################################
361:
362:
363: ################################################
364: ### Machine dependent part of ruleset zero ###
365: ################################################
366:
367: # resolve names we can handle locally
368: R<@$=V.UUCP>:$+ $#uucp$@$1$:$2 @host.UUCP:...
369: R$+<@$=V.UUCP> $#uucp$@$2$:$1 [email protected]
370:
371: # optimize names of known ethernet hosts
372: R$*<@$*$=S.LOCAL>$* $#ether$@$3$:$1<@$2$3.$D>$4 [email protected]
373:
374: # pass test addresses off to MMDF
375: R$+@UDel-Test $#mmdf$@UDel-Test$:$1 user.host@udel-relay
376:
377: # other non-local names will be kicked upstairs
378: R$+@$+ $#ether$@$F$:$1@$2 [email protected]
379:
380: # everything else is a local name
381: R$+ $#local$:$1 local names
382:
383: ########################################
384: ### Host dependent address cleanup ###
385: ########################################
386:
387: S8
388: R$*$=U!$+@$+ $3@$4 drop uucp forward
389:
390:
391: ############################################################
392: ############################################################
393: #####
394: ##### Arpanet TCP Mailer specification
395: #####
396: ##### @(#)tcpm.m4 4.1 7/25/83
397: #####
398: ############################################################
399: ############################################################
400:
401: Mtcp, P=[IPC], F=msDFMueXL, S=14, R=14, A=IPC $h, E=\r\n
402:
403: S14
404:
405: # pass <route-addr>'s through
406: R<@$+>$* $@<@$1>$2 resolve <route-addr>
407:
408: # map colons to dots everywhere.....
409: R$*:$* $1.$2 map colons to dots
410:
411: # handle the simple case....
412: R$+<@$-.ARPA> $@$1<@$2.ARPA> [email protected]
413:
414: # fully qualify computer center names so the rest works nicely
415: R$+<@$+.CC> $1<@$2.CC.LOCAL> [email protected]
416:
417: # output local hosts in user%host@Berkeley syntax
418: R$+<@LOCAL> $@$1<@$A> local names
419: R$+<@$+.LOCAL> $@$1%$2<@$A> local hosts
420: R$+<@$*$=S> $@$1%$2$3<@$A>
421: R$+<@$*$=Z> $@$1%$2$3<@$A>
422:
423: # handle other external cases
424: R$+<@$-> $@$1<@$2> no .ARPA on simple names
425: R$+<@$+.$-.ARPA> $@$1%$2<@$3.ARPA> approximate something
426: R$+<@[$+]> $@$1<@[$2]> already ok
427:
428: # convert remaining addresses to old format and externalize appropriately
429: R$+ $:$>5$1 => old format
430: R$-:$+ $@$1.$2<@$A> convert berk hosts
431: R$+<@$+> $@$1%$2<@$A> pessmize
432: R$+ $:$1%$w<@$A> tack on our hostname
433: R$+%$=R<@$=A> $1<@$3> strip unneeded relay
434:
435: ############################################################
436: ############################################################
437: #####
438: ##### MMDF Phonenet Channel Mailer specification
439: #####
440: ##### @(#)mmdfm.m4 4.1 7/25/83
441: #####
442: ############################################################
443: ############################################################
444:
445: Mmmdf, P=/usr/lib/mmdf/sendmmdf, F=sDFMu, S=16, R=16, A=sendmmdf $f $h $u
446:
447: S16
448: R$+<@$-.LOCAL> $@$1<@$2.$D.ARPA> externalize local names
449: R$+<@$+> $@$1<@$2> already ok
450: R$+ $@$1<@Berk-Test> tack on our hostname
451:
452: ############################################################
453: ############################################################
454: #####
455: ##### Smart UUCP Mailer specification
456: #####
457: ##### The other end must speak domain-based addresses for
458: ##### this to work. Someday this should become the "suucp"
459: ##### mailer, and we should be able to select by host name.
460: #####
461: ##### @(#)suucpm.m4 4.1 7/25/83
462: #####
463: ############################################################
464: ############################################################
465:
466: Muucp, P=/usr/bin/uux, F=sDFMhu, S=15, R=15, M=100000,
467: A=uux - -r $h!rmail ($u)
468:
469: S15
470: R$*<@$+>$* $@$1<@$2>$3 accept usual domain name
471: R$+ $:$1<@$U.UUCP> stick on our host name
472:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.