############################################################ # # 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. # # %W% %Y% %G% # ############################################################ include(version.m4) ########################## ### 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@$+ $@@$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 R@ $@ handle <> error addr # externalize local domain info R@$*LOCAL:$+ @$1$D.ARPA:$2 convert local domain R$+@$*LOCAL $1@$2$D.ARPA convert local domain # externalize <route-addr> form R@$+:$+:$+ @$1,$2:$3 all ":" but last to "," ########################### # 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 in convenient internal form canonical R@$+,$+ @$1:$2 change all "," to ":" R@$+ $@@$1 use <route-addr> as-is # localize domain names R$+@$+ $:$>6$1@$2 local domain => LOCAL # hack attack!! make sure local host "arpa" doesn't look like domain name R$+@arpa $2@$1.LOCAL add domain # the heart of canonicalization.... R$+ $:$>8$1 host dependent cleanup R$+:$*;@$+ $@$1:$2;@$3 list syntax R$+:$+ $1.$2 colons => dots R$+@$+ $@$1@$2 already canonical R$-.$+ $2@$1 host.user R$+^$+ $1!$2 convert ^ to ! R$-!$+ $@$2@$1.UUCP resolve uucp names ######################################### ### Strip local info from addresses ### ### (This ruleset is recursive) ### ######################################### S9 R$+ $:$>3$1 make canonical # handle <route-addr>'s R@$+:$+ $:$>6$2@@$1 localize route domain R$+@@ $@$>9$1 all local => start over R$+@@$+ $@@$2:$1 more <route-addr> # handle normal addresses R$+@$+ $:$>6$1@@$2 localize domain R$+@@ $@$>9$1 all local => start over R$+@@$+ $@$1@$2 more addressing info