Annotation of 42BSD/usr.lib/sendmail/cf/base.m4, revision 1.1.1.1

1.1       root        1: ############################################################
                      2: #
                      3: #      General configuration information
                      4: #
                      5: #      This information is basically just "boiler-plate"; it must be
                      6: #      there, but is essentially constant.
                      7: #
                      8: #      Information in this file should be independent of location --
                      9: #      i.e., although there are some policy decisions made, they are
                     10: #      not specific to Berkeley per se.
                     11: #
                     12: #              @(#)base.m4     4.3             8/30/83
                     13: #
                     14: ############################################################
                     15: 
                     16: include(version.m4)
                     17: 
                     18: ##########################
                     19: ###   Special macros   ###
                     20: ##########################
                     21: 
                     22: # my name
                     23: DnMAILER-DAEMON
                     24: # UNIX header format
                     25: DlFrom $g  $d
                     26: # delimiter (operator) characters
                     27: Do.:%@!^=/[]
                     28: # format of a total name
                     29: Dq$g$?x ($x)$.
                     30: # SMTP login message
                     31: De$j Sendmail $v/$V ready at $b
                     32: 
                     33: # forwarding host -- redefine this if you can't talk to the relay directly
                     34: DF$R
                     35: 
                     36: ###################
                     37: ###   Options   ###
                     38: ###################
                     39: 
                     40: # location of alias file
                     41: OA/usr/lib/aliases
                     42: # default delivery mode (deliver in background)
                     43: Odbackground
                     44: # (don't) connect to "expensive" mailers
                     45: #Oc
                     46: # temporary file mode
                     47: OF0644
                     48: # default GID
                     49: Og1
                     50: # location of help file
                     51: OH/usr/lib/sendmail.hf
                     52: # log level
                     53: OL9
                     54: # default messages to old style
                     55: Oo
                     56: # queue directory
                     57: OQ/usr/spool/mqueue
                     58: # read timeout -- violates protocols
                     59: Or2h
                     60: # status file
                     61: OS/usr/lib/sendmail.st
                     62: # queue up everything before starting transmission
                     63: Os
                     64: # default timeout interval
                     65: OT3d
                     66: # time zone names (V6 only)
                     67: OtPST,PDT
                     68: # default UID
                     69: Ou1
                     70: # wizard's password
                     71: OWa/FjIfuGKXyc2
                     72: 
                     73: ###############################
                     74: ###   Message precedences   ###
                     75: ###############################
                     76: 
                     77: Pfirst-class=0
                     78: Pspecial-delivery=100
                     79: Pjunk=-100
                     80: 
                     81: #########################
                     82: ###   Trusted users   ###
                     83: #########################
                     84: 
                     85: Troot
                     86: Tdaemon
                     87: Tuucp
                     88: Teric
                     89: Tnetwork
                     90: 
                     91: #############################
                     92: ###   Format of headers   ###
                     93: #############################
                     94: 
                     95: H?P?Return-Path: <$g>
                     96: HReceived: $?sfrom $s $.by $j ($v/$V)
                     97:        id $i; $b
                     98: H?D?Resent-Date: $a
                     99: H?D?Date: $a
                    100: H?F?Resent-From: $q
                    101: H?F?From: $q
                    102: H?x?Full-Name: $x
                    103: HSubject:
                    104: # HPosted-Date: $a
                    105: # H?l?Received-Date: $b
                    106: H?M?Resent-Message-Id: <$t.$i@$j>
                    107: H?M?Message-Id: <$t.$i@$j>
                    108: 
                    109: ###########################
                    110: ###   Rewriting rules   ###
                    111: ###########################
                    112: 
                    113: 
                    114: ################################
                    115: #  Sender Field Pre-rewriting  #
                    116: ################################
                    117: S1
                    118: #R$*<$*>$*             $1$2$3                          defocus
                    119: 
                    120: ###################################
                    121: #  Recipient Field Pre-rewriting  #
                    122: ###################################
                    123: S2
                    124: #R$*<$*>$*             $1$2$3                          defocus
                    125: 
                    126: #################################
                    127: #  Final Output Post-rewriting  #
                    128: #################################
                    129: S4
                    130: 
                    131: R@                     $@                              handle <> error addr
                    132: 
                    133: # externalize local domain info
                    134: R$*<$*LOCAL>$*         $1<$2$D>$3                      change local info
                    135: R$*<$+>$*              $1$2$3                          defocus
                    136: R@$+:$+:$+             $@@$1,$2:$3                     <route-addr> canonical
                    137: 
                    138: # UUCP must always be presented in old form
                    139: R$+@$-.UUCP            $2!$1                           [email protected] => h!u
                    140: 
                    141: # delete duplicate local names -- mostly for arpaproto.mc
                    142: R$+%$=w@$=w            $1@$3                           u%UCB@UCB => u@UCB
                    143: R$+%$=w@$=w.ARPA       $1@$3.ARPA                      u%UCB@UCB => u@UCB
                    144: 
                    145: ###########################
                    146: #  Name Canonicalization  #
                    147: ###########################
                    148: S3
                    149: 
                    150: # handle "from:<>" special case
                    151: R<>                    $@@                             turn into magic token
                    152: 
                    153: # basic textual canonicalization
                    154: R$*<$+>$*              $2                              basic RFC821/822 parsing
                    155: R$+ at $+              $1@$2                           "at" -> "@" for RFC 822
                    156: R$*<$*>$*              $1$2$3                          in case recursive
                    157: 
                    158: # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later
                    159: R@$+,$+                        @$1:$2                          change all "," to ":"
                    160: 
                    161: # localize and dispose of domain-based addresses
                    162: R@$+:$+                        $@$>6<@$1>:$2                   handle <route-addr>
                    163: 
                    164: # more miscellaneous cleanup
                    165: R$+                    $:$>8$1                         host dependent cleanup
                    166: R$+:$*;@$+             $@$1:$2;@$3                     list syntax
                    167: R$+@$+                 $:$1<@$2>                       focus on domain
                    168: R$+<$+@$+>             $1$2<@$3>                       move gaze right
                    169: R$+<@$+>               $@$>6$1<@$2>                    already canonical
                    170: 
                    171: # convert old-style addresses to a domain-based address
                    172: R$+%$+                 $@$>6$1<@$2>                    user%host
                    173: R$-:$+                 $@$>6$2<@$1>                    host:user
                    174: R$-.$+                 $@$>6$2<@$1>                    host.user
                    175: R$+^$+                 $1!$2                           convert ^ to !
                    176: R$-!$+                 $@$>6$2<@$1.UUCP>               resolve uucp names
                    177: R$-=$+                 $@$>6$2<@$1.BITNET>             resolve bitnet names

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.