postconfirm (0.42.0) ietf; urgency=high * Added a check on the sender address during dmarc-reverse processing, requiring that the sender is whitelisted or has a confirmed address. * Changed the logging of dmarc-reverse processing to use a more compact log line format, and commented out some debug logging statements. * Added exception catching and loggin for failures to open smtp sessions to the configured server and port. * Fixed a log writing bug. -- Henrik Levkowetz 09 May 2018 14:04:31 -0700 postconfirm (0.41.5) ietf; urgency=high * Fixed dmarc_reverse() to not re-send to other addresses than the indicated recipient. -- Henrik Levkowetz 20 Apr 2018 05:04:44 -0700 postconfirm (0.41.4) ietf; urgency=high * Fixed a bug in dmarc_rewrite(), where the return values from email.utils.getaddresses() was not handled properly. * Tweaked some setup error messages -- Henrik Levkowetz 01 Mar 2018 06:47:58 -0800 postconfirm (0.41.3) ietf; urgency=high * Added warnings on failure for some post-install actions. * Changed the interface to accept multiple recipients when given on the command line (for use with dmarc-rewrite). Changed dmarc-rewrite to accept multiple recipients, and renamed the recipient argument for other functions that can accept recipient lists. * Changed the -e argument to log arguments to syslog and not exit. * Reverted an earlier change of socket ownership handling. -- Henrik Levkowetz 21 Feb 2018 08:29:30 -0800 postconfirm (0.41.2) ietf; urgency=high * Added and --echo argument to echo back sys.argv. Rewrote the logic to find sender and recipient, in order to not throw out SENDER and RECIPIENT in environment when they are set to nothing, which in some circumstances can be valid. * Don't enforce uid and gid on socket in foreground mode, to make testing easier. * Corrected the trove classifier for development status. -- Henrik Levkowetz 16 Feb 2018 04:28:30 -0800 postconfirm (0.41.1) ietf; urgency=high * Changed default dmarc-rewrite %-encoding character from '%' to '=', and made it configurable. -- Henrik Levkowetz 15 Feb 2018 09:57:40 -0800 postconfirm (0.41.0) This the first release uploaded to pypi.python.org, for more standardised installation using pip. It's still not expected to be ready for beta use, but installation on the IETF servers should be easier this way. The essensial feature of this release is the ability to do experimental dmarc rewrites, both for outgoing mailman list messages, and to handle replies coming in to the rewritten addresses. From the commit log: * Added dmarc rewrite functionality to postconfirmd. Also various accumulated tweaks and changes. * Refined setup, in preparation for alpha release to pypi. * README updated to indicate that this is an alpha release. * Refined mailman interface wrapper, with conditional filter actions. * Added some new config defaults. Fixed an issue with the help display. Updated imports. Added chown for the socket. * Refactored service.py to permit multiple actions. Added option parsing. Added bounce handling, but commented out. Added dmarc handling. Added comprehensive docstring for --help messages. * Updated the docstring. Added default config for dmarc. * Tweaked sockserver output to straghten multiple lines into one. -- Henrik Levkowetz 14 Feb 2018 16:01:53 +0000 postconfirm (0.40) * Added checking of the mailman list archive flag before adding the Archived-At: header field. * Added a mailman_dir config option, in order to be able to import the python mailman libs even if not on the regular python path. * Fixed the -s / --socket option, to make it take an argument as intended. * Changed the handling of sys.stdout and sys.stderr when running in foreground mode -- they should not go to syslog in that case. * Added reading of mailman listinfo for all mailman lists on startup and on receipt of SIGHUP. -- Henrik Levkowetz 20 Jan 2017 10:36:45 +0100 postconfirm (0.39) * Added support for the Archived-At: header field for the IETF MailArchive utility -- Henrik Levkowetz 10 Feb 2014 21:28:27 +0100 postconfirm (0.38) * Added BATV (draft-levine-smtp-batv) support. -- Henrik Levkowetz 20 Mar 2010 16:49:50 -0700 postconfirm (0.37) * Tweaked the log message for dropped bulk messages * Added detection of auto-reply messages which contain a valid confirmation code in the body of the message, but not in the subject line. -- Henrik Levkowetz 25 Sep 2009 15:37:17 +0200 postconfirm (0.36) * Moved the bulk mail detection to after the whitelist check. Some OK mail is also bulk mail. * Added logging of py module loading, indicating which file it comes from. -- Henrik Levkowetz 25 Sep 2009 11:47:24 +0200 postconfirm (0.35) * Tweaked the wrapper to make the 'filter' action work * Added detection of bulk mail and a config file option to set a regex for the Precedence: header to detect bulk mail. -- Henrik Levkowetz 24 Sep 2009 17:07:41 +0200 postconfirm (0.33) * Added a new action, 'filter', which forwards confirmed email to /usr/lib/sendmail instead of to mailman. For use with filtering of alias addresses. -- Henrik Levkowetz 31 May 2009 0:06:37 postconfirm (0.32) * Added spam flag test for mailman commands in the wrapper -- Henrik Levkowetz 29 Sep 2008 9:23:49 +0200 postconfirm (0.31) * Removed duplicate log messages (when TimeoutError was raised). * Tweaked the wrapper script to not be sensitive to the domain name when comparing -owner@ and -bounces@ addresses. -- Henrik Levkowetz 17 Sep 2008 10:42:00 +0200 postconfirm (0.30) * Added functionality to handle blacklist regexes. -- Henrik Levkowetz 01 Sep 2008 10:06:29 +0200 postconfirm (0.29) * The timeout error messages in sockserver.py used a nonexistent function and never made it out. Fixed. -- Henrik Levkowetz 01 Sep 2008 10:06:29 +0200 postconfirm (0.28) * Changed handler timeout to 300s * Changed logic to catch confirmation messages also when somebody has been confirmed earlier, so as to release prior cached messages and not forward the confirmation messages to the list. * Adjusted log messages, to reduce the number of log messages in some cases, and add information in other cases -- Henrik Levkowetz 30 Aug 2008 17:31:32 +0200 postconfirm (0.27) * Minor tweaks -- Henrik Levkowetz 29 Aug 2008 11:12 +0200 postconfirm (0.26) * Added more timeouts to the daemon code, to catch the process deadlocks or resource waits which have been observed. * Added individual timeout handlers, to try to get proper timeout log messages specific to each timeout * Where appropriate, raise SystemExit on timeout to return a proper error code to the client -- Henrik Levkowetz 29 Aug 2008 2:55:00 +0200 postconfirm (0.25) * Added logging of time consumed in the daemon service handler. * Fixed a bug where extraction of components from the confirmation string could fail. * Changed mail sending to only log on SMTP exception, rather than print traceback. -- Henrik Levkowetz 11 Jul 2008 2:44:44 +0200 postconfirm (0.24) * Tweaked the log messages to give more information when a confirmation fails due to hash mismatch * Added regex whitelists. These are *much* more costly than regular whitelist entries, so should be used sparingly. * Use a blank subject line if there is no Subject: header in the message, rather than throwing an exception. -- Henrik Levkowetz 10 Jul 2008 2:16:52 +0200 postconfirm (0.23) * Tweaked log messages so that where empty addresses can occur, they are enclosed in <>. Also some other log message tweaks. * Added case normalization: white- and black-lists are normalized when read, and sender addresses are normalized when compared with white- and black-lists, but otherwise left untouched. This means that the confirmed file can still contain mixed-case addresses, for instance. * Added a check for the sender to be somebody before doing the other confirmation verification checks. -- Henrik Levkowetz 02 Jul 2008 21:02:26 +0200 postconfirm (0.22) * Added blacklists (entries on these will never receive confirmation requests, so messages from them will just sit in the cache till they are removed by whatever periodic cache cleanout is implemented. * The internal sighup to re-read files did not go to the right process. Fixed; confirmations are now picked up and remembered on the next socket-handler process fork. * Some mailers apparently will break contigous non-whitespace character sequences in order to limit the lenght of header lines; this has the effect of inserting tabs or spaces in the confirmation hash or ID. Now deleting all embedded spaces in the confirmation subject components. -- Henrik Levkowetz 02 Jul 2008 2:17:59 +0200 postconfirm (0.21) * wrapper: Updated the mailman wrapper script to not drop messages if the postconfirmd daemon is not running, or gives an error return different from the error code 1 which signifies that a confirmation request was sent. * sendmail.py: Stopped logging mail sending * service.py: Changed the confirmation subject pattern to accept 822 lines broken across lines. * service.py: Added SIGHUP handling, so a HUP will cause the daemon to re- read the whitelist and confirmed files * service.py: Short-circuited responses to blank and self. No need to try to send out those. * Re-worked some of the logging, to make it more succinct. * Moved service setup to after the daemonization, to make the sighup handler available in the right process. * Took out the prerequisites part of the Makefile. AMS is not running Debian, anyway, so this will not work anyhow. -- Henrik Levkowetz 01 Jul 2008 22:29:35 +0200 postconfirm (0.20) * First released version. Known weaknesses: - Very limited installation instructions - Manpage needs elaboration - make install has a number of hard-coded paths, even if the daemon code has configuration variables which permit different installation - no make config, no automake support, not anything fancy to permit installation on different unices -- Henrik Levkowetz 19 Jun 2008 15:02:07 +0200 postconfirm (0.10) * Project created -- Henrik Levkowetz 2008-05-23 14:07:34 CEST