=== version 0.9.23 * handle RFC 3834 Auto-Submitted header field * using libhome, the configuration file (home.conf) is open with starting user (root) privilèges * Should compile on MacOSX * install french UTF-8 locale on FreeBSD * fix: mysql quota.cache.method updates did change all users records intead of the concerned one (thanks to Markus Oestreicher) === version 0.9.22 * nothing === version 0.9.21 * fix permissions for notifications in shared folders * fix double memory freeing in shared folders === version 0.9.20 * add file.charset.re configuration directive to tell which charset is in use for a filter file. It's currently not used but should be by the vacation system in a near future === version 0.9.19 * remove C90 mixed declarations and code in tre code. (thanks to Xavier Beaudouin) add missing ltld.* for tre. === version 0.9.18 * vacation.cache.create configuration directive. If this boolean is true vacation.cache file is created on first vacation message send. The user still has to erase it on his next vacation. Default is false. === version 0.9.17 * bug fix in global final delivery detection when mail is bouncing (virus.keeper or av.checkall did not handle bounced messages) * experimental support of libtre (approximative regexp) as libtre may redefine system regexp functions, convenience libltdl is used do dynamicaly load used functions only. * new user commands "archive" and "archive2" who deliver the message in a time formated argument mbox. * allow domains with '--' sequence. * fix data timeout return handle when multiple recipients. * remove temporary file when error occurs in mailbox delivery. * quota.timefatal.acl configuration directive. Set the delay from which an overquota condition produce a persistant error per mailbox. (quota.timefatal will become obsolete in future) === version 0.9.16 * bug fix when too many Recieved. === version 0.9.15 * starting antivirus or spamassassin server is randomly chosen in the list === version 0.9.14 * bug fix in rfc2047 when decoding illegal base64 data. * bug fix in filter.c (may core dump with labels) * add glibc strcasestr() for system who does not have it * fix test order in substring checks === version 0.9.13 * log virus name in Status line of user log file * log SMTP client if guessed in antivirus syslog line * bug fix in extenstion retrieval * experimental oniguruma regexp * experimental regexp cache. Disabled by default beacause it eat memory and DB access may be slower than regexp compilation. * log SIGBUS SIGILL SIGSEGV and SIGFPE catched signals * fix typos in configure help to show witch options have optional argument and witch ones have mandatory * configure guessed CFLAGS are used. On most system with gcc, configure will use "-g -O2", that is, with debug and optimize options. If you don't want to install executable with debuging symbols, run "make install-strip" instead of "make install". * With gcc as compiler, -Wall CFLAGS is used for compilation. If you have a sane environment, please report any compilation warning to the list. * As NLS environment is not guessable, NLS installation is now hardcoded. This work only in FreeBSD now. Other platerform will have english message on filtercheck. === version 0.9.12 * add "spamassassin.maxsize" configuration option to limit mail Send to SpamAssassin. * add "stop" user filter command. Stop the filter and use default delivery method. * fix "received.front" for RBL checks * headers added by spamassassin are now logued un user log file each time === version 0.9.11 * new "received.front" configuration variable. Used to find the Received header added by the incoming SMTP server if not the first. * rfc2047.c compile without iconv.h (utf-8 conversion is disabled in this case) * remove non standard errno declaration * fix Makefile for GNU make === version 0.9.10 * add %F (original From) and %S (original Subject) pattern in virus notification * add virus count in lmtpdlogsum * if compiled with iconv, lmtpd -V make some iconv test * remove trailing blanks in user filter lines * 'debug' user filter command and 'filter.debug.msg' configuration directive (allow user filter debuging) * Port to Berkeley DB 4.1 API (thanks Stephane Clodic) * add @*.example.com search in mailbox ACL to match subdomains === version 0.9.9 * add av.clamd.mbox_format configuration variable to check if mail for clamav shall be send in mbox format (for clamav 0.60) * add av.action configuration command to define an action to do when a command is found. Action can be 'drop', don't check for virus (default) of send a notification. Notification are formated according a file (see txt/virus.fr.txt for a french example) * when a virus is detected, set default user bounce message according the virus name. * add av.virus.keeper configuration variable. It set an mailbox who will catch all detected virus. * add lmtpsend.sh, a dummy LMTP client for tesing purpose only. * add sample mail with eicar virus in attachement in samples/ * when a virus is found, antivirus log line print the time spend for scanning with the virus name. * fix: use spamassassin.acl even with 'a' scalar variable * fix: rfc2047 decoding skip illegal characters instead of looping and doen't crash on illegal charset (potential deny of service) * av.check.all doesn't check for virus when the mail will be delayed. === version 0.9.8 * add 'h' scalar value. This scalar counts the number of headers, followed by a colon (":") separated list of header, restrict the count to this headers. * add lmtp ID in delivered messages answer. Use 'reply.id' configuration option to enable. * add rfc2047 decoding (use iconv to convert header to UTF-8) * support Unicode with PCRE expressions (syntax: /XXX/pu) if PCRE is compiled with UTF-8 support (run "lmtpd -V" to check) * add "pipe" user filter command to allow authorized accounts to send theyre mail into external program. "pipe.path" configuration option set the PATH where to find this commands. This option may be used to allow or disallow "pipe" to some users. * optional argument to spamassassin user filter command. This argument set the name of the headers added by spamassassin. === version 0.9.7 * New user filter command 'moved' to indicate the addresses has changed. * Fix for ClamAV interface, send mail in mailbox format but not in RFC822 format. According my experience, the clamd server (verson 0.60) may crash sometimes, so it should be better to seek a more stable version. * New configuration directive 'no.domain.recipient' to allow recipient address to be send to the deamon without domain part as some Cyrus configuration does. This violates the RFC 2033. * New score variable 'a' containing spam assassin score. === version 0.9.6 * ClamAV antivirus support, need clamd and ClamAV version > 0.60 === version 0.9.5 * Boolean option filesystem.with.noatime to set if your maildir filesystem is is mounted with noatime option * New boolean option filesystem.change.atime.when.write Workaround a Netapp bug, when writing date in files, Netapp change atime and log file does not rotate. Set "vol options XXX no_atime_update on" on the Netapp shell if you can for better perfs. === version 0.9.4 * lmtpdlogsum.pl fix: domain list in lower case. * fix: user log display TAB in headers instead of '.' * fix: remove trailing \n when spamassassin hasn't tests * New maildir file name format, see http://cr.yp.to/proto/maildir.html === Version 0.9.3 * extra customizable syslog logging for specific delivery actions see action.log.* configuration settings (removed in 0.9.4) === Version 0.9.2 * special expression checking user defined mail aliases * sets of headers * expressions /@example.com/a match for each address within example.com domain * fix gid for shared folders * spam assassin access list * add X-Spam-Level header for spam assassin * spam assassin check use mailbox preferences instead of recipient's. * fix: syslog log full message size again. * fix: new scalar syntax work now for time * fix: number begining by '0' no more in octal === Version 0.9.1 * bug fix when log rotation message is send to a foreign address (formerly an empty mail was send) * bug fix when user command "trash -foo" is called * allow filter line without command to be checked again with filtercheck * user filter parser follow more precisely the documentation, commands and arguments MUST be separated by blanks. === Version 0.9 * perl filter (alpha code, don't use in production environment) * stderr is closed at startup unless '-e' option is set * Sophos Antivirus via Sophie serveur * allow scalar comparison without scoring * fix file decriptor leak in maildirquotas * fix quota time recalculation * fix 'v' score variable usage * Internal bounces. The LMTP serveur may send its own bounce messages, they are customisable and may be in multiple languages. * Multiple filter files (beta) * Spam-Assassin interface * Random switches to antivirus and spam-assassin servers === Version 0.8 * Antivirus interface (currently only connexions to DrWeb servers) * use mmap to reread spool file. * default UID/GID are 65534 to support 16 bits UID/GID system * add mail filtering elapsed time in user log file === Version 0.7 * SASL PLAIN and CRAM-MD5 authentication * Default configuration file may be changed on compile time * The configuration file may include other files using the "include" directive. * Use of higher integer type for score. Look "lmtpd -V" to get the larger score value on your implémentation. === Version 0.6 * "uid" and "gid" directives are only used now to set privileges for the deamon processing (access to spool, authentification). The path creation runs under "missing.path.uid" and "missing.path.gid" privileges. * DB4 support. Within configuration options, "db3" substring is now remplaced by "db". * With libhome, the configure script now use MySQL and DB options set with libhome configure to avoid incompatible library mixes. You need libhome 0.6. * New option -V which give the version number, the configuration options then exits. * Run time option "-n name" to set alternate syslog and libhome tags. * New configuration option "forwards.max" to limit the use of "forward2" user command. * Default spool directory is now /var/spool/lmtp instead of formerly /var/tmp. * New score multiplier '?' to multiply score by a random number.