Import ezmlm-idx 0.40
[ezmlm] / ezmlmrc.5
1 .TH ezmlmrc 5
2 .UC 4
3 .SH NAME
4 ezmlmrc \- ezmlm-make configuration file
5 .SH SYNOPSIS
6 ezmlmrc
7 .SH DESCRIPTION
8 .LP
9 .B .ezmlmrc
10 is a file that configures
11 .B ezmlm-make(1)
12 for setting up new lists.
13 .B ezmlmrc
14 if a plain text with four types
15 of tags. All start in
16 the first position of the line.
17 No other text is allowed on the same line. For
18 security reasons, no periods are allowed anywhere in a tag.
19 Any line with a ``#'' in position 1 is ignored,
20 as is any text preceding the first tag.
21
22 The first line
23 in
24 .B .ezmlmrc
25 is unique. It should start in position 1 with ``x.yz'', where
26 ``x'' is the major version number, ``y'' a minor version number, and ``z''
27 a bugfix version number.
28 .B ezmlm-make(1)
29 will print a warning message if it is used with an
30 .B .ezmlmrc
31 file that lacks the version identifier, or
32 with an
33 .B ezmlmrc
34 file that has a version identifier that differs in
35 either major or minor version numbers from the
36 .B ezmlm-make
37 version.
38
39 The
40 .B .ezmlmrc
41 file is processed top down. Text preceding the first tag is ignored.
42 Subsequently, one and only one file is open for writing. Any text encountered
43 in
44 .B \.ezmlmrc
45 is copied to that file as is with a few substitutions (see below). Text
46 following conditional tags is copied only if the condition is met. A file is
47 automatically closed when a new file is opened. Opening a file overwrites
48 any preexisting file with that name.
49 Tags are:
50
51 .TP
52 .B </filename#aI/>
53 The following text will be copied to
54 .IR dir\fB/filename
55 if the options specified after the ``#'' are active, in this case
56 .I archived
57 and not
58 .IR indexed .
59 Any number of flags can be specified. This
60 is used to adapt the files and
61 messages to the type of list created. If no flags are
62 used, the ``#'' can be omitted. If the file name is the same as the previous
63 tag, or if it is omitted, the text will be added to the previous file.
64 When a new file is opened the previous file is closed. Attempts to add
65 more text to a already closed file overwrites its contents.
66 For all letter switches (except
67 .BR \-cCvV ),
68 upper and lower
69 case tags are opposite and mutually exclusive. Thus, if
70 .B \-g
71 is specified,
72 .B \-G
73 is not set and
74 if
75 .B \-G
76 is set,
77 .B -g
78 is not.
79
80 The tag
81 .B #E
82 has special meaning. It is false if the list is being edited, e.g.
83 .B ezmlm-make
84 .B \-e
85 or
86 .BR \+ ,
87 but true
88 if switches
89 .B \-ee
90 or
91 .BR \-++
92 are used, or if
93 .B ezmlm-make
94 .I local
95 is specified. Thus, for normal edits with unchanged list name, the files
96 tagged with
97 .B #E
98 are not overwritten (preserving manual customizations), but if the list name
99 changes or if explicitly specified by
100 .B \-ee
101 or
102 .BR \-++
103 the
104 .B #E
105 switch is ignored.
106
107 .TP
108 .B </filename#^5^i/>
109 This is an alternative way of specifying ``if switch \-5 is specified and
110 the \-i switch is not specified''. ``^'' is used as ``not''.
111 .TP
112 .B </-filename#eA/>
113 .IR dir\fB/filename
114 will be erased, if the options after the ``#'' are active, in this case
115 .I not archived
116 and
117 .IR edit .
118 An alternative to specify that a flag, e.g. ``4'' should not be active is
119 to use ``^4''.
120 .TP
121 .B </+directory#aI/>
122 The directory ``directory'' is created if the flags specified are active, in
123 this case
124 .I archived
125 and not
126 .IR indexed .
127 If no flags are specified, the ``#'' can be
128 omitted.
129 .TP
130 .B </:link/directory#aI/>
131 .B dot\fI\-link
132 is symlinked to
133 .I dir/directory
134 if the flags specified are active, in
135 this case
136 .I archived
137 and not
138 .IR indexed .
139 If no flags are specified, the ``#'' can be
140 omitted.
141 .PP
142 In addition,
143 .I local
144 is substituted for
145 .BR <#L#> ,
146 the part of
147 .I dot
148 between the first 2 hyphens (if any) for
149 .BR <#1#> ,
150 the part of
151 .I dot
152 between the second and third hyphen (if any) for
153 .BR <#2#> ,
154 .I host
155 for
156 .BR <#H#> ,
157 .I dir
158 for
159 .BR <#D#> ,
160 .I dot
161 for
162 .BR <#T#> ,
163 .I digestcode
164 for
165 .BR <#C#> ,
166 and the path to the
167 .B ezmlm
168 binaries for
169 .BR <#B#>
170 anywhere in the text. Other tags of this format are copied to the files as is.
171
172 .BR <#l#> ,
173 .BR <#h#> ,
174 .BR <#A#> ,
175 .BR <#R#> ,
176 will be substituted on-the-fly where appropriate for the
177 .IR local
178 or
179 .IR local\fB\-digest
180 local part of the list address, the
181 .IR host ,
182 the subscriber address or the moderation accept address,
183 and the subscription reply address or moderation reject address, respectively.
184 The use of
185 .BR <#l#>
186 is to allow the same text file to be used for requests pertaining to both
187 the main list and the digest list.
188
189 Before the template file is processed,
190 .B ezmlm-make
191 will create the list directory.
192 .B ezmlm-make
193 will also create
194 .IR dir\fB/key .
195 .SH "DESCRIPTION OF EZMLMRC"
196 The ezmlmrc file is preconfigured to act upon
197 .B ezmlm-make(1)
198 switches to produce the results as described in the
199 .B ezmlm-make(1)
200 man page.
201 A number of files are created via
202 .B ezmlmrc
203 independently of any switched. These are
204 .I dir\fB/text/info
205 with a short description of the list,
206 .I dir\fB/text/faq
207 with frequently asked questions about the list,
208 .I dir\fB/headeradd
209 adding ``Precedence: bulk'' and ``X-No-Archive: yes'' to outgoing messages,
210 .I dir\fB/headerremove
211 removing ``Return-Path'', ``Return-Receipt-To'', ``Content-length'',
212 and ``Precedence'' from list messages, and
213 .I dir\fB/text/sub-ok
214 with text sent after successful subscription. These files are not overwritten
215 when lists are edited.
216
217 Also created are the following files within
218 .IR dir\fB/text/ :
219 .BR bottom ,
220 .BR bounce-bottom ,
221 .BR bounce-num ,
222 .BR dig-bounce-num ,
223 .BR bounce-probe
224 .BR bounce-warn ,
225 .BR get-bad ,
226 .BR help ,
227 .BR mod-help ,
228 .BR mod-request ,
229 .BR mod-reject ,
230 .BR mod-timeout ,
231 .BR mod-sub-confirm ,
232 .BR mod-unsub-confirm ,
233 .BR sub-bad ,
234 .BR sub-confirm ,
235 .BR sub-nop
236 .BR unsub-bad ,
237 .BR unsub-confirm ,
238 .BR unsub-nop ,
239 .BR unsub-ok ,
240 .BR top .
241
242 .I dir\fB/bouncer
243 is set up to invoke
244 .B ezmlm-weed(1)
245 and
246 .B ezmlm-return(1)
247 to handle bounces.
248 In addition to switch-dependent lines, an invocation of
249 .B ezmlm-warn(1)
250 is placed at the end of
251 .IR dir\fB/editor ,
252 .IR dir\fB/manager ,
253 and
254 .I dir\fB/owner
255 to process the contents of the bounce directory.
256 .BR ezmlm-reject(1)
257 is placed first in
258 .I dir\fB/editor
259 (unless the
260 .B \-0\ mainlist@mainhost
261 switch is used) to reject undesirable messages.
262 Below is a description of the switches and the consequences
263 the have for list creation with the standard
264 .B ezlmrc
265 file.
266 .B emzlm-make(1)
267 by default sets the
268 .BR \-a ,
269 and
270 .B \-p
271 switches.
272 .TP
273 .B \-a
274 .I dir\fB/archived
275 and
276 .I dir\fB/indexed
277 are created.
278 .I dir\fB/text/bottom
279 is adjusted to mention archive access.
280 .B \-A
281 .I dir\fB/archived
282 and
283 .I dir\fB/indexed
284 are removed.
285 .TP
286 .B \-b
287 Block archive. The list set up with
288 .B ezmlm-get -P
289 to allow only moderators archive access.
290 .TP
291 .B \-B
292 The
293 .B ezmlm-get -P
294 switch is not used.
295 .TP
296 .B \-d
297 .I dir\fB/digest/
298 is created.
299 .I dir\fB/digest/lock
300 is created.
301 .I dir\fB/digest/lockbounce
302 is created.
303 .I dir\fB/digest/bounce/
304 is created.
305 .I dir\fB/digest/subscribers/
306 is created.
307 .I dot\fB-digest-owner
308 is linked to
309 .IR dir\fB/owner .
310 .I dot\fB-digest-return-default
311 is linked to
312 .IR dir\fB/bouncer .
313 An invocation of
314 .B ezmlm-warn(1) -d
315 is added to
316 .I dir\fB/editor
317 and
318 .IR dir\fB/manager .
319 Invocations of
320 .B ezmlm-tstdig(1)
321 and
322 .B ezmlm-get(1)
323 are added with default arguments to
324 .IR dir\fB/editor .
325 A note on digest (un)subscription is added to
326 .I dir\fB/text/bottom
327 and to
328 .IR dir\fB/text/mod-help .
329 .I dir\fB/text/digest
330 is created for the ``Administrivia'' section of the digest.
331 .TP
332 .B \-D
333 The items mentioned under switch
334 .B \-d
335 are not done. The result is that the references to the digest
336 in the text files is removed.
337 .TP
338 .B \-f
339 The text ``[\fIlocal\fR]'' is placed in
340 .I dir\fB/prefix
341 resulting in the text being used as the list's subject index.
342 .TP
343 .B \-F
344 .I dir\fB/prefix
345 is removed.
346 .TP
347 .B \-g
348 The -s switch is added to the
349 .B ezmlm-get(1)
350 line in
351 .I dir\fB/manager
352 so that only subscribers can access the archive.
353 .TP
354 .B \-G
355 The -s switch for
356 .B ezmlm-get(1)
357 is not used. Anyone can access the archive if archive (access) in general
358 is enabled (see
359 .B \-p
360 for ``public'',
361 .B \-a
362 for ``archived'', and
363 .B \-i
364 for ``indexed''.
365 .TP
366 .B \-i
367 .I dir\fB/editor
368 (for normal lists)
369 or
370 .I dir\fB/moderator
371 (for moderated lists)
372 are set up to run
373 .B ezmlm-archive(1)
374 after messages are posted. This sets up the cross-reference for
375 .B ezmlm-cgi(1)
376 WWW access.
377 .TP
378 .B \-I
379 .B ezmlm-archive(1)
380 is not configured.
381 .TP
382 .B \-j
383 .I dir\fB/manager
384 uses
385 .B ezmlm-manage -U
386 to allow unconfirmed unsubscribe.
387 .B \-J
388 The
389 .B ezmlm-manage -U
390 switch is not used.
391 .TP
392 .B \-k
393 Blacklist. A
394 .B ezmlm-issubn(1)
395 line that tests the envelope sender against the address database in
396 .I dir\fB/deny
397 is inserted into
398 .IR dir\fB/editor .
399 As a consequence, posts from such senders are rejected. This switch is ignored
400 for sublists (i.e. if the
401 .B \-0\ mainlist@mainhost
402 switch is used).
403 .TP
404 .B \-K
405 The
406 .B ezmlm-issubn(1)
407 line testing the envelope sender against the ``blacklist'' in
408 .I dir\fB/deny
409 is not used.
410 .TP
411 .B \-l
412 The -l switch is added to the
413 .B ezmlm-manage(1)
414 command line in
415 .I dir\fB/manager
416 to allow retrieval of subscriber list and list log by remote administrators.
417 .BR NOTE :
418 This is pointless, unless the list is also set up for remote administration
419 with the
420 .B \-r
421 switch.
422 .I dir\fB/text/mod-help
423 is adjusted.
424 .TP
425 .B \-L
426 Do not allow access to the subscriber list under any circumstances. The
427 .B ezmlm-manage(1)
428 \-l switch is not specified.
429 .TP
430 .B \-m
431 Message moderation.
432 .I dir\fB/modpost
433 is created.
434 .I dir\fB/editor
435 is set up with
436 .B ezmlm-store(1)
437 instead of
438 .BR ezmlm-send(1) .a
439 .I dir\fB/moderator
440 is set up with
441 .BR ezmlm-moderate(1) ,
442 and
443 .BR ezmlm-clean(1) .
444 .I dot\fB/\-accept-default
445 and
446 .I dot\fB/-reject-default
447 are linked to
448 .IR dir\fB/moderator .
449 .I dir\fB/text/mod-help
450 is adjusted.
451 Special action is taken when the
452 .B \-m
453 switch is combined with
454 .BR \-u .
455 In this case, the setup is as for the
456 .B \-m
457 switch alone, but
458 .I dir\fB/editor
459 is set up with
460 .B ezmlm-gate(1)
461 which will fork
462 .B ezmlm-send(1)
463 for posts with an envelope sender that is a subscriber or a moderator, and
464 for
465 .B ezmlm-store(1)
466 for posts with other envelope senders. The consequence is that posts from
467 subscribers (with the usual caveats for SENDER checks) are posted directly,
468 whereas other posts are sent for moderation.
469 .TP
470 .B \-M
471 No message moderation.
472 .I dir\fB/editor
473 is set up with
474 .B ezmlm-send(1)
475 as usual.
476 .I dir\fB/moderator
477 is removed.
478 .TP
479 .B \-n
480 Allow text file editing.
481 .ezmlm-manage(1)
482 in
483 .I dir\fB/manager
484 is set up with the \-e switch to allow remote admins to via E-mail edit
485 the files in
486 .IR dir\fB/text/ .
487 .BR NOTE :
488 This is pointless, unless the list is also set up for remote administration
489 with the
490 .B \-r
491 switch.
492 .I dir\fB/text/mod-help
493 is adjusted.
494 .TP
495 .B \-N
496 Remote editing of files in
497 .I dir\fB/text
498 is not allowed.
499 The -e switch for
500 .B ezmlm-manage
501 will not be used.
502 .TP
503 .B \-o
504 For moderated lists, the
505 .B ezmlm-store -P
506 switch is used so that posts from non-moderators are rejected rather than
507 sent for moderation. This is for some announcement lists.
508 .TP
509 .B \-O
510 The
511 .B ezmlm-store -P
512 switch is not used.
513 .TP
514 .B \-p
515 Public.
516 .I dir\fB/public
517 is created.
518 .TP
519 .B \-P
520 Not public.
521 .I dir\fB/public
522 is removed.
523 .TP
524 .B \-q
525 A line with
526 .B ezmlm-request(1)
527 is added to
528 .I dir\manager
529 to service commands in the ``Subject'' line of messages sent to the
530 ``list-request'' address.
531 .TP
532 .B \-Q
533 .B ezmlm-request(1)
534 is not used.
535 .TP
536 .B \-r
537 Remote admin.
538 .I dir\fB/remote
539 is created.
540 .I dir\fB/text/mod-help
541 is adjusted.
542 .TP
543 .B \-R
544 .I dir\fB/remote
545 is removed.
546 .TP
547 .B \-s
548 Subscription moderation.
549 .I dir\fB/modsub
550 is created.
551 .I dir\fB/text/mod-help
552 is adjusted.
553 .I dir\fB/text/sub-confirm
554 is adjusted.
555 .TP
556 .B \-S
557 .I dir\fB/modsub
558 is removed.
559 .TP
560 .B \-t
561 .I dir\fB/text/trailer
562 is created with instructions on how to unsubscribe.
563 .TP
564 .B \-T
565 .I dir\fB/text/trailer
566 is removed.
567 .TP
568 .B \-u
569 User-only posts.
570 .I dir\fB/editor
571 is set up with an
572 .B ezmlm-issubn(1)
573 line to check the envelope sender against the subscriber address databases.
574 If the sender is not found, the post is rejected. This results in
575 subscriber-only posts, with the usual caveats for SENDER checks.
576 Special action is taken when the
577 .B \-u
578 switch is combined with
579 .BR \-m .
580 In this case, the setup is as for the
581 .B \-m
582 switch alone, but
583 .I dir\fB/editor
584 is set up with
585 .B ezmlm-gate(1)
586 which will fork
587 .B ezmlm-send(1)
588 for posts with an envelope sender that is a subscriber or a moderator, and
589 for
590 .B ezmlm-store(1)
591 for posts with other envelope senders.
592 .B ezmlm-clean(1)
593 is set up with the \-R switch.
594 The consequence is that posts from
595 subscribers (with the usual caveats for SENDER checks) are posted directly,
596 whereas other posts are sent for moderation.
597 .B ezmlm-clean(1)
598 is set up with the \-R switch.
599 Thus, ignored posts are silently
600 removed rather than returned to sender.
601 .TP
602 .B \-U
603 The
604 .B ezmlm-issubn(1)
605 line
606 restricting posts by envelope sender is not used.
607 .TP
608 .B \-w
609 The
610 Remove the
611 .B ezmlm-warn(1)
612 invocations from the list setup. It is assumed that
613 .B ezmlm-warn(1)
614 for both
615 .I local@host
616 and
617 .I local-digest@host
618 will be run by other means, such as crond.
619 If the
620 .B \-6
621 switch is used with this switch, the local list name will be added to the
622 SQL config info for
623 .I dir\fB/sql
624 and
625 .I dir\fB/digest/sql .
626 This is to support building the main list for a distributed list using
627 a SQL address database. In addition,
628 .B ezmlm-receipt(1)
629 will be set up for bounce handling in
630 .I dir\fB/bouncer
631 instead of
632 .BR ezmlm-return(1).
633 .TP
634 .B \-W
635 No action taken.
636 .TP
637 .B \-xyzXYZ
638 User configurable. By default, if the
639 .B \-x
640 switch is specified,
641 .I dir\fB/mimeremove
642 is created. This file contains many MIME types not routinely supported.
643 MIME types in
644 .I dir\fB/mimeremove are stripped from multipart posts before archiving
645 and distribution.
646 To view the list of
647 MIME types, see
648 .B ezmlmrc
649 or create a list and list
650 .IR dir\fB/mimeremove .
651 In addition
652 .I dir\fB/msgsize
653 is created containing ``40000:2'' causing
654 .B ezmlm-reject(1)
655 to reject all posts that have a body of less than 2 bytes (empty) or
656 more than 40000 bytes (too large).
657 .TP
658 .B \-0\fI\ mainlist@mainhost
659 .I dir\fB/sublist
660 is created with ``mainlist@mainhost''.
661 .B dir\fB/ezmlm-reject
662 is not used in
663 .I dir\fB/editor
664 to avoid rejecting messages that the main list has accepted.
665 .TP
666 .B \-3\fI\ fromarg
667 The list is set up to add ``from'' to
668 .I dir/fB/headerremove
669 and
670 .B From:\fI fromarg
671 to
672 .IR dir\fB/headeradd .
673 This replaces the incoming ``From:'' header as desirable for some announcement
674 lists.
675 .TP
676 .B \-4\fI\ tstdigopts
677 .I tstdigopts
678 will be used as the arguments for
679 .ezmlm-tstdig(1)
680 in
681 .IR dir\fB/editor .
682 This must be both switches and their arguments for
683 .BR ezmlm-tstdig(1) .
684 .BR NOTE :
685 This is pointless, unless the list is also set up for digests
686 with the
687 .B \-d
688 switch.
689 .TP
690 .B \-5\fI\ owner@ownerhost
691 .I owner@ownerhost is placed in
692 .I dir\fB/owner
693 so that mail to ``list-owner'' is forwarded to that address, rather than
694 being stored in
695 .IR dir\fB/Mailbox .
696 If the address does not start with an underscore or alphanumeric character,
697 the argument must start with an ampersand.
698 .TP
699 .B \-6\fI\ host:port:user:password:datab:table
700 .TP
701 The string, followed by the list name is placed in
702 .IR dir\fB/sql .
703 The same string with ``table'' suffixed with ``_digest'' and ``_allow''
704 is placed in
705 .I dir\fB/digest/sql
706 and
707 .IR dir\fB/allow/sql ,
708 respectively.
709 .B \-7\fI\ /msgmodPath
710 .I msgmodPath
711 is placed in
712 .IR dir\fB/modpost
713 is the list is set up for message moderation with the
714 .B \-m
715 switch.
716 .TP
717 .B \-8\fI\ /submodPath
718 .I submodPath
719 is placed in
720 .IR dir\fB/modsub
721 is the list is set up for subscription moderation with the
722 .B \-s
723 switch.
724 .TP
725 .B \-9\fI\ /remoteAdminPath
726 .I remoteAdminPath
727 is placed in
728 .IR dir\fB/remote
729 is the list is set up for remote administration with the
730 .B \-r
731 switch.
732 .SH "SEE ALSO"
733 ezmlm(5),
734 ezmlm-clean(1),
735 ezmlm-gate(1),
736 ezmlm-get(1),
737 ezmlm-issubn(1),
738 ezmlm-make(1),
739 ezmlm-manage(1),
740 ezmlm-moderate(1),
741 ezmlm-request(1),
742 ezmlm-return(1),
743 ezmlm-send(1),
744 ezmlm-store(1),
745 ezmlm-tstdig(1),
746 ezmlm-warn(1),