############################################################ ############################################################ ##### ##### SENDMAIL CONFIGURATION FILE ##### ##### This one is the big daddy. There is no "upstairs" ##### to bounce a message to -- except perhaps the arpanet. ##### ##### @(#)ucbvax.mc 3.26 1/15/83 ##### ############################################################ ############################################################ ############################################################ ### local info ############################################################ # internet hostname DHUCBVAX CHucbvax vax k UCB-VAX Berkeley UCB-C70 UCB LOCAL # uucp hostnames DUucbvax CUucbvax ernie # berknet hostname DBUCBVAX # UUCP connections on arpavax DVucbarpa CVsun # known computer center hosts and gateway ############################################################ ############################################################ ##### ##### KNOWN COMPUTER CENTER HOSTNAMES ##### ##### @(#)cchosts.m4 3.2 12/5/82 ##### ############################################################ ############################################################ DCUCBJADE CCucbcfo-a cfo-a A CCucbcfo-b cfo-b B CCucbcfo-c cfo-c C CCucbcfo-d cfo-d D CCucbcfo-e cfo-e E CCucbcfo-f cfo-f F CCucbcfo-g cfo-g G CCucbcfo-h cfo-h H ucbjade jade CCucbcfo-q cfo-q Q ucbruby ruby CCucbsrc Src S CCucbcfo-2 cfo-2 2 ucbtopaz topaz CCucbcfo-3 cfo-3 3 ucbcoral coral CCucbcfo-4 cfo-4 4 ucbamber amber CCucbcfo-5 cfo-5 5 ucbivory ivory CCucbcfo-6 cfo-6 6 ucblapis lapis # we have full sendmail support here Oa ################################################# # # General configuration information # # @(#)csbase.m4 3.8 1/2/83 # ################################################# ###################### # General Macros # ###################### # our arpanet gateway DABerkeley CABerkeley ucbc70 c70 UCB-C70 u UCB UCB-VAX # local domain names DDBERKELEY CDBERKELEY UCB ucbc70 c70 ucb-c70 u # major relay host DRUCBVAX CRucbvax vax k # known SMTP/ethernet hosts (this domain only) -- only $R need be complete CSucbarpa arpa CSucbcad cad cad-a CSucbcalder calder CSucbdali dali CSucbdegas degas # CSucbear ear CSucbernie ernie # CSucbesvax esvax # CSucbingres ingres CSucbkim kim CSucbmatisse matisse CSucbmedea medea CSucbmiro miro CSucbmonet monet # CSucboz oz CSucbic ic ucbic-ec ic-ec cad-b cad-ic CSucbicw icw ucbicw-ec icw-ec cad-c cad-icw CSucbvax ############################################################ # # General configuration information # # This information is basically just "boiler-plate"; it must be # there, but is essentially constant. # # Information in this file should be independent of location -- # i.e., although there are some policy decisions made, they are # not specific to Berkeley per se. # # @(#)base.m4 3.40 1/16/83 # ############################################################ ########################## ### Special macros ### ########################## # my name DnMAILER-DAEMON # UNIX header format DlFrom $g $d # delimiter (operator) characters Do.:%@!^=/[] # format of a total name Dq$g$?x ($x)$. # my official hostname Dj$H.$D.ARPA ################### ### Options ### ################### # location of alias file OA/usr/lib/aliases # default delivery mode (deliver in background) Odbackground # (don't) connect to "expensive" mailers #Oc # temporary file mode OF0644 # default GID Og1 # location of help file OH/usr/lib/sendmail.hf # log level OL9 # default messages to old style Oo # queue directory OQ/usr/spool/mqueue # read timeout -- violates protocols Or2h # status file OS/usr/lib/sendmail.st # queue up everything before starting transmission Os # default timeout interval OT3d # time zone names (V6 only) OtPST,PDT # default UID Ou1 # wizard's password OWa/FjIfuGKXyc2 ############################### ### Message precedences ### ############################### Pfirst-class=0 Pspecial-delivery=100 Pjunk=-100 ######################### ### Trusted users ### ######################### Troot Tdaemon Tuucp Teric Tnetwork ############################# ### Format of headers ### ############################# H?D?Date: $a H?F?From: $q H?x?Full-Name: $x HSubject: H?P?Return-Path: <$g> # HPosted-Date: $a # H?l?Received-Date: $b H?M?Message-Id: <$t.$p@$j> HReceived: $?sfrom $s $.by $j ($v) id $i; $b ########################### ### Rewriting rules ### ########################### # rules marked with "*" are removed or different when 819 becomed effective ################################ # Sender Field Pre-rewriting # ################################ S1 R@ $@ handle <> error addr R@$+ $@@$1 handle route-addr R$+@$+@$=R $>3$1@$2 u@h@gateway -> u@h R$-!$+@$=R $>3$1!$2 h!u@relay -> h!u ################################### # Recipient Field Pre-rewriting # ################################### S2 ################################# # Final Output Post-rewriting # ################################# S4 # externalize local domain info R$+@$*LOCAL $1@$2$D.ARPA convert local domain # turn user@e@d@c@b@a back into @a,@b,@c,@d:user@e form R$+@$+@$+ $:@$3:$1@$2 @d@c@b@a:u@e R@$+@$+:$+ $:@$2:@$1:$3 @c@b@a:@d:u@e R@$+@$+:@$+:$+ @$2:@$1,@$3:$4 @a:@b,@c,@d:u@e R@$+:@$+:$+ @$1,@$2:$3 @a,@b,@c,@d:u@e ########################### # Name Canonicalization # ########################### S3 # handle "from:<>" special case R<> $@@ turn into magic token # basic textual canonicalization R$*<$+>$* $2 basic RFC821/822 parsing R$+ at $+ $1@$2 "at" -> "@" for RFC 822 # make sure <@a,@b,@c:user@d> syntax is canonical R@$+,$+ @$1:$2 change all "," to ":" R@$+:$+:$+ @$1,$2:$3 all but last back to "," # convert <@a,@b,@c:user@d> syntax into user@d@c@b@a R@$+:$+ $2,@$1 move path to RHS R$+,@$+,@$+,@$+ $1,@$3@$2,@$4 inside out convert R$+,@$+,@$+ $1@$3@$2 final twist R$+,@$+ $1@$2 for u@b,@a case # identify local domain on end of address R$+@$+ $:$>6$1@$2 localize name # now see if it is reasonably canonical #R$+@$-.$+ $@$1@$2.$3 handle user@domain # delete multiple host specs and extra net info -- dangerous business here R$-:$-:$+ $2:$3 drop multiple old-style R$+@$=H.LOCAL $1@$2 canonical form R$-:$+@LOCAL $1:$2 drop @UCB on berknet R$-:$+@$=H $1:$2 drop @local on berknet R$-:$*;@$+ $@$1:$2;@$3 try to handle lists R$-:$+@$+ $2@$3 drop forwarding host R$-!$+@LOCAL $1!$2 drop @UCB on uucp R$-!$+@$=H $1!$2 drop @local on uucp R$+@$+@LOCAL $1@$2 drop @UCB on arpanet R$+@$+@$=H $1@$2 drop @local on arpanet R$*$=R!$+@$+ $3@$4 drop uucp forward # the heart of canonicalization.... # (there should be a .LOCAL on the RHS of the next three lines) R$-:$+ $2@$1 host:user R$-.$- $2@$1 host.user R$-.$+@LOCAL $2@$1 strip local arpa name # now resolve some things R$+@$+ $@$1@$2 reasonably canonical R$+^$+ $1!$2 convert ^ to ! R$-!$+ $@$2@$1.UUCP resolve uucp names # anything left is local ######################################### ### Strip local info from addresses ### ### (This ruleset is recursive) ### ######################################### S9 R$+ $:$>3$1 make canonical R$+@$*$=H.LOCAL $1@$2 user@thishost.LOCAL R$+@$*$=H.ARPA $1@$2 user@thishost.ARPA R$+@$*$=H.UUCP $1@$2 user@thishost.UUCP R$+@$*$=H $1@$2 user@thishost R$+@$+. $1@$2 for subhost.thishost R$+@ $>9$1 strip null trash ####################### # Rewriting rules # ####################### ##### special local conversions S6 R$+@$*$=D $1@$2LOCAL convert local domain R$+@$*$=D.ARPA $1@$2LOCAL R$+@$+.UUCP.LOCAL $1@$2.UUCP make UUCP top level R$+@$+.UUCP.ARPA $1@$2.UUCP make UUCP top level R$+@$=C.LOCAL $1@$2.CC adjust CC hosts (ucbvax) R$+@$=C $1@$2.CC adjust CC hosts (ucbvax) R$+@$+.CC.LOCAL $1@$2.CC adjust CC domain ############################################################ ############################################################ ##### ##### Local and Program Mailer specification ##### ##### @(#)localm.m4 3.3 1/16/83 ##### ############################################################ ############################################################ Mlocal, P=/bin/mail, F=rlsAmn, S=10, R=20, A=mail -d $u Mprog, P=/bin/csh, F=lsAe, S=10, R=20, A=csh -fc $u S10 ############################################################ ############################################################ ##### ##### Ethernet Mailer specification ##### ##### @(#)etherm.m4 3.2 1/16/83 ##### ############################################################ ############################################################ Mether, P=[IPC], F=msAueC, S=11, R=21, A=IPC $h S11 R$+@$+ $@$1@$2 already ok R$+ $@$1@$H tack on our hostname S21 # names of NCP hosts ######################################################################## # # List of NCP-only sites # # When NCP goes away, so should this file. # # @(#)ncphosts.m4 3.2 1/17/83 # ######################################################################## # NCP gateway DNUDEL-RELAY ############################################################ ############################################################ ##### ##### RULESET ZERO PREAMBLE ##### ##### The beginning of ruleset zero is constant through all ##### configurations. ##### ##### @(#)zerobase.m4 3.2 1/15/83 ##### ############################################################ ############################################################ S0 R@ $#local$:root handle <> form R$+@[$+] $#tcp$@[$2]$:$1@[$2] numeric internet spec R$+@LOCAL $1@$R domain gateway # turn addresses in other formats into local format R$+@$*$=S.$=D $1@$2$3 user@etherhost.Berkeley R$+@$+ $:$>9$1@$2 strip local info ################################################ ### Machine dependent part of ruleset zero ### ################################################ # forward NCP mail through udel-relay R$+@$=N $#tcp$@$N$:$1.$2@$N user.host@UDEL-RELAY R$+@$=N.ARPA $#tcp$@$N$:$1.$2@$N user.host@UDEL-RELAY # resolve explicitly arpanet names (to avoid with machine name "arpa" below) R$+@$*$-.ARPA $#tcp$@$3$:$1@$2$3.ARPA user@domain.ARPA # resolve names that can go via the ethernet R$+@$*$=S $#ether$@$3$:$1@$2$3 user@etherhost # resolve berknet names R$+@$=Z $#berk$@$2$:$1 user@berknethost # resolve names destined for the computer center R$+@$+.CC $#ether$@$C$:$1@$2.CC user@host.CC # resolve nonlocal UUCP links R$+@$*$=V.UUCP $#ether$@$V$:$1@$2$3.UUCP user@host.UUCP # resolve local UUCP links (all others) R$+@$-.UUCP $#uucp$@$2$:$1 user@host.UUCP # resolve mmdf hack R$+@UDel-Test $#ether$@ucbarpa$:$1@Udel-Test user.host@UDel-Relay # other non-local names will be kicked upstairs R$+@$*$- $#tcp$@$3$:$1@$2$3 user@host # remaining names must be local R$+ $#local$:$1 everything else ############################################################ ############################################################ ##### ##### Berknet Mailer specification ##### ##### @(#)berkm.m4 3.2 1/16/83 ##### ############################################################ ############################################################ ############################################################ ############################################################ ##### ##### Provide Backward Compatibility ##### ##### @(#)compat.m4 3.1 12/1/82 ##### ############################################################ ############################################################ ############################################################ ############################################################ ##### ##### Berknet Host List ##### ##### @(#)berkhosts.m4 3.2 12/6/82 ##### ############################################################ ############################################################ # A-H, Q, and S are in the computer center domain CZI Ing70 ucberl70 erl70 CZJ IngVAX Ingres ucbingres CZK ucbvax vax CZL VLSI oz ucboz CZM medea ucbmedea CZN Kim ucbkim CZO ESVAX ucbesvax CZP CAD UCBCAD CZR ARPAVAX arpa ucbarpa CZT MathStat ucbmathstat CZU C70 ucbc70 CZV CSVAX Ernie ucbernie CZW StatVax ucbstatvax stat ucbstat CZX onyx ucbonyx CZY Cory ucbcory CZZ EECS40 EARVAX ucbear ear ##################################################### # General code to convert back to old style names # ##################################################### S5 R$+@$+.LOCAL $2:$1 u@h.LOCAL => h:u R$+@$+.CC $2:$1 u@h.CC => h:u R$+@$=Z $@$2:$1 u@bhost => h:u R$+@$-.UUCP $2!$1 u@host.UUCP => host!u R$+@$+.ARPA $1@$2 u@host.ARPA => u@host Mberk, P=/usr/net/bin/sendberkmail, F=fsAC, S=12, R=22, A=sendberkmail -m $h -h $c -t $u S12 R$+ $:$>5$1 convert to old style R$-:$+ $@$1:$2 old berknet as is R$+@$+ $@$1@$2 don't modify arpanet R$-!$+ $@$1!$2 don't modify uucp R$+ $@$B:$1 make others relative S22 R$+ $:$>5$1 convert to old style ############################################################ ############################################################ ##### ##### UUCP Mailer specification ##### ##### @(#)uucpm.m4 3.2 1/16/83 ##### ############################################################ ############################################################ Muucp, P=/usr/bin/uux, F=sDFhuU, S=13, R=23, A=uux - -r $h!rmail ($u) S13 R$+ $:$>5$1 convert to old style R$=U!$+ $2 strip local name R$+ $:$U!$1 stick on our host name R$=U!$=R:$+ $:$1!$3 ucbvax!ucbvax:xxx S23 R$+ $:$>5$1 convert to old style ############################################################ ############################################################ ##### ##### Arpanet TCP Mailer specification ##### ##### @(#)tcpm.m4 3.7 1/17/83 ##### ############################################################ ############################################################ Mtcp, P=[IPC], F=msAueXL, S=14, R=14, A=IPC $h, E=\r\n S14 R$+@$*LOCAL $1@$2$D.ARPA externalize local names R$+@$+.$=D $1@$2.$D.ARPA externalize local names R+@$-.ARPA $@$1@$2 avoid "UCBARPA" conflict # following lines out until ISI handles domains right #R$+@$*$D.ARPA $@$1@$2$D.ARPA local names #R$+@$*$=S $@$1@$2$3.$D.ARPA local names #R$+@$*$=Z $@$1@$2$3.$D.ARPA local names #R$+@$+.UUCP $@$1@$2.UUCP.$A.ARPA should drop $A.ARPA # replacement code follows R$+@$*$D.ARPA $@$2$1@$A local names R$+@$*$=S $@$2$3.$1@$A local names R$+@$*$=Z $@$2$3.$1@$A local names R$+@$+.UUCP $@$2!$1@$A uucp names # end of replacement code R$+@$=A.$=A.$+ $1@$3.$4 for gateway hosts R$+@$- $@$1@$2 no .ARPA on simple names R$+@$+.ARPA $@$1@$2.ARPA already ok R$+@$*[$+] $@$1@$2[$3] already ok # following lines out until ISI handles domains right #R$+@$+ $@$1@$2.ARPA tack on the domain #R$+ $:$1@$H.$D.ARPA tack on our hostname # replacement code follows R$+@$+ $@$1@$2 tack on the domain R$+ $:$H.$1@$A tack on our hostname # end of replacement code