mlmmj

view ChangeLog @ 4c3c8b184576

Tidy up ChangeLog and AUTHORS. Release candidate 1.2.18rc1.
author Ben Schmidt
date Thu, 03 May 2012 10:12:15 +1000
parents e5b80f7085a1
children 0f90ad70a59f
line source
1 1.2.18rc1
2 o New list texts (Ben Schmidt, Xuacu Saturio, Nino Novak, Sophie Gautier,
3 Epaminondas Diamantopoulos, Valter Mura, Sérgio Marques, Milos Sramek, Dean
4 Lee)
5 o Add %nowrap% to facilitate more complex formatting
6 o Add subscription ability to php-admin
7 o Add ability to except characters from width reckoning (and be zero-width)
8 to facilitate wrapping even more languages well
9 o Add different width-reckoning modes to facilitate wrapping many languages
10 o Add different wrapping modes to facilitate wrapping many languages
11 o Fix backslash escaping mechanism so double backslash can't effectively
12 recurse and form part of another escape sequence, other non-unicode escapes
13 aren't ignored, and first lines of included files don't 'escape' escaping.
14 o Add ability to subscribe to both (normal and digest).
15 o Fix access logic so subonlypost doesn't override a send access rule.
16 o Make +unsubscribe remove the requester from all versions of the list.
17 o Make mlmmj-unsub default to removing the requester from all versions of the
18 list.
19 o Make mlmmj-sub and +subscribe[-digest|-nomail] switch existing
20 subscriptions.
21 o Add a switch to bypass notifying the owner on subscribe/unsubscribe.
22 o Introduce \<space> to indicate non-breakable space, \= to mark other
23 locations where breaks should not occur, and \/ to mark locations where
24 breaks can occur
25 o Add rejection of posts and obstruction of subscriptions.
26 o Avoid bogus error messages when logging that the list address has been
27 found in To: or CC: headers.
28 o Escape dashes in man pages.
29 o Remove 'bashisms' from mlmmj-make-ml script (patch from Dan forwarded by
30 Thomas Goirand).
31 o Automatically skip blank lines followed by unsatisfied conditionals with no
32 else part in list texts
33 o Automatically skip lines with only whitespace and directives in list texts
34 o Add support for conditionals in list texts
35 o Add %wrap% and %wrap W% formatting directives
36 o Add %digestthreads%, %gatekeepers%, %listsubs%, %digestsubs%, %nomailsubs%,
37 %moderators% and %bouncenumbers%
38 o Deprecate various list text substitutions such as $newsub$, $oldsub$,
39 $moderateaddr$
40 o Add $permitaddr$ and $releaseaddr$ substitutions
41 o Make $subject$, $posteraddr$ and $subaddr$ more widely available
42 o Fix potential crash when mail to the owner arrives with no From: header
43 o Add %originalmail% and %originalmail N% directives
44 o Allow more characters in control and text filenames for substitutions
45 o Add %%, %^%, %comment%, %control C% and %text T% formatting directives
46 o Improve algorithm for list text substitutions
47 o Add $text T$ substitution
48 o Add $$ substitution
49 o Allow list texts to include real UTF-8 characters, as documented
50 o Fix bug where the normal listtext would be sent when unsubscribing from the
51 nomail version of the list
52 o New listtext naming scheme
53 o Avoid trailing whitespace in MAIL FROM line (Lukas Fleischer)
54 o Better end-of-line handling and error reporting in php-admin (Franky Van
55 Liedekerke)
56 o Avoid losing mail when connecting to relayhost fails
57 o Improved and more consistent closing of SMTP sessions in error cases
58 o Check the relayhost gives a reply before reading it to avoid a crash
59 o Avoid checking addresses multiple times for notmetoo and make it work even
60 when delivering messages individually
61 o Fixed small memory leaks when SMTP errors occur
62 o Improved error logging when requeuing
63 o Fix php-admin to work when topdir contains a symlink (e.g. on Mac)
64 o Better techniques for locating support files in php-admin -- existing
65 installations will need to have their conf/config.php altered to set
66 the variable $confdir
67 o Add $control C$ substitution
68 o Fix theoretically possible memory corruption by chomp()
69 o Remove .sh from mlmmj-make-ml.sh; symlink original name
70 o Correct spelling of 'receive' and 'voodoo' throughout the code and
71 documentation, making mlmmj-recieve a symlink to mlmmj-receive (Chris Webb)
72 o Richer MIME list texts with inline messages
73 o Add $random0$ through $random5$ substitutions
74 o Add a $subject$ substitution for list texts
75 o Allow arbitrary headers in list texts
76 o Ensure digest listtext is always closed
77 o Fix Content-Transfer-Encoding: header for digests and list texts
78 o Fixed a bug that could cause a crash if $posteraddr$ appeared in the
79 maxmailsize listtext
80 o Documented listtexts
81 o Makes the random strings produced always the same length rather than
82 smaller random numbers producing shorter strings which could be
83 problematic
84 o Make random number generation more efficient by only seeding the
85 generator once
86 o Added feature to notify users when their posts are moderated
87 o Fixed documentation regarding silent subscription, and added
88 ability to silently subscribe
89 o Added notmetoo feature where posts are not mirrored to their senders
90 o Check return status in mlmmj-perl-admin when adding subscribers (Florian
91 Streibelt, Bitmand)
92 o Better validation of input in php-admin (Thomas Goirand)
93 o Fixed security bug in mlmmj-php-admin (Florian Streibelt, Morten Shearman
94 Kirkegaard)
95 o Added README.postfix to distribution tarball
96 o Added "send" keyword to control/access handling (Ben Schmidt)
97 o Added contrib/amime-receive (Gerd v. Egidy)
98 o Fixed memory leak in substitute_one() (Ben Schmidt)
99 o Updated TUNABLES file (Ben Schmidt)
100 1.2.17
101 o Added ifmodsendonlymodmoderate tunable
102 o Replaced class.FastTemplate.php with class.rFastTemplate.php in
103 contrib/web/php-admin (Christoph Thiel)
104 1.2.17-RC1
105 o Added information about digest and nomail to listhelp (Robin H. Johnson)
106 o Fixed bug in mlmmj-maintd which caused loss of archive files in some
107 requeue cases (Robin H. Johnson)
108 o Added README.postfix (Jeremy Hinegardner, Andreas Schneider)
109 o Added support for digest and nomail to +list (Christoph Wilke)
110 o Caseinsensitive string compare for owner addr when +list is invoked. Spotted
111 by Pavel Kolar.
112 o Added contrib/web/php-moderation (Thomas Goirand)
113 1.2.16
114 o Fixed injection in contrib/web/perl-user (Gerd von Egidy)
115 1.2.16-RC1
116 o Updated Dutch listtexts (Franky Van Liedekerke)
117 o Updated Italian listtexts (Fabio Busatto)
118 o Added Postfix pipe backend support (Niki Guldbrand)
119 o PHP admin interface bugfix (Niki Guldbrand)
120 o Added support for static bounce addresses (Thomas Jarosch)
121 o Added a sanity check in mlmmj-receive-strip (Chris Webb)
122 o Added miscellaneous sanity checks (Thomas Jarosch)
123 o Disabled digest mails when 'noarchive' is set (Thomas Jarosch)
124 o Added Russian listtexts (Nikolay Derkach)
125 o Fixed mmap()ing of zero-sized files (Robin H. Johnson)
126 o Fixed mlmmj-recieve [sic] for architectures where
127 sizeof(int) and sizeof(char *) differ
128 o Added support for the 'originalmail' keyword (Sascha Sommer)
129 o Merged various changes to the web interface from Franky Van Liedekerke
130 1.2.15-RC1
131 o Added --enable-recieve-strip configure option (Ansgar Burchardt)
132 o Added unicode support to listtexts
133 o Fixed build outside the source directory (Ansgar Burchardt)
134 o Moved English listtexts and install all languages (Ansgar Burchardt)
135 o Fixed missing exit()s in case of failed execl() calls (Ansgar Burchardt)
136 o Changed Message-ID headers to include FQDN (Ansgar Burchardt)
137 o Added support for 'discard' keyword in access rules (Sascha Sommer)
138 1.2.14
139 o Updated Danish listtexts (Jesper Lund)
140 1.2.14-RC1
141 o Fixed a small memory leak in log_oper() log rotation
142 o Fixed address parsing for cases with quotes and multiple addresses
143 o Added contrib/recievestrip/ MIME processor (Sascha Sommer)
144 o Fixed digest multipart boundary (Thanks to Ulrich Mueller)
145 o Added support for mail size limit (Christoph Wilke)
146 o Log the result of access rules in the operation log (Henne Vogelsang)
147 o Ignore empty lines in control files
148 1.2.13
149 o Added Dutch listtexts (Raymond den Ouden)
150 1.2.13-RC1
151 o Added 'nonomailsub' tunable which will disable nomail subscriptions
152 to a list (Henne Vogelsang)
153 o Added 'nodigestsub' tunable which will disable subscription to the
154 digest version of a list (Henne Vogelsang)
155 o Added list FAQ feature (Henne Vogelsang)
156 o Added support for default list text directory (Henne Vogelsang)
157 o Fixed a Bourne Shell issue in mlmmj-make-ml.sh (Magnus Naeslund)
158 o Fixed hostnamestr() for hosts that can't find themselves using
159 gethostbyname() (Benoit Dolez)
160 o Add 'modnonsubposts' tunable that when set will moderate all posts
161 from non subscribers
162 o Fixed requeue for lists with noarchive enabled
163 1.2.12
164 o Fixed memory corruption in cleanquotedp()
165 o Fixed bug in gethdrline() introduced in 1.2.12-RC3
166 1.2.12-RC4
167 o Fixed memory leak in checkwait_smtpreply()
168 o Changed mlmmj-process to look at environment variable DEFAULT instead
169 of EXT for qmail (Fabio Busatto)
170 o Added Frensh listtext unsub-confirm-digest (Christophe Gallienne)
171 1.2.12-RC3
172 o Fixed EOF handling in checkwait_smtpreply()
173 o Fixed header unfolding in gethdrline()
174 1.2.12-RC2
175 o Changed German listtexts (Stefan Reinauer, Christian Lackas)
176 o Changed English listtexts (Stefan Reinauer)
177 o Changed chomp() to also remove CR from CRLF sequences
178 1.2.12-RC1
179 o Update web interface with new tunables
180 o Add support for qmail (envelope from address in environment variable)
181 o Add digest text part
182 o Add subscriber moderation
183 o Fix default subject in administrative mails
184 o Add French listtexts (Christophe Gallienne)
185 o Add search and pagination functionality to the perl-admin web interface
186 o Only add To: header when sending out actual list mail
187 o Close stdin, stdout and stderr in the child of mlmmj-receive after
188 forking. This is neccesary on FreeBSD.
189 o No need to check for subscribers in 0-sized files
190 o Make sure chomp works with empty strings (Frank Denis)
191 1.2.11
192 o Previous fix to find_email_adr() was incomplete, so in some
193 cases mails would get rejected due to the To: or Cc: rule. Thanks
194 again lcars for finding this
195 o Sanity check to make sure there's a '@' in listaddress
196 1.2.10
197 o Fix nasty bug in the new 1.2.9 find_email_adr() making comma in
198 quoted text in From: being discarded as invalid
199 o Simply make all addresses lowercase before doing anything else
200 wrt. sub/unsub and bounce
201 o Add czech listtexts (Lukas Hluze)
202 o Make non list emails (subconf, moderation etc.) also honor relayhost
203 and smtpport
204 o Add tunable to be able to close for subscription only (closedlistsub)
205 1.2.9
206 o Make find_email_adr() more robust (BSD, Neale Pickett)
207 o Make the email address check case-insensitive. (Neale Pickett)
208 o Add spanish listtext translations (Enrique Matías Sánchez)
209 o Make recipient delimiter configurable per list. SIC! (Joel Aelwyn)
210 o Added italian list texts translation. A thanks to Andrea Barisani, he has
211 checked italian texts. (Filippo F. Fadda)
212 o Use is_subbed_in instead of find_subscriber when subscribing people
213 (Christian Laursen)
214 o Make it possible to confirm subscription even though it's a closedlist.
215 It makes sense to be able to confirm a request submitted by the sysadmin
216 on the commandline
217 o Add 'subonlyget' tunable which makes +get-N only work for subscribers
218 1.2.8
219 o Don't closedir() before done (GOOD spotting Christian Laursen)
220 o Make sure the resend of queue files will not loop indefinately
221 o Make Date: header RFC2822 compliant (Jakob Hirsch)
222 o Add -s switch to mlmmj-{,un}sub to control whether or not to send a mail
223 telling about already subscribed, or not subscribed when trying to
224 subscribe or unsubscribe (Christian Laursen)
225 1.2.7
226 o Remove old superflous cruft in the smtpreply reader function, making
227 mlmmj-send not segfault in rare cases when SIGTERM was sent
228 o Another printf had snuck in there printing a free'ed variable
229 1.2.6.1
230 o Make sure the fromaddr is correct on sub-subscribed mails
231 o Don't add an empty subject if there was one present
232 1.2.6
233 o If prefix but no Subject: header is present, add one (Jakob Hirsch)
234 o Add notification mail when subbed people try to sub (Jakob Hirsch)
235 o Install SIGTERM handler in mlmmj-send to allow it to shut down gracefully
236 o Also remove mails when it's a bounce from a person not subbed
237 o Introduce read() wrapper (Stevens)
238 o Bouncing confirmation mails of sub or unsub should be cleaned from
239 the queue as well
240 o Normally mails which doesn't have exactly one From: emailaddress are
241 discarded but certain ISPs have bounce mails with no From: header, forcing
242 us to allow bounce mails with no From: to make sure they're caught
243 o In case of a succesful DSN parse, we werent deleting the mail, and thus
244 littering the queue
245 o When sending moderated mails, rename them so that they wont be moderated
246 again while sending
247 1.2.5
248 o Make listname+list send the list of regular subscribers to the owner who
249 requested it.
250 o Michael Fleming corrected some spelling / grammatical errors and made
251 occasional minor clarifications in the english list texts.
252 o Add README.sendmail from Andrea Barisani
253 o Add README.exim4 from Jakob Hirsch
254 o Skip addresses without a @ when sending
255 o Set SO_KEEPALIVE for our connection socket
256 1.2.4
257 o Spend some time making valgrind completely happy
258 o Unlink totally harmless .lock files in subscribers dir.
259 o Make it possible to specify more than one listaddress in
260 LISTDIR/control/listaddress. The first one is the "real" one.
261 o Make the port to connect to controlable with LISTDIR/control/smtpport
262 1.2.3
263 o Only allow subscription of addresses with '@' in them
264 o Fix return value from unsubscribe function
265 o Add extra lock layer when accessing subscribers files
266 o In case of listname+bounces-INDEX use the DSN (RFC1891) report to extract
267 the bouncing address
268 o Fix usage of a zero sized control/verp string
269 o Make the Date: header RFC2822 conformant
270 1.2.2
271 o Make mlmmj-send work allthough no subscribers exist
272 o Bring webinterfaces up to speed (Christian Laursen)
273 o Fix moderate tag in access
274 o Make mlmmj-make-ml.sh default the listtext dir to where they were
275 installed in the system (Stephan Kulow)
276 1.2.1
277 o Introduce switches to turn off mails about posts being denied.
278 1.2.0
279 o Remove debug info printing
280 1.2.0-RC2
281 o Fix uninitialized strlist
282 o Add logging regular operation to mlmmj.operation.log
283 o Fix the sending loop by not sending the rest of the batch in every
284 iteration
285 1.2.0-RC1
286 o Add VERP support. http://cr.yp.to/proto/verp.txt
287 For Postfix: http://www.postfix.org/VERP_README.html, add "postfix" to
288 LISTDIR/control/verp
289 $smtpd_authorized_verp_clients should be the only one needed to touch
290 1.1.1-RC2
291 o It's ok to log to a symbolic link to somewhere else
292 o Add Message-Id: and Date: headers to mail from mlmmj
293 o Make log_oper() varargs capable (Rob Holland)
294 1.1.1-RC1
295 o Never discard anything from LISTDIR/queue/, let the admin be able to judge
296 o Grab the lock when sending a mail to make sure noone does bad things
297 to it underneath us
298 o Danish listtexts, thanks Jesper Lund
299 o Add control/noget to turn off listname+get-INDEX
300 o Rearrange envelope from to be listname+bounces-index-user=domain.tld@ instead
301 of listname+bounces-user=domain.tld-index@ to prepare for VERP support
302 1.1.0
303 o If mlmmj-recieve was invoked with a uid not root or not the owner of listdir
304 inform about the uid actually invoked with
305 o Add German listtexts (Hendrik Norman Vogelsang)
306 o Add hooks for installing listtexts into $(pkgdatadir) (Drake Wyrm)
307 o Add mlmmj-list manual page
308 o Make mlmmj-list be capable of listing owners, moderators too
309 o Perl interface updates
310 1.1.0-RC3
311 o Add 'moderate' tag for usage in control/access when one wants to have the
312 moderators moderate posts hitting this regexp. See README.access
313 o Add a To: header with the recipient's address when sending digests
314 1.1.0-RC2
315 o Strip envelope from before resending to +owner
316 o Make statctrl bail if it's not possible to stat()
317 o Add mlmmj-list binary to list the subcribers (-count) of a list
318 1.1.0-RC1
319 o Rewrite the way listtexts are managed, and in the process move the Subject:
320 out into the listtext file making mlmmj completely translateable
321 o Enhance perl webinterface - including group writable patch
322 o Add option control/nosubconfirm which makes it possible to subscribe
323 without confirmation by just sending the mail. USE WITH CARE!
324 o Make files discarded by maintd end in .by-maintd to make them distinct
325 o Fix off-by-one error in the function cleaning quoted printable chars
326 o Close the correct fd's in mlmmj-process
327 o Be consistent when using To: or Delivered-To:
328 o mlmmj-unsub should also change user id to the listdir owner
329 o Add support for not archiving the list by touching listdir/control/noarchive
330 o Add 'nomail' version of lists. Subscribers to the nomail version are
331 subscribed, but does not get any mail
332 o Don't talk about changing uid in mlmmj-sub when we're not really doing it
333 o Add sanity checks to disallow denial mails going to the list
334 o Add digest functionality
335 o Implement -d option for mlmmj-maintd to be able to supply it with a directory
336 containing several listdirs, where mlmmj-maintd then will run maintenance
337 o Chown option and a fix for mlmmj-make-ml.sh. Thanks Ingo Lameter
338 1.0.0
339 o Replace index() with strchr()
340 o Add parenthesis around realloc call to make sure we alloc correctly
341 o Make header matching case insensitive
342 o Fix dumping of addresses to requeue
343 o Make the time an address can bounce before unsubscribed configurable with
344 listdir/control/bouncelife
345 o Correct mlmmj-make-ml.sh cronentry line to include -F
346 o Add manual pages. Thanks Soeren Boll for the initial ones
347 o Make random numbers lowercase hex since gmail is lowercasing the address
348 it replies to.
349 o Also make sanity check in mlmmj-maintd to ensure it's invoke either
350 as root or as listdir owner
351 1.0.0-RC4
352 o Fix brown paper bag bug not allowing enough space for the new better random
353 strings introduced in RC3 so subscribe and unsubscribe works again.
354 1.0.0-RC3
355 o NULL and 0 are not the same on 64-bit platforms, so fix execlp(..., 0); to
356 be execlp(..., NULL);
357 o Add web-interface (PHP). Thank you Christoph Thiel
358 o Have the random numbers be somewhat longer everywhere and not just somewhere
359 o Move free() to where it belongs fixing problems with mlmmj-process some
360 people have been seen
361 o Fix printing of cron entry in mlmmj-make-ml.sh
362 1.0.0-RC2
363 o Do not allow mails from <> going to the list
364 o Fix mailing to +owner again by adding missing 'break;' to switch in
365 mlmmj-send
366 o perl-admin updates from Christian Laursen
367 o php-user updates from Christoph Thiel
368 o Use Delivered-To: instead of To: when available
369 1.0.0-RC1
370 o Add web-interface. Thanks Christian Laursen for new perl-admin
371 o Dump the customheaders before any Mime headers
372 o Implement +get-N functionality, so it's possible to send a mail to
373 foolist+get-101@domain.tld to retrieve mail 101 from that list. It's
374 deliberately only possible to request one mail at a time.
375 o Make sure that only either root or the listdir owner can execute the
376 binaries when it has something to do with lists.
377 o Don't leave bounces-help@ mails lying around in queue/
378 o Remove unanchored ".*" from beginning of regexp
379 0.8.3
380 o Have mlmmj-make-ml.sh remind people about using cron if they want
381 o Replying to the confirmation address is enough to sub/unsub, no matter what
382 address is used the second time
383 o Fix possible DoS wrt. unsubscribing. Thank you Erik Toubro Nielsen
384 o Add 'notifysub' functionality to have owner know when people sub/unsub.
385 Thank you Kenneth Vestergaard Schmidt
386 o Use Return-Path: for envelope From. Thanks Anders Johansson
387 o Specification of which relayhost to use can now be done in control/relayhost
388 o Add configure check to link against libnsl if needed.
389 o Implement our own daemon() function since we don't have daemon() on Solaris
390 0.8.2
391 o Make sure we don't cut of the first char of an emailaddress
392 o Fix header value copying (thanks Anders Johansson)
393 o Don't segfault if there's no email address in the To: header
394 o Clean up the subconf and unsubconf directories for stale requests as well
395 0.8.1.1
396 o Fix bug with prepstdreply not opening correct file. Thanks Christian Laursen
397 for spotting.
398 0.8.1
399 o Go through all open() calls and retry in case we (allthough it's extremely
400 unlikely) did get EEXIST
401 o Add the option to add a To: header including the recipient emailaddress.
402 NOTE that this does not remove any existing To: headers, they should be
403 removed in control/delheaders
404 o Optimize mlmmj-send by preparing the mail in memory to reduce the amount of
405 write syscalls. control/memmailsize (size in bytes) controls how big it can
406 be. Default is 16k before it's send line by line.
407 o Make sure we check if the Subject: prefix might be present in the
408 de-quoted printable version of the Subject. If so, don't add it.
409 o Fix bug with queuefilename not being correctly initialized when generating
410 standard mails
411 o Let mlmmj-send be capable of handling relayhost local users bounce probes
412 bouncing.
413 o Don't litter the queuedirectory with files when rejecting mails (the
414 maintenance daemon would take care of it, but lets be nice)
415 0.8.0
416 o Added regular expression based access control.
417 o Added wrappers for malloc(), realloc(), free() and strdup(), so we can
418 bail out if any of them fail.
419 0.7.3
420 o Implement control/delheaders in where one can specify all the headers
421 to delete in incoming mail to the list.
422 o Add +owner functionality (control/owner). Several addresses possible.
423 o Relicense the whole thing to be MIT instead of GPL
424 0.7.2
425 o Make it possible to only let subscribers post
426 o Implement feature to deny posts where the listaddress is not in To: or
427 Cc:. Enabled pr. default, but can be disabled by touching control/tocc
428 o Make mlmmj-sub change uid to the owner of listdir to avoid permission
429 problems. Disable with -U to mlmmj-sub.
430 o More memory debugging
431 0.7.1
432 o Fix bug with .reciptto and .mailfrom getting swapped
433 o Plug a few small memory leaks in mlmmj-maintd
434 o Fix bug with maintenance logfile not being opened at the right spot
435 0.7.0
436 o Add a macro to make sure mlmmj binaries are invoked with full path
437 o Add the function to mlmmj-maintd to unsubscribe people who've been bouncing
438 for BOUNCELIFE (default 432000 sec, 5 days) time. This completes
439 the bouncehandling of mlmmj. SIC!
440 o Add logging to mlmmj-maintd. mlmmj-maintd.lastrun.log in the listdir
441 always has the log of the last run. This is work in progress.
442 o Make mlmmj-bounce capable of sending probes
443 o Include a function for easy generation of standard mail replies
444 0.6.0
445 o Add several unlinks. No need to litter queue/ with useless files
446 o Don't use moderation/queue for outgoing, just use queue/
447 o Christoph Thiel pointed out that listaddress and moderators belong in
448 control/ so move them there
449 o Get rid of all FILE * instances and replace them with fd's
450 o Also mmap the subscribers file when reading subcribers
451 o Do an mmap of the mail to send once, instead of reading the mail for
452 each mail to send
453 o Rip out the ability to fork to make more than one connection to relayhost.
454 It turned out to not make any performance gain (tested with lists with
455 more than 120000 subscribers), and thus only complicated things.
456 KISS won, so it's gone.
457 o mlmmj-maint now handles resends and cleanup
458 o Fixed interrupted fgets() in write_mailbody_from_file()
459 o Fixed leak of subfile in mlmmj-send
460 0.5.2
461 o footer and customheaders are now accessed from listdir/control/ where
462 they belong
463 o Discard mails that doesn't have one and only one From: address. Discard
464 here means moving them to queue/discard
465 o Make sure we retrieve info from all headers matching the token we want
466 o Fixed error handling in mlmmj-send if we can not open subscribers.d/
467 o Make mlmmj-send a lot more robust with SMTP and handle
468 bounces from the relayhost.
469 o Fix BUG in mlmmj-bounce still using listdir/subscribers
470 o Handle subconf/unsubconf bounces
471 o Begin work on mlmmj-maintd--the mlmmj maintenance daemon
472 o Make help consistent and up to date with all options
473 o Make mlmmj-send print the replies from the mailserver
474 o Send our hostname in the HELO instead of relayhost
475 o Implement requeueing mechanism to be able to resend mail when relayhost
476 trouble occur
477 0.5.1
478 o Add a file TUNABLES which documents the ways to tune mlmmj lists.
479 o Add support for Subject: prefix
480 o Added WAITTIME (time to sleep before checking if we should spawn another
481 mlmmj-send process) option in mlmmj.h
482 o Fixed error handling in mlmmj-unsub if we can not open subscribers.d/
483 0.5.0
484 o Use a subscribers.d/ directory for several subscribers files. mlmmj-send
485 will now fork for each file (up to MAX_CONNECTIONS) for faster delivery.
486 mlmmj-unsub will search for subscribers in all of these files.
487 mlmmj-sub will now add emailaddresses to the file in subscribers.d/ with
488 the name of the first character in the emailaddress (foo@bar.com will be
489 in subscribers.d/f).
490 o Major cleanup of listcontrol() and in the process add closed list
491 functionality (touch listdir/control/closedlist and it's closed)
492 0.4.0
493 o Add moderation functionality
494 0.3.4
495 o Fix handling of lines which start with a dot
496 0.3.3
497 o Add primitive bounce handling
498 o mlmmj-recieve now forks before exec()
499 o mlmmj-{,un}sub now uses mmap and friends for better performance
500 0.3.2
501 o Logging enhancement
502 o Send on the full path to the binaries around in the program since
503 execlp needs it.
504 o Make mlmmj-make-ml.sh use /bin/sh not /bin/bash
505 o Rename mlmmj-{subscribe,unsubscribe} to mlmmj-{sub,unsub}
506 o Cleanup and reimplementation of several functions that needed it badly
507 0.3.1
508 o Add BINDIR (mortenp)
509 o Fix retstruct->emaillist initialize (mortenp)
510 o Log handling adjustments (mortenp)
511 o Touch subscribers and index (mortenp)
512 0.3.0
513 o Footer addition. Make a file called /path/to/listname/footer and it will be
514 added to all mails.
515 o Implement the help function. Send a mail to listname+help to get help. Also
516 address used as From: address when sending sub/unsub mails
517 o Make find_subscriber more safe (mortenp)
518 o Completely use EXIT_macro (mortenp)
519 0.2.2
520 o Add proper checks for the execpl (mortenp)
521 o Use EXIT_ macros for exit (mortenp)
522 o Try /dev/urandom before /dev/random
523 o Make the random_int() function work without /dev/random, which is not
524 present on DEC-Unix/Tru64 (mortenp)
525 o Make -V print the version
526 0.2.1
527 o Make the From: header on sub/unsub mails be listname+help
528 o Double check the subscription address before adding.
529 o The From header should be generated according to archive in the list mails
530 for proper bounce handling
531 o Cannot specify both -c and -C to mlmmj-{unsub,sub}scribe
532 o Small bugfixes
533 0.2.0
534 o Implement subscription and unsubscription by email
535 o Remove the need for the -l switch by introducing a listaddress file in the
536 mailinglist directory
537 o Make use of a queue directory, and not move mails to the archive before they
538 are processed by mlmmj-send.
539 0.1.4
540 o Properly handle the replies from the mailserver on our requests. Still need
541 some kind of requeing mechanism though.
542 o Use automake and autoconf
543 o Use fcntl instead of flock
544 o Add a script to make the mailinglist directories - thanks hennebird
545 0.1.3
546 o Make it write \r\n for each \n.
547 o Convert everything possible to snprintf
548 o Make valgrind (http://developer.kde.org/~sewardj/) find no error, leaks
549 anything
550 0.1.2
551 o Made mlmmj-unsubscribe
552 o Made mlmmj-subscribe
553 o Fix the indexnumber in the From header. Was reversed.
554 0.1.1
555 o Custom headers. Add a file called 'customheaders' in the listdir
556 and it will be added. Should be used for Reply-To: if God forbid someone
557 wants to use that.
558 o Cleanup a bit
559 0.1.0
560 o Initial version working with archiving and not much else apart from the
561 same functionality as a list in /etc/aliases