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