|
|
1.1 root 1: ############################################################
2: ############################################################
3: #####
4: ##### SENDMAIL CONFIGURATION FILE
5: #####
6: ##### This one is the big daddy. There is no "upstairs"
7: ##### to bounce a message to -- except perhaps the arpanet.
8: #####
9: ##### @(#)ucbvax.mc 4.5 8/31/83
10: #####
11: ############################################################
12: ############################################################
13:
14:
15:
16: ############################################################
17: ### local info
18: ############################################################
19:
20: # internet hostname
21: Cwucbvax vax k UCB-VAX Berkeley UCB-C70 UCB LOCAL
22:
23: # override SMTP hostname to match Arpanet name
24: DjUCB-VAX.ARPA
25:
26: # uucp hostnames
27: DUucbvax
28: CUucbvax ernie
29:
30: # berknet hostname
31: DBUCBVAX
32:
33: # UUCP connections on ucbcad
34: DVucbcad
35: CVboulder
36: CVcaddyvax caddyva
37: CVlblh
38: CVmasscomp masscom
39: CVmhb5a
40: CVmi-cec
41: CVtekcad
42: CVjupiter
43:
44: # second alternate UUCP connection and hosts
45: #DWucbarpa
46: #CWsun
47:
48: # known computer center hosts and gateway
49: ############################################################
50: ############################################################
51: #####
52: ##### KNOWN COMPUTER CENTER HOSTNAMES
53: #####
54: ##### @(#)cchosts.m4 4.1 7/25/83
55: #####
56: ############################################################
57: ############################################################
58:
59:
60: DCUCBJADE
61: CCucbcfo-a cfo-a A
62: CCucbcfo-b cfo-b B
63: CCucbcfo-c cfo-c C
64: CCucbcfo-d cfo-d D
65: CCucbcfo-e cfo-e E
66: CCucbcfo-f cfo-f F
67: CCucbcfo-g cfo-g G populi ucbpopuli
68: CCucbcfo-h cfo-h H ucbjade jade
69: CCucbcfo-q cfo-q Q ucbruby ruby
70: CCucbsrc Src S
71: CCucbcfo-2 cfo-2 2 ucbtopaz topaz
72: CCucbcfo-3 cfo-3 3 ucbcoral coral
73: CCucbcfo-4 cfo-4 4 ucbamber amber
74: CCucbcfo-5 cfo-5 5 ucbivory ivory
75: CCucbcfo-6 cfo-6 6 ucblapis lapis
76:
77:
78: # we have full sendmail support here
79: Oa
80:
81: #################################################
82: #
83: # General configuration information
84: #
85: # @(#)csbase.m4 4.3 8/21/83
86: #
87: #################################################
88:
89: ######################
90: # General Macros #
91: ######################
92:
93: # our arpanet gateway
94: DABerkeley
95: CABerkeley UCB ucbc70 c70 UCB-C70 u UCB-VAX ucbvax
96:
97: # local domain names
98: DDBERKELEY
99: CDBERKELEY UCB ucbc70 c70 ucb-c70 u UCB-VAX ucbvax
100:
101: # major relay host
102: DRUCBVAX
103: CRucbvax vax k
104:
105: # my official hostname
106: Dj$w.ARPA
107:
108: # known SMTP/ethernet hosts (this domain only) -- only $R need be complete
109: CSucbarpa arpa
110: CSucbbach bach ucbstatvax statvax
111: CSucbbrahms brahms mathstat
112: CSucbcad cad cad-a
113: CSucbcalder calder
114: CSucbcartan cartan
115: CSucbcory cory ucbokeeffe okeeffe
116: CSucbdali dali
117: CSucbdegas degas
118: # CSucbear ear
119: CSucbernie ernie
120: CSucbesvax esvax
121: CSucbic ic ucbic-ec ic-ec cad-b cad-ic
122: CSucbicw icw ucbicw-ec icw-ec cad-c cad-icw
123: CSucbingres ingres
124: CSucbkim kim
125: CSucbmatisse matisse
126: CSucbmedea medea
127: CSucbmerlin merlin
128: CSucbmiro miro
129: CSucbmonet monet
130: CSucboz oz
131: CSucbvax
132: CSucbweyl weyl
133:
134: # known top-level domains
135: CTLOCAL ARPA UUCP BITNET CC
136:
137: ############################################################
138: #
139: # General configuration information
140: #
141: # This information is basically just "boiler-plate"; it must be
142: # there, but is essentially constant.
143: #
144: # Information in this file should be independent of location --
145: # i.e., although there are some policy decisions made, they are
146: # not specific to Berkeley per se.
147: #
148: # @(#)base.m4 4.3 8/30/83
149: #
150: ############################################################
151:
152: # @(#)version.m4 4.7 8/31/83
153:
154: DV4.7
155:
156:
157: ##########################
158: ### Special macros ###
159: ##########################
160:
161: # my name
162: DnMAILER-DAEMON
163: # UNIX header format
164: DlFrom $g $d
165: # delimiter (operator) characters
166: Do.:%@!^=/[]
167: # format of a total name
168: Dq$g$?x ($x)$.
169: # SMTP login message
170: De$j Sendmail $v/$V ready at $b
171:
172: # forwarding host -- redefine this if you can't talk to the relay directly
173: DF$R
174:
175: ###################
176: ### Options ###
177: ###################
178:
179: # location of alias file
180: OA/usr/lib/aliases
181: # default delivery mode (deliver in background)
182: Odbackground
183: # (don't) connect to "expensive" mailers
184: #Oc
185: # temporary file mode
186: OF0644
187: # default GID
188: Og1
189: # location of help file
190: OH/usr/lib/sendmail.hf
191: # log level
192: OL9
193: # default messages to old style
194: Oo
195: # queue directory
196: OQ/usr/spool/mqueue
197: # read timeout -- violates protocols
198: Or2h
199: # status file
200: OS/usr/lib/sendmail.st
201: # queue up everything before starting transmission
202: Os
203: # default timeout interval
204: OT3d
205: # time zone names (V6 only)
206: OtPST,PDT
207: # default UID
208: Ou1
209: # wizard's password
210: OWa/FjIfuGKXyc2
211:
212: ###############################
213: ### Message precedences ###
214: ###############################
215:
216: Pfirst-class=0
217: Pspecial-delivery=100
218: Pjunk=-100
219:
220: #########################
221: ### Trusted users ###
222: #########################
223:
224: Troot
225: Tdaemon
226: Tuucp
227: Teric
228: Tnetwork
229:
230: #############################
231: ### Format of headers ###
232: #############################
233:
234: H?P?Return-Path: <$g>
235: HReceived: $?sfrom $s $.by $j ($v/$V)
236: id $i; $b
237: H?D?Resent-Date: $a
238: H?D?Date: $a
239: H?F?Resent-From: $q
240: H?F?From: $q
241: H?x?Full-Name: $x
242: HSubject:
243: # HPosted-Date: $a
244: # H?l?Received-Date: $b
245: H?M?Resent-Message-Id: <$t.$i@$j>
246: H?M?Message-Id: <$t.$i@$j>
247:
248: ###########################
249: ### Rewriting rules ###
250: ###########################
251:
252:
253: ################################
254: # Sender Field Pre-rewriting #
255: ################################
256: S1
257: #R$*<$*>$* $1$2$3 defocus
258:
259: ###################################
260: # Recipient Field Pre-rewriting #
261: ###################################
262: S2
263: #R$*<$*>$* $1$2$3 defocus
264:
265: #################################
266: # Final Output Post-rewriting #
267: #################################
268: S4
269:
270: R@ $@ handle <> error addr
271:
272: # externalize local domain info
273: R$*<$*LOCAL>$* $1<$2$D>$3 change local info
274: R$*<$+>$* $1$2$3 defocus
275: R@$+:$+:$+ $@@$1,$2:$3 <route-addr> canonical
276:
277: # UUCP must always be presented in old form
278: R$+@$-.UUCP $2!$1 [email protected] => h!u
279:
280: # delete duplicate local names -- mostly for arpaproto.mc
281: R$+%$=w@$=w $1@$3 u%UCB@UCB => u@UCB
282: R$+%$=w@$=w.ARPA $1@$3.ARPA u%UCB@UCB => u@UCB
283:
284: ###########################
285: # Name Canonicalization #
286: ###########################
287: S3
288:
289: # handle "from:<>" special case
290: R<> $@@ turn into magic token
291:
292: # basic textual canonicalization
293: R$*<$+>$* $2 basic RFC821/822 parsing
294: R$+ at $+ $1@$2 "at" -> "@" for RFC 822
295: R$*<$*>$* $1$2$3 in case recursive
296:
297: # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later
298: R@$+,$+ @$1:$2 change all "," to ":"
299:
300: # localize and dispose of domain-based addresses
301: R@$+:$+ $@$>6<@$1>:$2 handle <route-addr>
302:
303: # more miscellaneous cleanup
304: R$+ $:$>8$1 host dependent cleanup
305: R$+:$*;@$+ $@$1:$2;@$3 list syntax
306: R$+@$+ $:$1<@$2> focus on domain
307: R$+<$+@$+> $1$2<@$3> move gaze right
308: R$+<@$+> $@$>6$1<@$2> already canonical
309:
310: # convert old-style addresses to a domain-based address
311: R$+%$+ $@$>6$1<@$2> user%host
312: R$-:$+ $@$>6$2<@$1> host:user
313: R$-.$+ $@$>6$2<@$1> host.user
314: R$+^$+ $1!$2 convert ^ to !
315: R$-!$+ $@$>6$2<@$1.UUCP> resolve uucp names
316: R$-=$+ $@$>6$2<@$1.BITNET> resolve bitnet names
317:
318:
319: #######################
320: # Rewriting rules #
321: #######################
322:
323: ##### special local conversions
324: S6
325: R$*<@$*$=D>$* $1<@$2LOCAL>$4 convert local domain
326: R$*<@$*$=D.ARPA>$* $1<@$2LOCAL>$4
327: R$+%$+<@LOCAL> $1<@$2.LOCAL> hack for % syntax
328: R$*<@$+.$=T.$=T>$* $1<@$2.$3>$5 make UUCP top level
329: R$*<@$+.$=T.$=T>$* $1<@$2.$3>$5 make UUCP top level
330: R$*<@$*$=C.$=T>$* $1<@$2$3>$5 adjust CC hosts (ucbvax)
331: R$*<@$*$=C>$* $1<@$2$3.CC>$4 adjust CC hosts (ucbvax)
332:
333: ############################################################
334: ############################################################
335: #####
336: ##### Local and Program Mailer specification
337: #####
338: ##### @(#)localm.m4 4.1 7/25/83
339: #####
340: ############################################################
341: ############################################################
342:
343: Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
344: Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u
345:
346: S10
347: R@ MAILER-DAEMON errors to mailer-daemon
348:
349: ############################################################
350: ############################################################
351: #####
352: ##### Ethernet Mailer specification
353: #####
354: ##### @(#)etherm.m4 4.1 7/25/83
355: #####
356: ############################################################
357: ############################################################
358:
359: Mether, P=[IPC], F=msDFMueCX, S=11, R=21, A=IPC $h
360:
361: S11
362: R$*<@$+>$* $@$1<@$2>$3 already ok
363: R$+ $@$1<@$w> tack on our hostname
364:
365: S21
366:
367:
368:
369: # names of NCP hosts
370: ########################################################################
371: #
372: # List of NCP-only sites
373: #
374: # When NCP goes away, so should this file.
375: #
376: # @(#)ncphosts.m4 4.1 7/25/83
377: #
378: ########################################################################
379:
380: # NCP gateway
381: DNUDEL-RELAY
382:
383: # list of NCP-only hosts
384:
385: # Cutoff date 1 Feb 83
386: CNnusc-npt
387: CNmartin mmc
388:
389: # Cutoff date 15 Feb 83
390: CNafsc-sd afsd
391:
392: # Cutoff date 1 Mar 83
393: CNwharton-10 wharton
394: CNudel-tcp
395:
396: # Cutoff date 1 Apr 83
397: CNcmu-cs-b cmu-10b cmub
398: CNsri-nsc11 nsc11 dnsri
399: CNcmu-cs-a cmu-10a cmua
400:
401: # Cutoff date Unknown
402: CNs1-gateway
403:
404:
405: ############################################################
406: ############################################################
407: #####
408: ##### RULESET ZERO PREAMBLE
409: #####
410: ##### The beginning of ruleset zero is constant through all
411: ##### configurations.
412: #####
413: ##### @(#)zerobase.m4 4.1 7/25/83
414: #####
415: ############################################################
416: ############################################################
417:
418: S0
419:
420: # first make canonical
421: R$*<$*>$* $1$2$3 defocus
422: R$+ $:$>3$1 make canonical
423:
424: # handle special cases.....
425: R@ $#local$:MAILER-DAEMON handle <> form
426: R$*<@[$+]>$* $#tcp$@[$2]$:$1@[$2]$3 numeric internet spec
427:
428: # arrange for local names to be fully qualified
429: R$*<$*$=S>$* $1<$2$3.LOCAL>$4 user@etherhost
430: R$*<$*$=Z>$* $1<$2$3.LOCAL>$4 user@berkhost
431: R$*<$+.ARPA.LOCAL>$* $1<$2.ARPA>$3 because ARPA is a host
432:
433: # now delete the local info
434: R$*<$*$=w.LOCAL>$* $1<$2>$4 thishost.LOCAL
435: R$*<$*$=w.ARPA>$* $1<$2>$4 thishost.ARPA
436: R$*<$*$=w.UUCP>$* $1<$2>$4 thishost.UUCP
437: R$*<$*$=w>$* $1<$2>$4 thishost
438: R$*<$*.>$* $1<$2>$3 drop trailing dot
439: R<@>:$* $@$>0$1 retry after route strip
440: R$*<@> $@$>0$1 strip null trash & retry
441:
442: # forward around hosts with communication problems
443: R$*<@$=F.LOCAL>$* $#ether$@$F$:$1<@$2.LOCAL>$3 reroute message
444:
445: ##################################
446: # End of ruleset zero preamble #
447: ##################################
448:
449:
450: ################################################
451: ### Machine dependent part of ruleset zero ###
452: ################################################
453:
454: # forward NCP mail through udel-relay
455: R$+<@$=N> $#tcp$@$N$:$1.$2<@$N> user.host@UDEL-RELAY
456: R$+<@$=N.ARPA> $#tcp$@$N$:$1.$2<@$N> user.host@UDEL-RELAY
457:
458: # resolve explicitly arpanet names (to avoid with machine name "arpa" below)
459: R$*<@$*$-.ARPA>$* $#tcp$@$3$:$1<@$2$3.ARPA>$4 [email protected]
460:
461: # resolve names that can go via the ethernet
462: R$*<@$*$=S>$* $#ether$@$3$:$1<@$2$3>$4 user@etherhost
463:
464: # resolve berknet names
465: R<@$=Z>:$+ $#berk$@$1$:$2 @berkhost: ...
466: R$+<@$=Z> $#berk$@$2$:$1 user@berknethost
467:
468: # resolve names destined for the computer center
469: R$*<@$+.CC>$* $#ether$@$C$:$1<@$2.CC>$3 [email protected]
470: R$*<@$+.BITNET>$* $#ether$@$C$:$1<@$2.BITNET>$3 [email protected]
471:
472: # resolve nonlocal UUCP links
473: R$*<@$*$=V.UUCP>$* $#ether$@$V$:$1<@$2$3.UUCP>$4 [email protected]
474: R$*<@$*$=W.UUCP>$* $#ether$@$W$:$1<@$2$3.UUCP>$4 [email protected]
475:
476: # resolve local UUCP links (all others)
477: R<@$+.$-.UUCP>:$+ $#uucp$@$2$:@$1.$2.UUCP:$3 @host.domain.UUCP: ...
478: R<@$-.UUCP>:$+ $#uucp$@$1$:$2 @host.UUCP: ...
479: R$+<@$+.$-.UUCP> $#uucp$@$3$:$1@$2.$3.UUCP [email protected]
480: R$+<@$-.UUCP> $#uucp$@$2$:$1 [email protected]
481:
482: # resolve mmdf hack
483: R$+<@UDel-Test> $#ether$@ucbarpa$:$1@Udel-Test user.host@UDel-Relay
484:
485: # other non-local names will be kicked upstairs
486: R$*<@$*$->$* $#tcp$@$3$:$1<@$2$3>$4 user@host
487:
488: # remaining names must be local
489: R$+ $#local$:$1 everything else
490:
491: ########################################
492: ### Host dependent address cleanup ###
493: ########################################
494:
495: S8
496: R$*$=U!$+@$+ $3@$4 drop uucp forward
497:
498:
499: ############################################################
500: ############################################################
501: #####
502: ##### Berknet Mailer specification
503: #####
504: ##### @(#)berkm.m4 4.1 7/25/83
505: #####
506: ############################################################
507: ############################################################
508:
509: ############################################################
510: ############################################################
511: #####
512: ##### Provide Backward Compatibility
513: #####
514: ##### @(#)compat.m4 4.2 8/30/83
515: #####
516: ############################################################
517: ############################################################
518:
519:
520:
521: ############################################################
522: ############################################################
523: #####
524: ##### Berknet Host List
525: #####
526: ##### @(#)berkhosts.m4 4.2 8/6/83
527: #####
528: ############################################################
529: ############################################################
530:
531: # A-H, Q, and S are in the computer center domain
532: CZI Ing70 ucberl70 erl70
533: CZJ IngVAX Ingres ucbingres
534: CZK ucbvax vax
535: CZM medea ucbmedea image
536: CZN Kim ucbkim
537: CZO ESVAX ucbesvax
538: CZR ARPAVAX arpa ucbarpa
539: CZT MathStat ucbmathstat
540: CZV CSVAX Ernie ucbernie
541: CZX onyx ucbonyx
542: CZZ EECS40 EARVAX ucbear ear
543:
544:
545: #####################################################
546: # General code to convert back to old style names #
547: #####################################################
548: S5
549:
550: R$+<@$-.LOCAL> $2:$1 [email protected] => h:u
551: R$+<@$-.CC> $2:$1 [email protected] => h:u
552: R$+<@$=Z> $@$2:$1 u@bhost => h:u
553: R$+<@$=C> $@$2:$1 u@cchost => h:u
554: R$+<@$-.UUCP> $2!$1 [email protected] => host!u
555: R$+@$+.ARPA $1@$2 [email protected] => u@host
556:
557:
558: Mberk, P=/usr/net/bin/sendberkmail, F=fsDFMC, S=12, R=22, M=100000,
559: A=sendberkmail -m $h -h $c -t $u
560:
561: S12
562: R$+ $:$>5$1 convert to old style
563: R$-:$+ $@$1:$2 old berknet as is
564: R$+<@$+> $@$1<@$2> don't modify arpanet
565: R$-!$+ $@$1!$2 don't modify uucp
566: R$+ $@$B:$1 make others relative
567:
568: S22
569: R$+ $:$>5$1 convert to old style
570:
571: ############################################################
572: ############################################################
573: #####
574: ##### UUCP Mailer specification
575: #####
576: ##### @(#)uucpm.m4 4.2 8/30/83
577: #####
578: ############################################################
579: ############################################################
580:
581:
582:
583: Muucp, P=/usr/bin/uux, F=sDFMhuU, S=13, R=23, M=100000,
584: A=uux - -r $h!rmail ($u)
585:
586: S13
587: R$+ $:$>5$1 convert to old style
588: R$=w!$+ $2 strip local name
589: R$*<@$=S>$* $1<@$2.Berkeley.ARPA>$3 resolve abbreviations
590: R$*<@$=Z>$* $1<@$2.Berkeley.ARPA>$3 resolve abbreviations
591: R$*<@$->$* $1<@$2.ARPA>$3 resolve abbreviations
592: R$+ $:$U!$1 stick on our host name
593: R$=w!$=R:$+ $:$1!$3 ucbvax!ucbvax:xxx
594:
595: S23
596: R$+ $:$>5$1 convert to old style
597: R$*<@$=S>$* $1<@$2.Berkeley.ARPA>$3 resolve abbreviations
598: R$*<@$=Z>$* $1<@$2.Berkeley.ARPA>$3 resolve abbreviations
599: R$*<@$->$* $1<@$2.ARPA>$3 resolve abbreviations
600:
601: ############################################################
602: ############################################################
603: #####
604: ##### Arpanet TCP Mailer specification
605: #####
606: ##### @(#)tcpm.m4 4.1 7/25/83
607: #####
608: ############################################################
609: ############################################################
610:
611: Mtcp, P=[IPC], F=msDFMueXL, S=14, R=14, A=IPC $h, E=\r\n
612:
613: S14
614:
615: # pass <route-addr>'s through
616: R<@$+>$* $@<@$1>$2 resolve <route-addr>
617:
618: # map colons to dots everywhere.....
619: R$*:$* $1.$2 map colons to dots
620:
621: # handle the simple case....
622: R$+<@$-.ARPA> $@$1<@$2.ARPA> [email protected]
623:
624: # fully qualify computer center names so the rest works nicely
625: R$+<@$+.CC> $1<@$2.CC.LOCAL> [email protected]
626:
627: # output local hosts in user%host@Berkeley syntax
628: R$+<@LOCAL> $@$1<@$A> local names
629: R$+<@$+.LOCAL> $@$1%$2<@$A> local hosts
630: R$+<@$*$=S> $@$1%$2$3<@$A>
631: R$+<@$*$=Z> $@$1%$2$3<@$A>
632:
633: # handle other external cases
634: R$+<@$-> $@$1<@$2> no .ARPA on simple names
635: R$+<@$+.$-.ARPA> $@$1%$2<@$3.ARPA> approximate something
636: R$+<@[$+]> $@$1<@[$2]> already ok
637:
638: # convert remaining addresses to old format and externalize appropriately
639: R$+ $:$>5$1 => old format
640: R$-:$+ $@$1.$2<@$A> convert berk hosts
641: R$+<@$+> $@$1%$2<@$A> pessmize
642: R$+ $:$1%$w<@$A> tack on our hostname
643: R$+%$=R<@$=A> $1<@$3> strip unneeded relay
644:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.