Annotation of 42BSD/usr.lib/sendmail/cf/base.m4, revision 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.