CHANGES ------- The major number changes for such things as code rewrites, changes in syntax, and/or dramatic changes in functionality. The minor number changes for corrections, enhancements, etc. made to the code. There is no set schedule for releases. --TODO-- --0.11-- + Requires LibSnert 1.63. ! atExitCleanUp(): added NULL guard around cache cleanup code in case its the cache was not initialised. + access-db now supports socket-map, flat-file, and SQLite3 lookups in addition to Berkeley DB. The SQLite3 behaviour can be disabled via LibSnert's ./configure script. ! Corrected documentation error concerning two cache-type options when it should have been cache-file and cache-type. + Added policy=later to return a temporary error if the sender has not been previously cached. Previously the policy=later was ignored. --0.10-- !! License 1.4 which provides additional details with regards to possible license controls used, the possibility of "phone home code" and its general contents, and related privacy statement. + Add check for filterOpen() got NULL socket address pointer passed to filterOpen() which inidicates an unsupported address type. The connection is simply accepted to bypass the milter. --0.9-- * Never released. --0.8-- + Requires LibSnert 1.61. !! Complete replacement of option specification and no backwards. compatibility. The newer format allows for better integration of previously undocumented libsnert options and for the inclusion of future enhancements. ! filterClose(): remove reporting of "null workspace error", which can occur when a client connection is rejected before or by filterOpen(). ! Minor corrections for gcc -Wall warnings. + Added additional policy options (quarantine, later) for consistency with other Snert milters. --0.7-- ! Reverted back to libmilter's default (7210s) timeout. This should silence many of the reported sendmail to milter timeout errors and/or broken connections caused by the milter timing out sooner than sendmail does with the current SMTP client. The sendmail defaults for each SMTP command and receiving the message content is 1h each and so libmilter allows for 2h 10s. But in theory you could be DoS for between 5 and 104 hours per connection. If you want to change this then set in sendmail.mc: define(`confTO_DATABLOCK', `30m') define(`confTO_COMMAND', `5m') --0.6-- ! Replaced use of LIBSNERT_WITH_BERKELEY_DB by HAVE_DB_H due to changes in LibSnert/1.59. ! White listed recipients are now recorded as part of the address book for the sake of completeness. Previously, white listed recipients were assumed to already be known and documented in access.db such that duplicating that information in the address book seemed pointless. Requested by Andrew Lyon. --0.5-- ! Fix race condition in updating address book entries. Replaced cachePut() with cacheUpdate(). ! Fixed problem with recipients resetting the sender's frequency counter when they reply. Reported by Andrew Lyon. !! Changed cache format so as to count the messages from (previously count) and the messages to the sender. This requires the cache be deleted before restarting. Or to preserve the address book cache, stop the milter, dump to a text file, append " 1" (space & digit 1) to every line, rebuild the cache from the text file, restart the milter. !! If an external white listed sender sends to a local recipient, then the recipient is added to the address book. When those recipients, who are white listed local users, then reply to a message, an address book entry is found which triggers acceptance of the message and the add recipient list to address book code is skipped. This eventually results in an address book that stops growing. Switched from SMFIS_ACCEPT to SMFIS_CONTINUE for addresses found in the address book. This means any white listed sender or address book entry will always have the recipient list added to the address book and/or counted. Reported by Andrew Lyon. --0.4-- + Requires LibSnert 1.57 + Added support for milter-length-auth:auth_authen RHS milter-length-auth: + Added -p option to take a list of POSIX extended regular expressions from a file and apply it agains message headers. When a header matches, then the message's recipients are NOT recorded in the address book. This prevents auto response messages from white listed senders unintentionally white listing the message recipient who might be spammy. Commissioned by Andrew Lyon. --0.3-- + Requires LibSnert 1.56 ! Changed install.sh.in to create /var/run/mitler/ directory owned by milter:milter and change the default PID_FILE and SOCKET_FILE paths. This provides better privelage/security separation since the milters run as milter:milter. ! Added X-Scanned-By header for consistency with other Snert milters. ! Cache entries are now stored as text strings for easier manipulation by external tools. Previously only the key (IP address) was a text string, while the value was a binary structure. The previous cache must be discarded. ! When a recipient is first added to the address book, set the count to zero, (not one). The count indicates how many messages are received back from the recipient in the future so as to give an idea of activity. --0.2-- + Forgot to add in the -G option parsing. ! Fixed atExitCleanUp() to sync and close the cache. --0.1-- + Requires LibSnert 1.53