DragonFly On-Line Manual Pages
ezmlmrc(5) DragonFly File Formats Manual ezmlmrc(5)
NAME
ezmlmrc - ezmlm-make configuration file
SYNOPSIS
ezmlmrc
DESCRIPTION
ezmlmrc is a file that configures ezmlm-make(1) for setting up new
lists. ezmlmrc if a plain text with four types of tags. All start in
the first position of the line. No other text is allowed on the same
line. For security reasons, no periods are allowed anywhere in a tag.
Any line with a ``#'' in position 1 is ignored, as is any text
preceding the first tag.
The first line in ezmlmrc is unique. It should start in position 1 with
``x.yz'', where ``x'' is the major version number, ``y'' a minor
version number, and ``z'' a bugfix version number. ezmlm-make(1) will
print a warning message if it is used with an ezmlmrc file that lacks
the version identifier, or with an ezmlmrc file that has a version
identifier that differs in either major or minor version numbers from
the ezmlm-make version.
The ezmlmrc file is processed top down. Text preceding the first tag is
ignored. Subsequently, one and only one file is open for writing. Any
text encountered in ezmlmrc is copied to that file as is with a few
substitutions (see below). Text following conditional tags is copied
only if the condition is met. A file is automatically closed when a new
file is opened. Opening a file overwrites any preexisting file with
that name. Tags are:
</filename#aI/>
The following text will be copied to dir/filename if the options
specified after the ``#'' are active, in this case archived and
not indexed. Any number of flags can be specified. This is used
to adapt the files and messages to the type of list created. If
no flags are used, the ``#'' can be omitted. If the file name is
the same as the previous tag, or if it is omitted, the text will
be added to the previous file. When a new file is opened the
previous file is closed. Attempts to add more text to a already
closed file overwrites its contents. For all letter switches
(except -cCvV), upper and lower case tags are opposite and
mutually exclusive. Thus, if -g is specified, -G is not set and
if -G is set, -g is not.
The tag #E has special meaning. It is false if the list is being
edited, e.g. ezmlm-make -e or *, but true if switches -ee or
-++ are used, or if ezmlm-make local is specified. Thus, for
normal edits with unchanged list name, the files tagged with #E
are not overwritten (preserving manual customizations), but if
the list name changes or if explicitly specified by -ee or -++
the #E switch is ignored.
</filename#5^i/>
This is an alternative way of specifying ``if switch -5 is
specified and the -i switch is not specified''. ``^'' is used as
``not''.
</-filename#eA/>
dir/filename will be erased, if the options after the ``#'' are
active, in this case not archived and edit. An alternative to
specify that a flag, e.g. ``4'' should not be active is to use
``^4''.
</+directory#aI/>
The directory ``directory'' is created if the flags specified
are active, in this case archived and not indexed. If no flags
are specified, the ``#'' can be omitted.
</:link/directory#aI/>
dot-link is symlinked to dir/directory if the flags specified
are active, in this case archived and not indexed. If no flags
are specified, the ``#'' can be omitted.
ezmlm-make substitutes the following tags anywhere within files when
they are (re)created. Other tags of this format are copied to the
files as is.
<#B#> The path to the ezmlm-idx binaries.
<#C#> digestcode
<#D#> dir
<#F#> The alphanumeric flags given to ezmlm-make concatenated
together.
<#H#> host
<#L#> local
<#T#> dot
<#0#> The argument for -0.
<#1#> The part of dot between the first two hyphens (if any).
<#2#> The part of dot between the second and third hyphen (if any).
<#3#>..<#9#>
The argument to -3..-9.
Before the template file is processed, ezmlm-make will create the list
directory. ezmlm-make will also create dir/key.
DESCRIPTION OF EZMLMRC
The ezmlmrc file is preconfigured to act upon ezmlm-make(1) switches to
produce the results as described in the ezmlm-make(1) man page. A
number of files are created via ezmlmrc independently of any switches.
These are dir/headeradd adding ``Precedence: bulk'' and ``X-No-Archive:
yes'' to outgoing messages, and dir/headerremove removing ``Return-
Path'', ``Return-Receipt-To'', ``Content-length'', and ``Precedence''
from list messages. These files are not overwritten when lists are
edited.
dir/bouncer and dir/digest/bouncer are set up to invoke ezmlm-weed(1)
and ezmlm-return(1) to handle bounces. In addition to switch-dependent
lines, an invocation of ezmlm-warn(1) is placed at the end of
dir/editor, dir/manager, and dir/owner to process the contents of the
bounce directory. ezmlm-reject(1) is placed first in dir/editor
(unless the -0 mainlist@mainhost switch is used) to reject undesirable
messages.
Below is a description of the switches and the consequences the have
for list creation with the standard ezlmrc file. emzlm-make(1) by
default sets the -a, and -p switches.
-a dir/archived and dir/indexed are created. dir/text/bottom is
adjusted to mention archive access. -A dir/archived and
dir/indexed are removed.
-b Block archive. dir/modgetonly is created to allow only
moderators archive access.
-B dir/modgetonly is removed.
-d dir/digested is created, signalling to programs to send digests.
-D dir/digested is removed, signalling to not send digests.
-f The text ``[local]'' is placed in dir/prefix resulting in the
text being used as the list's subject index.
-F dir/prefix is removed.
-g dir/subgetonly is created, signalling ezmlm-get(1) to only allow
subscribers to access the archive.
-G dir/subgetonly is removed, signalling ezmlm-get(1) That anyone
can access the archive if archive (access) in general is enabled
(see -p for ``public'', -a for ``archived'', and -i for
``indexed''.
-i dir/threaded is created to signal ezmlm-archive(1) to run as
appropriate after messages are posted. This sets up the cross-
reference for ezmlm-cgi(1) WWW access.
-I dir/threaded is removed.
-j dir/nounsubconfirm is created to signal ezmlm-manage(1) to not
require confirmation after unsubscription requests.
-J dir/nounsubconfirm is removed.
-l dir/modcanlist is created to signal ezmlm-manage(1) to allow
retrieval of subscriber list and list log by remote
administrators. NOTE: This is pointless, unless the list is
also set up for remote administration with the -r switch.
-L dir/modcanlist is removed, disallowing access to the subscriber
list under any circumstances.
-m Message moderation. dir/modpost is created, which signals
ezmlm-store(1) to store messages and forward confirmation
requests to the moderators. Special action is taken when the -m
switch is combined with -u. In this case, the handling is as
for the -m switch alone, but dir/editor is set up with
ezmlm-gate(1) which will fork ezmlm-send(1) for posts with an
envelope sender that is a subscriber or a moderator, and for
ezmlm-store(1) for posts with other envelope senders. The
consequence is that posts from subscribers (with the usual
caveats for SENDER checks) are posted directly, whereas other
posts are sent for moderation.
-M dir/modpost is removed, undoing the changes above.
-n Allow text file editing. dir/modcanedit is created to signal to
allow remote admins to via E-mail edit the files in dir/text/.
NOTE: This is pointless, unless the list is also set up for
remote administration with the -r switch.
-N dir/modcanedit is removed to disallow editing of files in
dir/text.
-o dir/modpostonly is created to signal ezmlm-store(1) ro reject
posts from non-moderators on moderated lists rather than sending
them for moderation. This is for some announcement lists.
-O dir/modpostonly is removed.
-p Public. dir/public is created, signaling ezmlm-get(1) to allow
archive retrieval attempts, and ezmlm-manage(1) to allow
subscription and unsubscription attempts.
-P Not public. dir/public is removed.
-r Remote admin. dir/remote is created to signal ezmlm-manage(1)
to allow remote administration of mailing lists.
-R dir/remote is removed.
-s Subscription moderation. dir/modsub is created to signal
ezmlm-manage(1) to forward confirmed subscription requests to
the moderators for approval. The unsubscription process is
unchanged.
-S dir/modsub is removed.
-t dir/addtrailer is created to signal ezmlm-send(1) to include the
trailer portions in dir/text/trailer in messages posted to the
list.
-T dir/addtrailer is removed.
-u Subscriber-only posts. dir/subpostonly is created to allow
posts only from subscribers. ezmlm-checksub(1) is checks the
envelope sender against the subscriber address databases. If
the sender is not found, the post is rejected. This results in
subscriber-only posts, with the usual caveats for SENDER checks.
Special action is taken when the -u switch is combined with -m.
In this case, the setup is as for the -m switch alone, but
ezmlm-gate(1) will execute ezmlm-send(1) for posts with an
envelope sender that is a subscriber or a moderator, and will
otherwise moderate the message. The consequence is that posts
from subscribers (with the usual caveats for SENDER checks) are
posted directly, whereas other posts are sent for moderation.
Also, dir/noreturnposts is created to silently drop ignored
posts rather than returning them to their senders.
-U dir/subpostonly is removed.
-w dir/nowarn is created to signal ezmlm-warn(1) to do no work.
-W dir/nowarn is removed.
-x dir/mimeremove is created containing many MIME types not
routinely supported. MIME types in dir/mimeremove are stripped
from multipart posts before archiving and distribution. To view
the list of MIME types, see ezmlmrc or create a list and view
dir/mimeremove. In addition dir/msgsize is created containing
``30000:2'' causing ezmlm-reject(1) to reject all posts that
have a body of less than 2 bytes (empty) or more than 30000
bytes (too large).
-y Confirm postings. dir/confirmpost is created to signal
ezmlm-store(1) to send a confirmation probe to the sender of
each post.
-Y dir/confirmpost is removed.
-0 mainlist@mainhost
dir/sublist is created with ``mainlist@mainhost''.
dir/ezmlm-reject is not used in dir/editor to avoid rejecting
messages that the main list has accepted.
-3 fromarg
The list is set up to add ``from'' to dir/fB/headerremove and
From: fromarg to dir/headeradd. This replaces the incoming
``From:'' header as desirable for some announcement lists.
-4 tstdigopts
tstdigopts will be used as the arguments for in dir/editor.
This must be both switches and their arguments for
ezmlm-tstdig(1). NOTE: This is pointless, unless the list is
also set up for digests with the -d switch.
-5 owner@ownerhost
owner@ownerhost is placed in dir/owner so that mail to ``list-
owner'' is forwarded to that address, rather than being stored
in dir/Mailbox. If the address does not start with an
underscore or alphanumeric character, the argument must start
with an ampersand.
-6 plugin:host:port:user:password:datab:table
The string, followed by the list name is placed in dir/subdb,
indicating what subscriber database plugin and parameters to
use.
-7 /msgmodPath
msgmodPath is placed in dir/modpost is the list is set up for
message moderation with the -m switch.
-8 /submodPath
submodPath is placed in dir/modsub is the list is set up for
subscription moderation with the -s switch.
-9 /remoteAdminPath
remoteAdminPath is placed in dir/remote is the list is set up
for remote administration with the -r switch.
SEE ALSO
ezmlm(5), ezmlm-checksub(1), ezmlm-clean(1), ezmlm-gate(1), ezmlmget(1)
, ezmlm-issubn(1), ezmlm-make(1), ezmlm-manage(1), ezmlmmoderate(1)
, ezmlm-request(1), ezmlm-return(1), ezmlm-send(1), ezmlmstore(1)
, ezmlm-tstdig(1), ezmlm-warn(1),
4th Berkeley Distribution ezmlmrc(5)