ezmlmrc(5) ezmlmrc(5) NNAAMMEE ezmlmrc - ezmlm-make configuration file SSYYNNOOPPSSIISS ezmlmrc DDEESSCCRRIIPPTTIIOONN ..eezzmmllmmrrcc is a file that configures eezzmmllmm--mmaakkee((11)) for setting up new lists. eezzmmllmmrrcc 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 preced- ing the first tag. The first line in ..eezzmmllmmrrcc 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. eezzmmllmm--mmaakkee((11)) will print a warning message if it is used with an ..eezzmmllmmrrcc file that lacks the version identifier, or with an eezzmmllmmrrcc file that has a version identifier that differs in either major or minor version numbers from the eezzmmllmm--mmaakkee version. The ..eezzmmllmmrrcc 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 ..eezzmmllmmrrcc 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: <> The following text will be copied to _d_i_r//ffiilleennaammee if the options specified after the ‘‘#’’ are active, in this case _a_r_c_h_i_v_e_d and not _i_n_d_e_x_e_d. 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 --ccCCvvVV), upper and lower case tags are opposite and mutu- ally exclusive. Thus, if --gg is specified, --GG is not set and if --GG is set, --gg is not. The tag ##EE has special meaning. It is false if the list is being edited, e.g. eezzmmllmm--mmaakkee --ee or ++, but true if switches --eeee or --++++ are used, or if eezzmmllmm--mmaakkee _l_o_c_a_l is specified. Thus, for normal edits with unchanged list name, the files tagged with ##EE are not overwritten (preserving manual customizations), but if the list name changes or if explicitly specified by --eeee or --++++ the ##EE switch is ignored. <> This is an alternative way of specifying ‘‘if switch -5 is spec- ified and the -i switch is not specified’’. ‘‘^’’ is used as ‘‘not’’. <> _d_i_r//ffiilleennaammee will be erased, if the options after the ‘‘#’’ are active, in this case _n_o_t _a_r_c_h_i_v_e_d and _e_d_i_t. An alternative to specify that a flag, e.g. ‘‘4’’ should not be active is to use ‘‘^4’’. <> The directory ‘‘directory’’ is created if the flags specified are active, in this case _a_r_c_h_i_v_e_d and not _i_n_d_e_x_e_d. If no flags are specified, the ‘‘#’’ can be omitted. <> ddoott_-_l_i_n_k is symlinked to _d_i_r_/_d_i_r_e_c_t_o_r_y if the flags specified are active, in this case _a_r_c_h_i_v_e_d and not _i_n_d_e_x_e_d. If no flags are specified, the ‘‘#’’ can be omitted. In addition, _l_o_c_a_l is substituted for <<##LL##>>, the part of _d_o_t between the first 2 hyphens (if any) for <<##11##>>, the part of _d_o_t between the second and third hyphen (if any) for <<##22##>>, _h_o_s_t for <<##HH##>>, _d_i_r for <<##DD##>>, _d_o_t for <<##TT##>>, _d_i_g_e_s_t_c_o_d_e for <<##CC##>>, and the path to the eezzmmllmm binaries for <<##BB##>> anywhere in the text. Other tags of this format are copied to the files as is. <<##ll##>>, <<##hh##>>, <<##AA##>>, <<##RR##>>, will be substituted on-the-fly where appro- priate for the _l_o_c_a_l or _l_o_c_a_l--ddiiggeesstt local part of the list address, the _h_o_s_t, the subscriber address or the moderation accept address, and the subscription reply address or moderation reject address, respec- tively. The use of <<##ll##>> is to allow the same text file to be used for requests pertaining to both the main list and the digest list. Before the template file is processed, eezzmmllmm--mmaakkee will create the list directory. eezzmmllmm--mmaakkee will also create _d_i_r//kkeeyy. DDEESSCCRRIIPPTTIIOONN OOFF EEZZMMLLMMRRCC The ezmlmrc file is preconfigured to act upon eezzmmllmm--mmaakkee((11)) switches to produce the results as described in the eezzmmllmm--mmaakkee((11)) man page. A num- ber of files are created via eezzmmllmmrrcc independently of any switched. These are _d_i_r//tteexxtt//iinnffoo with a short description of the list, _d_i_r//tteexxtt//ffaaqq with frequently asked questions about the list, _d_i_r//hheeaadd-- eerraadddd adding ‘‘Precedence: bulk’’ and ‘‘X-No-Archive: yes’’ to outgoing messages, _d_i_r//hheeaaddeerrrreemmoovvee removing ‘‘Return-Path’’, ‘‘Return-Receipt- To’’, ‘‘Content-length’’, and ‘‘Precedence’’ from list messages, and _d_i_r//tteexxtt//ssuubb--ookk with text sent after successful subscription. These files are not overwritten when lists are edited. Also created are the following files within _d_i_r//tteexxtt//: bboottttoomm, bboouunnccee-- bboottttoomm, bboouunnccee--nnuumm, ddiigg--bboouunnccee--nnuumm, bboouunnccee--pprroobbee bboouunnccee--wwaarrnn, ggeett--bbaadd, hheellpp, mmoodd--hheellpp, mmoodd--rreeqquueesstt, mmoodd--rreejjeecctt, mmoodd--ttiimmeeoouutt, mmoodd--ssuubb--ccoonnffiirrmm, mmoodd--uunnssuubb--ccoonnffiirrmm, ssuubb--bbaadd, ssuubb--ccoonnffiirrmm, ssuubb--nnoopp uunnssuubb--bbaadd, uunnssuubb--ccoonn-- ffiirrmm, uunnssuubb--nnoopp, uunnssuubb--ookk, ttoopp. _d_i_r//bboouunncceerr is set up to invoke eezzmmllmm--wweeeedd((11)) and eezzmmllmm--rreettuurrnn((11)) to handle bounces. In addition to switch-dependent lines, an invocation of eezzmmllmm--wwaarrnn((11)) is placed at the end of _d_i_r//eeddiittoorr, _d_i_r//mmaannaaggeerr, and _d_i_r//oowwnneerr to process the contents of the bounce directory. eezzmmllmm-- rreejjeecctt((11)) is placed first in _d_i_r//eeddiittoorr (unless the --00 mmaaiinnlliisstt@@mmaaiinnhhoosstt 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 eezzllmmrrcc file. eemmzzllmm--mmaakkee((11)) by default sets the --aa, and --pp switches. --aa _d_i_r//aarrcchhiivveedd and _d_i_r//iinnddeexxeedd are created. _d_i_r//tteexxtt//bboottttoomm is adjusted to mention archive access. --AA _d_i_r//aarrcchhiivveedd and _d_i_r//iinnddeexxeedd are removed. --bb Block archive. The list set up with eezzmmllmm--ggeett --PP to allow only moderators archive access. --BB The eezzmmllmm--ggeett --PP switch is not used. --dd _d_i_r//ddiiggeesstt// is created. _d_i_r//ddiiggeesstt//lloocckk is created. _d_i_r//ddiiggeesstt//lloocckkbboouunnccee is created. _d_i_r//ddiiggeesstt//bboouunnccee// is cre- ated. _d_i_r//ddiiggeesstt//ssuubbssccrriibbeerrss// is created. _d_o_t--ddiiggeesstt--oowwnneerr is linked to _d_i_r//oowwnneerr. _d_o_t--ddiiggeesstt--rreettuurrnn--ddeeffaauulltt is linked to _d_i_r//bboouunncceerr. An invocation of eezzmmllmm--wwaarrnn((11)) --dd is added to _d_i_r//eeddiittoorr and _d_i_r//mmaannaaggeerr. Invocations of eezzmmllmm--ttssttddiigg((11)) and eezzmmllmm--ggeett((11)) are added with default arguments to _d_i_r//eeddiittoorr. A note on digest (un)subscription is added to _d_i_r//tteexxtt//bboottttoomm and to _d_i_r//tteexxtt//mmoodd--hheellpp. _d_i_r//tteexxtt//ddiiggeesstt is created for the ‘‘Administrivia’’ section of the digest. --DD The items mentioned under switch --dd are not done. The result is that the references to the digest in the text files is removed. --ff The text ‘‘[_l_o_c_a_l]’’ is placed in _d_i_r//pprreeffiixx resulting in the text being used as the list’s subject index. --FF _d_i_r//pprreeffiixx is removed. --gg The -s switch is added to the eezzmmllmm--ggeett((11)) line in _d_i_r//mmaannaaggeerr so that only subscribers can access the archive. --GG The -s switch for eezzmmllmm--ggeett((11)) is not used. Anyone can access the archive if archive (access) in general is enabled (see --pp for ‘‘public’’, --aa for ‘‘archived’’, and --ii for ‘‘indexed’’. --ii _d_i_r//eeddiittoorr (for normal lists) or _d_i_r//mmooddeerraattoorr (for moderated lists) are set up to run eezzmmllmm--aarrcchhiivvee((11)) after messages are posted. This sets up the cross-reference for eezzmmllmm--ccggii((11)) WWW access. --II eezzmmllmm--aarrcchhiivvee((11)) is not configured. --jj _d_i_r//mmaannaaggeerr uses eezzmmllmm--mmaannaaggee --UU to allow unconfirmed unsub- scribe. --JJ The eezzmmllmm--mmaannaaggee --UU switch is not used. --kk Blacklist. A eezzmmllmm--iissssuubbnn((11)) line that tests the envelope sender against the address database in _d_i_r//ddeennyy is inserted into _d_i_r//eeddiittoorr. As a consequence, posts from such senders are rejected. This switch is ignored for sublists (i.e. if the --00 mmaaiinnlliisstt@@mmaaiinnhhoosstt switch is used). --KK The eezzmmllmm--iissssuubbnn((11)) line testing the envelope sender against the ‘‘blacklist’’ in _d_i_r//ddeennyy is not used. --ll The -l switch is added to the eezzmmllmm--mmaannaaggee((11)) command line in _d_i_r//mmaannaaggeerr to allow retrieval of subscriber list and list log by remote administrators. NNOOTTEE: This is pointless, unless the list is also set up for remote administration with the --rr switch. _d_i_r//tteexxtt//mmoodd--hheellpp is adjusted. --LL Do not allow access to the subscriber list under any circum- stances. The eezzmmllmm--mmaannaaggee((11)) -l switch is not specified. --mm Message moderation. _d_i_r//mmooddppoosstt is created. _d_i_r//eeddiittoorr is set up with eezzmmllmm--ssttoorree((11)) instead of eezzmmllmm--sseenndd((11)).a _d_i_r//mmooddeerraattoorr is set up with eezzmmllmm--mmooddeerraattee((11)), and eezzmmllmm--cclleeaann((11)). _d_o_t//--aacccceepptt--ddeeffaauulltt and _d_o_t//--rreejjeecctt--ddeeffaauulltt are linked to _d_i_r//mmooddeerraattoorr. _d_i_r//tteexxtt//mmoodd--hheellpp is adjusted. Special action is taken when the --mm switch is combined with --uu. In this case, the setup is as for the --mm switch alone, but _d_i_r//eeddiittoorr is set up with eezzmmllmm--ggaattee((11)) which will fork eezzmmllmm--sseenndd((11)) for posts with an envelope sender that is a subscriber or a moderator, and for eezzmmllmm--ssttoorree((11)) 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. --MM No message moderation. _d_i_r//eeddiittoorr is set up with eezzmmllmm--sseenndd((11)) as usual. _d_i_r//mmooddeerraattoorr is removed. --nn Allow text file editing. in _d_i_r//mmaannaaggeerr is set up with the -e switch to allow remote admins to via E-mail edit the files in _d_i_r//tteexxtt//. NNOOTTEE: This is pointless, unless the list is also set up for remote administration with the --rr switch. _d_i_r//tteexxtt//mmoodd-- hheellpp is adjusted. --NN Remote editing of files in _d_i_r//tteexxtt is not allowed. The -e switch for eezzmmllmm--mmaannaaggee will not be used. --oo For moderated lists, the eezzmmllmm--ssttoorree --PP switch is used so that posts from non-moderators are rejected rather than sent for mod- eration. This is for some announcement lists. --OO The eezzmmllmm--ssttoorree --PP switch is not used. --pp Public. _d_i_r//ppuubblliicc is created. --PP Not public. _d_i_r//ppuubblliicc is removed. --qq A line with eezzmmllmm--rreeqquueesstt((11)) is added to _d_i_r_n_a_g_e_r to service commands in the ‘‘Subject’’ line of messages sent to the ‘‘list- request’’ address. --QQ eezzmmllmm--rreeqquueesstt((11)) is not used. --rr Remote admin. _d_i_r//rreemmoottee is created. _d_i_r//tteexxtt//mmoodd--hheellpp is adjusted. --RR _d_i_r//rreemmoottee is removed. --ss Subscription moderation. _d_i_r//mmooddssuubb is created. _d_i_r//tteexxtt//mmoodd-- hheellpp is adjusted. _d_i_r//tteexxtt//ssuubb--ccoonnffiirrmm is adjusted. --SS _d_i_r//mmooddssuubb is removed. --tt _d_i_r//tteexxtt//ttrraaiilleerr is created with instructions on how to unsub- scribe. --TT _d_i_r//tteexxtt//ttrraaiilleerr is removed. --uu User-only posts. _d_i_r//eeddiittoorr is set up with an eezzmmllmm--iissssuubbnn((11)) line to check 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 --uu switch is combined with --mm. In this case, the setup is as for the --mm switch alone, but _d_i_r//eeddiittoorr is set up with eezzmmllmm--ggaattee((11)) which will fork eezzmmllmm--sseenndd((11)) for posts with an envelope sender that is a subscriber or a moderator, and for eezzmmllmm--ssttoorree((11)) for posts with other envelope senders. eezzmmllmm--cclleeaann((11)) is set up with the -R switch. The consequence is that posts from subscribers (with the usual caveats for SENDER checks) are posted directly, whereas other posts are sent for moderation. eezzmmllmm--cclleeaann((11)) is set up with the -R switch. Thus, ignored posts are silently removed rather than returned to sender. --UU The eezzmmllmm--iissssuubbnn((11)) line restricting posts by envelope sender is not used. --ww The Remove the eezzmmllmm--wwaarrnn((11)) invocations from the list setup. It is assumed that eezzmmllmm--wwaarrnn((11)) for both _l_o_c_a_l_@_h_o_s_t and _l_o_c_a_l_- _d_i_g_e_s_t_@_h_o_s_t will be run by other means, such as crond. If the --66 switch is used with this switch, the local list name will be added to the SQL config info for _d_i_r//ssqqll and _d_i_r//ddiiggeesstt//ssqqll .. This is to support building the main list for a distributed list using a SQL address database. In addition, eezzmmllmm--rreecceeiipptt((11)) will be set up for bounce handling in _d_i_r//bboouunncceerr instead of eezzmmllmm-- rreettuurrnn((11)).. --WW No action taken. --xxyyzzXXYYZZ User configurable. By default, if the --xx switch is specified, _d_i_r//mmiimmeerreemmoovvee is created. This file contains many MIME types not routinely supported. MIME types in _d_i_r//mmiimmeerreemmoovvee aarree ssttrriippppeedd ffrroomm mmuullttiippaarrtt ppoossttss bbeeffoorree aarrcchhiivviinngg and distribution. To view the list of MIME types, see eezzmmllmmrrcc or create a list and list _d_i_r//mmiimmeerreemmoovvee. In addition _d_i_r//mmssggssiizzee is created con- taining ‘‘40000:2’’ causing eezzmmllmm--rreejjeecctt((11)) to reject all posts that have a body of less than 2 bytes (empty) or more than 40000 bytes (too large). --00 _m_a_i_n_l_i_s_t_@_m_a_i_n_h_o_s_t _d_i_r//ssuubblliisstt is created with ‘‘mainlist@mainhost’’. ddiirr//eezzmmllmm-- rreejjeecctt is not used in _d_i_r//eeddiittoorr to avoid rejecting messages that the main list has accepted. --33 _f_r_o_m_a_r_g The list is set up to add ‘‘from’’ to _d_i_r_/_f_B_/_h_e_a_d_e_r_r_e_m_o_v_e and FFrroomm:: _f_r_o_m_a_r_g to _d_i_r//hheeaaddeerraadddd. This replaces the incoming ‘‘From:’’ header as desirable for some announcement lists. --44 _t_s_t_d_i_g_o_p_t_s _t_s_t_d_i_g_o_p_t_s will be used as the arguments for in _d_i_r//eeddiittoorr. This must be both switches and their arguments for eezzmmllmm--ttsstt-- ddiigg((11)). NNOOTTEE: This is pointless, unless the list is also set up for digests with the --dd switch. --55 _o_w_n_e_r_@_o_w_n_e_r_h_o_s_t _o_w_n_e_r_@_o_w_n_e_r_h_o_s_t _i_s _p_l_a_c_e_d _i_n _d_i_r//oowwnneerr so that mail to ‘‘list- owner’’ is forwarded to that address, rather than being stored in _d_i_r//MMaaiillbbooxx. If the address does not start with an under- score or alphanumeric character, the argument must start with an ampersand. --66 _h_o_s_t_:_p_o_r_t_:_u_s_e_r_:_p_a_s_s_w_o_r_d_:_d_a_t_a_b_:_t_a_b_l_e The string, followed by the list name is placed in _d_i_r//ssqqll. The same string with ‘‘table’’ suffixed with ‘‘_digest’’ and ‘‘_allow’’ is placed in _d_i_r//ddiiggeesstt//ssqqll and _d_i_r//aallllooww//ssqqll, respectively. --77 _/_m_s_g_m_o_d_P_a_t_h _m_s_g_m_o_d_P_a_t_h is placed in _d_i_r//mmooddppoosstt is the list is set up for message modera- tion with the --mm switch. --88 _/_s_u_b_m_o_d_P_a_t_h _s_u_b_m_o_d_P_a_t_h is placed in _d_i_r//mmooddssuubb is the list is set up for subscription moderation with the --ss switch. --99 _/_r_e_m_o_t_e_A_d_m_i_n_P_a_t_h _r_e_m_o_t_e_A_d_m_i_n_P_a_t_h is placed in _d_i_r//rreemmoottee is the list is set up for remote administration with the --rr switch. SSEEEE AALLSSOO ezmlm(5), ezmlm-clean(1), ezmlm-gate(1), ezmlm-get(1), ezmlm-issubn(1), ezmlm-make(1), ezmlm-manage(1), ezmlm-moderate(1), ezmlm-request(1), ezmlm-return(1), ezmlm-send(1), ezmlm-store(1), ezmlm-tstdig(1), ezmlm- warn(1), 4th Berkeley Distribution ezmlmrc(5)