############################################################ ############################################################ ##### ##### SENDMAIL CONFIGURATION FILE ##### ##### @(#)monet.mc 3.2 10/7/82 ##### ############################################################ ############################################################ ############################################################ ### local info ############################################################ # internet hostname DHUCBMONET CHucbmonet monet ################################################# # # General configuration information # # @(#)csbase.m4 3.9 2/16/83 # ################################################# ###################### # General Macros # ###################### # our arpanet gateway DABerkeley CABerkeley UCB ucbc70 c70 UCB-C70 u UCB-VAX ucbvax # local domain names DDBERKELEY CDBERKELEY UCB ucbc70 c70 ucb-c70 u UCB-VAX ucbvax # 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.43 2/16/83 # ############################################################ # @(#)version.m4 3.5 2/17/83 DV3.5 ########################## ### 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.ARPA # SMTP login message De$j Sendmail $v/$V ready at $b ################### ### 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/$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$+ $:$>8$1 host dependent cleanup # 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.4 2/3/83 ##### ############################################################ ############################################################ Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u Mprog, P=/bin/csh, F=lsDFMe, S=10, R=20, A=csh -fc $u S10 ############################################################ ############################################################ ##### ##### Ethernet Mailer specification ##### ##### @(#)etherm.m4 3.4 2/17/83 ##### ############################################################ ############################################################ Mether, P=[IPC], F=msDFMueCX, S=11, R=21, A=IPC $h S11 R$+@$+ $@$1@$2 already ok R$+ $@$1@$H tack on our hostname S21 ############################################################ ############################################################ ##### ##### BASIC ETHERNET RULES ##### ##### @(#)ether.m4 3.8 1/8/83 ##### ############################################################ ############################################################ ############################################################ ############################################################ ##### ##### 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 ### ################################################ # resolve names that can go via the ethernet R$+@$*$=S $#ether$@$3$:$1@$2$3 user@etherhost # other non-local names will be kicked upstairs R$+@$+ $#ether$@$R$:$1@$2 user@some.where # remaining names must be local R$+ $#local$:$1 everything else