Import ezmlm-idx 0.40
[ezmlm] / ezmlmrc.sv
CommitLineData
f8beb284
MW
10.40 - This version identifier must be on line 1 and start in pos 1.
2#
3#$Id: ezmlmrc.sv,v 1.23 1999/12/23 23:08:19 lindberg Exp $
4#$Name: ezmlm-idx-040 $
5#
6# ezmlmrc
7# #######
8# Controls the actions of ezmlm-make as patched with ezmlm-idx-0.31 or later.
9#
10# The base directory 'DIR' is always created by ezmlm-make, as is DIR/key.
11# Everything else is done from here.
12#
13# ezmlm-make looks for this file, first as .ezmlmrc in the directory that the
14# lists .qmail files will be placed in (if you've used the -c command line
15# switch), then /etc/ezmlmrc, then ezmlmrc in the ezmlm-make binary directory.
16# Thus, you can customize ezmlm-make on a global level by placing a customized
17# copy of ezmlmrc in /etc and on a user level by copying it to .ezmlmrc in
18# the user's home directory AND use the ezmlm-make -c switch.
19#
20# Tags are:
21# </filename/> : put succeeding text lines in DIR/filename
22# </-filename/> : erase DIR/filename.
23# </+dirname/> : create directory DIR/dirname
24# </:lname/dirname> : symlink DIR/.qmail-list-lname -> DIR/dirname
25#
26# The name in the tag can be suffixed with '#' and any number of flags,
27# corresponding to command line switches. The item will be created/extended
28# only if all the flags listed are set. Files can be extended as long as they
29# were the last one created, but not if another file has been started since
30# then. Flags that are not recognized are silently ignored.
31#
32# Thus, </filename#aP/> creates the file if and only if the list is archived
33# (-a) and not public (-P). If the next tag is </filename#m/>, the file is
34# extended with the lines up to the next tag if the list is message moderated
35# (-m). If the next tag is </another/>, 'filename' is closed. Any further
36# tags leading to the reopenining of 'filename' will overwrite the file, not
37# extend it.
38#
39# A set of user-defined command line switches (xX, yY, zZ) are available for
40# customization.
41#
42# Within the text, certain tags are substituted. Other tags are copied as
43# is. <#A#> and <#R#> are substituted by ezmlm-manage and -store (see man pages)
44# and <#l#> (lower case L) is replaced dynamically by the list name for
45# programs handling both 'list' and 'list-digest'.
46#
47# Substitutions are:
48# <#B#> ezmlm binaries path <#C#> digest code <#D#> dir
49# <#H#> host <#L#> local <#F#> flags
50# <#T#> dot <#0#> arg for -0. <#3#>...<#9#> arg for -3..9
51# <#1#> ext1 <#2#> ext2 [if dot is /path/.qmail-ext1-ext2-name]
52# The latter useful when a single user is controlling several virtual domains.
53#
54# -0 is used for the main list address when setting up sublists
55# -3 is for the new from header if we want that header replaced
56# -4 for specifying the ezmlm-tstdig switches used in dir/editor. Default
57# -k64 -m30 -t24. Only used if -g is used.
58# -5 for list-owner address. Mail to list-owner will be forwarded to this addr.
59# -6 for sql connection info
60# -7 for contents of DIR/modpost
61# -8 for contents of DIR/modsub
62# -9 for contents of DIR/remote
63#
64# For demonstration purposes, the '-x' switch results in the following
65# non-standard actions:
66# - Removal of many non-text MIME parts from messages.
67# - Limit posts to 2 bytes <= msg body size <= 40000
68#
69# Attempts to create links or directories that already exist, will result
70# in a FATAL error. Attempts to open files that have already been closed
71# or already exits, will cause the old file to be overwritten.
72#
73# One of the major problems with ezmlm-lists is DIR/inlocal. For normal
74# users, it is set up to the list name (user-list or so), which is correct.
75# However, for user 'ezmlm' in control of virtual domain 'host.dom.com'
76# the list name is 'list@host.dom.com', but inlocal should be 'ezmlm-list',
77# not 'list'. Similarly, if ezmlm-domain1 is in control of 'host.dom.com,
78# list@host.dom.com, should yield an inlocal of 'ezmlm-domain1-list'. To
79# always get the lists correct, place this file as '.ezmlmrc' in the
80# users home directory (~ezmlm/.ezmlmrc) and change the inlocal text below
81# to 'ezmlm-<#L#>' or 'ezmlm-<#1#>-<#L#>, respectively.
82# config to support future editing without giving ezmlm-make command line
83# arguments other than dir. Useful for GUI/WWW editing tools
84</config/>
85F:<#F#>
86X:<#X#>
87D:<#D#>
88T:<#T#>
89L:<#L#>
90H:<#H#>
91C:<#C#>
920:<#0#>
933:<#3#>
944:<#4#>
955:<#5#>
966:<#6#>
977:<#7#>
988:<#8#>
999:<#9#>
100</inlocal/>
101<#L#>
102</sublist#0/>
103<#0#>
104</+archive/>
105</+subscribers/>
106</+bounce/>
107</+text/>
108# dirs for digests
109</+digest#d/>
110</+digest/subscribers#d/>
111</+digest/bounce#d/>
112# for extra address db
113</+allow/>
114</+allow/subscribers/>
115# for blacklist
116</+deny#k/>
117</+deny/subscribers#k/>
118# moderator db & mod queue dirs. Needed for -m, -r -s, so we just
119# make them by default.
120</+mod/>
121</+mod/subscribers/>
122</+mod/pending/>
123</+mod/accepted/>
124</+mod/rejected/>
125# links: dot -> dir/editor
126</:/editor/>
127</:-owner/owner/>
128</:-digest-owner/owner#d/>
129</:-return-default/bouncer/>
130</:-digest-return-default/digest/bouncer#d/>
131</:-default/manager/>
132# for message moderation only
133</:-accept-default/moderator#m/>
134</:-reject-default/moderator#m/>
135# Get rid of configuration flags for editing mode so we can start with a
136# clean slate.
137</-modpost#eM/>
138</-modsub#eS/>
139</-remote#eR/>
140</-public#eP/>
141</-indexed#eA/>
142</-archived#eA/>
143</-prefix#eF/>
144</-text/trailer#eT/>
145</-sublist#e^0/>
146</-mimeremove#eX/>
147# Not needed, except for message moderation.
148</-moderator#eM/>
149# We don't clean out text files to make it easier for users
150# doing manual config by e.g. touching dir/remote.
151# subscription moderation
152</modsub#s/>
153<#8#>
154# remote admin
155</remote#r/>
156<#9#>
157# message moderation
158</modpost#m/>
159<#7#>
160# List owner mail
161</owner#5/>
162<#5#>
163</owner#^5/>
164<#D#>/Mailbox
165</#W/>
166|<#B#>/ezmlm-warn '<#D#>' || exit 0
167# Handles subscription. Add flags if you want a non-default digest format.
168# Service subject commands to the # request address if the -q switch is given.
169# Also -l and -d enable subscriber listing/text file editing, for remote adms.
170# -u gives subscriber only archive access
171</manager#ab/>
172|<#B#>/ezmlm-get -P '<#D#>' <#C#>
173</manager#aGB/>
174|<#B#>/ezmlm-get '<#D#>' <#C#>
175</manager#agB/>
176|<#B#>/ezmlm-get -s '<#D#>' <#C#>
177</manager#q/>
178|<#B#>/ezmlm-request '<#D#>'
179# Ok to add -l/-d even for non-mod lists, since ezmlm-manage
180# won't allow it unless there are remote admins. The lack of logic other than
181# AND makes this very tedious ...
182# first lists with normal confirmation:
183</manager#LNHJ/>
184|<#B#>/ezmlm-manage '<#D#>'
185</manager#lNHJ/>
186|<#B#>/ezmlm-manage -l '<#D#>'
187</manager#LnHJ/>
188|<#B#>/ezmlm-manage -e '<#D#>'
189</manager#lnHJ/>
190|<#B#>/ezmlm-manage -le '<#D#>'
191# ... now no confirmation for subscribe ...
192</manager#LNhJ/>
193|<#B#>/ezmlm-manage -S '<#D#>'
194</manager#lNhJ/>
195|<#B#>/ezmlm-manage -lS '<#D#>'
196</manager#LnhJ/>
197|<#B#>/ezmlm-manage -eS '<#D#>'
198</manager#lnhJ/>
199|<#B#>/ezmlm-manage -leS '<#D#>'
200# ... now no confirmation for unsubscribe ...
201</manager#LNHj/>
202|<#B#>/ezmlm-manage -U '<#D#>'
203</manager#lNHj/>
204|<#B#>/ezmlm-manage -lU '<#D#>'
205</manager#LnHj/>
206|<#B#>/ezmlm-manage -eU '<#D#>'
207</manager#lnHj/>
208|<#B#>/ezmlm-manage -leU '<#D#>'
209# ... and finally no confirmation at all ...
210</manager#LNhj/>
211|<#B#>/ezmlm-manage -US '<#D#>'
212</manager#lNhj/>
213|<#B#>/ezmlm-manage -lUS '<#D#>'
214</manager#Lnhj/>
215|<#B#>/ezmlm-manage -eUS '<#D#>'
216</manager#lnhj/>
217|<#B#>/ezmlm-manage -leUS '<#D#>'
218</manager#W/>
219|<#B#>/ezmlm-warn '<#D#>' || exit 0
220</#dW/>
221|<#B#>/ezmlm-warn -d '<#D#>' || exit 0
222</editor/>
223# reject shouldn't be configured for sublist.
224</#^0/>
225# full reject is now default, to get To/Cc: listaddress requirement
226|<#B#>/ezmlm-reject '<#D#>'
227# -k => reject posts from blacklisted addresses. Done for moderated
228# lists as well - allows removal of unwanted noise.
229</#k^0/>
230