Commit | Line | Data |
---|---|---|
f8beb284 MW |
1 | --- ezmlm-warn.1 1998/02/17 00:32:45 1.1 |
2 | +++ ezmlm-warn.1 1998/12/21 04:35:16 1.5 | |
3 | @@ -3,6 +3,15 @@ | |
4 | ezmlm-warn \- send out bounce warnings | |
5 | .SH SYNOPSIS | |
6 | .B ezmlm-warn | |
7 | +[ | |
8 | +.B \-dD | |
9 | +][ | |
10 | +.B \-t | |
11 | +.I timeout | |
12 | +][ | |
13 | +.B \-l | |
14 | +.I lockout | |
15 | +] | |
16 | .I dir | |
17 | .SH DESCRIPTION | |
18 | .B ezmlm-warn | |
19 | @@ -12,27 +21,91 @@ | |
20 | ||
21 | .B ezmlm-warn | |
22 | scans | |
23 | -.I dir\fB/bounce | |
24 | -for bounce messages received by | |
25 | -.BR ezmlm-return . | |
26 | -If it sees a distribution bounce for | |
27 | +.I dir\fB/bounce/d/ | |
28 | +for directories older than | |
29 | +.I timeout | |
30 | +days ago (see | |
31 | +.BR \-t ). | |
32 | +The directories are created by | |
33 | +B ezmlm-return | |
34 | +and contain bounces. | |
35 | +If | |
36 | +.B ezmlm-warn | |
37 | +sees a distribution bounce for | |
38 | .I box\fB@\fIdomain | |
39 | -received more than ten days ago, | |
40 | +received more than | |
41 | +.I timeout | |
42 | +days ago, | |
43 | it sends | |
44 | .I box\fB@\fIdomain | |
45 | a list of all the message numbers missed recently, | |
46 | and deletes the bounce. | |
47 | If it sees a warning bounce for | |
48 | .I box\fB@\fIdomain | |
49 | -received more than ten days ago, | |
50 | +received more than | |
51 | +.I timeout | |
52 | +days ago, | |
53 | it sends | |
54 | .I box\fB@\fIdomain | |
55 | a probe, | |
56 | and deletes the bounce. | |
57 | ||
58 | .B ezmlm-warn | |
59 | +uses | |
60 | +.I dir\fB/bounce/lastd | |
61 | +to keep track of when it was last run. If insufficient time has | |
62 | +passed (see | |
63 | +.BR \-l ) | |
64 | +.B ezmlm-warn | |
65 | +exits without further action. | |
66 | + | |
67 | +.B ezmlm-warn | |
68 | +keeps files with the bounced message numbers in | |
69 | +.IR dir\fB/bounce/h . | |
70 | +Expired files are removed and | |
71 | +.I dir\fB/bounce/lasth | |
72 | +keeps track of the last subdirectory scanned. | |
73 | + | |
74 | +.B ezmlm-warn | |
75 | will not send a warning or probe to an address that is | |
76 | not currently a subscriber. | |
77 | +.SH OPTIONS | |
78 | +.TP | |
79 | +.B \-d | |
80 | +process bounces for the digest list, rather than for the main list. | |
81 | +Digest list bounces are stored in | |
82 | +.I dir\fB/digest/bounce/ | |
83 | +rather than in | |
84 | +.IR dir\fB/bounce/ . | |
85 | +.TP | |
86 | +.B \-D | |
87 | +(Default.) | |
88 | +Process bounces for the main list. | |
89 | +.TP | |
90 | +.B \-l \fIlockout | |
91 | +.B ezmlm-warn | |
92 | +will abort execution if it was run less than | |
93 | +.I lockout | |
94 | +seconds ago. The default is | |
95 | +.I timeout / | |
96 | +50, which with the default | |
97 | +.I timeout | |
98 | +is 20,000 seconds (approx. 5.6 hours). There is no reason to use this | |
99 | +switch, except for testing and possibly in combination with | |
100 | +.BR \-t. | |
101 | +.TP | |
102 | +.B \-t \fItimeout | |
103 | +Bounces received more than | |
104 | +.I timeout | |
105 | +days ago are processed. This overrides the default of 1,000,000 | |
106 | +seconds (approximately 10 days) | |
107 | +and may possibly be useful for very large busy lists. Also, a | |
108 | +.I timeout | |
109 | +of zero can be used to send a warning to all addresses for which | |
110 | +a bounce has been received and a probe for all addresses for which a | |
111 | +warning has bounces. | |
112 | +This is useful to rapidly clear | |
113 | +out bouncing addresses from a (low quality) address list. | |
114 | .SH "SEE ALSO" | |
115 | ezmlm-make(1), | |
116 | ezmlm-return(1), | |
117 | --- ezmlm-return.1 1998/02/17 00:33:15 1.1 | |
118 | +++ ezmlm-return.1 1999/08/19 03:57:54 1.6 | |
119 | @@ -3,12 +3,16 @@ | |
120 | ezmlm-return \- handle mailing list bounces | |
121 | .SH SYNOPSIS | |
122 | .B ezmlm-return | |
123 | +[ | |
124 | +.B \-dD | |
125 | +] | |
126 | .I dir | |
127 | .SH DESCRIPTION | |
128 | .B ezmlm-return | |
129 | handles bounces for the mailing list | |
130 | stored in | |
131 | -.IR dir . | |
132 | +.I dir | |
133 | +and, if it exists, the associated digest list. | |
134 | ||
135 | .B ezmlm-return | |
136 | is normally invoked from a | |
137 | @@ -21,6 +25,30 @@ | |
138 | and | |
139 | .BR HOST | |
140 | environment variables. | |
141 | + | |
142 | +.B ezmlm-return | |
143 | +exits 99, not 0, upon success. | |
144 | +.SH OPTIONS | |
145 | +.TP | |
146 | +.B \-d | |
147 | +.B ezmlm-return | |
148 | +will assume the bounce is for a digest list. | |
149 | +Normally, | |
150 | +.B ezmlm-return | |
151 | +will autodetect this from the bounce address. Autodetection makes | |
152 | +.B ezmlm-return | |
153 | +less flexible and will be removed in future versions. | |
154 | +.TP | |
155 | +.B \-D | |
156 | +.B ezmlm-return | |
157 | +will assume that the bounce is for a normal (non-digest) list. | |
158 | +Normally, | |
159 | +.B ezmlm-return | |
160 | +will autodetect this from the bounce address. Autodetection makes | |
161 | +.B ezmlm-return | |
162 | +less flexible and will be removed in future versions. | |
163 | +.B \-D | |
164 | +will become the default. | |
165 | .SH ADDRESSES | |
166 | .B ezmlm-return | |
167 | handles mail sent to any of the following addresses: | |
168 | @@ -59,6 +87,21 @@ | |
169 | will remove | |
170 | .I box\fB@\fIdomain | |
171 | from the mailing list. | |
172 | +.TP | |
173 | +.I local\fB\-return\-receipt\-\fIcookie\-fImsg\- | |
174 | +A receipt from the list. This is logged. For SQL supporting lists, | |
175 | +.I cookie | |
176 | +is verified and receipt logged only if the cookie is correct. The arrival | |
177 | +of the receipt shows that qmail at the sending host is running. | |
178 | + | |
179 | +For all the above addresses if, | |
180 | +.I local | |
181 | +is followed by | |
182 | +.IR \-digest , | |
183 | +bounces are assumed to be from the digest list, and are stored in | |
184 | +.I dir\fB/digest/bounce | |
185 | +rather than in | |
186 | +.I dir \fB/bounce . | |
187 | .SH "SEE ALSO" | |
188 | ezmlm-manage(1), | |
189 | ezmlm-make(1), | |
190 | --- ezmlm-send.1 1997/07/23 18:55:45 1.1 | |
191 | +++ ezmlm-send.1 1999/08/19 03:13:36 1.27 | |
192 | @@ -3,6 +3,11 @@ | |
193 | ezmlm-send \- distribute a message to a mailing list | |
194 | .SH SYNOPSIS | |
195 | .B ezmlm-send | |
196 | +[ | |
197 | +.B \-cCrRvV | |
198 | +] [ | |
199 | +.B \-h\fI header | |
200 | +] | |
201 | .I dir | |
202 | .SH DESCRIPTION | |
203 | .B ezmlm-send | |
204 | @@ -14,9 +19,34 @@ | |
205 | exists, | |
206 | .B ezmlm-send | |
207 | records a copy of the message in the | |
208 | -.I dir\fB/archive | |
209 | +.I dir\fB/archive/ | |
210 | directory. | |
211 | ||
212 | +If | |
213 | +.I dir\fB/indexed | |
214 | +exists, | |
215 | +.B ezmlm-send | |
216 | +adds the subject, author and time stamp of the message to the index, kept with | |
217 | +the message in a subdirectory of | |
218 | +.IR dir\fB/archive/ . | |
219 | +The subject is processed to make reply-subject entries identical to | |
220 | +original | |
221 | +message subject entries. | |
222 | +The subject index is used for the archive retrieval functions of | |
223 | +.BR ezmlm-get(1) . | |
224 | +Use | |
225 | +.B ezmlm-idx(1) | |
226 | +to create a subject index from a preexisting archive. | |
227 | + | |
228 | +Subject and author lines are decoded if they are encoded per rfc2047. When | |
229 | +split lines are unfolded, the number of escape sequences for | |
230 | +iso-2022-* character sets is minimized. For instance, two | |
231 | +consequtive toascii sequences are reduced. | |
232 | +This processing is done for the character set specified in | |
233 | +.IR dir\fB/charset . | |
234 | +The result of this process is the same for a given subject, irrespective | |
235 | +of encoding. | |
236 | + | |
237 | At the beginning of the message, | |
238 | .B ezmlm-send | |
239 | prints a new | |
240 | @@ -27,10 +57,24 @@ | |
241 | .B Mailing-List | |
242 | field. | |
243 | ||
244 | +If | |
245 | +.I dir\fB/listid | |
246 | +exists, | |
247 | +.B ezmlm-send | |
248 | +will assume that the format is correct and | |
249 | +create a ``List-ID:'' header by placing the contents after the | |
250 | +text ``List-ID: ''. | |
251 | + | |
252 | +Next, | |
253 | +.B ezmlm-send | |
254 | +prints all the new fields listed in | |
255 | +.IR dir\fB/headeradd . | |
256 | +Any tags, ``<#h#>'', ``<#l#>'', or ``<#n#>'' found in these headers | |
257 | +are replaced by the list host name, list local name, and message number, | |
258 | +respectively. | |
259 | + | |
260 | .B ezmlm-send | |
261 | -then prints all the new fields listed in | |
262 | -.IR dir\fB/headeradd , | |
263 | -followed by an appropriate | |
264 | +then prints an appropriate | |
265 | .B Delivered-To | |
266 | line. | |
267 | ||
268 | @@ -39,6 +83,63 @@ | |
269 | .IR dir\fB/headerremove . | |
270 | ||
271 | .B ezmlm-send | |
272 | +removes MIME parts specified in | |
273 | +.I dir\fB/mimeremove | |
274 | +before archiving and distribution of the message. | |
275 | + | |
276 | +If | |
277 | +.I dir\fB/text/trailer | |
278 | +exists, | |
279 | +.B ezmlm-send | |
280 | +adds the trailer to simple text/plain messages in the same encoding as used for | |
281 | +the the message. However, if the encoding is ``base64'' it is not safe | |
282 | +to do this and the header is suppressed. | |
283 | +For composite MIME messages, the trailer is added as a separate | |
284 | +part, with the character set and encoding specified in | |
285 | +.IR dir\fB/charset . | |
286 | +The trailer is not added to multipart/alternative messages. | |
287 | +Any tags, ``<#h#>'', ``<#l#>'', or ``<#n#>'' found in | |
288 | +.I dir\fB/text/trailer | |
289 | +are replaced by the list host name, list local name, and message number, | |
290 | +respectively. | |
291 | + | |
292 | +If | |
293 | +.I dir\fB/prefix | |
294 | +exists, | |
295 | +.B ezmlm-send | |
296 | +will prefix the subject line with the first line of this | |
297 | +file. A space will be added to separate | |
298 | +.B prefix | |
299 | +from the subject text. | |
300 | +.B prefix | |
301 | +is ignored for sublists. If | |
302 | +.I dir\fB/prefix | |
303 | +contains a ``#'', the last ``#'' will be replaced by the message number. | |
304 | +Any prefix starting with text of a | |
305 | +reply indicator (``Re:'', ``Re[n]:'', etc) will cause problems. | |
306 | +The prefix may be | |
307 | +rfc2047 encoded. Rfc2047 Iso-2022-* encoded prefixes | |
308 | +.I must | |
309 | +end in ascii. | |
310 | + | |
311 | +The prefix feature and especially the message number feature | |
312 | +modify the message in violation | |
313 | +with Internet mail standards. The features have been implemented by popular | |
314 | +demand. Use at your own peril. | |
315 | + | |
316 | +.I dir\fB/sequence | |
317 | +is ignored as of ezmlm-idx-0.32. Use | |
318 | +.I dir\fB/headeradd | |
319 | +with substitution to achieve the same goal. | |
320 | + | |
321 | +If | |
322 | +.I dir\fB/qmqpservers | |
323 | +exists, | |
324 | +.B ezmlm-send will use | |
325 | +.B qmail-qmqp(1) | |
326 | +to send messages. | |
327 | + | |
328 | +.B ezmlm-send | |
329 | does not distribute bounce messages: | |
330 | if the environment variable | |
331 | .B SENDER | |
332 | @@ -46,6 +147,60 @@ | |
333 | .BR #@[] , | |
334 | .B ezmlm-send | |
335 | rejects the message. | |
336 | +.SH OPTIONS | |
337 | +.TP | |
338 | +.B \-c | |
339 | +No longer supported. Ignored for backwards compatibility. | |
340 | +.TP | |
341 | +.B \-C | |
342 | +No longer supported. Ignored for backwards compatibility. | |
343 | +.B ezmlm-send | |
344 | +has to parse the subscriber database. | |
345 | +.TP | |
346 | +.B \-h\fI header | |
347 | +If the list is a sublist, i.e. | |
348 | +.I dir\fB/sublist | |
349 | +exists, | |
350 | +.I header | |
351 | +is required in all messages to the list. This option is used | |
352 | +when ezmlm is used to run a sublist of a lists run by a different | |
353 | +mailing list | |
354 | +manager that uses | |
355 | +.I header | |
356 | +rather than ``Mailing-List'' to identify messages from the list. | |
357 | +Anything after the first colon (if present) in | |
358 | +.I header | |
359 | +is ignored. | |
360 | +.TP | |
361 | +.B \-r | |
362 | +Copy incoming ``Received:'' headers to the outgoing message. | |
363 | +.TP | |
364 | +.B \-R | |
365 | +(Default.) | |
366 | +Do not copy incoming ``Received:'' headers, except the one added by | |
367 | +the (last) listhost, to the outgoing message. | |
368 | +In some | |
369 | +cases, especially for sublists, | |
370 | +the messages can have a large number of ``Received:'' | |
371 | +headers. This may lead to bounces for some users due to | |
372 | +sendmail ``hopcounts'' set too low somewhere in the mail path. These users can | |
373 | +subscribe and receive warning and probe messages, but no list messages, unless | |
374 | +the number of ``Received:'' headers is reduced. | |
375 | + | |
376 | +Pre-list ``Received:'' headers are of little interest to normal list | |
377 | +subscribers. ``Received:'' headers are | |
378 | +still copied to the archive and available | |
379 | +to anyone from there for message tracking purposes. | |
380 | +.TP | |
381 | +.B \-v | |
382 | +Display | |
383 | +.B ezmlm-send | |
384 | +version information. | |
385 | +.TP | |
386 | +.B \-V | |
387 | +Display | |
388 | +.B ezmlm-send | |
389 | +version information. | |
390 | .SH "SUBLISTS" | |
391 | If | |
392 | .I dir\fB/sublist | |
393 | @@ -77,10 +232,71 @@ | |
394 | does not add its own | |
395 | .B Mailing-List | |
396 | field. | |
397 | + | |
398 | +Fourth, | |
399 | +.B ezmlm-send | |
400 | +uses the incoming message number for the outgoing message, if the list | |
401 | +is not archived and the incoming SENDER has the correct format. | |
402 | +This allows you to refer bounce warning recipients to the main list for | |
403 | +archive retrieval of the missed messages. If the sublist archives | |
404 | +message, it is assumed that missed messages will be retrieved from the sublist | |
405 | +archive. | |
406 | + | |
407 | +The list | |
408 | +still increments | |
409 | +.I dir\fB/num | |
410 | +for each message. If the sublist is archived, use of incoming message number | |
411 | +for archive storage would be a security risk. In this case, the local sublist | |
412 | +message number is used. | |
413 | +.SH "OPTION USAGE" | |
414 | +In general, the use of a prefix is discouraged. It wastes subject line space, | |
415 | +creates trouble when MUAs add non-standard reply indicators. However, many | |
416 | +users expect it not because it is useful, but because they are used to it. | |
417 | + | |
418 | +The | |
419 | +.B \-C | |
420 | +switch prevents posts from being set to SENDER. Rather than just copying | |
421 | +out subscriber address files, | |
422 | +.B ezmlm-send | |
423 | +has to parse them to look for SENDER. This makes it less efficient. Also, | |
424 | +it is useful for the SENDER to see the post to know that it has made it | |
425 | +to the list, and it's context to other subscribers, i.e. where it came | |
426 | +within the traffic of messages on the list. | |
427 | + | |
428 | +Avoiding SENDER as a recipient is useful in small lists, such as small | |
429 | +teams with varying members, where ezmlm serves mainly as an efficient tool | |
430 | +to keep the team connected without administrator intervention. Here the | |
431 | +overhead of subscriber list parsing is negligible. | |
432 | +.SH "CHARACTER SETS" | |
433 | +If the list is indexed, | |
434 | +.B ezmlm-send | |
435 | +will keep a message index. rfc2047-encoded subject and from lines will be | |
436 | +decoded. | |
437 | +If | |
438 | +.I dir\fB/charset | |
439 | +exists, | |
440 | +.B ezmlm-send | |
441 | +will eliminate redundant escape sequences from the headers according to | |
442 | +the character set specified in this file. | |
443 | +Only character sets using escape sequences need this support. Currently, | |
444 | +supported are iso-2022-jp*, iso-2022-kr, and iso-2022-cn*. Only iso-2022-jp | |
445 | +has been tested extensively. | |
446 | + | |
447 | +The character set can be suffixed | |
448 | +by ``:'' followed by a code. Recognized codes are ``Q'' | |
449 | +for ``Quoted-Printable'', and ``B'' for ``base64''. | |
450 | + | |
451 | +For | |
452 | +.BR ezmlm-send , | |
453 | +this affects the format of the trailer, if a trailer is specified and if the | |
454 | +message is a multipart mime message | |
455 | .SH "SEE ALSO" | |
456 | +ezmlm-get(1), | |
457 | +ezmlm-idx(1), | |
458 | ezmlm-manage(1), | |
459 | ezmlm-make(1), | |
460 | ezmlm-sub(1), | |
461 | ezmlm-unsub(1), | |
462 | ezmlm-reject(1), | |
463 | -ezmlm(5) | |
464 | +ezmlm(5), | |
465 | +qmail-qmqp(1) | |
466 | --- ezmlm-sub.1 1998/12/06 16:48:14 1.1 | |
467 | +++ ezmlm-sub.1 1999/08/19 03:22:14 1.5 | |
468 | @@ -3,9 +3,20 @@ | |
469 | ezmlm-sub \- manually add addresses to a mailing list | |
470 | .SH SYNOPSIS | |
471 | .B ezmlm-sub | |
472 | +[ | |
473 | +.B \-HmMnNsSvV | |
474 | +][ | |
475 | +.B \-h | |
476 | +.I hash | |
477 | +] | |
478 | +.B | |
479 | .I dir | |
480 | [ | |
481 | -.I box\fB@\fIdomain ... | |
482 | +.I box\fB@\fIdomain | |
483 | +[ | |
484 | +.I name | |
485 | +] | |
486 | +.I ... | |
487 | ] | |
488 | .SH DESCRIPTION | |
489 | .B ezmlm-sub | |
490 | @@ -13,12 +24,20 @@ | |
491 | .I box\fB@\fIdomain | |
492 | to the mailing list stored in | |
493 | .IR dir . | |
494 | +.I name | |
495 | +is added as a comment to the subscription log, if the | |
496 | +.B \-n | |
497 | +switch is used. | |
498 | + | |
499 | +If no argument is given on the command line, | |
500 | +.B ezmlm-sub | |
501 | +processes stdin. | |
502 | ||
503 | If | |
504 | .I box\fB@\fIdomain | |
505 | is already on the mailing list, | |
506 | .B ezmlm-sub | |
507 | -leaves it there. | |
508 | +leaves it there and does not modify the subscription log. | |
509 | ||
510 | .B ezmlm-sub | |
511 | converts | |
512 | @@ -28,11 +47,61 @@ | |
513 | to the mailing list. | |
514 | ||
515 | .I box\fB@\fIdomain | |
516 | -cannot be longer than 400 characters. | |
517 | +cannot be longer than 400 characters (255 characters with mysql support). | |
518 | +.SH "GENERAL OPTIONS" | |
519 | +.TP | |
520 | +.B \-n | |
521 | +Assume arguments are pairs of | |
522 | +.I box\fB@\fIdomain | |
523 | +and | |
524 | +.IR name | |
525 | +(or other subscriber info) | |
526 | +rather than addresses alone. | |
527 | +.B ezmlm-sub(1) | |
528 | +will add the first argument in each pair to the subscriber list. If it is | |
529 | +a new address, | |
530 | +.I name | |
531 | +will be added to the subscription log. | |
532 | +.TP | |
533 | +.B \-N | |
534 | +(Default.) | |
535 | +Arguments are all addresses of the type | |
536 | +.IR box\fB@\fIdomain . | |
537 | +.TP | |
538 | +.B \-v | |
539 | +Display | |
540 | +.B ezmlm-sub(1) | |
541 | +version information. | |
542 | +.TP | |
543 | +.B \-V | |
544 | +Display | |
545 | +.B ezmlm-sub(1) | |
546 | +version information. | |
547 | +.SH "MYSQL OPTIONS" | |
548 | +These option is silently ignored in the absence of mysql support. | |
549 | +.TP | |
550 | +.B \-h \fIhash | |
551 | +With mysql support the argument is used as the hash. The argument should | |
552 | +be between 1 and 99. The hash is used in | |
553 | +in the distribution of addresses between sublists. As the hash is normally | |
554 | +between 0 and 52, controlling the hash makes it possible to add addresses | |
555 | +that cannot be manipulated remotely. | |
556 | +.TP | |
557 | +.B \-m | |
558 | +(Default.) | |
559 | +Use SQL support if available. | |
560 | +.TP | |
561 | +.B \-M | |
562 | +Do not use SQL support even if available. This option can be used to build | |
563 | +a normal local subscriber database even for lists with SQL support. Use | |
564 | +in combination with | |
565 | +.B ezmlm-list(1) | |
566 | +to convert an SQL address db to a ezmlm standard address database. | |
567 | .SH "SEE ALSO" | |
568 | ezmlm-list(1), | |
569 | ezmlm-manage(1), | |
570 | ezmlm-make(1), | |
571 | +ezmlm-receipt(1), | |
572 | ezmlm-send(1), | |
573 | ezmlm-unsub(1), | |
574 | ezmlm(5) | |
575 | --- ezmlm-unsub.1 1998/12/06 16:48:14 1.1 | |
576 | +++ ezmlm-unsub.1 1999/08/19 03:22:14 1.5 | |
577 | @@ -3,6 +3,11 @@ | |
578 | ezmlm-unsub \- manually remove addresses from a mailing list | |
579 | .SH SYNOPSIS | |
580 | .B ezmlm-unsub | |
581 | +[ | |
582 | +.B \-mMHvV | |
583 | +] [ | |
584 | +.B \-h\fBhash | |
585 | +] | |
586 | .I dir | |
587 | [ | |
588 | .I box\fB@\fIdomain ... | |
589 | @@ -14,6 +19,10 @@ | |
590 | from the mailing list stored in | |
591 | .IR dir . | |
592 | ||
593 | +If no command line argument is given, | |
594 | +.B ezmlm-unsub | |
595 | +will process stdin instead. | |
596 | + | |
597 | If | |
598 | .I box\fB@\fIdomain | |
599 | is not on the mailing list, | |
600 | @@ -26,10 +35,46 @@ | |
601 | to lowercase before removing | |
602 | .I box\fB@\fIdomain | |
603 | from the mailing list. | |
604 | +.SH "GENERAL OPTIONS" | |
605 | +.TP | |
606 | +.B \-v | |
607 | +Display | |
608 | +.B ezmlm-unsub(1) | |
609 | +version information. | |
610 | +.TP | |
611 | +.B \-V | |
612 | +Display | |
613 | +.B ezmlm-unsub(1) | |
614 | +version information. | |
615 | +.SH "MYSQL OPTIONS" | |
616 | +These option is silently ignored in the absence of mysql support. | |
617 | +.TP | |
618 | +.B \-h \fIhash | |
619 | +With mysql support the argument is used as the hash. The argument should | |
620 | +be between 1 and 99. The hash is used in | |
621 | +in the distribution of addresses between sublists. As the hash is normally | |
622 | +between 0 and 52, controlling the hash makes it possible to remove addresses | |
623 | +that cannot be manipulated remotely. A hash of 99 is reserved for sublists, | |
624 | +and a hash of 98 is reserved for ``receipt'' addresses serviced by | |
625 | +.B ezmlm-receipt(1). | |
626 | +.TP | |
627 | +.B \-H | |
628 | +(Default.) | |
629 | +The address can be removed if it has a hash in the normal range (0..52). | |
630 | +.TP | |
631 | +.B \-m | |
632 | +(Default.) | |
633 | +Use SQL support if available. | |
634 | +.TP | |
635 | +.B \-M | |
636 | +Do not use SQL support even if available. | |
637 | +This option can be used to manipulate | |
638 | +a normal local subscriber database even for lists with SQL support. | |
639 | .SH "SEE ALSO" | |
640 | ezmlm-list(1), | |
641 | ezmlm-manage(1), | |
642 | ezmlm-make(1), | |
643 | +ezmlm-receipt(1), | |
644 | ezmlm-send(1), | |
645 | ezmlm-sub(1), | |
646 | ezmlm(5) | |
647 | --- ezmlm-list.1 1998/12/06 16:48:14 1.1 | |
648 | +++ ezmlm-list.1 1999/08/19 03:40:27 1.5 | |
649 | @@ -3,6 +3,11 @@ | |
650 | ezmlm-list \- show the addresses on a mailing list | |
651 | .SH SYNOPSIS | |
652 | .B ezmlm-list | |
653 | +[ | |
654 | +.B \-n\fI msgnum | |
655 | +] [ | |
656 | +.B \-aAmMnNvV | |
657 | +] | |
658 | .I dir | |
659 | .SH DESCRIPTION | |
660 | .B ezmlm-list | |
661 | @@ -16,6 +21,40 @@ | |
662 | of a possibly malicious remote user. | |
663 | .B ezmlm-list | |
664 | does not strip control characters. | |
665 | +.SH "GENERAL OPTIONS" | |
666 | +.TP | |
667 | +.B \-m | |
668 | +(Default.) | |
669 | +Use SQL support if available. | |
670 | +.TP | |
671 | +.B \-M | |
672 | +Do not use SQL support even if available. | |
673 | +This option can be used to manipulate | |
674 | +a normal local subscriber database even for lists with SQL support. | |
675 | +.TP | |
676 | +.B \-n | |
677 | +Print only the number of subscribers. | |
678 | +.TP | |
679 | +.B \-N | |
680 | +(Default.) | |
681 | +List subscriber addresses, one per line. | |
682 | +.TP | |
683 | +.B \-v | |
684 | +Display | |
685 | +.B ezmlm-list(1) | |
686 | +version information. | |
687 | +.TP | |
688 | +.B \-V | |
689 | +Display | |
690 | +.B ezmlm-list(1) | |
691 | +version information. | |
692 | +.SH "SEE ALSO" | |
693 | +ezmlm-list(1), | |
694 | +ezmlm-manage(1), | |
695 | +ezmlm-make(1), | |
696 | +ezmlm-send(1), | |
697 | +ezmlm-sub(1), | |
698 | +ezmlm(5) | |
699 | .SH "SEE ALSO" | |
700 | ezmlm-sub(1), | |
701 | ezmlm-unsub(1), | |
702 | --- ezmlm.5 1997/07/13 22:01:50 1.1 | |
703 | +++ ezmlm.5 1999/05/12 22:41:46 1.24 | |
704 | @@ -21,7 +21,60 @@ | |
705 | handles administrative requests automatically; | |
706 | .B ezmlm-send | |
707 | sends a message to all subscribers listed in | |
708 | -.IR dir . | |
709 | +.I dir | |
710 | +and also maintains a message archive and message subject index if the list | |
711 | +is configured to do so. | |
712 | +.B ezmlm-reject | |
713 | +rejects messages that have an empty subject, or a subject consisting of | |
714 | +only a command word; | |
715 | +.B ezmlm-return | |
716 | +handles bounces; | |
717 | +.B ezmlm-warn | |
718 | +warns users for which messages bounce and eventually removes them from | |
719 | +the subscriber list. | |
720 | +.B ezmlm-idx | |
721 | +can create a subject index from an existing list archive. | |
722 | +.B ezmlm-get | |
723 | +manages message, index, and thread retrieval from the archive, as well | |
724 | +as the generation of message digests; | |
725 | +.B ezmlm-cron | |
726 | +provides a restricted interface to cron for the generation of | |
727 | +digest generation trigger messages; | |
728 | +.B ezmlm-store | |
729 | +queues messages of moderated lists and sends a moderation request to | |
730 | +the moderator(s); | |
731 | +.B ezmlm-moderate | |
732 | +processes moderation requests to accept the queued message to the list | |
733 | +via | |
734 | +.B ezmlm-send, | |
735 | +or to return the message to the sender; | |
736 | +.B ezmlm-clean | |
737 | +cleans up the moderation queue and returns to the sender | |
738 | +any messages that have timed-out; | |
739 | +.B ezmlm-gate | |
740 | +posts messages that come from a SENDER in an address database, and sends | |
741 | +remaining messages out for moderation; | |
742 | +.B ezmlm-check | |
743 | +is used to diagnose problems with ezmlm mailing list configuration; | |
744 | +.B ezmlm-issub | |
745 | +and | |
746 | +.B ezmlm-issubn | |
747 | +determine if a SENDER is a subscriber or a member of a | |
748 | +collection of addresses; | |
749 | +.B ezmlm-tstdig | |
750 | +determines if it is time to create a new digest based on the number and | |
751 | +volume of messages and the amount of time that has passed since the last | |
752 | +digest was issued; | |
753 | +.B ezmlm-request | |
754 | +can be used to answer | |
755 | +.B ezmlm | |
756 | +commands in the subject line easing migration from other mailing list | |
757 | +managers. It can also function as a global interface mimicking | |
758 | +the interface of other mailing list manager. | |
759 | +.B ezmlm-glmake | |
760 | +can set up the global interface, and | |
761 | +.B ezmlm-glconf | |
762 | +can create a configuration file for the global interface from your lists. | |
763 | .SH SUBSCRIBERS | |
764 | .I dir\fB/subscribers | |
765 | is a directory containing the subscriber list. | |
766 | @@ -69,12 +122,19 @@ | |
767 | .B ezmlm-send | |
768 | archives all new messages if | |
769 | .I dir\fB/archived | |
770 | -exists. | |
771 | +exists. If | |
772 | +.I dir\fB/indexed | |
773 | +exists, | |
774 | +.B ezmlm-send | |
775 | +also maintains a message subject and author index. | |
776 | ||
777 | Messages sent to the mailing list are numbered from 1 upwards, | |
778 | whether or not they are archived. | |
779 | .I dir\fB/num | |
780 | -is the number of messages sent so far. | |
781 | +is the number of messages sent so far followed by ':', followed by the | |
782 | +cumulative amount of message body that has passed | |
783 | +.B ezmlm-send | |
784 | +stored as kbytes * 4 (4 corresponds to 1kb). | |
785 | ||
786 | .I dir\fB/archive | |
787 | has subdirectories, | |
788 | @@ -83,11 +143,43 @@ | |
789 | .IR dir\fB/archive/\fIm\fB/\fIn . | |
790 | For example, message number 15307 is stored in | |
791 | .IR dir\fB/archive/153/07 . | |
792 | +The message index is stored in the file | |
793 | +.B index | |
794 | +in the same subdirectory of | |
795 | +.I dir\fB/archive | |
796 | +holding the corresponding messages. | |
797 | +Thus, the subject index contains up to 100 entries. | |
798 | + | |
799 | +The subject index contains message subjects that are normalized so that | |
800 | +the original message and all replies have the same entry. The subject index | |
801 | +is used for advanced message retrieval functions. For safety, the subject | |
802 | +index is created under a temporary name | |
803 | +inside | |
804 | +.I dir\fB/archive | |
805 | +and then moved into place. | |
806 | ||
807 | .B ezmlm-manage | |
808 | will ignore message files without the owner-execute bit set. | |
809 | .B ezmlm-send | |
810 | turns on the owner-execute bit after safely writing the message to disk. | |
811 | + | |
812 | +.B ezmlm-make | |
813 | +by default adds | |
814 | +.B ezmlm-get | |
815 | +to | |
816 | +.I dir\fB/manager | |
817 | +to handle | |
818 | +.I \-get, \-index, | |
819 | +and | |
820 | +.I \-thread | |
821 | +requests. If | |
822 | +.B ezmlm-make | |
823 | +is invoked with a | |
824 | +.I digcode | |
825 | +command line argument, digest creation | |
826 | +is enabled by putting this argument on the | |
827 | +.B ezmlm-get | |
828 | +command line. | |
829 | .SH BOUNCES | |
830 | .I dir\fB/bounce | |
831 | is a directory containing bounce messages. | |
832 | @@ -127,9 +219,10 @@ | |
833 | sets up | |
834 | .I dir\fB/bouncer | |
835 | to invoke | |
836 | -.B ezmlm-return | |
837 | -and then | |
838 | -.BR ezmlm-warn . | |
839 | +.BR ezmlm-return . | |
840 | +.B ezmlm-warn | |
841 | +is no longer invoked here due to the load it places on systems with many | |
842 | +large lists with many bounces. | |
843 | ||
844 | .I dir\fB/manager | |
845 | handles incoming administrative requests. | |
846 | @@ -137,9 +230,266 @@ | |
847 | sets up | |
848 | .I dir\fB/manager | |
849 | to invoke | |
850 | -.B ezmlm-manage | |
851 | +.BR ezmlm-get , | |
852 | +.BR ezmlm-manage , | |
853 | and then | |
854 | .BR ezmlm-warn . | |
855 | + | |
856 | +.I dir\fB/moderator | |
857 | +handles incoming message | |
858 | +.I accept | |
859 | +and | |
860 | +.I reject | |
861 | +requests for moderated lists. | |
862 | +.B ezmlm-make | |
863 | +sets up | |
864 | +.I dir\fB/moderator | |
865 | +to invoke | |
866 | +.BR ezmlm-moderate , | |
867 | +and .BR ezmlm-clean . | |
868 | +.SH DIGESTS | |
869 | +.B ezmlm-get | |
870 | +can create digests if it is invoked from the command line, from | |
871 | +.IR dir\fB/editor , | |
872 | +or from | |
873 | +.IR dir\fB/manager . | |
874 | +The program functions in slightly different ways in these 3 settings (see | |
875 | +.BR ezmlm-get(1) ). | |
876 | + | |
877 | +To enable automatic digests for a mailing list, use the | |
878 | +.B ezmlm-make \-d | |
879 | +switch. To also enable the generation of digests at specific times dictated | |
880 | +by mailed trigger messages, a | |
881 | +.I digcode | |
882 | +should be specified on the | |
883 | +.B ezmlm-get | |
884 | +command line. | |
885 | +This can be done by specifying | |
886 | +.I digcode | |
887 | +as a fifth argument to | |
888 | +.B ezmlm-make | |
889 | +when setting up the list. | |
890 | +.I digcode | |
891 | +must be alphanumeric and is case-insensitive. | |
892 | + | |
893 | +To generate trigger messages, use | |
894 | +.B ezmlm-cron(1) | |
895 | +as an interface to | |
896 | +.B crond(8) | |
897 | +or use | |
898 | +.B crond | |
899 | +directly. | |
900 | + | |
901 | +.I dir\fB/num | |
902 | +contains the number of the last message processed, followed by ':' and a | |
903 | +number that is increased by 1 for each 256 bytes of message body text | |
904 | +processed. The latter number is used by | |
905 | +.B ezmlm-tstdig | |
906 | +to determine if a new digest is due. | |
907 | + | |
908 | +.I dir\fB/dignum | |
909 | +contains the contents of | |
910 | +.I dir\fB/num | |
911 | +at the time of the last regular digest creation, followed by a ':', | |
912 | +followed by a timestamp. | |
913 | +It is updated after each regular digest is sent. | |
914 | + | |
915 | +.I dir\fB/digissue | |
916 | +contains the issue number of the last regular digest. It is incremented | |
917 | +for each regular digest sent. | |
918 | + | |
919 | +The following user crontab entry (all on one line) | |
920 | +generates a digest of the list | |
921 | +.I list@host.domain | |
922 | +at 1600 every day: | |
923 | + | |
924 | +.EX | |
925 | + 00 16 * * * /var/qmail/bin/qmail-inject list-dig.digcode | |
926 | +.EE | |
927 | + | |
928 | +Alternatively, | |
929 | +.B ezmlm-cron | |
930 | +can be used: | |
931 | + | |
932 | +.EX | |
933 | + % ezmlm-cron -t 16:00 list@host digcode | |
934 | +.EE | |
935 | + | |
936 | +.B ezmlm-get | |
937 | +can also be run from the shell: To generate a digest to | |
938 | +.I list-digest@host | |
939 | +from the list housed in | |
940 | +.IR ~joe/list : | |
941 | + | |
942 | +.EX | |
943 | + % ezmlm-get ~joe/list | |
944 | +.EE | |
945 | + | |
946 | +Like other | |
947 | +.B ezmlm-get | |
948 | +replies, digest can be sent in several formats. See | |
949 | +.B ezmlm-get(1) | |
950 | +for more info. | |
951 | +.SH MODERATION | |
952 | +There are three aspects of moderation: moderation of posts, moderation | |
953 | +of subscriptions, and "remote administration", i.e. giving the | |
954 | +moderator the right to (un)subscribe any user. | |
955 | +.B ezmlm | |
956 | +handles these three aspects separately. The two first aspects enhance | |
957 | +security, while the third decreases security, but makes list administration | |
958 | +considerably easier. By default, the moderator database is the same for all | |
959 | +three functions. While "remote administration" and subscription moderation | |
960 | +always use the same database, the moderators for message moderation can | |
961 | +be different. | |
962 | + | |
963 | +Even with subscription moderation, the user has to verify the request. This | |
964 | +is to ensure that the user initiating the request really controls the address. | |
965 | +.B ezmlm-manage | |
966 | +options exist to disable the user handshake, which may be useful in some | |
967 | +circumstances. | |
968 | + | |
969 | +For moderation options, the moderators are by stored in a subscriber | |
970 | +list in | |
971 | +.IR moddir\fB/subscribers . | |
972 | +By default | |
973 | +.I moddir | |
974 | +is | |
975 | +.IR dir\fB/mod . | |
976 | + | |
977 | +Moderators can be added and removed with: | |
978 | + | |
979 | +.EX | |
980 | +.B ezmlm-sub | |
981 | +.I moddir | |
982 | +.I moderator@host | |
983 | +.EE | |
984 | + | |
985 | +.EX | |
986 | +.B ezmlm-unsub | |
987 | +.I moddir | |
988 | +.I moderator@host | |
989 | +.EE | |
990 | + | |
991 | +For subscription moderation, touch | |
992 | +.IR dir\fB/modsub | |
993 | +after adding moderator(s). | |
994 | +For remote administration, touch | |
995 | +.IR dir\fB/remote . | |
996 | +If the contents of these files start with a leading forward slash, it is | |
997 | +assumed to be the name of | |
998 | +.B moddir | |
999 | +subscription | |
1000 | +moderation. If both files exist and start with a forward slash, the | |
1001 | +.I dir\fB/remote | |
1002 | +contents are ignored. Moderators are stored in a subscriber list in the | |
1003 | +.B subscribers | |
1004 | +subdirectory of | |
1005 | +.BR moddir . | |
1006 | +If no directory names are specified, | |
1007 | +the default, | |
1008 | +.IR dir\fB/mod , | |
1009 | +is used. | |
1010 | +In all cases, the | |
1011 | +.I subscribers | |
1012 | +subdirectory of the base directory must exists/be created. | |
1013 | + | |
1014 | +Moderation of messages is achieved by | |
1015 | +creating | |
1016 | +.I dir\fB/modpost | |
1017 | +and modifying | |
1018 | +.IR dir\fB/editor | |
1019 | +to invoke | |
1020 | +.B ezmlm-store. | |
1021 | +.B ezmlm-store | |
1022 | +stores the message in | |
1023 | +.IR dir\fB/mod/pending | |
1024 | +and sends a moderation request to all moderators stored in | |
1025 | +.IR moddir . | |
1026 | + | |
1027 | +If | |
1028 | +.I dir\fB/modpost | |
1029 | +does not exist, | |
1030 | +.B ezmlm-store | |
1031 | +posts messages directly, and | |
1032 | +.B ezmlm-clean | |
1033 | +does nothing. | |
1034 | + | |
1035 | +If | |
1036 | +.I dir\fB/modpost | |
1037 | +contains a directory name starting with a forward slash, | |
1038 | +this directory is used as | |
1039 | +.I moddir | |
1040 | +for message moderation. | |
1041 | +Moderators are stored in a subscriber list in the | |
1042 | +.I subscribers | |
1043 | +subdirectory of | |
1044 | +.IR moddir . | |
1045 | +If no directory names are specified, | |
1046 | +the default, | |
1047 | +.IR dir\fB/mod , | |
1048 | +is used. | |
1049 | + | |
1050 | +.IR dir\fB/moderator | |
1051 | +is linked to | |
1052 | +.IR dot\fB\-accept-default | |
1053 | +and | |
1054 | +.IR dot\fB\-reject-default . | |
1055 | +It handles replies from the moderators. | |
1056 | + | |
1057 | +In addition to a moderator list, the directories | |
1058 | +.IR dir\fB/mod/pending , | |
1059 | +.IR dir\fB/mod/accepted , | |
1060 | +and | |
1061 | +.IR dir\fB/mod/rejected | |
1062 | +must exist. These directories contain the message moderation queue. | |
1063 | + | |
1064 | +If | |
1065 | +.IR dir\fB/mod/modtime | |
1066 | +it determines the minimal time in hours that messages wait in the moderation | |
1067 | +queue, before they are returned to sender with the message in | |
1068 | +.IR dir\fB/text/mod-timeout . | |
1069 | + | |
1070 | +If a | |
1071 | +.I \-help | |
1072 | +command is send for a moderator and | |
1073 | +.IR dir\fB/modsub | |
1074 | +or | |
1075 | +.IR dir\fB/remote | |
1076 | +exist, a more detailed help message stored in | |
1077 | +.I dir\fB/text/mod-help | |
1078 | +will be sent together with the regular help. This text should not contain | |
1079 | +secrets. | |
1080 | +If | |
1081 | +.I dir\fB/text/mod-help | |
1082 | +does not exist, | |
1083 | +.I dir\fB/text/help | |
1084 | +will be sent. | |
1085 | + | |
1086 | +If a | |
1087 | +.I \-list | |
1088 | +command is sent for a moderator and | |
1089 | +.IR dir\fB/modsub | |
1090 | +or | |
1091 | +.IR dir\fB/remote | |
1092 | +exist, and the | |
1093 | +.B ezmlm-manage \-l | |
1094 | +command line switch is specified, a subscriber list will be returned. | |
1095 | + | |
1096 | +If an | |
1097 | +.I \-edit.file | |
1098 | +command is sent for a moderator and | |
1099 | +.IR dir\fB/remote | |
1100 | +exist, and the | |
1101 | +.B ezmlm-manage \-d | |
1102 | +command line switch is specified, | |
1103 | +.B text\fB/file | |
1104 | +is returned together with an | |
1105 | +.B ezmlm | |
1106 | +cookie. The remote administrator may return an edited version of the | |
1107 | +file, which will be stored, provided that the cookie is valid. | |
1108 | +See | |
1109 | +.B ezmlm-manage(1) | |
1110 | +for more info. | |
1111 | .SH TEXT | |
1112 | .I dir\fB/text | |
1113 | is a directory | |
1114 | @@ -187,6 +537,27 @@ | |
1115 | .B get-bad | |
1116 | Rejecting a bad archive retrieval request. | |
1117 | .TP | |
1118 | +.B digest | |
1119 | +Text copied into the | |
1120 | +.I Administrativia | |
1121 | +section of the digest. Usually, this will contain subscription info | |
1122 | +for the digest, as well as information on how to post to the list. | |
1123 | +.TP | |
1124 | +.B trailer | |
1125 | +If this files exists, it is copied to the end of all messages to the list. | |
1126 | +.TP | |
1127 | +.B faq | |
1128 | +Sent in response to the | |
1129 | +.I faq | |
1130 | +command. Usually contains frequently asked questions and answers specific | |
1131 | +for the mailing list. | |
1132 | +.TP | |
1133 | +.B info | |
1134 | +Sent in response to the | |
1135 | +.I info | |
1136 | +command. Usually contains a descripition, policy, etc, for the list. The | |
1137 | +first line should in itself be a very brief description of the list. | |
1138 | +.TP | |
1139 | .B bounce-warn | |
1140 | Pointing out that messages have bounced. | |
1141 | .TP | |
1142 | @@ -198,9 +569,96 @@ | |
1143 | .B ezmlm-return | |
1144 | has kept a list of bounced message numbers. | |
1145 | .TP | |
1146 | +.B dig-bounce-num | |
1147 | +Explaining that digest messages have bounced. All other text files are used | |
1148 | +for both the main list and the digest list. | |
1149 | +.TP | |
1150 | .B bounce-bottom | |
1151 | Separating the bounce message. | |
1152 | +.TP | |
1153 | +.B mod-help | |
1154 | +is set to list moderators issuing a | |
1155 | +.I \-help | |
1156 | +command. It contains instructions for moderators, but it is relatively | |
1157 | +trivial for a non-moderator to read it. Don't put secrets here. | |
1158 | +.TP | |
1159 | +.B mod-reject | |
1160 | +is the returned to the sender of a rejected post. | |
1161 | +.TP | |
1162 | +.B mod-timeout | |
1163 | +is returned if the message timed-out without moderator action. | |
1164 | +.TP | |
1165 | +.B mod-sub | |
1166 | +is added to the text confirming subscription and unsubscription | |
1167 | +instead of | |
1168 | +.B bottom | |
1169 | +and the requesting message, for actions that were approved | |
1170 | +by a moderator. Not copying the requesting message | |
1171 | +hides the moderator identity | |
1172 | +from the subscriber. | |
1173 | +.TP | |
1174 | +.B mod-request | |
1175 | +is the text sent to the moderators to request moderator action on | |
1176 | +a posted message. | |
1177 | +.TP | |
1178 | +.B mod-unsub-confirm | |
1179 | +Requesting that the moderator confirm a request to subscribe. | |
1180 | +If this file does not exist, | |
1181 | +.B sub-confirm | |
1182 | +will be used. | |
1183 | +.TP | |
1184 | +.B mod-unsub-confirm | |
1185 | +Requesting that the moderator confirm a request to unsubscribe. | |
1186 | +If this file does not exist, | |
1187 | +.B unsub-confirm | |
1188 | +will be used. | |
1189 | +.TP | |
1190 | +.B edit-do | |
1191 | +Instructions sent to the remote administrator together with a copy | |
1192 | +of a | |
1193 | +.I dir\fB/text | |
1194 | +file and editing instructions. | |
1195 | +.TP | |
1196 | +.B edit-list | |
1197 | +A list of editable files in | |
1198 | +.I dir\fB/text | |
1199 | +with a one-line description send to a remote administrator in response to a | |
1200 | +.I -edit | |
1201 | +command. | |
1202 | +.TP | |
1203 | +.B edit-done | |
1204 | +Sent to the remote administrator after an edited | |
1205 | +.I dir\fB/text | |
1206 | +file has been successfully saved. | |
1207 | +.PP | |
1208 | +Several tags in the text files are replaced by ezmlm programs. | |
1209 | +All programs replace the tag | |
1210 | +.B <#l#> | |
1211 | +with the name of the list or the list-digest, as appropriate for the request, | |
1212 | +and | |
1213 | +.B <#h#> | |
1214 | +with the hostname for the list. | |
1215 | +.B ezmlm-send | |
1216 | +and | |
1217 | +.B ezmlm-get | |
1218 | +replace | |
1219 | +.B <#n#> | |
1220 | +with the current message number in added headers from | |
1221 | +.I dir\fB/headeradd | |
1222 | +and text files. | |
1223 | +.B ezmlm-get | |
1224 | +does this for digest messages, where the current message is the number of | |
1225 | +the first message in the digest. | |
1226 | +.B ezmlm-manage | |
1227 | +replaces the tag | |
1228 | +.B <#A#> | |
1229 | +anywhere on a line with the subscription address, and | |
1230 | +.B <#R#> | |
1231 | +anywhere on a line | |
1232 | +with the address the subscriber must reply to. Only the first tag on any | |
1233 | +line is processed. | |
1234 | .PP | |
1235 | +For backwards compatibility, | |
1236 | .B ezmlm-manage | |
1237 | replaces the line | |
1238 | .B !A | |
1239 | @@ -213,6 +671,23 @@ | |
1240 | and | |
1241 | .B unsub-confirm | |
1242 | with the address that the subscriber must reply to. | |
1243 | +.PP | |
1244 | +.B ezmlm-store | |
1245 | +replaces the tag | |
1246 | +.B <#A#> | |
1247 | +anywhere on a line with the address for accepting the message, and | |
1248 | +.B <#R#> | |
1249 | +anywhere on a line | |
1250 | +with the address for rejecting the message. | |
1251 | +Only the first tag on any line is processed. | |
1252 | +.PP | |
1253 | +For backwards compatibility, | |
1254 | +.B ezmlm-store | |
1255 | +also replaces the line | |
1256 | +.B !A | |
1257 | +with the address for accepting the message and the line | |
1258 | +.B !R | |
1259 | +with the address for rejecting the message. | |
1260 | .SH "OUTGOING MESSAGE EDITING" | |
1261 | .I dir\fB/headerremove | |
1262 | is a list of bad header field names, | |
1263 | @@ -233,10 +708,61 @@ | |
1264 | is a list of new header fields. | |
1265 | .B ezmlm-send | |
1266 | adds these fields to every outgoing message. | |
1267 | -.B ezmlm-make | |
1268 | +.B ezmlm-send | |
1269 | sets up | |
1270 | .I dir\fB/headeradd | |
1271 | -with no new fields. | |
1272 | +to add | |
1273 | +.B X-No-Archive: yes | |
1274 | +and | |
1275 | +.BR Precedence: bulk . | |
1276 | + | |
1277 | +If | |
1278 | +.I dir\fB/mimeremove | |
1279 | +exists, | |
1280 | +.B ezmlm-send | |
1281 | +removed parts with the corresponding content-types from composite MIME | |
1282 | +messages. If the | |
1283 | +.B ezmlm-reject | |
1284 | +.I dir | |
1285 | +argument is specified, | |
1286 | +simple MIME messages of these content-types are rejected. | |
1287 | + | |
1288 | +If | |
1289 | +.I dir\fB/mimereject | |
1290 | +exists, and the | |
1291 | +.B ezmlm-reject | |
1292 | +.I dir | |
1293 | +argument is specified, | |
1294 | +simple MIME messages of these content-types, or | |
1295 | +composite MIME messages with any body part of these content-types are rejected. | |
1296 | + | |
1297 | +If | |
1298 | +.I dir\fB/sequence | |
1299 | +exists, the first line is added as a header to all outgoing messages, followed | |
1300 | +by a space and the message number. The message number is useful for archive | |
1301 | +retrievals, since some mail systems do not reveal the return-path to the user. | |
1302 | +.B NOTE: | |
1303 | +Sublists have their own message counter. Adding a sequence header from a | |
1304 | +sublists will give you the sublist message number which is different from | |
1305 | +the main list message number. | |
1306 | + | |
1307 | +.I dir\fB/prefix | |
1308 | +is a subject prefix. If this file exists, its contents are prefixed to the | |
1309 | +subject of the post in the outgoing message. The archived message is not | |
1310 | +processed. Attempts are made to not duplicate an existing prefix in replies. | |
1311 | +Think twice before using this option. | |
1312 | +A prefix takes unnecessary space on the subject line and most mail clients | |
1313 | +can easily filter on other headers, such as 'Mailing-List:'. If | |
1314 | +.I dir\fB/prefix contains a single '#', this will be replaced by the message | |
1315 | +number. The use of this feature is inadvisable and violates internet mail | |
1316 | +standards. However, it is very popular in e.g. Japan. If you must use this | |
1317 | +feature, make sure you are aware that you may be causing problems to users, | |
1318 | +sublists, etc. | |
1319 | + | |
1320 | +.I dir\fB/text/trailer | |
1321 | +is a message trailer. If this file exists, it's contents are copied to the | |
1322 | +end of outgoing messages. Only lines terminated with new-line are copied. | |
1323 | +No trailer is copied to the archived version of the message. | |
1324 | .SH MISCELLANY | |
1325 | The first line of | |
1326 | .I dir\fB/mailinglist | |
1327 | @@ -248,6 +774,27 @@ | |
1328 | .IR dir\fB/mailinglist , | |
1329 | in every outgoing message. | |
1330 | ||
1331 | +If | |
1332 | +.I dir\fB/listid | |
1333 | +exists, | |
1334 | +ezmlm programs create a new | |
1335 | +.B List-ID | |
1336 | +field, showing the contents of the first line of | |
1337 | +.IR dir\fB/listid , | |
1338 | +in every outgoing message. The list-id should be unique and within name | |
1339 | +space controlled by the owner. It should remain constant even if lists | |
1340 | +move and be of the format | |
1341 | + | |
1342 | +.EX | |
1343 | +List-ID: optional_text <unique_id.domain> | |
1344 | +.EE | |
1345 | + | |
1346 | +This header would result from a | |
1347 | +.I dir\fB/listid | |
1348 | +file containing ``optional_text <unique_id.domain>''. See | |
1349 | +.I http://www.within.com/~chandhok/ietf/listid.shtml | |
1350 | +for more info. | |
1351 | + | |
1352 | The first lines of | |
1353 | .I dir\fB/outlocal | |
1354 | and | |
1355 | @@ -292,6 +839,44 @@ | |
1356 | This affects the behavior of | |
1357 | .BR ezmlm-send . | |
1358 | ||
1359 | +If | |
1360 | +.I dir\fB/qmqpservers | |
1361 | +exists, | |
1362 | +.B ezmlm-send | |
1363 | +and | |
1364 | +.B ezmlm-get | |
1365 | +will use | |
1366 | +.B qmail-qmqpc(1) | |
1367 | +to send posts and digests. Other mail will use the normal qmail mechanism. | |
1368 | +If | |
1369 | +.B qmail-qmqpc | |
1370 | +is modified correctly, server IP addresses listed one per line in | |
1371 | +.I dir\fB/qmqpsevers | |
1372 | +will be tried in order, rather than the default servers specified in | |
1373 | +.IR /var/qmail/control . | |
1374 | + | |
1375 | +If | |
1376 | +.I dir\fB/msgsize | |
1377 | +exists, it is assumed to contain ``max:min'', where ``max'' is the maximum | |
1378 | +size in bytes of an acceptable message body, and ``min'' the corresponding | |
1379 | +minimal size. Either will be ignored if zero or omitted. If the | |
1380 | +.B ezmlm-reject | |
1381 | +command line specifies the list directory, messages not meeting the size | |
1382 | +criteria are rejected. | |
1383 | + | |
1384 | +If | |
1385 | +.I dir\fB/charset | |
1386 | +exists, the first line is assumed to represent a valid MIME character set, | |
1387 | +which is used for all outgoing MIME messages sent by | |
1388 | +.B ezmlm-get | |
1389 | +and the message moderation programs. The character set string may be suffixed | |
1390 | +with ':' and 'Q' or 'B' to send all outgoing | |
1391 | +text (ezmlm messages, digest table-of-contents, moderation requests, etc) | |
1392 | +encoded in ``Quoted-Printable'' or ``base64'' encoding. By default, no encoding | |
1393 | +is done, which may result in the transmission of characters with the high | |
1394 | +bit set. When encoding is specified, trigger messages and other parts of the | |
1395 | +reply that should not be encoded are sent as separate MIME parts. | |
1396 | + | |
1397 | .I dir\fB/lock | |
1398 | is an empty file. | |
1399 | Any program that reads or writes the subscriber list, | |
1400 | @@ -304,14 +889,54 @@ | |
1401 | .B WARNING: | |
1402 | .B Log | |
1403 | is not protected against system crashes. | |
1404 | -Log entries may be missing or corrupted if the system goes down. | |
1405 | +Log entries may be missing or corrupted if the system goes down. There is | |
1406 | +Log for each of the accessory address databases as well. Thus, the log | |
1407 | +for digest subscribers is | |
1408 | +.IR dir\fB/digest/Log . | |
1409 | +If enabled, these logs can be retrieved by remote administrators (see | |
1410 | +.BR ezmlm-manage(1) ). | |
1411 | + | |
1412 | +.I dir\fB/digest | |
1413 | +contains items specific for the digest list. | |
1414 | + | |
1415 | +.I dir\fB/digest/subscribers | |
1416 | +contains hash files of digest subscriber addresses. | |
1417 | + | |
1418 | +.IR dir\fB/digest/Log , | |
1419 | +.IR dir\fB/digest/bounce , | |
1420 | +.IR dir\fB/digest/lockbounce , | |
1421 | +and | |
1422 | +.I dir\fB/digest/lock | |
1423 | +have functions for the digest list that mirror that of the corresponding | |
1424 | +files in | |
1425 | +.IR dir . | |
1426 | + | |
1427 | +.I dir\fB/sql | |
1428 | +contains SQL server access information for list that are configured to | |
1429 | +use an SQL database for storage. | |
1430 | + | |
1431 | +.I dir\fB/tstdig | |
1432 | +is a timestamp used temporarily by | |
1433 | +.B ezmlm-tstdig(1) | |
1434 | +to coordinate digesting. | |
1435 | .SH "SEE ALSO" | |
1436 | +ezmlm-check(1), | |
1437 | +ezmlm-clean(1), | |
1438 | +ezmlm-gate(1), | |
1439 | +ezmlm-get(1), | |
1440 | +ezmlm-idx(1), | |
1441 | +ezmlm-issub(1), | |
1442 | +ezmlm-issubn(1), | |
1443 | ezmlm-list(1), | |
1444 | ezmlm-make(1), | |
1445 | ezmlm-manage(1), | |
1446 | +ezmlm-moderate(1), | |
1447 | +ezmlm-request(1), | |
1448 | ezmlm-return(1), | |
1449 | ezmlm-send(1), | |
1450 | +ezmlm-store(1), | |
1451 | ezmlm-sub(1), | |
1452 | +ezmlm-tstdig(1), | |
1453 | ezmlm-unsub(1), | |
1454 | ezmlm-warn(1), | |
1455 | dot-qmail(5) | |
1456 | --- log.c 1998/02/16 04:49:24 1.1 | |
1457 | +++ log.c 1998/11/22 22:24:22 1.3 | |
1458 | @@ -6,14 +6,21 @@ | |
1459 | #include "fmt.h" | |
1460 | #include "open.h" | |
1461 | ||
1462 | +/* appends (not crash-proof) a line to "Log". The format is: */ | |
1463 | +/* "timestamp event address[ comment]\n". address is free of ' ' */ | |
1464 | +/* Unprintable chars are changed to '?'. Comment may have spaces */ | |
1465 | + | |
1466 | static substdio ss; | |
1467 | static char buf[1]; | |
1468 | static char num[FMT_ULONG]; | |
1469 | static stralloc line = {0}; | |
1470 | +static stralloc fn = {0}; | |
1471 | ||
1472 | -void log(event,addr) | |
1473 | +void log(dir,event,addr,comment) | |
1474 | +char *dir; | |
1475 | char *event; | |
1476 | char *addr; | |
1477 | +char *comment; | |
1478 | { | |
1479 | char ch; | |
1480 | int fd; | |
1481 | @@ -26,9 +33,22 @@ | |
1482 | if ((ch < 33) || (ch > 126)) ch = '?'; | |
1483 | if (!stralloc_append(&line,&ch)) return; | |
1484 | } | |
1485 | + if (comment && *comment) { | |
1486 | + if (!stralloc_cats(&line," ")) return; | |
1487 | + while (ch = *comment++) { | |
1488 | + if (ch == '\t') | |
1489 | + ch = ' '; | |
1490 | + else | |
1491 | + if ((ch < 32) || (ch > 126)) ch = '?'; | |
1492 | + if (!stralloc_append(&line,&ch)) return; | |
1493 | + } | |
1494 | + } | |
1495 | if (!stralloc_cats(&line,"\n")) return; | |
1496 | ||
1497 | - fd = open_append("Log"); | |
1498 | + if (!stralloc_copys(&fn,dir)) return; | |
1499 | + if (!stralloc_cats(&fn,"/Log")) return; | |
1500 | + if (!stralloc_0(&fn)) return; | |
1501 | + fd = open_append(fn.s); | |
1502 | if (fd == -1) return; | |
1503 | substdio_fdbuf(&ss,write,fd,buf,sizeof(buf)); | |
1504 | substdio_putflush(&ss,line.s,line.len); | |
1505 | --- MAN 1997/07/02 23:11:57 1.1 | |
1506 | +++ MAN 1999/10/10 03:41:20 1.26 | |
1507 | @@ -1,27 +1,67 @@ | |
1508 | d:::755::: | |
1509 | d:::755:/man1:: | |
1510 | d:::755:/man5:: | |
1511 | +c:::644:/man1/:ezmlm-accept.1: | |
1512 | +c:::644:/man1/:ezmlm-archive.1: | |
1513 | +c:::644:/man1/:ezmlm-issubn.1: | |
1514 | c:::644:/man5/:ezmlm.5: | |
1515 | +c:::644:/man5/:ezmlmrc.5: | |
1516 | +c:::644:/man5/:ezmlmglrc.5: | |
1517 | +c:::644:/man5/:ezmlmsubrc.5: | |
1518 | c:::644:/man1/:ezmlm-list.1: | |
1519 | +c:::644:/man1/:ezmlm-glconf.1: | |
1520 | c:::644:/man1/:ezmlm-make.1: | |
1521 | +c:::644:/man1/:ezmlm-mktab.1: | |
1522 | c:::644:/man1/:ezmlm-manage.1: | |
1523 | +c:::644:/man1/:ezmlm-moderate.1: | |
1524 | c:::644:/man1/:ezmlm-reject.1: | |
1525 | +c:::644:/man1/:ezmlm-request.1: | |
1526 | c:::644:/man1/:ezmlm-return.1: | |
1527 | c:::644:/man1/:ezmlm-send.1: | |
1528 | +c:::644:/man1/:ezmlm-split.1: | |
1529 | +c:::644:/man1/:ezmlm-store.1: | |
1530 | c:::644:/man1/:ezmlm-sub.1: | |
1531 | c:::644:/man1/:ezmlm-unsub.1: | |
1532 | c:::644:/man1/:ezmlm-warn.1: | |
1533 | c:::644:/man1/:ezmlm-weed.1: | |
1534 | +c:::644:/man1/:ezmlm-idx.1: | |
1535 | +c:::644:/man1/:ezmlm-gate.1: | |
1536 | +c:::644:/man1/:ezmlm-tstdig.1: | |
1537 | +c:::644:/man1/:ezmlm-get.1: | |
1538 | +c:::644:/man1/:ezmlm-check.1: | |
1539 | +c:::644:/man1/:ezmlm-clean.1: | |
1540 | +c:::644:/man1/:ezmlm-limit.1: | |
1541 | +c:::644:/man1/:ezmlm-cron.1: | |
1542 | d:::755:/cat1:: | |
1543 | d:::755:/cat5:: | |
1544 | c:::644:/cat5/:ezmlm.0: | |
1545 | +c:::644:/cat5/:ezmlmrc.0: | |
1546 | +c:::644:/cat5/:ezmlmglrc.0: | |
1547 | +c:::644:/cat5/:ezmlmsubrc.0: | |
1548 | c:::644:/cat1/:ezmlm-list.0: | |
1549 | +c:::644:/cat1/:ezmlm-glconf.0: | |
1550 | c:::644:/cat1/:ezmlm-make.0: | |
1551 | +c:::644:/cat1/:ezmlm-mktab.0: | |
1552 | c:::644:/cat1/:ezmlm-manage.0: | |
1553 | +c:::644:/cat1/:ezmlm-moderate.0: | |
1554 | +c:::644:/cat1/:ezmlm-request.0: | |
1555 | c:::644:/cat1/:ezmlm-reject.0: | |
1556 | c:::644:/cat1/:ezmlm-return.0: | |
1557 | c:::644:/cat1/:ezmlm-send.0: | |
1558 | +c:::644:/cat1/:ezmlm-store.0: | |
1559 | +c:::644:/cat1/:ezmlm-split.0: | |
1560 | c:::644:/cat1/:ezmlm-sub.0: | |
1561 | c:::644:/cat1/:ezmlm-unsub.0: | |
1562 | c:::644:/cat1/:ezmlm-warn.0: | |
1563 | c:::644:/cat1/:ezmlm-weed.0: | |
1564 | +c:::644:/cat1/:ezmlm-idx.0: | |
1565 | +c:::644:/cat1/:ezmlm-gate.0: | |
1566 | +c:::644:/cat1/:ezmlm-tstdig.0: | |
1567 | +c:::644:/cat1/:ezmlm-get.0: | |
1568 | +c:::644:/cat1/:ezmlm-check.0: | |
1569 | +c:::644:/cat1/:ezmlm-clean.0: | |
1570 | +c:::644:/cat1/:ezmlm-limit.0: | |
1571 | +c:::644:/cat1/:ezmlm-cron.0: | |
1572 | +c:::644:/cat1/:ezmlm-accept.0: | |
1573 | +c:::644:/cat1/:ezmlm-archive.0: | |
1574 | +c:::644:/cat1/:ezmlm-issubn.0: | |
1575 | --- BIN 1997/07/02 23:10:49 1.1 | |
1576 | +++ BIN 1999/10/10 03:41:20 1.23 | |
1577 | @@ -1,11 +1,31 @@ | |
1578 | d:::755::: | |
1579 | +c:::755:/:ezmlm-accept: | |
1580 | +c:::755:/:ezmlm-archive: | |
1581 | +c:::755:/:ezmlm-issubn: | |
1582 | +c:::755:/:ezmlm-glconf: | |
1583 | c:::755:/:ezmlm-make: | |
1584 | +c:::755:/:ezmlm-mktab: | |
1585 | c:::755:/:ezmlm-manage: | |
1586 | c:::755:/:ezmlm-send: | |
1587 | +c:::755:/:ezmlm-request: | |
1588 | c:::755:/:ezmlm-reject: | |
1589 | c:::755:/:ezmlm-return: | |
1590 | c:::755:/:ezmlm-warn: | |
1591 | c:::755:/:ezmlm-weed: | |
1592 | c:::755:/:ezmlm-list: | |
1593 | +c:::755:/:ezmlm-clean: | |
1594 | +c:::755:/:ezmlm-cron: | |
1595 | +c:::755:/:ezmlm-limit: | |
1596 | +c:::755:/:ezmlm-store: | |
1597 | +c:::755:/:ezmlm-split: | |
1598 | +c:::755:/:ezmlm-moderate: | |
1599 | c:::755:/:ezmlm-sub: | |
1600 | c:::755:/:ezmlm-unsub: | |
1601 | +c:::644:/:ezmlmrc: | |
1602 | +c:::644:/:ezmlmglrc: | |
1603 | +c:::644:/:ezmlmsubrc: | |
1604 | +c:::755:/:ezmlm-idx: | |
1605 | +c:::755:/:ezmlm-check: | |
1606 | +c:::755:/:ezmlm-gate: | |
1607 | +c:::755:/:ezmlm-tstdig: | |
1608 | +c:::755:/:ezmlm-get: | |
1609 | --- VERSION 1997/10/12 19:29:59 1.1 | |
1610 | +++ VERSION 1997/11/08 04:19:44 1.3 | |
1611 | @@ -1 +1,2 @@ | |
1612 | ezmlm 0.53 | |
1613 | +$Name: ezmlm-idx-040 $ | |
1614 | --- Makefile 1997/07/02 22:17:50 1.1 | |
1615 | +++ Makefile 1999/12/23 02:42:12 1.117 | |
1616 | @@ -1,7 +1,14 @@ | |
1617 | +#$Id: Makefile,v 1.117 1999/12/23 02:42:12 lindberg Exp $ | |
1618 | +#$Name: ezmlm-idx-040 $ | |
1619 | SHELL=/bin/sh | |
1620 | - | |
1621 | +SQLCC=`head -1 conf-sqlcc` | |
1622 | +SQLLD=`head -1 conf-sqlld` | |
1623 | default: it | |
1624 | ||
1625 | +clean: \ | |
1626 | +TARGETS | |
1627 | + rm -f `cat TARGETS` | |
1628 | + | |
1629 | alloc.0: \ | |
1630 | alloc.3 | |
1631 | nroff -man alloc.3 > alloc.0 | |
1632 | @@ -18,6 +25,10 @@ | |
1633 | compile alloc_re.c alloc.h alloc_re.c byte.h alloc_re.c | |
1634 | ./compile alloc_re.c | |
1635 | ||
1636 | +author.o: \ | |
1637 | +compile author.c mime.h | |
1638 | + ./compile author.c | |
1639 | + | |
1640 | auto-ccld.sh: \ | |
1641 | conf-cc conf-ld warn-auto.sh | |
1642 | ( cat warn-auto.sh; \ | |
1643 | @@ -34,6 +45,14 @@ | |
1644 | exit.h auto-str.c | |
1645 | ./compile auto-str.c | |
1646 | ||
1647 | +auto_cron.c: \ | |
1648 | +auto-str conf-cron | |
1649 | + ./auto-str auto_cron `head -1 conf-cron` > auto_cron.c | |
1650 | + | |
1651 | +auto_cron.o: \ | |
1652 | +compile auto_cron.c | |
1653 | + ./compile auto_cron.c | |
1654 | + | |
1655 | auto_bin.c: \ | |
1656 | auto-str conf-bin | |
1657 | ./auto-str auto_bin `head -1 conf-bin` > auto_bin.c | |
1658 | @@ -79,13 +98,18 @@ | |
1659 | nroff -man case.3 > case.0 | |
1660 | ||
1661 | case.a: \ | |
1662 | -makelib case_diffb.o case_lowerb.o case_startb.o | |
1663 | - ./makelib case.a case_diffb.o case_lowerb.o case_startb.o | |
1664 | +makelib case_diffb.o case_diffs.o case_starts.o case_lowerb.o case_startb.o | |
1665 | + ./makelib case.a case_diffb.o case_lowerb.o case_startb.o \ | |
1666 | + case_diffs.o case_starts.o | |
1667 | ||
1668 | case_diffb.o: \ | |
1669 | compile case_diffb.c case.h case_diffb.c | |
1670 | ./compile case_diffb.c | |
1671 | ||
1672 | +case_diffs.o: \ | |
1673 | +compile case_diffs.c case.h | |
1674 | + ./compile case_diffs.c | |
1675 | + | |
1676 | case_lowerb.o: \ | |
1677 | compile case_lowerb.c case.h case_lowerb.c | |
1678 | ./compile case_lowerb.c | |
1679 | @@ -94,6 +118,15 @@ | |
1680 | compile case_startb.c case.h case_startb.c | |
1681 | ./compile case_startb.c | |
1682 | ||
1683 | +checktag.o: \ | |
1684 | +compile checktag.c stralloc.h scan.h fmt.h strerr.h cookie.h \ | |
1685 | + errtxt.h subscribe.h conf-sqlcc | |
1686 | + ./compile checktag.c ${SQLCC} | |
1687 | + | |
1688 | +case_starts.o: \ | |
1689 | +compile case_starts.c case.h | |
1690 | + ./compile case_starts.c | |
1691 | + | |
1692 | compile: \ | |
1693 | make-compile warn-auto.sh systype | |
1694 | ( cat warn-auto.sh; ./make-compile "`cat systype`" ) > \ | |
1695 | @@ -110,6 +143,19 @@ | |
1696 | surfpcs.h uint32.h surfpcs.h cookie.c | |
1697 | ./compile cookie.c | |
1698 | ||
1699 | +copy.o: \ | |
1700 | +compile copy.c copy.h stralloc.h substdio.h str.h readwrite.h open.h qmail.h \ | |
1701 | +strerr.h getln.h case.h errtxt.h mime.h error.h quote.h | |
1702 | + ./compile copy.c | |
1703 | + | |
1704 | +date2yyyymm.o:\ | |
1705 | +compile date2yyyymm.c yyyymm.h | |
1706 | + ./compile date2yyyymm.c | |
1707 | + | |
1708 | +dateline.o:\ | |
1709 | +compile dateline.c yyyymm.h stralloc.h fmt.h | |
1710 | + ./compile dateline.c | |
1711 | + | |
1712 | date822fmt.o: \ | |
1713 | compile date822fmt.c datetime.h date822fmt.c fmt.h date822fmt.c \ | |
1714 | date822fmt.h date822fmt.c | |
1715 | @@ -133,13 +179,46 @@ | |
1716 | && cat direntry.h2 || cat direntry.h1 ) > direntry.h | |
1717 | rm -f trydrent.o | |
1718 | ||
1719 | +concatHDR.o: \ | |
1720 | +compile concatHDR.c mime.h stralloc.h strerr.h byte.h errtxt.h | |
1721 | + ./compile concatHDR.c | |
1722 | + | |
1723 | +decodeB.o: \ | |
1724 | +compile decodeB.c mime.h uint32.h stralloc.h strerr.h errtxt.h | |
1725 | + ./compile decodeB.c | |
1726 | + | |
1727 | +decodeHDR.o: \ | |
1728 | +compile decodeHDR.c mime.h stralloc.h strerr.h error.h case.h byte.h \ | |
1729 | +uint32.h errtxt.h | |
1730 | + ./compile decodeHDR.c | |
1731 | + | |
1732 | +decodeQ.o: \ | |
1733 | +compile decodeQ.c mime.h stralloc.h strerr.h errtxt.h | |
1734 | + ./compile decodeQ.c | |
1735 | + | |
1736 | +encodeB.o: \ | |
1737 | +compile encodeB.c mime.h uint32.h stralloc.h strerr.h errtxt.h | |
1738 | + ./compile encodeB.c | |
1739 | + | |
1740 | +encodeQ.o: \ | |
1741 | +compile encodeQ.c mime.h stralloc.h strerr.h errtxt.h | |
1742 | + ./compile encodeQ.c | |
1743 | + | |
1744 | +unfoldHDR.o: \ | |
1745 | +compile unfoldHDR.c mime.h stralloc.h strerr.h errtxt.h | |
1746 | + ./compile unfoldHDR.c | |
1747 | + | |
1748 | env.0: \ | |
1749 | env.3 | |
1750 | nroff -man env.3 > env.0 | |
1751 | ||
1752 | env.a: \ | |
1753 | -makelib envread.o | |
1754 | - ./makelib env.a envread.o | |
1755 | +makelib env.o envread.o | |
1756 | + ./makelib env.a env.o envread.o | |
1757 | + | |
1758 | +env.o: \ | |
1759 | +compile env.c env.h str.h | |
1760 | + ./compile env.c | |
1761 | ||
1762 | envread.o: \ | |
1763 | compile envread.c env.h envread.c str.h envread.c | |
1764 | @@ -169,28 +248,281 @@ | |
1765 | error_temp.3 | |
1766 | nroff -man error_temp.3 > error_temp.0 | |
1767 | ||
1768 | +ezmlm-accept: \ | |
1769 | +ezmlm-accept.sh warn-auto.sh conf-bin | |
1770 | + (cat warn-auto.sh; \ | |
1771 | + echo EZPATH=\'`head -1 conf-bin`\'; \ | |
1772 | + cat ezmlm-accept.sh ) > ezmlm-accept | |
1773 | + | |
1774 | +ezmlm-accept.0: \ | |
1775 | +ezmlm-accept.1 | |
1776 | + nroff -man ezmlm-accept.1 > ezmlm-accept.0 | |
1777 | + | |
1778 | +ezmlm-archive: \ | |
1779 | +load ezmlm-archive.o getconf.o slurpclose.o slurp.o getln.a sig.a \ | |
1780 | +strerr.a substdio.a stralloc.a alloc.a error.a str.a fs.a open.a \ | |
1781 | +lock.a fd.a getopt.a idxthread.o yyyymm.a | |
1782 | + ./load ezmlm-archive getconf.o slurpclose.o slurp.o getln.a sig.a \ | |
1783 | + idxthread.o yyyymm.a strerr.a substdio.a stralloc.a alloc.a \ | |
1784 | + error.a str.a fs.a open.a lock.a fd.a getopt.a | |
1785 | + | |
1786 | +ezmlm-archive.0: \ | |
1787 | +ezmlm-archive.1 | |
1788 | + nroff -man ezmlm-archive.1 > ezmlm-archive.0 | |
1789 | + | |
1790 | +ezmlm-archive.o: \ | |
1791 | +compile ezmlm-archive.c alloc.h error.h stralloc.h gen_alloc.h str.h \ | |
1792 | +sig.h slurp.h getconf.h strerr.h getln.h substdio.h readwrite.h \ | |
1793 | +makehash.h fmt.h strerr.h errtxt.h idx.h idxthread.h sgetopt.h subgetopt.h | |
1794 | + ./compile ezmlm-archive.c | |
1795 | + | |
1796 | +ezmlm-cgi: \ | |
1797 | +load ezmlm-cgi.o getconf.o slurpclose.o slurp.o constmap.o getln.a sig.a \ | |
1798 | +mime.a strerr.a substdio.a stralloc.a alloc.a error.a str.a fs.a open.a \ | |
1799 | +lock.a fd.a getopt.a env.a case.a datetime.o now.o mime.a wait.a yyyymm.a | |
1800 | + ./load ezmlm-cgi getconf.o slurpclose.o slurp.o constmap.o getln.a \ | |
1801 | + mime.a sig.a env.a case.a datetime.o now.o mime.a wait.a yyyymm.a \ | |
1802 | + strerr.a substdio.a stralloc.a alloc.a error.a str.a fs.a open.a \ | |
1803 | + lock.a fd.a getopt.a | |
1804 | + | |
1805 | +ezmlm-cgi.0: \ | |
1806 | +ezmlm-cgi.1 | |
1807 | + nroff -man ezmlm-cgi.1 > ezmlm-cgi.0 | |
1808 | + | |
1809 | +ezmlm-cgi.o: \ | |
1810 | +compile ezmlm-cgi.c alloc.h error.h stralloc.h gen_alloc.h str.h \ | |
1811 | +sig.h slurp.h getconf.h strerr.h getln.h substdio.h readwrite.h env.h \ | |
1812 | +makehash.h fmt.h strerr.h errtxt.h idx.h idxthread.h mime.h \ | |
1813 | +constmap.h sgetopt.h subgetopt.h datetime.h now.h fork.h wait.h | |
1814 | + ./compile ezmlm-cgi.c | |
1815 | + | |
1816 | +ezmlm-check: \ | |
1817 | +ezmlm-check.sh warn-auto.sh conf-bin | |
1818 | + (cat warn-auto.sh; \ | |
1819 | + echo EZPATH=\'`head -1 conf-bin`\'; \ | |
1820 | + echo QMPATH=\'`head -1 conf-qmail`\'; \ | |
1821 | + cat ezmlm-check.sh ) > ezmlm-check | |
1822 | + | |
1823 | +ezmlm-check.0: \ | |
1824 | +ezmlm-check.1 | |
1825 | + nroff -man ezmlm-check.1 > ezmlm-check.0 | |
1826 | + | |
1827 | +ezmlm-clean: \ | |
1828 | +load ezmlm-clean.o auto_qmail.o getconf.o copy.o mime.a \ | |
1829 | +now.o datetime.o date822fmt.o slurpclose.o slurp.o qmail.o quote.o \ | |
1830 | +getln.a env.a sig.a strerr.a substdio.a stralloc.a alloc.a surf.a \ | |
1831 | +error.a str.a fs.a case.a open.a seek.a wait.a lock.a fd.a cookie.o getopt.a | |
1832 | + ./load ezmlm-clean auto_qmail.o getconf.o copy.o mime.a \ | |
1833 | + now.o datetime.o date822fmt.o slurpclose.o \ | |
1834 | + slurp.o qmail.o quote.o getln.a env.a sig.a strerr.a \ | |
1835 | + substdio.a stralloc.a alloc.a error.a str.a fs.a case.a \ | |
1836 | + open.a seek.a wait.a lock.a fd.a cookie.o getopt.a surf.a | |
1837 | + | |
1838 | +ezmlm-clean.0: \ | |
1839 | +ezmlm-clean.1 | |
1840 | + nroff -man ezmlm-clean.1 > ezmlm-clean.0 | |
1841 | + | |
1842 | +ezmlm-clean.o: \ | |
1843 | +compile ezmlm-clean.c error.h stralloc.h gen_alloc.h str.h \ | |
1844 | +env.h sig.h slurp.h getconf.h strerr.h byte.h getln.h case.h copy.h mime.h \ | |
1845 | +qmail.h substdio.h readwrite.h seek.h quote.h datetime.h now.h cookie.h \ | |
1846 | +date822fmt.h direntry.h fmt.h strerr.h errtxt.h idx.h sgetopt.h subgetopt.h | |
1847 | + ./compile ezmlm-clean.c | |
1848 | + | |
1849 | +ezmlm-cron: \ | |
1850 | +load ezmlm-cron.o strerr.a stralloc.a alloc.a error.a open.a auto_qmail.o \ | |
1851 | +getopt.a getln.a str.a substdio.a sig.a fs.a open.a fd.a lock.a wait.a \ | |
1852 | +case.a auto_cron.o | |
1853 | + ./load ezmlm-cron getopt.a getln.a strerr.a substdio.a \ | |
1854 | + stralloc.a alloc.a sig.a fs.a open.a fd.a lock.a error.a \ | |
1855 | + wait.a case.a str.a auto_qmail.o auto_cron.o | |
1856 | + | |
1857 | +ezmlm-cron.0: \ | |
1858 | +ezmlm-cron.1 | |
1859 | + nroff -man ezmlm-cron.1 > ezmlm-cron.0 | |
1860 | + | |
1861 | +ezmlm-cron.o: \ | |
1862 | +compile ezmlm-cron.c strerr.h substdio.h stralloc.h error.h str.h \ | |
1863 | +fork.h readwrite.h wait.h errtxt.h idx.h sgetopt.h auto_qmail.h \ | |
1864 | +fmt.h auto_cron.h | |
1865 | + ./compile ezmlm-cron.c | |
1866 | + | |
1867 | +ezmlm-gate: \ | |
1868 | +load ezmlm-gate.o subdb.a auto_bin.o getopt.a getln.a env.a sig.a strerr.a \ | |
1869 | +stralloc.a alloc.a error.a str.a case.a wait.a substdio.a open.a lock.a \ | |
1870 | +fs.a getconf.o slurpclose.o slurp.o seek.a conf-sqlld | |
1871 | + ./load ezmlm-gate subdb.a getconf.o slurpclose.o slurp.o \ | |
1872 | + getopt.a getln.a auto_bin.o env.a sig.a fs.a \ | |
1873 | + strerr.a substdio.a stralloc.a alloc.a error.a str.a case.a wait.a \ | |
1874 | + open.a lock.a seek.a ${SQLLD} | |
1875 | + | |
1876 | +ezmlm-gate.0: \ | |
1877 | +ezmlm-gate.1 | |
1878 | + nroff -man ezmlm-gate.1 > ezmlm-gate.0 | |
1879 | + | |
1880 | +ezmlm-gate.o: \ | |
1881 | +compile ezmlm-gate.c idx.h errtxt.h subscribe.h auto_bin.h \ | |
1882 | +sgetopt.h subgetopt.h substdio.h getconf.h \ | |
1883 | +env.h sig.h strerr.h stralloc.h alloc.h error.h str.h case.h \ | |
1884 | +fork.h wait.h exit.h getln.h open.h | |
1885 | + ./compile ezmlm-gate.c | |
1886 | + | |
1887 | +ezmlm-get: \ | |
1888 | +load ezmlm-get.o idxthread.o subdb.a auto_qmail.o getopt.a now.o getconf.o \ | |
1889 | +datetime.o date822fmt.o slurpclose.o slurp.o qmail.o quote.o makehash.o \ | |
1890 | +cookie.o surf.a yyyymm.a \ | |
1891 | +constmap.o getln.a env.a sig.a strerr.a substdio.a mime.a stralloc.a alloc.a \ | |
1892 | +error.a str.a fs.a case.a open.a seek.a wait.a lock.a fd.a copy.o conf-sqlld | |
1893 | + ./load ezmlm-get idxthread.o subdb.a auto_qmail.o getopt.a getconf.o \ | |
1894 | + now.o datetime.o date822fmt.o cookie.o makehash.o slurpclose.o slurp.o \ | |
1895 | + yyyymm.a \ | |
1896 | + constmap.o substdio.a copy.o mime.a strerr.a stralloc.a alloc.a \ | |
1897 | + qmail.o quote.o surf.a getln.a env.a sig.a \ | |
1898 | + error.a str.a fs.a case.a \ | |
1899 | + open.a seek.a wait.a lock.a fd.a ${SQLLD} | |
1900 | + | |
1901 | +ezmlm-get.o: \ | |
1902 | +compile ezmlm-get.c idx.h errtxt.h error.h getconf.h stralloc.h gen_alloc.h \ | |
1903 | +str.h cookie.h env.h sig.h slurp.h strerr.h byte.h getln.h case.h qmail.h \ | |
1904 | +substdio.h readwrite.h seek.h quote.h sgetopt.h subgetopt.h datetime.h now.h \ | |
1905 | +date822fmt.h fmt.h strerr.h copy.h errtxt.h idx.h idxthread.h mime.h \ | |
1906 | +constmap.h makehash.h | |
1907 | + ./compile ezmlm-get.c | |
1908 | + | |
1909 | +ezmlm-get.0: \ | |
1910 | +ezmlm-get.1 | |
1911 | + nroff -man ezmlm-get.1 > ezmlm-get.0 | |
1912 | + | |
1913 | +ezmlm-greturn: \ | |
1914 | +load ezmlm-greturn.o quote.o getconf.o subdb.a log.o \ | |
1915 | +slurpclose.o slurp.o now.o cookie.o surf.a lock.a env.a sig.a \ | |
1916 | +strerr.a getln.a substdio.a stralloc.a alloc.a error.a str.a fs.a \ | |
1917 | +case.a open.a conf-sqlld | |
1918 | + ./load ezmlm-greturn quote.o getconf.o subdb.a \ | |
1919 | + log.o slurpclose.o slurp.o now.o cookie.o surf.a lock.a \ | |
1920 | + env.a sig.a strerr.a getln.a substdio.a stralloc.a alloc.a \ | |
1921 | + error.a str.a fs.a case.a open.a ${SQLLD} | |
1922 | + | |
1923 | +ezmlm-greturn.0: \ | |
1924 | +ezmlm-greturn.1 | |
1925 | + nroff -man ezmlm-greturn.1 > ezmlm-greturn.0 | |
1926 | + | |
1927 | +ezmlm-greturn.o: \ | |
1928 | +compile ezmlm-greturn.c stralloc.h gen_alloc.h stralloc.h str.h env.h sig.h \ | |
1929 | +slurp.h getconf.h strerr.h byte.h case.h getln.h substdio.h error.h \ | |
1930 | +quote.h readwrite.h fmt.h datetime.h now.h cookie.h \ | |
1931 | +strerr.h subscribe.h | |
1932 | + ./compile ezmlm-greturn.c | |
1933 | + | |
1934 | +ezmlm-gwarn: \ | |
1935 | +load ezmlm-gwarn.o auto_qmail.o getconf.o mime.a cookie.o subdb.a now.o \ | |
1936 | +slurpclose.o slurp.o quote.o datetime.o date822fmt.o qmail.o surf.a \ | |
1937 | +case.a strerr.a sig.a getln.a substdio.a stralloc.a alloc.a error.a \ | |
1938 | +open.a lock.a str.a fs.a fd.a wait.a copy.o getopt.a conf-sqlld | |
1939 | + ./load ezmlm-gwarn auto_qmail.o getconf.o mime.a \ | |
1940 | + cookie.o subdb.a getopt.a \ | |
1941 | + now.o slurpclose.o slurp.o quote.o datetime.o date822fmt.o \ | |
1942 | + qmail.o surf.a case.a strerr.a sig.a getln.a substdio.a \ | |
1943 | + stralloc.a alloc.a error.a open.a lock.a str.a fs.a fd.a \ | |
1944 | + wait.a copy.o ${SQLLD} | |
1945 | + | |
1946 | +ezmlm-gwarn.0: \ | |
1947 | +ezmlm-gwarn.1 | |
1948 | + nroff -man ezmlm-gwarn.1 > ezmlm-gwarn.0 | |
1949 | + | |
1950 | +ezmlm-gwarn.o: \ | |
1951 | +compile ezmlm-gwarn.c direntry.h readwrite.h getln.h \ | |
1952 | +substdio.h stralloc.h gen_alloc.h slurp.h getconf.h byte.h error.h str.h \ | |
1953 | +sig.h now.h datetime.h date822fmt.h fmt.h cookie.h qmail.h substdio.h \ | |
1954 | +qmail.h copy.h mime.h idx.h errtxt.h sgetopt.h subgetopt.h | |
1955 | + ./compile ezmlm-gwarn.c | |
1956 | + | |
1957 | +ezmlm-idx: \ | |
1958 | +load ezmlm-idx.o slurp.o slurpclose.o mime.a wait.a getopt.a \ | |
1959 | +getln.a strerr.a sig.h sig.a open.a lock.a substdio.a stralloc.a \ | |
1960 | +alloc.a error.a str.a fd.a case.a fs.a getconf.o makehash.o surf.o mime.a | |
1961 | + ./load ezmlm-idx \ | |
1962 | + mime.a slurp.o slurpclose.o wait.a getln.a strerr.a sig.a open.a \ | |
1963 | + lock.a mime.a substdio.a stralloc.a alloc.a error.a str.a fd.a \ | |
1964 | + getopt.a case.a fs.a getconf.o makehash.o surf.o | |
1965 | + | |
1966 | +ezmlm-idx.o: \ | |
1967 | +compile ezmlm-idx.c stralloc.h getconf.h \ | |
1968 | +substdio.h subfd.h strerr.h error.h sgetopt.h \ | |
1969 | +lock.h sig.h slurp.h open.h getln.h case.h \ | |
1970 | +str.h fmt.h readwrite.h exit.h idx.h mime.h errtxt.h uint32.h | |
1971 | + ./compile ezmlm-idx.c | |
1972 | + | |
1973 | +ezmlm-idx.0: \ | |
1974 | +ezmlm-idx.1 | |
1975 | + nroff -man ezmlm-idx.1 > ezmlm-idx.0 | |
1976 | + | |
1977 | +ezmlm-glconf: \ | |
1978 | +ezmlm-glconf.sh warn-auto.sh conf-bin | |
1979 | + (cat warn-auto.sh; \ | |
1980 | + echo EZPATH=\'`head -1 conf-bin`\'; \ | |
1981 | + cat ezmlm-glconf.sh ) > ezmlm-glconf | |
1982 | + | |
1983 | +ezmlm-glconf.0: \ | |
1984 | +ezmlm-glconf.1 | |
1985 | + nroff -man ezmlm-glconf.1 > ezmlm-glconf.0 | |
1986 | + | |
1987 | +ezmlm-issubn: \ | |
1988 | +load ezmlm-issubn.o subdb.a getconf.o slurpclose.o slurp.o \ | |
1989 | +env.a fs.a strerr.a getln.a getopt.a conf-sqlld \ | |
1990 | +substdio.a stralloc.a alloc.a error.a str.a case.a open.a lock.a | |
1991 | + ./load ezmlm-issubn subdb.a getconf.o slurpclose.o slurp.o \ | |
1992 | + getopt.a env.a fs.a strerr.a \ | |
1993 | + getln.a substdio.a stralloc.a alloc.a error.a str.a case.a \ | |
1994 | + open.a lock.a ${SQLLD} | |
1995 | + | |
1996 | +ezmlm-issubn.0: \ | |
1997 | +ezmlm-issubn.1 | |
1998 | + nroff -man ezmlm-issubn.1 > ezmlm-issubn.0 | |
1999 | + | |
2000 | +ezmlm-issubn.o: \ | |
2001 | +compile ezmlm-issubn.c strerr.h subscribe.h env.h errtxt.h sgetopt.h idx.h | |
2002 | + ./compile ezmlm-issubn.c | |
2003 | + | |
2004 | +ezmlm-limit: \ | |
2005 | +load ezmlm-limit.o getconf.o slurpclose.o slurp.o substdio.a stralloc.a \ | |
2006 | +alloc.a error.a str.a case.a open.a lock.a getopt.a fs.a sig.a now.o | |
2007 | + ./load ezmlm-limit getconf.o slurpclose.o slurp.o getopt.a \ | |
2008 | + strerr.a substdio.a stralloc.a alloc.a error.a str.a case.a \ | |
2009 | + open.a lock.a fs.a sig.a now.o | |
2010 | + | |
2011 | +ezmlm-limit.0: \ | |
2012 | +ezmlm-limit.1 | |
2013 | + nroff -man ezmlm-limit.1 > ezmlm-limit.0 | |
2014 | + | |
2015 | +ezmlm-limit.o: \ | |
2016 | +compile ezmlm-limit.c stralloc.h strerr.h substdio.h readwrite.h sig.h lock.h \ | |
2017 | +getconf.h fmt.h now.h sgetopt.h error.h errtxt.h idx.h datetime.h | |
2018 | + ./compile ezmlm-limit.c | |
2019 | + | |
2020 | ezmlm-list: \ | |
2021 | -load ezmlm-list.o strerr.a getln.a substdio.a stralloc.a alloc.a \ | |
2022 | -error.a open.a str.a | |
2023 | - ./load ezmlm-list strerr.a getln.a substdio.a stralloc.a \ | |
2024 | - alloc.a error.a open.a str.a | |
2025 | +load ezmlm-list.o subdb.a fs.a getconf.o slurpclose.o slurp.o \ | |
2026 | +strerr.a getln.a substdio.a stralloc.a alloc.a \ | |
2027 | +error.a open.a str.a case.a getopt.a conf-sqlld | |
2028 | + ./load ezmlm-list subdb.a fs.a getconf.o slurpclose.o slurp.o \ | |
2029 | + strerr.a getln.a getopt.a substdio.a stralloc.a \ | |
2030 | + alloc.a error.a open.a str.a case.a ${SQLLD} | |
2031 | ||
2032 | ezmlm-list.0: \ | |
2033 | ezmlm-list.1 | |
2034 | nroff -man ezmlm-list.1 > ezmlm-list.0 | |
2035 | ||
2036 | ezmlm-list.o: \ | |
2037 | -compile ezmlm-list.c stralloc.h gen_alloc.h stralloc.h ezmlm-list.c \ | |
2038 | -substdio.h ezmlm-list.c getln.h ezmlm-list.c strerr.h ezmlm-list.c \ | |
2039 | -error.h ezmlm-list.c readwrite.h ezmlm-list.c exit.h ezmlm-list.c \ | |
2040 | -open.h ezmlm-list.c | |
2041 | +compile ezmlm-list.c stralloc.h gen_alloc.h substdio.h getln.h strerr.h \ | |
2042 | +error.h readwrite.h exit.h open.h errtxt.h subscribe.h exit.h sgetopt.h \ | |
2043 | +idx.h fmt.h | |
2044 | ./compile ezmlm-list.c | |
2045 | ||
2046 | ezmlm-make: \ | |
2047 | -load ezmlm-make.o auto_bin.o open.a getopt.a substdio.a strerr.a \ | |
2048 | -stralloc.a alloc.a error.a str.a | |
2049 | - ./load ezmlm-make auto_bin.o open.a getopt.a substdio.a \ | |
2050 | - strerr.a stralloc.a alloc.a error.a str.a | |
2051 | +load ezmlm-make.o auto_bin.o open.a getln.a getopt.a substdio.a strerr.a \ | |
2052 | +stralloc.a alloc.a error.a lock.a str.a | |
2053 | + ./load ezmlm-make auto_bin.o open.a getln.a getopt.a substdio.a \ | |
2054 | + strerr.a stralloc.a alloc.a error.a lock.a str.a | |
2055 | ||
2056 | ezmlm-make.0: \ | |
2057 | ezmlm-make.1 | |
2058 | @@ -202,19 +534,20 @@ | |
2059 | strerr.h ezmlm-make.c exit.h ezmlm-make.c readwrite.h ezmlm-make.c \ | |
2060 | open.h ezmlm-make.c substdio.h ezmlm-make.c str.h ezmlm-make.c \ | |
2061 | auto_bin.h ezmlm-make.c ezmlm-make.c ezmlm-make.c ezmlm-make.c \ | |
2062 | -ezmlm-make.c | |
2063 | +errtxt.h idx.h getln.h lock.h | |
2064 | ./compile ezmlm-make.c | |
2065 | ||
2066 | ezmlm-manage: \ | |
2067 | -load ezmlm-manage.o auto_qmail.o getconf.o subscribe.o log.o cookie.o \ | |
2068 | +load ezmlm-manage.o auto_qmail.o getconf.o subdb.a log.o cookie.o \ | |
2069 | now.o datetime.o date822fmt.o slurpclose.o slurp.o qmail.o quote.o \ | |
2070 | surf.a getln.a env.a sig.a strerr.a substdio.a stralloc.a alloc.a \ | |
2071 | -error.a str.a fs.a case.a open.a seek.a wait.a lock.a fd.a | |
2072 | - ./load ezmlm-manage auto_qmail.o getconf.o subscribe.o \ | |
2073 | - log.o cookie.o now.o datetime.o date822fmt.o slurpclose.o \ | |
2074 | +error.a str.a fs.a case.a open.a seek.a wait.a lock.a fd.a getopt.a \ | |
2075 | +mime.a copy.o conf-sqlld | |
2076 | + ./load ezmlm-manage subdb.a auto_qmail.o getconf.o copy.o \ | |
2077 | + mime.a log.o cookie.o now.o datetime.o date822fmt.o slurpclose.o \ | |
2078 | slurp.o qmail.o quote.o surf.a getln.a env.a sig.a strerr.a \ | |
2079 | substdio.a stralloc.a alloc.a error.a str.a fs.a case.a \ | |
2080 | - open.a seek.a wait.a lock.a fd.a | |
2081 | + open.a seek.a wait.a lock.a fd.a getopt.a ${SQLLD} | |
2082 | ||
2083 | ezmlm-manage.0: \ | |
2084 | ezmlm-manage.1 | |
2085 | @@ -231,35 +564,84 @@ | |
2086 | quote.h ezmlm-manage.c datetime.h ezmlm-manage.c now.h datetime.h \ | |
2087 | datetime.h now.h ezmlm-manage.c date822fmt.h ezmlm-manage.c fmt.h \ | |
2088 | ezmlm-manage.c subscribe.h strerr.h strerr.h subscribe.h \ | |
2089 | -ezmlm-manage.c cookie.h ezmlm-manage.c | |
2090 | +sgetopt.h subgetopt.h cookie.h idx.h errtxt.h copy.h | |
2091 | ./compile ezmlm-manage.c | |
2092 | ||
2093 | +ezmlm-mktab.0: \ | |
2094 | +ezmlm-mktab.1 | |
2095 | + nroff -man ezmlm-mktab.1 > ezmlm-mktab.0 | |
2096 | + | |
2097 | +ezmlm-moderate: \ | |
2098 | +load ezmlm-moderate.o auto_qmail.o getconf.o auto_bin.o copy.o mime.a \ | |
2099 | +cookie.o now.o datetime.o date822fmt.o slurpclose.o slurp.o qmail.o quote.o \ | |
2100 | +surf.a getln.a env.a sig.a strerr.a substdio.a stralloc.a alloc.a \ | |
2101 | +error.a str.a fs.a case.a open.a seek.a wait.a lock.a fd.a getopt.a | |
2102 | + ./load ezmlm-moderate auto_qmail.o getconf.o copy.o mime.a \ | |
2103 | + cookie.o now.o datetime.o date822fmt.o slurpclose.o \ | |
2104 | + slurp.o qmail.o quote.o surf.a getln.a env.a sig.a strerr.a \ | |
2105 | + substdio.a stralloc.a alloc.a error.a str.a fs.a case.a \ | |
2106 | + auto_bin.o open.a seek.a wait.a lock.a fd.a getopt.a | |
2107 | + | |
2108 | +ezmlm-moderate.0: \ | |
2109 | +ezmlm-moderate.1 | |
2110 | + nroff -man ezmlm-moderate.1 > ezmlm-moderate.0 | |
2111 | + | |
2112 | +ezmlm-moderate.o: \ | |
2113 | +compile ezmlm-moderate.c error.h stralloc.h gen_alloc.h str.h \ | |
2114 | +env.h sig.h slurp.h getconf.h strerr.h byte.h getln.h case.h \ | |
2115 | +qmail.h substdio.h readwrite.h seek.h quote.h datetime.h now.h \ | |
2116 | +date822fmt.h fmt.h strerr.h cookie.h errtxt.h idx.h copy.h mime.h \ | |
2117 | +subgetopt.h sgetopt.h auto_bin.h fork.h wait.h | |
2118 | + ./compile ezmlm-moderate.c | |
2119 | + | |
2120 | +ezmlm-request: \ | |
2121 | +load ezmlm-request.o subdb.a getconf.o constmap.o getln.a auto_qmail.o qmail.o \ | |
2122 | +strerr.a slurpclose.o slurp.o getopt.a env.a open.a fd.a sig.a case.a \ | |
2123 | +substdio.a error.a stralloc.a alloc.a str.a case.a fs.a wait.a seek.a \ | |
2124 | +date822fmt.o now.o datetime.o quote.o copy.o mime.a conf-sqlld | |
2125 | + ./load ezmlm-request subdb.a getconf.o constmap.o getln.a auto_qmail.o \ | |
2126 | + qmail.o date822fmt.o datetime.o now.o quote.o \ | |
2127 | + slurpclose.o slurp.o env.a open.a sig.a wait.a getopt.a \ | |
2128 | + strerr.a substdio.a error.a copy.o stralloc.a alloc.a substdio.a \ | |
2129 | + str.a case.a fs.a fd.a sig.a wait.a seek.a mime.a ${SQLLD} | |
2130 | + | |
2131 | +ezmlm-request.0: | |
2132 | + nroff -man ezmlm-request.1 > ezmlm-request.0 | |
2133 | + | |
2134 | +ezmlm-request.o: \ | |
2135 | +compile ezmlm-request.c stralloc.h subfd.h strerr.h error.h qmail.h env.h \ | |
2136 | +sig.h open.h getln.h case.h str.h readwrite.h exit.h substdio.h quote.h \ | |
2137 | +getconf.h constmap.h fmt.h byte.h errtxt.h idx.h datetime.h date822fmt.h \ | |
2138 | +subscribe.h now.h copy.h | |
2139 | + ./compile ezmlm-request.c | |
2140 | + | |
2141 | ezmlm-reject: \ | |
2142 | -load ezmlm-reject.o getln.a strerr.a substdio.a error.a stralloc.a \ | |
2143 | -alloc.a str.a getopt.a case.a | |
2144 | - ./load ezmlm-reject getln.a strerr.a substdio.a error.a \ | |
2145 | - stralloc.a alloc.a str.a getopt.a case.a | |
2146 | +load ezmlm-reject.o getln.a strerr.a substdio.a error.a stralloc.a open.a \ | |
2147 | +qmail.o env.a seek.a fd.a wait.a auto_qmail.o \ | |
2148 | +alloc.a getconf.o slurp.o slurpclose.o str.a getopt.a case.a constmap.o fs.a | |
2149 | + ./load ezmlm-reject qmail.o getln.a strerr.a substdio.a error.a fs.a \ | |
2150 | + env.a constmap.o getconf.o slurp.o slurpclose.o stralloc.a alloc.a \ | |
2151 | + seek.a str.a getopt.a case.a open.a fd.a wait.a auto_qmail.o | |
2152 | ||
2153 | ezmlm-reject.0: \ | |
2154 | ezmlm-reject.1 | |
2155 | nroff -man ezmlm-reject.1 > ezmlm-reject.0 | |
2156 | ||
2157 | ezmlm-reject.o: \ | |
2158 | -compile ezmlm-reject.c strerr.h ezmlm-reject.c substdio.h \ | |
2159 | -ezmlm-reject.c readwrite.h ezmlm-reject.c stralloc.h gen_alloc.h \ | |
2160 | -stralloc.h ezmlm-reject.c getln.h ezmlm-reject.c sgetopt.h \ | |
2161 | -subgetopt.h sgetopt.h ezmlm-reject.c | |
2162 | +compile ezmlm-reject.c strerr.h substdio.h readwrite.h stralloc.h gen_alloc.h \ | |
2163 | +stralloc.h getln.h sgetopt.h subgetopt.h constmap.h getconf.h errtxt.h \ | |
2164 | +scan.h fmt.h idx.h qmail.h env.h seek.h | |
2165 | ./compile ezmlm-reject.c | |
2166 | ||
2167 | ezmlm-return: \ | |
2168 | -load ezmlm-return.o quote.o getconf.o issub.o subscribe.o log.o \ | |
2169 | +load ezmlm-return.o quote.o getconf.o subdb.a log.o \ | |
2170 | slurpclose.o slurp.o now.o cookie.o surf.a lock.a env.a sig.a \ | |
2171 | strerr.a getln.a substdio.a stralloc.a alloc.a error.a str.a fs.a \ | |
2172 | -case.a open.a | |
2173 | - ./load ezmlm-return quote.o getconf.o issub.o subscribe.o \ | |
2174 | +case.a open.a conf-sqlld | |
2175 | + ./load ezmlm-return quote.o getconf.o subdb.a \ | |
2176 | log.o slurpclose.o slurp.o now.o cookie.o surf.a lock.a \ | |
2177 | env.a sig.a strerr.a getln.a substdio.a stralloc.a alloc.a \ | |
2178 | - error.a str.a fs.a case.a open.a | |
2179 | + error.a str.a fs.a case.a open.a ${SQLLD} | |
2180 | ||
2181 | ezmlm-return.0: \ | |
2182 | ezmlm-return.1 | |
2183 | @@ -270,43 +652,134 @@ | |
2184 | ezmlm-return.c str.h ezmlm-return.c env.h ezmlm-return.c sig.h \ | |
2185 | ezmlm-return.c slurp.h ezmlm-return.c getconf.h ezmlm-return.c \ | |
2186 | strerr.h ezmlm-return.c byte.h ezmlm-return.c case.h ezmlm-return.c \ | |
2187 | -getln.h ezmlm-return.c substdio.h ezmlm-return.c error.h \ | |
2188 | +getln.h ezmlm-return.c substdio.h ezmlm-return.c error.h direntry.h \ | |
2189 | ezmlm-return.c quote.h ezmlm-return.c readwrite.h ezmlm-return.c \ | |
2190 | fmt.h ezmlm-return.c now.h datetime.h now.h ezmlm-return.c cookie.h \ | |
2191 | ezmlm-return.c subscribe.h strerr.h strerr.h subscribe.h \ | |
2192 | -ezmlm-return.c issub.h strerr.h strerr.h issub.h ezmlm-return.c | |
2193 | +strerr.h strerr.h | |
2194 | ./compile ezmlm-return.c | |
2195 | ||
2196 | ezmlm-send: \ | |
2197 | load ezmlm-send.o auto_qmail.o getconf.o qmail.o constmap.o slurp.o \ | |
2198 | -slurpclose.o wait.a getln.a strerr.a sig.a env.a open.a lock.a \ | |
2199 | -substdio.a stralloc.a alloc.a error.a str.a fd.a case.a fs.a | |
2200 | - ./load ezmlm-send auto_qmail.o getconf.o qmail.o \ | |
2201 | - constmap.o slurp.o slurpclose.o wait.a getln.a strerr.a \ | |
2202 | - sig.a env.a open.a lock.a substdio.a stralloc.a alloc.a \ | |
2203 | - error.a str.a fd.a case.a fs.a | |
2204 | +slurpclose.o wait.a getln.a strerr.a sig.a env.a open.a lock.a conf-sqlld \ | |
2205 | +substdio.a cookie.o stralloc.a alloc.a error.a str.a fd.a case.a fs.a surf.a \ | |
2206 | +getopt.a copy.o mime.a subdb.a makehash.o surf.o makehash.o str.a quote.o | |
2207 | + ./load ezmlm-send subdb.a cookie.o surf.a auto_qmail.o getconf.o \ | |
2208 | + getopt.a qmail.o quote.o constmap.o slurp.o slurpclose.o \ | |
2209 | + wait.a getln.a strerr.a \ | |
2210 | + sig.a env.a open.a lock.a substdio.a stralloc.a alloc.a error.a \ | |
2211 | + fd.a case.a fs.a getopt.a copy.o mime.a makehash.o str.a ${SQLLD} | |
2212 | ||
2213 | ezmlm-send.0: \ | |
2214 | ezmlm-send.1 | |
2215 | nroff -man ezmlm-send.1 > ezmlm-send.0 | |
2216 | ||
2217 | ezmlm-send.o: \ | |
2218 | -compile ezmlm-send.c stralloc.h gen_alloc.h stralloc.h ezmlm-send.c \ | |
2219 | -subfd.h substdio.h subfd.h ezmlm-send.c strerr.h ezmlm-send.c error.h \ | |
2220 | -ezmlm-send.c qmail.h substdio.h substdio.h qmail.h ezmlm-send.c env.h \ | |
2221 | -ezmlm-send.c lock.h ezmlm-send.c sig.h ezmlm-send.c open.h \ | |
2222 | -ezmlm-send.c getln.h ezmlm-send.c case.h ezmlm-send.c scan.h \ | |
2223 | -ezmlm-send.c str.h ezmlm-send.c fmt.h ezmlm-send.c readwrite.h \ | |
2224 | -ezmlm-send.c exit.h ezmlm-send.c substdio.h substdio.h ezmlm-send.c \ | |
2225 | -getconf.h ezmlm-send.c constmap.h ezmlm-send.c | |
2226 | +compile ezmlm-send.c stralloc.h gen_alloc.h copy.h \ | |
2227 | +subfd.h substdio.h strerr.h error.h qmail.h env.h makehash.h sgetopt.h \ | |
2228 | +lock.h sig.h open.h getln.h case.h scan.h str.h fmt.h readwrite.h quote.h \ | |
2229 | +exit.h getconf.h constmap.h byte.h errtxt.h idx.h mime.h subscribe.h \ | |
2230 | +uint32.h | |
2231 | ./compile ezmlm-send.c | |
2232 | ||
2233 | +ezmlm-master: \ | |
2234 | +load ezmlm-master.o auto_qmail.o getconf.o qmail.o constmap.o slurp.o \ | |
2235 | +slurpclose.o wait.a getln.a strerr.a sig.a env.a open.a lock.a conf-sqlld \ | |
2236 | +substdio.a cookie.o stralloc.a alloc.a error.a str.a fd.a case.a fs.a surf.a\ | |
2237 | +getopt.a copy.o mime.a subdb.a makehash.o surf.o makehash.o str.a quote.o | |
2238 | + ./load ezmlm-master subdb.a cookie.o surf.a auto_qmail.o getconf.o \ | |
2239 | + getopt.a qmail.o quote.o constmap.o slurp.o slurpclose.o \ | |
2240 | + wait.a getln.a strerr.a \ | |
2241 | + sig.a env.a open.a lock.a substdio.a stralloc.a alloc.a error.a \ | |
2242 | + fd.a case.a fs.a getopt.a copy.o mime.a makehash.o str.a ${SQLLD} | |
2243 | + | |
2244 | +ezmlm-master.0: \ | |
2245 | +ezmlm-master.1 | |
2246 | + nroff -man ezmlm-master.1 > ezmlm-master.0 | |
2247 | + | |
2248 | +ezmlm-master.o: \ | |
2249 | +compile ezmlm-master.c stralloc.h gen_alloc.h copy.h \ | |
2250 | +subfd.h substdio.h strerr.h error.h qmail.h env.h makehash.h sgetopt.h \ | |
2251 | +lock.h sig.h open.h getln.h case.h scan.h str.h fmt.h readwrite.h quote.h \ | |
2252 | +exit.h getconf.h constmap.h byte.h errtxt.h idx.h mime.h subscribe.h \ | |
2253 | +uint32.h | |
2254 | + ./compile ezmlm-master.c | |
2255 | + | |
2256 | +ezmlm-slave: \ | |
2257 | +load ezmlm-slave.o auto_qmail.o getconf.o qmail.o constmap.o slurp.o \ | |
2258 | +slurpclose.o wait.a getln.a strerr.a sig.a env.a open.a lock.a conf-sqlld \ | |
2259 | +substdio.a cookie.o stralloc.a alloc.a error.a str.a fd.a case.a fs.a surf.a \ | |
2260 | +getopt.a copy.o mime.a subdb.a makehash.o surf.o makehash.o str.a quote.o | |
2261 | + ./load ezmlm-slave subdb.a cookie.o surf.a auto_qmail.o getconf.o \ | |
2262 | + getopt.a qmail.o quote.o constmap.o slurp.o slurpclose.o \ | |
2263 | + wait.a getln.a strerr.a \ | |
2264 | + sig.a env.a open.a lock.a substdio.a stralloc.a alloc.a error.a \ | |
2265 | + fd.a case.a fs.a getopt.a copy.o mime.a makehash.o str.a ${SQLLD} | |
2266 | + | |
2267 | +ezmlm-slave.0: \ | |
2268 | +ezmlm-slave.1 | |
2269 | + nroff -man ezmlm-slave.1 > ezmlm-slave.0 | |
2270 | + | |
2271 | +ezmlm-slave.o: \ | |
2272 | +compile ezmlm-slave.c stralloc.h gen_alloc.h copy.h \ | |
2273 | +subfd.h substdio.h strerr.h error.h qmail.h env.h makehash.h sgetopt.h \ | |
2274 | +lock.h sig.h open.h getln.h case.h scan.h str.h fmt.h readwrite.h quote.h \ | |
2275 | +exit.h getconf.h constmap.h byte.h errtxt.h idx.h mime.h subscribe.h \ | |
2276 | +uint32.h | |
2277 | + ./compile ezmlm-slave.c | |
2278 | + | |
2279 | +ezmlm-split: \ | |
2280 | +load ezmlm-split.o auto_qmail.o getconf.o \ | |
2281 | +slurpclose.o slurp.o qmail.o quote.o wait.a \ | |
2282 | +getln.a env.a sig.a strerr.a substdio.a stralloc.a alloc.a \ | |
2283 | +error.a str.a fs.a case.a open.a fd.a | |
2284 | + ./load ezmlm-split auto_qmail.o getconf.o slurpclose.o \ | |
2285 | + slurp.o qmail.o quote.o getln.a env.a sig.a strerr.a \ | |
2286 | + substdio.a stralloc.a alloc.a error.a str.a fs.a case.a \ | |
2287 | + open.a fd.a wait.a | |
2288 | + | |
2289 | +ezmlm-split.0: \ | |
2290 | +ezmlm-split.1 | |
2291 | + nroff -man ezmlm-split.1 > ezmlm-split.0 | |
2292 | + | |
2293 | +ezmlm-split.o: \ | |
2294 | +compile ezmlm-split.c error.h stralloc.h gen_alloc.h str.h \ | |
2295 | +env.h sig.h getconf.h strerr.h byte.h getln.h case.h \ | |
2296 | +qmail.h substdio.h readwrite.h quote.h \ | |
2297 | +fmt.h errtxt.h idx.h uint32.h | |
2298 | + ./compile ezmlm-split.c | |
2299 | + | |
2300 | +ezmlm-store: \ | |
2301 | +load ezmlm-store.o auto_qmail.o getconf.o subdb.a log.o auto_bin.o mime.a \ | |
2302 | +cookie.o now.o datetime.o date822fmt.o slurpclose.o slurp.o qmail.o quote.o \ | |
2303 | +surf.a getln.a env.a sig.a strerr.a substdio.a stralloc.a alloc.a conf-sqlld \ | |
2304 | +error.a str.a fs.a case.a open.a seek.a wait.a lock.a fd.a getopt.a copy.o | |
2305 | + ./load ezmlm-store auto_qmail.o getconf.o subdb.a copy.o mime.a \ | |
2306 | + log.o cookie.o now.o datetime.o date822fmt.o slurpclose.o \ | |
2307 | + slurp.o qmail.o quote.o surf.a getln.a env.a sig.a strerr.a \ | |
2308 | + substdio.a stralloc.a alloc.a error.a str.a fs.a case.a \ | |
2309 | + open.a seek.a wait.a lock.a fd.a getopt.a auto_bin.o ${SQLLD} | |
2310 | + | |
2311 | +ezmlm-store.0: \ | |
2312 | +ezmlm-store.1 | |
2313 | + nroff -man ezmlm-store.1 > ezmlm-store.0 | |
2314 | + | |
2315 | +ezmlm-store.o: \ | |
2316 | +compile ezmlm-store.c error.h stralloc.h gen_alloc.h str.h \ | |
2317 | +sgetopt.h subgetopt.h fork.h wait.h auto_bin.h lock.h mime.h \ | |
2318 | +env.h sig.h slurp.h getconf.h strerr.h byte.h getln.h case.h \ | |
2319 | +qmail.h substdio.h readwrite.h seek.h quote.h datetime.h now.h \ | |
2320 | +date822fmt.h fmt.h subscribe.h strerr.h cookie.h errtxt.h idx.h copy.h | |
2321 | + ./compile ezmlm-store.c | |
2322 | + | |
2323 | ezmlm-sub: \ | |
2324 | -load ezmlm-sub.o subscribe.o log.o now.o fs.a strerr.a getln.a \ | |
2325 | +load ezmlm-sub.o subdb.a getconf.o slurpclose.o slurp.o \ | |
2326 | +log.o now.o fs.a strerr.a getln.a getopt.a fs.a conf-sqlld \ | |
2327 | substdio.a stralloc.a alloc.a error.a str.a case.a open.a lock.a | |
2328 | - ./load ezmlm-sub subscribe.o log.o now.o fs.a strerr.a \ | |
2329 | + ./load ezmlm-sub subdb.a getconf.o slurpclose.o slurp.o \ | |
2330 | + log.o now.o fs.a strerr.a getopt.a fs.a \ | |
2331 | getln.a substdio.a stralloc.a alloc.a error.a str.a case.a \ | |
2332 | - open.a lock.a | |
2333 | + open.a lock.a ${SQLLD} | |
2334 | ||
2335 | ezmlm-sub.0: \ | |
2336 | ezmlm-sub.1 | |
2337 | @@ -314,57 +787,86 @@ | |
2338 | ||
2339 | ezmlm-sub.o: \ | |
2340 | compile ezmlm-sub.c strerr.h ezmlm-sub.c subscribe.h strerr.h \ | |
2341 | -strerr.h subscribe.h ezmlm-sub.c log.h ezmlm-sub.c | |
2342 | +getln.h substdio.h stralloc.h readwrite.h \ | |
2343 | +strerr.h subscribe.h log.h errtxt.h sgetopt.h scan.h idx.h | |
2344 | ./compile ezmlm-sub.c | |
2345 | ||
2346 | +ezmlm-test: \ | |
2347 | +ezmlm-test.sh warn-auto.sh conf-bin | |
2348 | + (cat warn-auto.sh; \ | |
2349 | + echo QMPATH=\'`head -1 conf-qmail`\'; \ | |
2350 | + cat ezmlm-test.sh ) > ezmlm-test; \ | |
2351 | + chmod 755 ezmlm-test | |
2352 | + | |
2353 | +ezmlm-test.0: \ | |
2354 | +ezmlm-test.1 | |
2355 | + nroff -man ezmlm-test.1 > ezmlm-test.0 | |
2356 | + | |
2357 | +ezmlm-tstdig: \ | |
2358 | +load ezmlm-tstdig.o getopt.a getconf.o now.o fs.a strerr.a getln.a \ | |
2359 | +lock.a \ | |
2360 | +substdio.a stralloc.a alloc.a error.a str.a case.a sig.a \ | |
2361 | +open.a slurpclose.o slurp.o env.a | |
2362 | + ./load ezmlm-tstdig getopt.a getconf.o env.a now.o fs.a strerr.a \ | |
2363 | + lock.a getln.a substdio.a stralloc.a alloc.a error.a str.a case.a \ | |
2364 | + sig.a slurpclose.o slurp.o open.a | |
2365 | + | |
2366 | +ezmlm-tstdig.0: \ | |
2367 | +ezmlm-tstdig.1 | |
2368 | + nroff -man ezmlm-tstdig.1 > ezmlm-tstdig.0 | |
2369 | + | |
2370 | +ezmlm-tstdig.o: \ | |
2371 | +compile ezmlm-tstdig.c strerr.h sgetopt.h getconf.h \ | |
2372 | +sig.h now.h errtxt.h stralloc.h sig.h env.h fmt.h substdio.h readwrite.h \ | |
2373 | +now.h idx.h | |
2374 | + ./compile ezmlm-tstdig.c | |
2375 | + | |
2376 | ezmlm-unsub: \ | |
2377 | -load ezmlm-unsub.o subscribe.o log.o now.o fs.a strerr.a getln.a \ | |
2378 | +load ezmlm-unsub.o subdb.a getconf.o slurpclose.o slurp.o \ | |
2379 | +log.o now.o fs.a strerr.a getln.a getopt.a fs.a conf-sqlld \ | |
2380 | substdio.a stralloc.a alloc.a error.a str.a case.a open.a lock.a | |
2381 | - ./load ezmlm-unsub subscribe.o log.o now.o fs.a strerr.a \ | |
2382 | + ./load ezmlm-unsub subdb.a getopt.a getconf.o slurpclose.o slurp.o \ | |
2383 | + log.o now.o fs.a strerr.a fs.a \ | |
2384 | getln.a substdio.a stralloc.a alloc.a error.a str.a case.a \ | |
2385 | - open.a lock.a | |
2386 | + open.a lock.a ${SQLLD} | |
2387 | ||
2388 | ezmlm-unsub.0: \ | |
2389 | ezmlm-unsub.1 | |
2390 | nroff -man ezmlm-unsub.1 > ezmlm-unsub.0 | |
2391 | ||
2392 | ezmlm-unsub.o: \ | |
2393 | -compile ezmlm-unsub.c strerr.h ezmlm-unsub.c subscribe.h strerr.h \ | |
2394 | -strerr.h subscribe.h ezmlm-unsub.c log.h ezmlm-unsub.c | |
2395 | +compile ezmlm-unsub.c strerr.h subscribe.h \ | |
2396 | +log.h errtxt.h sgetopt.h scan.h idx.h readwrite.h stralloc.h substdio.h | |
2397 | ./compile ezmlm-unsub.c | |
2398 | ||
2399 | ezmlm-warn: \ | |
2400 | -load ezmlm-warn.o auto_qmail.o getconf.o cookie.o issub.o now.o \ | |
2401 | +load ezmlm-warn.o auto_qmail.o getconf.o mime.a cookie.o subdb.a now.o \ | |
2402 | slurpclose.o slurp.o quote.o datetime.o date822fmt.o qmail.o surf.a \ | |
2403 | case.a strerr.a sig.a getln.a substdio.a stralloc.a alloc.a error.a \ | |
2404 | -open.a lock.a str.a fs.a fd.a wait.a | |
2405 | - ./load ezmlm-warn auto_qmail.o getconf.o cookie.o issub.o \ | |
2406 | +open.a lock.a str.a fs.a fd.a wait.a copy.o getopt.a conf-sqlld | |
2407 | + ./load ezmlm-warn auto_qmail.o getconf.o mime.a \ | |
2408 | + cookie.o subdb.a getopt.a \ | |
2409 | now.o slurpclose.o slurp.o quote.o datetime.o date822fmt.o \ | |
2410 | qmail.o surf.a case.a strerr.a sig.a getln.a substdio.a \ | |
2411 | stralloc.a alloc.a error.a open.a lock.a str.a fs.a fd.a \ | |
2412 | - wait.a | |
2413 | + wait.a copy.o ${SQLLD} | |
2414 | ||
2415 | ezmlm-warn.0: \ | |
2416 | ezmlm-warn.1 | |
2417 | nroff -man ezmlm-warn.1 > ezmlm-warn.0 | |
2418 | ||
2419 | ezmlm-warn.o: \ | |
2420 | -compile ezmlm-warn.c ezmlm-warn.c ezmlm-warn.c direntry.h direntry.h \ | |
2421 | -direntry.h ezmlm-warn.c readwrite.h ezmlm-warn.c getln.h ezmlm-warn.c \ | |
2422 | -substdio.h ezmlm-warn.c stralloc.h gen_alloc.h stralloc.h \ | |
2423 | -ezmlm-warn.c slurp.h ezmlm-warn.c getconf.h ezmlm-warn.c byte.h \ | |
2424 | -ezmlm-warn.c error.h ezmlm-warn.c str.h ezmlm-warn.c strerr.h \ | |
2425 | -ezmlm-warn.c sig.h ezmlm-warn.c now.h datetime.h now.h ezmlm-warn.c \ | |
2426 | -datetime.h datetime.h ezmlm-warn.c date822fmt.h ezmlm-warn.c fmt.h \ | |
2427 | -ezmlm-warn.c cookie.h ezmlm-warn.c qmail.h substdio.h substdio.h \ | |
2428 | -qmail.h ezmlm-warn.c | |
2429 | +compile ezmlm-warn.c direntry.h readwrite.h getln.h \ | |
2430 | +substdio.h stralloc.h gen_alloc.h slurp.h getconf.h byte.h error.h str.h \ | |
2431 | +sig.h now.h datetime.h date822fmt.h fmt.h cookie.h qmail.h substdio.h \ | |
2432 | +qmail.h copy.h mime.h idx.h errtxt.h sgetopt.h subgetopt.h | |
2433 | ./compile ezmlm-warn.c | |
2434 | ||
2435 | ezmlm-weed: \ | |
2436 | -load ezmlm-weed.o getln.a strerr.a substdio.a error.a stralloc.a \ | |
2437 | +load ezmlm-weed.o getln.a strerr.a substdio.a error.a case.a stralloc.a \ | |
2438 | alloc.a str.a | |
2439 | ./load ezmlm-weed getln.a strerr.a substdio.a error.a \ | |
2440 | - stralloc.a alloc.a str.a | |
2441 | + case.a stralloc.a alloc.a str.a | |
2442 | ||
2443 | ezmlm-weed.0: \ | |
2444 | ezmlm-weed.1 | |
2445 | @@ -380,6 +882,18 @@ | |
2446 | ezmlm.5 | |
2447 | nroff -man ezmlm.5 > ezmlm.0 | |
2448 | ||
2449 | +ezmlmglrc.0: \ | |
2450 | +ezmlmglrc.5 | |
2451 | + nroff -man ezmlmglrc.5 > ezmlmglrc.0 | |
2452 | + | |
2453 | +ezmlmrc.0: \ | |
2454 | +ezmlmrc.5 | |
2455 | + nroff -man ezmlmrc.5 > ezmlmrc.0 | |
2456 | + | |
2457 | +ezmlmsubrc.0: \ | |
2458 | +ezmlmsubrc.5 | |
2459 | + nroff -man ezmlmsubrc.5 > ezmlmsubrc.0 | |
2460 | + | |
2461 | fd.a: \ | |
2462 | makelib fd_copy.o fd_move.o | |
2463 | ./makelib fd.a fd_copy.o fd_move.o | |
2464 | @@ -496,16 +1010,23 @@ | |
2465 | byte.h install.c | |
2466 | ./compile install.c | |
2467 | ||
2468 | +idxthread.o: \ | |
2469 | +compile idxthread.c idxthread.h alloc.h error.h stralloc.h str.h lock.h idx.h \ | |
2470 | +substdio.h fmt.h readwrite.h idx.h errtxt.h substdio.h byte.h yyyymm.h | |
2471 | + ./compile idxthread.c | |
2472 | + | |
2473 | issub.o: \ | |
2474 | -compile issub.c stralloc.h gen_alloc.h stralloc.h issub.c getln.h \ | |
2475 | -issub.c readwrite.h issub.c substdio.h issub.c open.h issub.c byte.h \ | |
2476 | -issub.c case.h issub.c lock.h issub.c error.h issub.c issub.h \ | |
2477 | -strerr.h issub.h issub.c uint32.h issub.c | |
2478 | - ./compile issub.c | |
2479 | +compile issub.c stralloc.h gen_alloc.h getln.h readwrite.h substdio.h \ | |
2480 | +open.h byte.h case.h lock.h error.h subscribe.h strerr.h uint32.h fmt.h \ | |
2481 | +conf-sqlcc | |
2482 | + ./compile issub.c ${SQLCC} | |
2483 | ||
2484 | it: \ | |
2485 | +ezmlm-idx ezmlm-accept ezmlm-archive ezmlm-check ezmlm-gate ezmlm-get \ | |
2486 | +ezmlm-clean ezmlm-glconf ezmlm-moderate ezmlm-store ezmlm-tstdig \ | |
2487 | ezmlm-make ezmlm-manage ezmlm-send ezmlm-reject ezmlm-return \ | |
2488 | -ezmlm-warn ezmlm-weed ezmlm-list ezmlm-sub ezmlm-unsub | |
2489 | +ezmlm-warn ezmlm-weed ezmlm-list ezmlm-sub ezmlm-unsub ezmlm-cgi ezmlm-limit \ | |
2490 | +ezmlm-issubn ezmlm-cron ezmlm-request ezmlm-test ezmlm-split ezmlmrc | |
2491 | ||
2492 | load: \ | |
2493 | make-load warn-auto.sh systype | |
2494 | @@ -527,6 +1048,10 @@ | |
2495 | fmt.h log.c open.h log.c | |
2496 | ./compile log.c | |
2497 | ||
2498 | +logmsg.o: \ | |
2499 | +compile logmsg.c stralloc.h fmt.h conf-sqlcc | |
2500 | + ./compile logmsg.c ${SQLCC} | |
2501 | + | |
2502 | make-compile: \ | |
2503 | make-compile.sh auto-ccld.sh | |
2504 | cat auto-ccld.sh make-compile.sh > make-compile | |
2505 | @@ -542,6 +1067,10 @@ | |
2506 | cat auto-ccld.sh make-makelib.sh > make-makelib | |
2507 | chmod 755 make-makelib | |
2508 | ||
2509 | +makehash.o: \ | |
2510 | +makehash.c makehash.h surf.h uint32.h stralloc.h | |
2511 | + ./compile makehash.c | |
2512 | + | |
2513 | makelib: \ | |
2514 | make-makelib warn-auto.sh systype | |
2515 | ( cat warn-auto.sh; ./make-makelib "`cat systype`" ) > \ | |
2516 | @@ -549,12 +1078,23 @@ | |
2517 | chmod 755 makelib | |
2518 | ||
2519 | man: \ | |
2520 | -ezmlm.0 ezmlm-make.0 ezmlm-manage.0 ezmlm-send.0 ezmlm-reject.0 \ | |
2521 | +ezmlm.0 ezmlm-gate.0 ezmlm-idx.0 ezmlm-get.0 ezmlm-check.0 ezmlm-tstdig.0 \ | |
2522 | +ezmlm-make.0 ezmlm-manage.0 ezmlm-send.0 ezmlm-reject.0 ezmlm-accept.0 \ | |
2523 | ezmlm-return.0 ezmlm-warn.0 ezmlm-weed.0 ezmlm-list.0 ezmlm-sub.0 \ | |
2524 | ezmlm-unsub.0 alloc.0 case.0 datetime.0 direntry.0 env.0 error.0 \ | |
2525 | error_str.0 error_temp.0 ezmlm.0 fd_copy.0 fd_move.0 getln.0 getln2.0 \ | |
2526 | +ezmlm-issubn.0 ezmlm-cron.0 ezmlm-glconf.0 ezmlmglrc.0 ezmlm-test.0 \ | |
2527 | +ezmlmsubrc.0 ezmlm-mktab.0 ezmlm-split.0 ezmlm-archive.0 ezmlm-cgi.0 \ | |
2528 | getopt.0 now.0 sgetopt.0 stralloc.0 subfd.0 subgetopt.0 substdio.0 \ | |
2529 | -substdio_copy.0 substdio_in.0 substdio_out.0 surf.0 surfpcs.0 wait.0 | |
2530 | +substdio_copy.0 substdio_in.0 substdio_out.0 surf.0 surfpcs.0 wait.0 \ | |
2531 | +ezmlm-clean.0 ezmlm-moderate.0 ezmlm-store.0 ezmlm-request.0 ezmlmrc.0 \ | |
2532 | +ezmlm-limit.0 | |
2533 | + | |
2534 | +mime.a: \ | |
2535 | +makelib concatHDR.o decodeHDR.o unfoldHDR.o \ | |
2536 | +decodeQ.o encodeQ.o decodeB.o encodeB.o author.o | |
2537 | + ./makelib mime.a concatHDR.o decodeHDR.o decodeQ.o encodeQ.o \ | |
2538 | + decodeB.o encodeB.o unfoldHDR.o author.o | |
2539 | ||
2540 | now.0: \ | |
2541 | now.3 | |
2542 | @@ -582,6 +1122,16 @@ | |
2543 | compile open_trunc.c open_trunc.c open_trunc.c open.h open_trunc.c | |
2544 | ./compile open_trunc.c | |
2545 | ||
2546 | +opensql.o: \ | |
2547 | +compile opensql.c error.h strerr.h errtxt.h \ | |
2548 | + str.h case.h stralloc.h subscribe.h conf-sqlcc | |
2549 | + ./compile opensql.c ${SQLCC} | |
2550 | + | |
2551 | +putsubs.o: \ | |
2552 | +compile putsubs.c error.h substdio.h strerr.h readwrite.h \ | |
2553 | +str.h open.h case.h errtxt.h stralloc.h subscribe.h qmail.h fmt.h conf-sqlcc | |
2554 | + ./compile putsubs.c ${SQLCC} | |
2555 | + | |
2556 | qmail.o: \ | |
2557 | compile qmail.c substdio.h qmail.c readwrite.h qmail.c wait.h qmail.c \ | |
2558 | exit.h qmail.c fork.h qmail.c fd.h qmail.c qmail.h substdio.h \ | |
2559 | @@ -601,6 +1151,12 @@ | |
2560 | compile scan_ulong.c scan.h scan_ulong.c | |
2561 | ./compile scan_ulong.c | |
2562 | ||
2563 | +searchlog.o: \ | |
2564 | +compile searchlog.c case.h stralloc.h scan.h open.h datetime.h errtxt.h str.h \ | |
2565 | + datetime.h date822fmt.h substdio.h readwrite.h strerr.h error.h \ | |
2566 | + subscribe.h conf-sqlcc | |
2567 | + ./compile searchlog.c ${SQLCC} | |
2568 | + | |
2569 | seek.a: \ | |
2570 | makelib seek_set.o | |
2571 | ./makelib seek.a seek_set.o | |
2572 | @@ -800,6 +1356,12 @@ | |
2573 | compile strerr_sys.c error.h strerr_sys.c strerr.h strerr_sys.c | |
2574 | ./compile strerr_sys.c | |
2575 | ||
2576 | +subdb.a: \ | |
2577 | +makelib checktag.o issub.o logmsg.o subscribe.o opensql.o putsubs.o \ | |
2578 | + tagmsg.o searchlog.o | |
2579 | + ./makelib subdb.a checktag.o issub.o logmsg.o subscribe.o \ | |
2580 | + opensql.o putsubs.o tagmsg.o searchlog.o | |
2581 | + | |
2582 | subfd.0: \ | |
2583 | subfd.3 | |
2584 | nroff -man subfd.3 > subfd.0 | |
2585 | @@ -818,12 +1380,10 @@ | |
2586 | ./compile subgetopt.c | |
2587 | ||
2588 | subscribe.o: \ | |
2589 | -compile subscribe.c stralloc.h gen_alloc.h stralloc.h subscribe.c \ | |
2590 | -getln.h subscribe.c readwrite.h subscribe.c substdio.h subscribe.c \ | |
2591 | -strerr.h subscribe.c open.h subscribe.c byte.h subscribe.c case.h \ | |
2592 | -subscribe.c lock.h subscribe.c error.h subscribe.c uint32.h \ | |
2593 | -subscribe.c subscribe.h strerr.h strerr.h subscribe.h subscribe.c | |
2594 | - ./compile subscribe.c | |
2595 | +compile subscribe.c stralloc.h gen_alloc.h stralloc.h \ | |
2596 | +getln.h readwrite.h substdio.h strerr.h open.h byte.h case.h \ | |
2597 | +lock.h error.h uint32.h subscribe.h idx.h fmt.h conf-sqlcc | |
2598 | + ./compile subscribe.c ${SQLCC} | |
2599 | ||
2600 | substdi.o: \ | |
2601 | compile substdi.c substdio.h substdi.c byte.h substdi.c error.h \ | |
2602 | @@ -889,6 +1449,10 @@ | |
2603 | find-systype trycpp.c | |
2604 | ./find-systype > systype | |
2605 | ||
2606 | +tagmsg.o: \ | |
2607 | +compile tagmsg.c stralloc.h slurp.h scan.h fmt.h strerr.h cookie.h conf-sqlcc | |
2608 | + ./compile tagmsg.c ${SQLCC} | |
2609 | + | |
2610 | uint32.h: \ | |
2611 | tryulong32.c compile load uint32.h1 uint32.h2 | |
2612 | ( ( ./compile tryulong32.c && ./load tryulong32 && \ | |
2613 | @@ -907,3 +1471,124 @@ | |
2614 | wait_pid.o: \ | |
2615 | compile wait_pid.c wait_pid.c wait_pid.c error.h wait_pid.c | |
2616 | ./compile wait_pid.c | |
2617 | + | |
2618 | +yyyymm.a: \ | |
2619 | +makelib date2yyyymm.o dateline.o | |
2620 | + ./makelib yyyymm.a date2yyyymm.o dateline.o | |
2621 | + | |
2622 | +ch: \ | |
2623 | +ezmlmrc.ch | |
2624 | + cp -f ezmlmrc.ch_GB ezmlmrc | |
2625 | + | |
2626 | +ch_GB: \ | |
2627 | +ezmlmrc.ch_GB | |
2628 | + cp -f ezmlmrc.ch_GB ezmlmrc | |
2629 | + | |
2630 | +cs: \ | |
2631 | +ezmlmrc.cs | |
2632 | + cp -f ezmlmrc.cs ezmlmrc | |
2633 | + | |
2634 | +da: \ | |
2635 | +ezmlmrc.da | |
2636 | + cp -f ezmlmrc.da ezmlmrc | |
2637 | + | |
2638 | +de: \ | |
2639 | +ezmlmrc.de | |
2640 | + cp -f ezmlmrc.de ezmlmrc | |
2641 | + | |
2642 | +en_US: \ | |
2643 | +ezmlmrc.en_US | |
2644 | + cp -f ezmlmrc.en_US ezmlmrc | |
2645 | + | |
2646 | +en: \ | |
2647 | +ezmlmrc.en_US | |
2648 | + cp -f ezmlmrc.en_US ezmlmrc | |
2649 | + | |
2650 | +es: \ | |
2651 | +ezmlmrc.es | |
2652 | + cp -f ezmlmrc.es ezmlmrc | |
2653 | + | |
2654 | +us: \ | |
2655 | +ezmlmrc.en_US | |
2656 | + cp -f ezmlmrc.en_US ezmlmrc | |
2657 | + | |
2658 | +ezmlmrc: \ | |
2659 | +ezmlmrc.en_US | |
2660 | + cp -f ezmlmrc.en_US ezmlmrc | |
2661 | + | |
2662 | +fr: \ | |
2663 | +ezmlmrc.fr | |
2664 | + cp -f ezmlmrc.fr ezmlmrc | |
2665 | + | |
2666 | +id: \ | |
2667 | +ezmlmrc.id | |
2668 | + cp -f ezmlmrc.id ezmlmrc | |
2669 | + | |
2670 | +ita: \ | |
2671 | +ezmlmrc.it | |
2672 | + cp -f ezmlmrc.it ezmlmrc | |
2673 | + | |
2674 | +jp: \ | |
2675 | +ezmlmrc.jp | |
2676 | + cp -f ezmlmrc.jp ezmlmrc | |
2677 | + | |
2678 | +pl: \ | |
2679 | +ezmlmrc.pl | |
2680 | + cp -f ezmlmrc.pl ezmlmrc | |
2681 | + | |
2682 | +pt: \ | |
2683 | +ezmlmrc.pt | |
2684 | + cp -f ezmlmrc.pt ezmlmrc | |
2685 | + | |
2686 | +pt_BR: \ | |
2687 | +ezmlmrc.pt_BR | |
2688 | + cp -f ezmlmrc.pt_BR ezmlmrc | |
2689 | + | |
2690 | +ru: \ | |
2691 | +ezmlmrc.ru | |
2692 | + cp -f ezmlmrc.ru ezmlmrc | |
2693 | + | |
2694 | +sv: \ | |
2695 | +ezmlmrc.sv | |
2696 | + cp -f ezmlmrc.sv ezmlmrc | |
2697 | + | |
2698 | +mysql: | |
2699 | + ln -sf sub_mysql/ezmlm-mktab ezmlm-mktab | |
2700 | + ln -sf sub_mysql/checktag.c checktag.c; rm -f checktag.o | |
2701 | + ln -sf sub_mysql/issub.c issub.c; rm -f issub.o | |
2702 | + ln -sf sub_mysql/logmsg.c logmsg.c; rm -f logmsg.o | |
2703 | + ln -sf sub_mysql/subscribe.c subscribe.c; rm -f subscribe.o | |
2704 | + ln -sf sub_mysql/opensql.c opensql.c; rm -f opensql.o | |
2705 | + ln -sf sub_mysql/putsubs.c putsubs.c; rm -f putsubs.o | |
2706 | + ln -sf sub_mysql/tagmsg.c tagmsg.c; rm -f tagmsg.o | |
2707 | + ln -sf sub_mysql/searchlog.c searchlog.c; rm -f searchlog.o | |
2708 | + ln -sf sub_mysql/conf-sqlld conf-sqlld; touch conf-sqlld | |
2709 | + ln -sf sub_mysql/conf-sqlcc conf-sqlcc; touch conf-sqlcc | |
2710 | + | |
2711 | +pgsql: | |
2712 | + ln -sf sub_pgsql/ezmlm-mktab ezmlm-mktab | |
2713 | + ln -sf sub_pgsql/checktag.c checktag.c; rm -f checktag.o | |
2714 | + ln -sf sub_pgsql/issub.c issub.c; rm -f issub.o | |
2715 | + ln -sf sub_pgsql/logmsg.c logmsg.c; rm -f logmsg.o | |
2716 | + ln -sf sub_pgsql/subscribe.c subscribe.c; rm -f subscribe.o | |
2717 | + ln -sf sub_pgsql/opensql.c opensql.c; rm -f opensql.o | |
2718 | + ln -sf sub_pgsql/putsubs.c putsubs.c; rm -f putsubs.o | |
2719 | + ln -sf sub_pgsql/tagmsg.c tagmsg.c; rm -f tagmsg.o | |
2720 | + ln -sf sub_pgsql/searchlog.c searchlog.c; rm -f searchlog.o | |
2721 | + ln -sf sub_pgsql/conf-sqlld conf-sqlld; touch conf-sqlld | |
2722 | + ln -sf sub_pgsql/conf-sqlcc conf-sqlcc; touch conf-sqlcc | |
2723 | + | |
2724 | +std: | |
2725 | + ln -sf sub_std/ezmlm-mktab ezmlm-mktab | |
2726 | + ln -sf sub_std/checktag.c checktag.c; rm -f checktag.o | |
2727 | + ln -sf sub_std/issub.c issub.c; rm -f issub.o | |
2728 | + ln -sf sub_std/logmsg.c logmsg.c; rm -f logmsg.o | |
2729 | + ln -sf sub_std/subscribe.c subscribe.c; rm -f subscribe.o | |
2730 | + ln -sf sub_std/opensql.c opensql.c; rm -f opensql.o | |
2731 | + ln -sf sub_std/putsubs.c putsubs.c; rm -f putsubs.o | |
2732 | + ln -sf sub_std/tagmsg.c tagmsg.c; rm -f tagmsg.o | |
2733 | + ln -sf sub_std/searchlog.c searchlog.c; rm -f searchlog.o | |
2734 | + ln -sf sub_std/conf-sqlld conf-sqlld; touch conf-sqlld | |
2735 | + ln -sf sub_std/conf-sqlcc conf-sqlcc; touch conf-sqlcc | |
2736 | + | |
2737 | + | |
2738 | --- constmap.c 1998/05/20 22:37:38 1.1 | |
2739 | +++ constmap.c 1998/12/12 18:57:23 1.3 | |
2740 | @@ -18,6 +18,39 @@ | |
2741 | return h; | |
2742 | } | |
2743 | ||
2744 | +/* Returns index of string in constmap. 1 = first string, 2 = second ... */ | |
2745 | +/* 0 not found. Use for commands */ | |
2746 | +int constmap_index(cm,s,len) | |
2747 | +struct constmap *cm; | |
2748 | +char *s; | |
2749 | +int len; | |
2750 | +{ | |
2751 | + constmap_hash h; | |
2752 | + int pos; | |
2753 | + h = hash(s,len); | |
2754 | + pos = cm->first[h & cm->mask]; | |
2755 | + while (pos != -1) { | |
2756 | + if (h == cm->hash[pos]) | |
2757 | + if (len == cm->inputlen[pos]) | |
2758 | + if (!case_diffb(cm->input[pos],len,s)) | |
2759 | + return pos + 1; | |
2760 | + pos = cm->next[pos]; | |
2761 | + } | |
2762 | + return 0; | |
2763 | +} | |
2764 | + | |
2765 | +/* returns pointer to sz of string with index "idx". 1 = first, 2 = second...*/ | |
2766 | +char *constmap_get(cm,idx) | |
2767 | +struct constmap *cm; | |
2768 | +int idx; | |
2769 | + | |
2770 | +{ | |
2771 | + if (idx <= 0 || idx > cm->num) | |
2772 | + return 0; | |
2773 | + else | |
2774 | + return cm->input[idx-1]; | |
2775 | +} | |
2776 | + | |
2777 | char *constmap(cm,s,len) | |
2778 | struct constmap *cm; | |
2779 | char *s; | |
2780 | @@ -38,6 +71,9 @@ | |
2781 | } | |
2782 | ||
2783 | int constmap_init(cm,s,len,flagcolon) | |
2784 | +/* if flagcolon is true, we process only the stuff before the colon on */ | |
2785 | +/* each line. Otherwise, it's the entire line. Still, the entire line */ | |
2786 | +/* is stored! */ | |
2787 | struct constmap *cm; | |
2788 | char *s; | |
2789 | int len; | |
2790 | --- constmap.h 1998/05/20 22:37:38 1.1 | |
2791 | +++ constmap.h 1999/09/29 03:16:11 1.3 | |
2792 | @@ -16,5 +16,6 @@ | |
2793 | extern int constmap_init(); | |
2794 | extern void constmap_free(); | |
2795 | extern char *constmap(); | |
2796 | - | |
2797 | +extern char *constmap_get(); | |
2798 | +extern int constmap_index(); | |
2799 | #endif | |
2800 | --- error.h 1999/01/09 01:36:11 1.1 | |
2801 | +++ error.h 1999/01/09 01:59:56 1.2 | |
2802 | @@ -16,6 +16,7 @@ | |
2803 | extern int error_pipe; | |
2804 | extern int error_perm; | |
2805 | extern int error_acces; | |
2806 | +extern int error_notdir; | |
2807 | ||
2808 | extern char *error_str(); | |
2809 | extern int error_temp(); | |
2810 | --- error.c 1999/01/09 01:36:42 1.1 | |
2811 | +++ error.c 1999/01/09 01:59:56 1.2 | |
2812 | @@ -17,7 +17,7 @@ | |
2813 | -2; | |
2814 | #endif | |
2815 | ||
2816 | -int error_noent = | |
2817 | +int error_noent = | |
2818 | #ifdef ENOENT | |
2819 | ENOENT; | |
2820 | #else | |
2821 | @@ -92,4 +92,11 @@ | |
2822 | EACCES; | |
2823 | #else | |
2824 | -13; | |
2825 | +#endif | |
2826 | + | |
2827 | +int error_notdir = | |
2828 | +#ifdef ENOTDIR | |
2829 | +ENOTDIR; | |
2830 | +#else | |
2831 | +-14; | |
2832 | #endif | |
2833 | --- ezmlm-weed.c 1999/04/11 19:09:55 1.1 | |
2834 | +++ ezmlm-weed.c 1999/12/19 16:49:32 1.4 | |
2835 | @@ -5,18 +5,24 @@ | |
2836 | #include "substdio.h" | |
2837 | #include "getln.h" | |
2838 | #include "strerr.h" | |
2839 | +#include "errtxt.h" | |
2840 | ||
2841 | char buf0[256]; | |
2842 | substdio ss0 = SUBSTDIO_FDBUF(read,0,buf0,sizeof(buf0)); | |
2843 | ||
2844 | #define FATAL "ezmlm-weed: fatal: " | |
2845 | ||
2846 | +void die_nomem() | |
2847 | +{ | |
2848 | + strerr_die2x(111,FATAL,ERR_NOMEM); | |
2849 | +} | |
2850 | + | |
2851 | void get(sa) | |
2852 | stralloc *sa; | |
2853 | { | |
2854 | int match; | |
2855 | if (getln(&ss0,sa,&match,'\n') == -1) | |
2856 | - strerr_die2sys(111,FATAL,"unable to read input: "); | |
2857 | + strerr_die2sys(111,FATAL,ERR_READ_INPUT); | |
2858 | if (!match) _exit(0); | |
2859 | } | |
2860 | ||
2861 | @@ -30,6 +36,9 @@ | |
2862 | stralloc line7 = {0}; | |
2863 | stralloc line8 = {0}; | |
2864 | ||
2865 | +stralloc boundary = {0}; | |
2866 | +stralloc dsnline = {0}; | |
2867 | + | |
2868 | char warn1[] = " **********************************************"; | |
2869 | char warn2[] = " ** THIS IS A WARNING MESSAGE ONLY **"; | |
2870 | char warn3[] = " ** YOU DO NOT NEED TO RESEND YOUR MESSAGE **"; | |
2871 | @@ -40,19 +49,46 @@ | |
2872 | int flagsr = 0; | |
2873 | int flagas = 0; | |
2874 | int flagbw = 0; | |
2875 | +int flagdsn = 0; | |
2876 | + | |
2877 | +int isboundary() | |
2878 | +/* returns 1 if line.len contains the mime bondary, 0 otherwise */ | |
2879 | +{ | |
2880 | + if (line.s[0] == '-' && line.s[1] == '-' && line.len >= boundary.len + 3) | |
2881 | + if (!byte_diff(line.s + 2,boundary.len,boundary.s)) /* boundary */ | |
2882 | + return 1; | |
2883 | + return 0; | |
2884 | +} | |
2885 | ||
2886 | void main() | |
2887 | { | |
2888 | - int match; | |
2889 | + unsigned int i,j; | |
2890 | ||
2891 | for (;;) { | |
2892 | get(&line); | |
2893 | if (line.len == 1) break; | |
2894 | - | |
2895 | + if (line.s[0] == ' ' || line.s[0] == '\t') { /* continuation */ | |
2896 | + if (flagdsn) { | |
2897 | + if (!stralloc_catb(&dsnline,line.s,line.len - 1)) die_nomem(); | |
2898 | + continue; | |
2899 | + } | |
2900 | + } | |
2901 | + flagdsn = 0; | |
2902 | if (stralloc_starts(&line,"Subject: success notice")) | |
2903 | _exit(99); | |
2904 | if (stralloc_starts(&line,"Subject: deferral notice")) | |
2905 | _exit(99); | |
2906 | + if (stralloc_starts(&line,"Precedence: bulk")) | |
2907 | + _exit(99); | |
2908 | + if (stralloc_starts(&line,"Precedence: junk")) | |
2909 | + _exit(99); | |
2910 | +/* for Novell Groupwise */ | |
2911 | + if (stralloc_starts(&line,"Subject: Message status - delivered")) | |
2912 | + _exit(99); | |
2913 | + if (stralloc_starts(&line,"Subject: Message status - opened")) | |
2914 | + _exit(99); | |
2915 | + if (stralloc_starts(&line,"Subject: Out of Office AutoReply:")) | |
2916 | + _exit(99); | |
2917 | ||
2918 | if (stralloc_starts(&line,"From: Mail Delivery Subsystem <MAILER-DAEMON@")) | |
2919 | flagmds = 1; | |
2920 | @@ -62,6 +98,71 @@ | |
2921 | flagsr = 1; | |
2922 | if (stralloc_starts(&line,"Auto-Submitted: auto-generated (warning")) | |
2923 | flagas = 1; | |
2924 | + if (case_startb(line.s,line.len,"Content-type: multipart/report")) | |
2925 | + if (!stralloc_copyb(&dsnline,line.s,line.len - 1)) die_nomem(); | |
2926 | + flagdsn = 1; | |
2927 | + } /* end of header */ | |
2928 | + | |
2929 | + if (flagdsn) { /* always only one recipient/action */ | |
2930 | + flagdsn = 0; /* will be set for correct report type */ | |
2931 | + for (i=0; i < dsnline.len; i += 1+byte_chr(dsnline.s+i,dsnline.len-i,';')) { | |
2932 | + while (dsnline.s[i] == ' ' || dsnline.s[i] == '\t') | |
2933 | + if (++i >= dsnline.len) break; | |
2934 | + if (case_startb(dsnline.s + i,dsnline.len - i,"report-type=")) { | |
2935 | + i += 12; | |
2936 | + while (dsnline.s[i] ==' ' || dsnline.s[i] =='\t' || dsnline.s[i] =='"') | |
2937 | + if (++i >= dsnline.len) break; | |
2938 | + if (case_startb(dsnline.s + i,dsnline.len - i,"delivery-status")) | |
2939 | + flagdsn = 1; | |
2940 | + } else if (case_startb(dsnline.s + i,dsnline.len - i,"boundary=")) { | |
2941 | + i += 9; | |
2942 | + while (dsnline.s[i] ==' ' || dsnline.s[i] =='\t') | |
2943 | + if (++i >= dsnline.len) break; | |
2944 | + if (dsnline.s[i] == '"') { | |
2945 | + if (++i >= dsnline.len) break; | |
2946 | + j = i + byte_chr(dsnline.s + i,dsnline.len - i,'"'); | |
2947 | + if (j >= dsnline.len) break; | |
2948 | + } else { | |
2949 | + j = i; | |
2950 | + while (dsnline.s[j] !=' ' && dsnline.s[j] !='\t' && | |
2951 | + dsnline.s[j] !=';') | |
2952 | + if (++j >= dsnline.len) break; | |
2953 | + } /* got boundary */ | |
2954 | + if (!stralloc_copyb(&boundary,dsnline.s+i,j-i)) die_nomem(); | |
2955 | + } | |
2956 | + } | |
2957 | + } | |
2958 | + if (flagdsn && boundary.len) { /* parse DSN message */ | |
2959 | + get(&line); /* if bad format we exit(0) via get() */ | |
2960 | + for (;;) { | |
2961 | + if (isboundary()) { | |
2962 | + if (line.len == boundary.len + 5 && line.s[line.len - 1] == '-' | |
2963 | + && line.s[line.len - 2] == '-') | |
2964 | + _exit(99); /* end: not failure report */ | |
2965 | + get(&line); /* Content-type */ | |
2966 | + if (case_startb(line.s,line.len,"content-type:")) { | |
2967 | + i = 13; | |
2968 | + while (line.s[i] == ' ' || line.s[i] == '\t') | |
2969 | + if (++i >= line.len) break; | |
2970 | + if (case_startb(line.s+i,line.len-i,"message/delivery-status")) { | |
2971 | + for (;;) { | |
2972 | + get(&line); | |
2973 | + if (isboundary()) break; | |
2974 | + if (case_startb(line.s,line.len,"action:")) { | |
2975 | + i = 8; | |
2976 | + while (line.s[i] == ' ' || line.s[i] == '\t') | |
2977 | + if (++i >= line.len) break; | |
2978 | + if (case_startb(line.s + i, line.len - i,"failed")) | |
2979 | + _exit(0); /* failure notice */ | |
2980 | + else | |
2981 | + _exit(99); /* there shouldn't be more than 1 action */ | |
2982 | + } | |
2983 | + } | |
2984 | + } | |
2985 | + } | |
2986 | + } else | |
2987 | + get(&line); | |
2988 | + } | |
2989 | } | |
2990 | ||
2991 | get(&line1); | |
2992 | --- ezmlm-weed.1 1999/08/01 16:45:46 1.1 | |
2993 | +++ ezmlm-weed.1 1999/12/19 16:53:18 1.3 | |
2994 | @@ -7,6 +7,8 @@ | |
2995 | .B ezmlm-weed | |
2996 | reads a mail message from its standard input. | |
2997 | If it recognizes the message as an MTA warning message or success message, | |
2998 | +or as a message with precedence ``bulk'' or ``junk'' as generated by | |
2999 | +vacation autoresponders, | |
3000 | it exits 99; | |
3001 | this will cause | |
3002 | .B qmail-alias | |
3003 | @@ -33,6 +35,13 @@ | |
3004 | Subject: deferral notice | |
3005 | .EE | |
3006 | ||
3007 | +Delivery-status notification (DSN, rfc1891). All DSN messages with ``Action'' | |
3008 | +other than ``failed'': | |
3009 | + | |
3010 | +.EX | |
3011 | + Content-type: multipart/report | |
3012 | +.EE | |
3013 | + | |
3014 | Warning message from sendmail, MIME form: | |
3015 | ||
3016 | .EX | |
3017 | @@ -104,6 +113,21 @@ | |
3018 | .EX | |
3019 | THIS IS A WARNING MESSAGE ONLY | |
3020 | .EE | |
3021 | + | |
3022 | +Notification messages from Novell Groupwise: | |
3023 | + | |
3024 | +.EX | |
3025 | + Subject: Message status - delivered | |
3026 | +.EE | |
3027 | +.br | |
3028 | +.EX | |
3029 | + Subject: Message status - opened | |
3030 | +.EE | |
3031 | +.br | |
3032 | +.EX | |
3033 | + Subject: Out of Office AutoReply: | |
3034 | +.EE | |
3035 | + | |
3036 | .SH "SEE ALSO" | |
3037 | ezmlm-return(1), | |
3038 | qmail-command(8) |