Annotation of coherent/d/bin/mail/smail/docs/template.cf, revision 1.1

1.1     ! root        1: ############################################################
        !             2: #
        !             3: #      SENDMAIL CONFIGURATION FILE
        !             4: #
        !             5: #      supports internet style addressing
        !             6: #      over UUCP and ethernet links.
        !             7: #
        !             8: #      A product of the UUCP Project.
        !             9: #
        !            10: #      @(#)template.cf 2.5 (smail) 9/15/87
        !            11: #
        !            12: ############################################################
        !            13: 
        !            14: 
        !            15: ############################################################
        !            16: #
        !            17: #  Local configuration options - HINTS
        !            18: #
        !            19: # Host name and domain name macros.
        !            20: #
        !            21: #      Dw sets $w
        !            22: #      DD sets $D
        !            23: #      CD sets $=D
        !            24: #
        !            25: # $D and $=D list all domains in which this host sits.
        !            26: # $D goes into outbound addresses, i.e. "user@$w.$D".
        !            27: # $A is another domain for which this host is 'authoritative'
        !            28: # it will will be turned into $D.
        !            29: 
        !            30: CF_HOST
        !            31: CF_DOMAIN
        !            32: CF_AUTHORITY
        !            33: CF_DCLASS
        !            34: 
        !            35: # Preemptive ether connections.  We prefer these connections 
        !            36: # over both designated transport mechanisms and the general depository.
        !            37: # You can add more classes (here and in S0).
        !            38: 
        !            39: # /etc/hosts.smtp might be a link to /etc/hosts
        !            40: #
        !            41: CF_SMTP
        !            42: 
        !            43: # Mock top-level domain names.  These name designate a transport mechanism
        !            44: # and appear internally only, set in S3, used in S0, and removed in S4 and
        !            45: # (possibly) the ruleset for the particular mailer.  
        !            46: 
        !            47: CTETHER UUX
        !            48: 
        !            49: # Relay host.  Used at the end of S0 as the general depository for 
        !            50: # addresses which didn't resolve locally.  
        !            51: 
        !            52: DRrelay
        !            53: 
        !            54: #
        !            55: #  End Local configuration options
        !            56: #
        !            57: ############################################################
        !            58: 
        !            59: ############################################################
        !            60: #
        !            61: #      General configuration information
        !            62: #
        !            63: ############################################################
        !            64: 
        !            65: DVsmail2.5/CF_DATE
        !            66: 
        !            67: ##########################
        !            68: #     Special macros     #
        !            69: ##########################
        !            70: 
        !            71: # official hostname
        !            72: Dj$w.$D
        !            73: # my name
        !            74: DnMAILER-DAEMON
        !            75: # UNIX header format
        !            76: DlFrom $g  $d
        !            77: # delimiter (operator) characters
        !            78: Do.:%@!^=/[]
        !            79: # format of a total name
        !            80: Dq$g$?x ($x)$.
        !            81: # SMTP login message
        !            82: De$j Sendmail $v/$V ready at $b
        !            83: 
        !            84: 
        !            85: ###################
        !            86: #     Options     #
        !            87: ###################
        !            88: 
        !            89: # location of alias file
        !            90: OA/usr/lib/aliases
        !            91: # default delivery mode (deliver in background)
        !            92: Odbackground
        !            93: # (don't) connect to "expensive" mailers
        !            94: #Oc
        !            95: # temporary file mode
        !            96: OF0644
        !            97: # default GID
        !            98: Og1
        !            99: # location of help file
        !           100: OH/usr/lib/sendmail.hf
        !           101: # log level
        !           102: OL9
        !           103: # default messages to old style
        !           104: Oo
        !           105: # queue directory
        !           106: OQ/usr/spool/mqueue
        !           107: # read timeout -- violates protocols
        !           108: Or2h
        !           109: # status file
        !           110: OS/usr/lib/sendmail.st
        !           111: # queue up everything before starting transmission
        !           112: Os
        !           113: # default timeout interval
        !           114: OT3d
        !           115: # time zone names (V6 only)
        !           116: OtPST,PDT
        !           117: # default UID
        !           118: Ou1
        !           119: # wizard's password
        !           120: OWvoidpasswords
        !           121: 
        !           122: ###############################
        !           123: #     Message precedences     #
        !           124: ###############################
        !           125: 
        !           126: Pfirst-class=0
        !           127: Pspecial-delivery=100
        !           128: Pjunk=-100
        !           129: 
        !           130: #########################
        !           131: #     Trusted users     #
        !           132: #########################
        !           133: 
        !           134: Troot
        !           135: Tdaemon
        !           136: Tuucp
        !           137: Tnetwork
        !           138: 
        !           139: #############################
        !           140: #     Format of headers     #
        !           141: #############################
        !           142: 
        !           143: #H?P?Return-Path: <$g>
        !           144: HReceived: $?sfrom $s 
        !           145:        $.by $j ($v/$V)
        !           146:        id $i; $b
        !           147: H?D?Resent-Date: $a
        !           148: H?D?Date: $a
        !           149: H?F?Resent-From: $q
        !           150: H?F?From: $q
        !           151: H?x?Full-Name: $x
        !           152: HSubject:
        !           153: # HPosted-Date: $a
        !           154: # H?l?Received-Date: $b
        !           155: H?M?Resent-Message-Id: <$t.$i@$j>
        !           156: H?M?Message-Id: <$t.$i@$j>
        !           157: 
        !           158: ############################################################
        !           159: #
        !           160: #              REWRITING RULES
        !           161: #
        !           162: 
        !           163: 
        !           164: ###########################
        !           165: #                        #
        !           166: #  Name Canonicalization  #
        !           167: #                        #
        !           168: ###########################
        !           169: S3
        !           170: 
        !           171: # basic textual canonicalization
        !           172: R<>                    $@@                             turn into magic token
        !           173: R$*<$+>$*              $2                              basic RFC821/822 parsing
        !           174: R$+ at $+              $1@$2                           "at" -> "@" for RFC 822
        !           175: R$*<$*>$*              $1$2$3                          in case recursive
        !           176: 
        !           177: # handle route-addr <@a,@b,@c:user@d> 
        !           178: R@$+,$+                        @$1:$2                          change all "," to ":"
        !           179: R@$+:$+                        $@<@$1>:$2                      handle <route-addr>
        !           180: R$+:$*;@$+             $@$1:$2;@$3                     list syntax
        !           181: 
        !           182: # Rewrite address into a domain-based address.  Any special mock domain names 
        !           183: # (like UUX) should be defined on the CT line and removed (if necessary) 
        !           184: # in S4.  You can use them in S0 for designated transport mechanisms.
        !           185: 
        !           186: # Delimiters with precedence over @.  Add yours here.
        !           187: 
        !           188: # The @ delimiter.  Leave this alone.
        !           189: R$+@$+                 $:$1<@$2>                       focus on domain
        !           190: R$+<$+@$+>             $1$2<@$3>                       move gaze right
        !           191: R$+<@$+>               $@$1<@$2>                       already canonical
        !           192: 
        !           193: # Delimiters with precedence below @.  Add yours here.
        !           194: R$+^$+                 $1!$2                           convert ^ to !
        !           195: R$-!$+                 $@$2<@$1.UUX>                   resolve uucp names
        !           196: R$+.!$+                        $@$2<@$1>                       domain.!host
        !           197: R$+!$+                 $@$2<@$1>                       domain!host
        !           198: 
        !           199: # % is a low precedence @.
        !           200: R$*%$*                 $@$>3$1@$2                      %->@ and retry
        !           201: 
        !           202: ############################################################
        !           203: #
        !           204: #              RULESET ZERO PREAMBLE
        !           205: #
        !           206: ############################################################
        !           207: 
        !           208: S0
        !           209: 
        !           210: # first make canonical
        !           211: R$*<$*>$*              $1$2$3                          defocus
        !           212: R$+                    $:$>3$1                         make canonical
        !           213: 
        !           214: # handle special cases.....
        !           215: R@                     $#local$:MAILER-DAEMON          handle <> form
        !           216: R$*<@[$+]>$*           $#ether$@[$2]$:$1@[$2]$3        numeric internet spec
        !           217: 
        !           218: # strip local stuff
        !           219: R$*<@$-.$w.$D>$*       $1<@$2>$3                       thishost.mydom
        !           220: CF_GATEWAYR$*<@$-.$D>$*        $1<@$2>$3                       mydom
        !           221: R$*<@$-.$w.$=D>$*      $1<@$2>$4                       thishost.anydom
        !           222: R$*<@$-.$w.$A>$*       $1<@$2>$3                       thishost.anotherdom
        !           223: R$*<@$-.$A>$*          $1<@$2>$3                       anotherdom
        !           224: R$*<@$-.$w.$=T>$*      $1<@$2>$4                       thishost.mockdom
        !           225: CF_GATEWAYR$*<$*$w>$*  $1<$2>$3                        thishost
        !           226: R$*<$*.>$*             $1<$2>$3                        drop trailing dot
        !           227: R<@>:$+                        $@$>0$1                         strip null route, retry
        !           228: R$+<@>                 $@$>0$1                         strip null addr, retry
        !           229: 
        !           230: 
        !           231: ###############################################
        !           232: #    Machine dependent part of ruleset zero   #
        !           233: ###############################################
        !           234: 
        !           235: # Preemption: for a host on a known link turn the domain spec into a
        !           236: # mock domain indicating the link.  One set of these rules for each of 
        !           237: # the F classes listed in the local configuration options.
        !           238: 
        !           239: R$*<$*$=E.$D>$*                        $:$1<$2$3.ETHER>$4      etherhost.mydomain
        !           240: R$*<$*$=E.$=D>$*               $:$1<$2$3.ETHER>$5      etherhost.anydomain
        !           241: R$*<$*$=E.$A>$*                        $:$1<$2$3.ETHER>$4      etherhost.anotherdomain
        !           242: R$*<$*$=E.$=T>$*               $:$1<$2$3.ETHER>$5      etherhost.mock-domain
        !           243: R$*<$*$=E>$*                   $:$1<$2$3.ETHER>$4      etherhost
        !           244: 
        !           245: # Designated delivery: use the indicated transport mechanism.  One of
        !           246: # these rules for each of the mock domains defined in $=T.  You can
        !           247: # remove these if you just want general disposition.  HINTS.
        !           248: 
        !           249: # Designated delivery:
        !           250: R$*<@$=U.UUX>$*                $#uux$@$2$:$1$3                 known uucphost
        !           251: R$*<@$=E$+.ETHER>$*    $#ether$@$2$:$1@$2$4            known etherhost
        !           252: R$*<@$+.ETHER>$*       $#ether$@$2$:$1@$2$3            etherhost
        !           253: 
        !           254: # throw out mock domain name now
        !           255: R$*<$*.$=T>$*          $1<$2>$4
        !           256: 
        !           257: # General disposition of remote mail (comment out all but one).  You
        !           258: # might add to this list, if you have other "smarter" mailers.  HINTS.
        !           259: 
        !           260: R$*<@$->:$+            $#uux$@$2$:$1$3                 forward to $2
        !           261: R$*<@$*>$*             $#uux$@$2$:$1$3                 hand to uucp
        !           262: #R$*<@$*>$*            $#uux$@$R$:$1@$2$3              hand to uucp relay
        !           263: #R$*<@$*>$*            $#ether$@$R$:$1@$2$3            hand to ether relay
        !           264: #R$*<$*>$*             $#error$:unknown address $1$2$3 don't hand anywhere
        !           265: 
        !           266: # local delivery
        !           267: R$+                    $#local$:$1                     user
        !           268: 
        !           269: ############################################################
        !           270: #
        !           271: #              Local and Program Mailer specification
        !           272: #
        !           273: ############################################################
        !           274: 
        !           275: CF_SVMAILMlocal, P=CF_LOCALMAIL, F=lsDFMhumSU, S=10, R=20, A=rmail $u
        !           276: CF_BSMAILMlocal, P=CF_LOCALMAIL, F=rlsDFMmn, S=10, R=20, A=mail -d $u
        !           277: Mprog, P=/bin/sh,   F=lsDFMe,   S=10, R=20, A=sh -c $u
        !           278: 
        !           279: S10
        !           280: R@                     MAILER-DAEMON   errors to mailer-daemon
        !           281: CF_HIDDENHOSTSR$+<@$+.$j>$*            $1<@$j>$3       hide anydom.$j under $j
        !           282: 
        !           283: S20
        !           284: 
        !           285: ############################################################
        !           286: #
        !           287: #              UUCP Mailer specification
        !           288: #
        !           289: ############################################################
        !           290: 
        !           291: Muux,  P=/bin/smail, F=sDFMhum, S=14, R=24, M=100000,
        !           292:        A=smail -vH$j $h!$u
        !           293: 
        !           294: S14
        !           295: R$+<@$=E>              $1                      user@etherhost -> user
        !           296: R$*<@$+>$*             $@$1<@$2>$3             already ok
        !           297: CF_HIDDENHOSTSR$+<@$+.$j>$*            $1<@$j>$3               hide anydom.$j under $j
        !           298: R$+                    $@$1<@$j>               add our full address
        !           299: 
        !           300: S24
        !           301: 
        !           302: ############################################################
        !           303: #
        !           304: #              SMTP ethernet mailer
        !           305: #
        !           306: ############################################################
        !           307: 
        !           308: Mether,        P=[IPC], F=msDFMuCXP, S=11, R=21, A=IPC $h
        !           309: 
        !           310: S11
        !           311: R$*<@$+>$*             $@$1<@$2>$3             already ok
        !           312: R$+                    $@$1<@$w>               add our hostname
        !           313: 
        !           314: S21
        !           315: 
        !           316: #################################
        !           317: #  Final Output Post-rewriting  #
        !           318: #################################
        !           319: 
        !           320: # This rewrites the internal $=T mock domains into their external form.
        !           321: # The default is to replace the mock domain name with $D.
        !           322: # The last two lines are stock.
        !           323: 
        !           324: S4
        !           325: R@                     $@                              handle <> error addr
        !           326: R$+<@$-.UUX>           $2!$1                           [email protected] => host!u
        !           327: R$*<$*$=T>$*           $:$1<$2$D>$4                    change local info
        !           328: R$*<$+>$*              $1$2$3                          defocus
        !           329: R@$+:$+:$+             @$1,$2:$3                       <route-addr> canonical

unix.superglobalmegacorp.com

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