1*51220Seric@(#)README 2.1 (Berkeley) 10/02/91 2*51220Seric 3*51220SericThis document describes the sendmail configuration files being used 4*51220Sericat Berkeley. There have been several previous versions. This file 5*51220Sericis being written on 24 July 1991, and will probably not be generally 6*51220Sericavailable for several months. 7*51220Seric 8*51220SericINSTALLING A NEW SITE CONFIGURATION 9*51220Seric 10*51220SericConfiguration files are contained in the subdirectory "cf", with a 11*51220Sericsuffix ".mc". They must be run through "m4" to produce a ".cf" file. 12*51220Seric 13*51220SericEvery .mc file SHOULD begin with: 14*51220Seric 15*51220Seric divert(-1) 16*51220Seric COPYRIGHT NOTICE 17*51220Seric divert(0) 18*51220Seric 19*51220SericIf you don't care about copyrights, you can omit this. If you try 20*51220Sericto patent this, I'll be very, very pissed. I haven't patented a lot 21*51220Sericof hot ideas so that you can use them; I expect reciprocal courtesy. 22*51220SericA copyleft is a copyright by another name. 23*51220Seric 24*51220SericThe copyright, if any, MUST be followed by: 25*51220Seric 26*51220Seric include(../m4/cf.m4) 27*51220Seric 28*51220SericThis will pull in the M4 macros you will need to make sense of 29*51220Sericeverything else. As the saying goes, don't think about it, just 30*51220Sericdo it. If you don't do it, don't bother reading the rest of this 31*51220Sericfile. 32*51220Seric 33*51220SericAt this point, let me make one thing perfectly clear. I am a rope 34*51220Sericsalesman. I sell you rope. I haven't produced a new M4 system 35*51220Sericthat detects latent bugs, nor have I tried to fix the old one. 36*51220Seric(However, I have decided to rely on a post-V7 version; if you 37*51220Sericare running the 4.2bsd, SysV.2, or 7th Edition version, I suggest 38*51220Sericfinding a friend with a newer version. You can m4-expand on 39*51220Serictheir system, then run locally.) 40*51220Seric 41*51220SericLet's examine a typical .mc file (cf/cs-exposed.mc): 42*51220Seric 43*51220Seric divert(-1) 44*51220Seric # 45*51220Seric # Copyright (c) 1983 Eric P. Allman 46*51220Seric # Copyright (c) 1988 The Regents of the University of California. 47*51220Seric # All rights reserved. 48*51220Seric # 49*51220Seric # Redistribution and use in source and binary forms are permitted 50*51220Seric # provided that the above copyright notice and this paragraph are 51*51220Seric # duplicated in all such forms and that any documentation, 52*51220Seric # advertising materials, and other materials related to such 53*51220Seric # distribution and use acknowledge that the software was developed 54*51220Seric # by the University of California, Berkeley. The name of the 55*51220Seric # University may not be used to endorse or promote products derived 56*51220Seric # from this software without specific prior written permission. 57*51220Seric # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 58*51220Seric # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 59*51220Seric # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 60*51220Seric # 61*51220Seric 62*51220SericIf you copy this file and modify it, you should maintain this copyright 63*51220Sericnotice. If you actually start from scratch you can delete it -- but be 64*51220Serichonest! 65*51220Seric 66*51220Seric include(`../m4/cf.m4') 67*51220Seric 68*51220SericYou need this line! 69*51220Seric 70*51220Seric VERSIONID(@(#)README 2.1 (Berkeley) 10/02/91) 71*51220Seric 72*51220SericVERSIONID is a macro that stuffs the version information into the 73*51220Sericresulting file. We use SCCS; you could use RCS, something else, or 74*51220Sericomit it completely. 75*51220Seric 76*51220Seric DOMAIN(cs.exposed)dnl 77*51220Seric 78*51220SericThis example exposes the host inside of the CS subdomain -- that is, 79*51220Sericit doesn't try to hide the name of the workstation to the outside 80*51220Sericworld. Changing this to DOMAIN(cs.hidden) would have made outgoing 81*51220Sericmessages refer to "<username>@CS.Berkeley.EDU" instead of using the 82*51220Sericlocal hostname. This can also be effected by using: 83*51220Seric 84*51220Seric define(`MASQUERADE_AS', `masquerade.host.name.domain.name')dnl 85*51220Seric 86*51220Sericin the ".mc" file. 87*51220Seric 88*51220Seric MAILER(local)dnl 89*51220Seric MAILER(smtp)dnl 90*51220Seric 91*51220SericThese describe the mailers used at the default CS site site. 92*51220Seric 93*51220SericNote that cf/cs-exposed.mc omits an OSTYPE macro -- this assumes 94*51220Sericdefault Computer Science Division environment. There are several 95*51220Sericenvironments available: bsd4.3, bsd4.4, riscos4.5, sunos3.5, 96*51220Sericsunos4.1, and ultrix4.1. These change things like the location 97*51220Sericof the alias file and queue directory. 98*51220Seric 99*51220SericMAILERS 100*51220Seric 101*51220SericThere are fewer mailers supported in this version than the previous 102*51220Sericversion, owing mostly to a simpler world. 103*51220Seric 104*51220Sericlocal The local and prog mailers. You will almost always 105*51220Seric need these; the only exception is if you relay ALL 106*51220Seric your mail to another site. 107*51220Seric 108*51220Sericsmtp The Simple Mail Transport Protocol mailer. This does 109*51220Seric not hide hosts behind a gateway or another other 110*51220Seric such hack; it assumes a world where everyone is 111*51220Seric running the name server. 112*51220Seric 113*51220Sericuucp The Unix-to-Unix Copy Program mailer. Actually, this 114*51220Seric defines two mailers, "uucp" and "suucp". The latter 115*51220Seric is for when you know that the UUCP mailer at the other 116*51220Seric end can handle multiple recipients in one transfer. 117*51220Seric 118*51220SericHIERARCHY 119*51220Seric 120*51220SericWithin this directory are several subdirectories, to wit: 121*51220Seric 122*51220Sericm4 General support routines. These are typically 123*51220Seric very important and should not be changed without 124*51220Seric contacting your lawyer. 125*51220Seric 126*51220Sericcf The configuration files themselves. They have 127*51220Seric ".mc" suffixes, and must be run through m4 to 128*51220Seric become complete. The resulting output should 129*51220Seric have a ".cf" suffix. 130*51220Seric 131*51220Sericostype Definitions describing a particular operating 132*51220Seric system type. These should always be referenced 133*51220Seric using the OSTYPE macro in the .mc file. Examples 134*51220Seric include "bsd4.3", "bsd4.4", "sunos3.5", and 135*51220Seric "sunos4.1". 136*51220Seric 137*51220Sericdomain Definitions describing a particular domain, referenced 138*51220Seric using the DOMAIN macro in the .mc file. These are 139*51220Seric site dependent; for example, we contribute "cs.exposed.m4" 140*51220Seric and "cs.hidden.m4" which both describe hosts in the 141*51220Seric CS.Berkeley.EDU subdomain; the former displays the local 142*51220Seric hostname (e.g., mammoth.CS.Berkeley.EDU), whereas the 143*51220Seric latter does its best to hide the identity of the local 144*51220Seric workstation inside the CS subdomain. 145*51220Seric 146*51220Sericmailer Descriptions of mailers. These are referenced using 147*51220Seric the MAILER macro in the .mc file. 148*51220Seric 149*51220Sericsh Shell files used when building the .cf file from the 150*51220Seric .mc file in the cf subdirectory. 151*51220Seric 152*51220Sericfeature These hold special orthogonal features that you might 153*51220Seric want to include. They should be referenced using 154*51220Seric the FEATURE macro. 155*51220Seric 156*51220Serichack Local hacks. These can be referenced using the HACK 157*51220Seric macro. They shouldn't be of more than voyeuristic 158*51220Seric interest outside the .Berkeley.EDU domain, but who knows? 159*51220Seric We've all got our own peccadilloes. 160*51220Seric 161*51220Seric 162*51220SericADMINISTRATIVE DETAILS 163*51220Seric 164*51220SericThe following sections detail usage of certain internal parts of the 165*51220Sericsendmail.cf file. Read them carefully if you are trying to modify 166*51220Sericthe current model. If you find the above descriptions adequate, these 167*51220Sericshould be {boring, confusing, tedious, ridiculous} (pick one or more). 168*51220Seric 169*51220SericRULESETS (* means built in to sendmail) 170*51220Seric 171*51220Seric 0 * Parsing 172*51220Seric 1 * Sender rewriting 173*51220Seric 2 * Recipient rewriting 174*51220Seric 3 * Canonicalization 175*51220Seric 4 * Post cleanup 176*51220Seric 5 Back compatibility for UUCP 177*51220Seric 6 Bottom half of Ruleset 3 178*51220Seric 7 --unused-- 179*51220Seric 8 "host dependent cleanup" -- unused? 180*51220Seric 9 change rightmost % to @ -- needed? 181*51220Seric 182*51220Seric 183*51220SericMAILERS 184*51220Seric 185*51220Seric 0 local, prog local and program mailers 186*51220Seric 1 smtp SMTP channel 187*51220Seric 2 uucp 188*51220Seric 189*51220Seric 190*51220SericMACROS 191*51220Seric 192*51220Seric A 193*51220Seric B Bitnet Relay 194*51220Seric C CSNET Relay 195*51220Seric D 196*51220Seric E 197*51220Seric F 198*51220Seric G 199*51220Seric H 200*51220Seric I 201*51220Seric J 202*51220Seric K 203*51220Seric L 204*51220Seric M Masquerade (who I claim to be) 205*51220Seric N 206*51220Seric O 207*51220Seric P 208*51220Seric Q 209*51220Seric R Relay (for unqualified names) 210*51220Seric S 211*51220Seric T 212*51220Seric U UUCP Relay (all hosts) 213*51220Seric V UUCP Relay (class V hosts) 214*51220Seric W UUCP Relay (class W hosts) 215*51220Seric X UUCP Relay (class X hosts) 216*51220Seric Y UUCP Relay (class Y hosts) 217*51220Seric Z Version number 218*51220Seric 219*51220Seric 220*51220SericCLASSES 221*51220Seric 222*51220Seric A 223*51220Seric B 224*51220Seric C 225*51220Seric D 226*51220Seric E 227*51220Seric F 228*51220Seric G 229*51220Seric H 230*51220Seric I 231*51220Seric J 232*51220Seric K 233*51220Seric L addresses that should not be forwarded to $R 234*51220Seric M 235*51220Seric N 236*51220Seric O operators that indicate network operations (cannot be in local names) 237*51220Seric P 238*51220Seric Q 239*51220Seric R 240*51220Seric S 241*51220Seric T 242*51220Seric U locally connected UUCP hosts 243*51220Seric V UUCP hosts connected to host $V 244*51220Seric W UUCP hosts connected to host $X 245*51220Seric X UUCP hosts connected to host $Y 246*51220Seric Y UUCP hosts connected to host $Z 247*51220Seric Z 248*51220Seric 249*51220Seric 250*51220SericM4 DIVERSIONS 251*51220Seric 252*51220Seric 1 Versions 253*51220Seric 2 Local Ruleset 0 additions 254*51220Seric 3 Local Ruleset 3 additions 255*51220Seric 4 256*51220Seric 5 257*51220Seric 6 258*51220Seric 7 mailer definitions 259*51220Seric 8 260*51220Seric 9 261