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