151220Seric 251220Seric 3*57246Seric NEW SENDMAIL CONFIGURATION FILES 451220Seric 5*57246Seric Eric Allman <eric@CS.Berkeley.EDU> 651220Seric 7*57246Seric @(#)README 2.6 (Berkeley) 12/20/92 851220Seric 951220Seric 10*57246SericThis document describes the sendmail configuration files being used 11*57246Sericat Berkeley. These use features in the new (R6) sendmail, and although 12*57246Sericthere is an ``OLDSENDMAIL'' mode, they haven't really been tested on 13*57246Sericold versions and cannot be expected to work well. 1451220Seric 15*57246SericThese configuration files are probably not as general as previous 16*57246Sericversions, and don't handle as many of the wierd cases automagically. 17*57246SericI was able to simplify by them for two reasons. First, the network 18*57246Serichas become more consistent -- for example, at this point, everyone 19*57246Sericon the internet is supposed to be running a name server, so hacks to 20*57246Serichandle NIC-registered hosts can go away. Second, I assumed that a 21*57246Sericsubdomain would be running SMTP internally -- UUCP is presumed to be 22*57246Serica long-haul protocol. I realize that this is not universal, but it 23*57246Sericdoes describe the vast majority of sites with which I am familiar, 24*57246Sericincluding those outside the US. 2551220Seric 26*57246SericOf course, the downside of this is that if you do live in a wierd 27*57246Sericworld, things are going to get wierder for you. I'm sorry about that, 28*57246Sericbut at the time we at Berkeley had a problem, and it seemed like the 29*57246Sericright thing to do. 3051220Seric 31*57246SericThis package requires a relatively new version of M4. SunOS's 32*57246Seric/usr/5bin/m4 or BSD-Net/2's m4 both work. GNU m4 (which is a language 33*57246Sericunto itself) also works, but I don't intend to work so hard to keep 34*57246Sericthis up in the future. [Note to GNU folks: the construct 35*57246Seric"define(`FOO')" should work without my having to add a null value.] 3651220Seric 3751220SericAt this point, let me make one thing perfectly clear. I am a rope 3851220Sericsalesman. I sell you rope. I haven't produced a new M4 system 3951220Sericthat detects latent bugs, nor have I tried to fix the old one. 4051220Seric(However, I have decided to rely on a post-V7 version; if you 4151220Sericare running the 4.2bsd, SysV.2, or 7th Edition version, I suggest 4251220Sericfinding a friend with a newer version. You can m4-expand on 4351220Serictheir system, then run locally.) 4451220Seric 45*57246SericI'm not pretending that this README describes everything that these 46*57246Sericconfiguration files can do; clever people can probably tweak them 47*57246Sericto great effect. But it should get you started. 48*57246Seric 49*57246SericThese files only include minimal database primitives, largely because 50*57246Sericof inertia -- and those haven't really been tested at Berkeley. 51*57246Seric 52*57246Seric+--------------------------+ 53*57246Seric| INTRODUCTION AND EXAMPLE | 54*57246Seric+--------------------------+ 55*57246Seric 56*57246SericConfiguration files are contained in the subdirectory "cf", with a 57*57246Sericsuffix ".mc". They must be run through "m4" to produce a ".cf" file. 58*57246Seric 5951220SericLet's examine a typical .mc file (cf/cs-exposed.mc): 6051220Seric 6151220Seric divert(-1) 6251220Seric # 6351220Seric # Copyright (c) 1983 Eric P. Allman 6451220Seric # Copyright (c) 1988 The Regents of the University of California. 6551220Seric # All rights reserved. 6651220Seric # 6751220Seric # Redistribution and use in source and binary forms are permitted 6851220Seric # provided that the above copyright notice and this paragraph are 6951220Seric # duplicated in all such forms and that any documentation, 7051220Seric # advertising materials, and other materials related to such 7151220Seric # distribution and use acknowledge that the software was developed 7251220Seric # by the University of California, Berkeley. The name of the 7351220Seric # University may not be used to endorse or promote products derived 7451220Seric # from this software without specific prior written permission. 7551220Seric # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 7651220Seric # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 7751220Seric # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 7851220Seric # 7951220Seric 80*57246SericThe divert(-1) will delete the crud in the resulting output file. 81*57246SericThe copyright notice is what your lawyers require. My lawyers require 82*57246Sericthe one that I've included in my files. A copyleft is a copyright by 83*57246Sericanother name. 8451220Seric 85*57246SericThe next line MUST be 86*57246Seric 8751220Seric include(`../m4/cf.m4') 8851220Seric 89*57246SericThis will pull in the M4 macros you will need to make sense of 90*57246Sericeverything else. As the saying goes, don't think about it, just 91*57246Sericdo it. If you don't do it, don't bother reading the rest of this 92*57246Sericfile. 9351220Seric 9456778Seric VERSIONID(`<SCCS or RCS version id>') 9551220Seric 9651220SericVERSIONID is a macro that stuffs the version information into the 9751220Sericresulting file. We use SCCS; you could use RCS, something else, or 98*57246Sericomit it completely. This is not the same as the version id included 99*57246Sericin SMTP greeting messages -- this is defined in m4/version.m4. 10051220Seric 10151268Seric DOMAIN(cs.exposed) 10251220Seric 10351220SericThis example exposes the host inside of the CS subdomain -- that is, 10451220Sericit doesn't try to hide the name of the workstation to the outside 10551220Sericworld. Changing this to DOMAIN(cs.hidden) would have made outgoing 10651220Sericmessages refer to "<username>@CS.Berkeley.EDU" instead of using the 107*57246Sericlocal hostname. Internaly this is effected by using 108*57246Seric"MASQUERADE_AS(CS.Berkeley.EDU)". 10951220Seric 11051268Seric MAILER(smtp) 11151220Seric 11251309SericThese describe the mailers used at the default CS site site. The 11351309Sericlocal mailer is always included automatically. 11451220Seric 115*57246Seric+--------+ 116*57246Seric| OSTYPE | 117*57246Seric+--------+ 118*57246Seric 11951220SericNote that cf/cs-exposed.mc omits an OSTYPE macro -- this assumes 12051220Sericdefault Computer Science Division environment. There are several 121*57246Sericenvironments available: bsd4.3, bsd4.4, hpux, irix, osf1, riscos4.5, 122*57246Sericsunos3.5, sunos4.1, and ultrix4.1. These change things like the 123*57246Sericlocation of the alias file and queue directory. Some of these 124*57246Sericare identical. 12551220Seric 126*57246SericOperating system definitions are easy to write. They may define 127*57246Sericthe following variables (everything defaults, so an ostype file 128*57246Sericmay be empty). 12951220Seric 130*57246SericALIAS_FILE [/etc/aliases] The location of the text version 131*57246Seric of the alias file. 132*57246SericHELP_FILE [/usr/lib/sendmail.hf] The name of the file 133*57246Seric containing information printed in response to 134*57246Seric the SMTP HELP command. 135*57246SericLOCAL_MAILER [/bin/mail] The program used to deliver local mail. 136*57246SericLOCAL_SHELL [/bin/sh] The shell used to deliver piped email. 137*57246SericQUEUE_DIR [/var/spool/mqueue] The directory containing 138*57246Seric queue files. 139*57246SericSTATUS_FILE [/etc/sendmail.st] The file containing status 140*57246Seric information. 141*57246SericLOCAL_MAILER_FLAGS [rn] The flags used by the local mailer. The 142*57246Seric flags lsDFMm are always included. 143*57246SericHOSTMAP_SPEC [dbm -o /etc/hostmap] The value for the builtin 144*57246Seric hostmap key definition. You can redefine this 145*57246Seric to change the class, flags, and filename of 146*57246Seric the hostmap. The default flag (-o) makes this 147*57246Seric map optional. 148*57246Seric 149*57246SericIn addition, the following boolean flags may be defined -- the value 150*57246Sericis ignored. 151*57246Seric 152*57246SericNEED_DOMAIN If set, the $j macro is defined as $w.$D. 153*57246Seric If not set, $j is defined as $w. If this is 154*57246Seric set, the domain must be defined using the line 155*57246Seric DD<domainname> (probably in the domain file, 156*57246Seric but possibly in the .mc file). You will only 157*57246Seric need this if you define your system hostname 158*57246Seric without a domain (type "hostname" -- if it 159*57246Seric has no dots in the output, you qualify) or if 160*57246Seric you are running Ultrix or OSF/1 sendmail. 161*57246Seric Either of these is probably a mistake. 162*57246Seric 163*57246Seric+---------+ 164*57246Seric| DOMAINS | 165*57246Seric+---------+ 166*57246Seric 167*57246SericYou will probably want to collect domain-dependent defines into one 168*57246Sericfile, referenced by the DOMAIN macro. For example, our Berkeley 169*57246Sericdomain file includes definitions for several internal distinguished 170*57246Serichosts: 171*57246Seric 172*57246SericUUCP_RELAY The host that will forward UUCP-addressed email. 173*57246Seric If not defined, all UUCP sites must be directly 174*57246Seric connected. 175*57246SericBITNET_RELAY The host that will forward BITNET-addressed email. 176*57246Seric If not defined, the .BITNET pseudo-domain won't work. 177*57246SericCSNET_RELAY The host that will forward CSNET-addressed email. 178*57246Seric If not defined, the .CSNET pseudo-domain won't work. 179*57246SericLOCAL_RELAY The site that will handle unqualified names -- that 180*57246Seric is, names with out an @domain extension. If not set, 181*57246Seric they are assumed to belong on this machine. This 182*57246Seric allows you to have a central site to store a 183*57246Seric company- or department-wide alias database. This 184*57246Seric only works at small sites, and there are better 185*57246Seric methods. 186*57246Seric 187*57246SericThe domain file can also be used to define a domain name, if needed 188*57246Seric(directly using "DD<domain>") and set certain site-wide features, 189*57246Sericsuch as no_wildcard_MX. If all hosts at your site masquerade 190*57246Sericbehind one email name, you could also use MASQUERADE_AS here. 191*57246Seric 192*57246Seric+---------+ 193*57246Seric| MAILERS | 194*57246Seric+---------+ 195*57246Seric 19651220SericThere are fewer mailers supported in this version than the previous 19751220Sericversion, owing mostly to a simpler world. 19851220Seric 19951220Sericlocal The local and prog mailers. You will almost always 20051220Seric need these; the only exception is if you relay ALL 20151220Seric your mail to another site. 20251220Seric 20351220Sericsmtp The Simple Mail Transport Protocol mailer. This does 20451220Seric not hide hosts behind a gateway or another other 20551220Seric such hack; it assumes a world where everyone is 20651220Seric running the name server. 20751220Seric 20851220Sericuucp The Unix-to-Unix Copy Program mailer. Actually, this 20951220Seric defines two mailers, "uucp" and "suucp". The latter 21051220Seric is for when you know that the UUCP mailer at the other 21151220Seric end can handle multiple recipients in one transfer. 212*57246Seric When you invoke this, sendmail looks for all names in 213*57246Seric the $=U class and sends them to the uucp mailer; all 214*57246Seric names in the $=Y class are sent to suucp. Note that 215*57246Seric this is a function of what version of rmail runs on 216*57246Seric the receiving end, and hence may be out of your control. 21751220Seric 218*57246Seric+----------+ 219*57246Seric| FEATURES | 220*57246Seric+----------+ 22151268Seric 222*57246SericSpecial features can be requested using the "FEATURE" macro. For 223*57246Sericexample, the .mc line: 224*57246Seric 225*57246Seric FEATURE(use_cw_file) 226*57246Seric 227*57246Serictells sendmail that you want to have it read an /etc/sendmail.cw 228*57246Sericfile to get values for class $=w. Available features are: 229*57246Seric 230*57246Sericuse_cw_file Read the file /etc/sendmail.cw file to get alternate 231*57246Seric names for this host. This might be used if you were 232*57246Seric on a host that MXed for a dynamic set of other 233*57246Seric hosts. If the set is static, just including the line 234*57246Seric "Cw<name1> <name2> ..." is probably superior. 235*57246Seric 236*57246Sericno_wildcard_MX This domain does not have a wildcard MX record that 237*57246Seric matches it. For example, I am in domain 238*57246Seric CS.Berkeley.EDU, and there is no MX record that 239*57246Seric matches *.CS.Berkeley.EDU or *.Berkeley.EDU, so I 240*57246Seric can safely use this feature. If you set this, you 241*57246Seric get better name server performance. 242*57246Seric 243*57246SericOther FEATUREs should be defined, but I was trying to keep these 244*57246Sericconfig files fairly lean and mean. 245*57246Seric 246*57246Seric+-------+ 247*57246Seric| HACKS | 248*57246Seric+-------+ 249*57246Seric 250*57246SericSome things just can't be called features. To make this clear, 251*57246Sericthey go in the hack subdirectory and are ferenced using the HACK 252*57246Sericmacro. These will tend to be site-dependent. The release 253*57246Sericincludes the Berkeley-dependent "cssubdomain" hack (that makes 254*57246Sericsendmail accept local names in either Berkeley.EDU or CS.Berkeley.EDU; 255*57246Sericthis is intended as a short-term aid while we move hosts into 256*57246Sericsubdomains. 257*57246Seric 258*57246Seric+--------------------+ 259*57246Seric| SITE CONFIGURATION | 260*57246Seric+--------------------+ 261*57246Seric 262*57246SericComplex sites will need more local configuration information, such as 263*57246Sericlists of UUCP hosts they speak with directly. This can get a bit more 264*57246Serictricky. For an example of a "complex" site, see cf/ucbvax.mc. 265*57246Seric 266*57246SericThe SITECONFIG macro allows you to indirectly reference site-dependent 267*57246Sericconfiguration information stored in the siteconfig subdirectory. For 268*57246Sericexample, the line 269*57246Seric 270*57246Seric SITECONFIG(uucp.ucbvax, ucbvax, U) 271*57246Seric 272*57246Sericreads the file uucp.ucbvax for local connection information. The 273*57246Sericsecond parameter is the local name (in this case just "ucbvax" since 274*57246Sericit is locally connected, and hence a UUCP hostname) and the name of 275*57246Sericthe class in which to store the host information. Another SITECONFIG 276*57246Sericline reads 277*57246Seric 278*57246Seric SITECONFIG(uucp.ucbarpa, ucbarpa.Berkeley.EDU, W) 279*57246Seric 280*57246SericThis says that the file uucp.ucbarpa contains the list of UUCP sites 281*57246Sericconnected to ucbarpa.Berkeley.EDU. The $=W class will be used to 282*57246Sericstore this list. [The machine ucbarpa is gone now, but I've left 283*57246Sericthis out-of-date configuration file around to demonstrate how you 284*57246Sericmight do this.] 285*57246Seric 286*57246SericThe siteconfig file (e.g., siteconfig/uucp.ucbvax.m4) contains nothing 287*57246Sericmore than a sequence of SITE macros describing connectivity. For 288*57246Sericexample: 289*57246Seric 290*57246Seric SITE(cnmat) 291*57246Seric SITE(sgi olympus) 292*57246Seric 293*57246SericThe second example demonstrates that you can use two names on the 294*57246Sericsame line; these are usually aliases for the same host (or are at 295*57246Sericleast in the same company). 296*57246Seric 297*57246Seric+-------------------+ 298*57246Seric| TWEAKING RULESETS | 299*57246Seric+-------------------+ 300*57246Seric 30151268SericFor more complex configurations, you can define special rules. 30251268SericThe macro LOCAL_RULE_3 introduces rules that are used in canonicalizing 30351268Sericthe names. Any modifications made here are reflected in the header. 30451268Seric 30551268SericA common use is to convert old UUCP addreses to SMTP addresses using 30651268Sericthe UUCPSMTP macro. For example: 30751268Seric 30851268Seric LOCAL_RULE_3 30951268Seric UUCPSMTP(decvax, decvax.dec.com) 31051268Seric UUCPSMTP(research, research.att.com) 31151268Seric 31251268Sericwill cause addresses of the form "decvax!user" and "research!user" 31351268Sericto be converted to "user@decvax.dec.com" and "user@research.att.com" 31451268Sericrespectively. 31551268Seric 316*57246SericThis could also be used to look hosts in a database map: 317*57246Seric 318*57246Seric LOCAL_RULE_3 319*57246Seric R$* < @ $+ > $* $: $1 < @ $(hostmap $2 $) > $3 320*57246Seric 321*57246SericThis map would be defined in the LOCAL_CONFIG portion, as shown below. 322*57246Seric 32351268SericSimilarly, LOCAL_RULE_0 can be used to introduce new parsing rules. 32451268SericFor example, new rules are needed to parse hostnames that you accept 32551309Sericvia MX records. For example, you might have: 32651268Seric 32751309Seric LOCAL_RULE_0 32851309Seric R$+ < @ cnmat.Berkeley.EDU > $#uucp $@ cnmat $: $1 32951309Seric 33051309SericYou would use this if you had installed an MX record for cnmat.Berkeley.EDU 33151309Sericpointing at this host; this rule catches the message and forwards it on 33251309Sericusing UUCP. 33351309Seric 334*57246SericA similar macro is LOCAL_CONFIG. This introduces lines added after the 335*57246Sericboilerplate option setting but before rulesets, and can be used to 336*57246Sericoverride default options, declare local database maps, or whatever. 337*57246SericFor example: 33851268Seric 339*57246Seric LOCAL_CONFIG 340*57246Seric Khostmap hash /etc/hostmap.db 341*57246Seric Kyplocal nis -m hosts.byname 342*57246Seric OJ/var/forward/$u:$z/.forward 343*57246Seric OL3 34451220Seric 345*57246Seric+---------------------------+ 346*57246Seric| MASQUERADING AND RELAYING | 347*57246Seric+---------------------------+ 348*57246Seric 349*57246SericYou can have your host masquerade as another using 350*57246Seric 351*57246Seric MASQUERADE_AS(host.domain) 352*57246Seric 353*57246SericThis causes outgoing SMTP mail to be labelled as coming from the 354*57246Sericindicated domain, rather than $j. One normally masquerades as one 355*57246Sericof your own subdomains (for example, it's unlikely that I would 356*57246Sericchoose to masquerade as an MIT site). 357*57246Seric 358*57246Sericthere are always users that need to be "exposed" -- that is, their 359*57246Sericinternal site name should be displayed instead of the masquerade name. 360*57246SericRoot is an example. You can add users to this list using 361*57246Seric 362*57246Seric EXPOSED_USER(usernames) 363*57246Seric 364*57246SericThis adds users to class E; you could also use something like 365*57246Seric 366*57246Seric FE/etc/sendmail.cE 367*57246Seric 368*57246SericYou can also arrange to relay all unqualified names (that is, names 369*57246Sericwithout @host) to a relay host. For example, if you have a central 370*57246Sericemail server, you might relay to that host so that users don't have 371*57246Sericto have .forward files or aliases. You can do this using 372*57246Seric 373*57246Seric define(`LOCAL_RELAY', hostname) 374*57246Seric 375*57246SericThere are some user names that you don't want relayed, perhaps because 376*57246Sericof local aliases. A common example is root, which may be locally 377*57246Sericaliased. You can add entries to this list using 378*57246Seric 379*57246Seric LOCAL_USER(usernames) 380*57246Seric 381*57246SericThis adds users to class L; you could also use something like 382*57246Seric 383*57246Seric FL/etc/sendmail.cL 384*57246Seric 385*57246Seric+-----------+ 386*57246Seric| HIERARCHY | 387*57246Seric+-----------+ 388*57246Seric 38951220SericWithin this directory are several subdirectories, to wit: 39051220Seric 39151220Sericm4 General support routines. These are typically 39251220Seric very important and should not be changed without 39351220Seric contacting your lawyer. 39451220Seric 39551220Sericcf The configuration files themselves. They have 39651220Seric ".mc" suffixes, and must be run through m4 to 39751220Seric become complete. The resulting output should 39851220Seric have a ".cf" suffix. 39951220Seric 40051220Sericostype Definitions describing a particular operating 40151220Seric system type. These should always be referenced 40251220Seric using the OSTYPE macro in the .mc file. Examples 40351220Seric include "bsd4.3", "bsd4.4", "sunos3.5", and 40451220Seric "sunos4.1". 40551220Seric 40651220Sericdomain Definitions describing a particular domain, referenced 40751220Seric using the DOMAIN macro in the .mc file. These are 40851220Seric site dependent; for example, we contribute "cs.exposed.m4" 40951220Seric and "cs.hidden.m4" which both describe hosts in the 41051220Seric CS.Berkeley.EDU subdomain; the former displays the local 41151220Seric hostname (e.g., mammoth.CS.Berkeley.EDU), whereas the 41251220Seric latter does its best to hide the identity of the local 41351220Seric workstation inside the CS subdomain. 41451220Seric 41551220Sericmailer Descriptions of mailers. These are referenced using 41651220Seric the MAILER macro in the .mc file. 41751220Seric 41851220Sericsh Shell files used when building the .cf file from the 41951220Seric .mc file in the cf subdirectory. 42051220Seric 42151220Sericfeature These hold special orthogonal features that you might 42251220Seric want to include. They should be referenced using 42351220Seric the FEATURE macro. 42451220Seric 42551220Serichack Local hacks. These can be referenced using the HACK 42651220Seric macro. They shouldn't be of more than voyeuristic 42751220Seric interest outside the .Berkeley.EDU domain, but who knows? 42851220Seric We've all got our own peccadilloes. 42951220Seric 43051268Sericsiteconfig Site configuration -- e.g., tables of locally connected 43151268Seric UUCP sites. 43251220Seric 43351268Seric 434*57246Seric+------------------------+ 435*57246Seric| ADMINISTRATIVE DETAILS | 436*57246Seric+------------------------+ 43751220Seric 43851220SericThe following sections detail usage of certain internal parts of the 43951220Sericsendmail.cf file. Read them carefully if you are trying to modify 44051220Sericthe current model. If you find the above descriptions adequate, these 44151220Sericshould be {boring, confusing, tedious, ridiculous} (pick one or more). 44251220Seric 44351220SericRULESETS (* means built in to sendmail) 44451220Seric 44551220Seric 0 * Parsing 44651220Seric 1 * Sender rewriting 44751220Seric 2 * Recipient rewriting 44851220Seric 3 * Canonicalization 44951220Seric 4 * Post cleanup 45054839Seric 5 * Local address rewrite (after aliasing) 45151220Seric 6 Bottom half of Ruleset 3 45254839Seric 7 Back compatibility for UUCP 45351220Seric 8 "host dependent cleanup" -- unused? 45451220Seric 9 change rightmost % to @ -- needed? 45551220Seric 45651220Seric 45751220SericMAILERS 45851220Seric 45951220Seric 0 local, prog local and program mailers 46051220Seric 1 smtp SMTP channel 46151220Seric 2 uucp 46251220Seric 46351220Seric 46451220SericMACROS 46551220Seric 46651220Seric A 46751220Seric B Bitnet Relay 46851220Seric C CSNET Relay 46954839Seric D The local domain -- usually not needed 47051220Seric E 47151220Seric F 47251220Seric G 47351220Seric H 47451220Seric I 47551220Seric J 47651220Seric K 47751220Seric L 47851220Seric M Masquerade (who I claim to be) 47951220Seric N 48051220Seric O 48151220Seric P 48251220Seric Q 48351220Seric R Relay (for unqualified names) 48451220Seric S 48551220Seric T 48651309Seric U my UUCP name (if I have a UUCP connection) 48751309Seric V UUCP Relay (class V hosts) 48851220Seric W UUCP Relay (class W hosts) 48951220Seric X UUCP Relay (class X hosts) 49051309Seric Y UUCP Relay (all other hosts) 49151220Seric Z Version number 49251220Seric 49351220Seric 49451220SericCLASSES 49551220Seric 49651220Seric A 49751220Seric B 49851220Seric C 49951220Seric D 500*57246Seric E addresses that should not seem to come from $M 50154839Seric F hosts we forward for 50251220Seric G 50351220Seric H 50451220Seric I 50551220Seric J 50651220Seric K 50751220Seric L addresses that should not be forwarded to $R 50851220Seric M 50951220Seric N 51051220Seric O operators that indicate network operations (cannot be in local names) 51151220Seric P 51251220Seric Q 51351220Seric R 51451220Seric S 51551220Seric T 51651220Seric U locally connected UUCP hosts 51751309Seric V UUCP hosts connected to relay $V 51851309Seric W UUCP hosts connected to relay $W 51951309Seric X UUCP hosts connected to relay $X 52051309Seric Y locally connected smart UUCP hosts 52151220Seric Z 52254839Seric . the class containing only a dot 52351220Seric 52451220Seric 52551220SericM4 DIVERSIONS 52651220Seric 527*57246Seric 1 52851220Seric 2 Local Ruleset 0 additions 52951220Seric 3 Local Ruleset 3 additions 53051268Seric 4 UUCP Ruleset 0 additions 53151309Seric 5 locally interpreted names (overrides $R) 53254839Seric 6 local configuration (at top of file) 53351220Seric 7 mailer definitions 53454839Seric 8 special local name recognition (late in ruleset 3) 53551220Seric 9 536