"Fossies" - the Fresh Open Source Software Archive

Member "mlmmj-1.3.0/ChangeLog" (24 May 2017, 28680 Bytes) of package /linux/privat/mlmmj-1.3.0.tar.bz2:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "ChangeLog": 1.2.19.0_vs_1.3.0.

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