Annotation of 43BSD/usr.lib/sendmail/cf.hosttable/base.m4, revision 1.1

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

unix.superglobalmegacorp.com

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