On 7/28/2016 6:19 PM, Wietse Venema wrote:
> I have uploaded a patch that makes postscreen share test results
> between concurrent connections from the same IP address. This patch
> requires Postfix 3.1 or later.
> 
> ftp://ftp.porcupine.org/mirrors/postfix-release/experimental/feature-patches/
> -r--r--r--  1 wietse  wietse  14473 Jul 28 18:48 
> 20160728-postscreen-3.1-3.2.patch
> -r--r--r--  1 wietse  wietse    480 Jul 28 19:06 
> 20160728-postscreen-3.1-3.2.patch.gpg1
> -r--r--r--  1 wietse  wietse    220 Jul 28 19:06 
> 20160728-postscreen-3.1-3.2.patch.gpg2
> -r--r--r--  1 wietse  wietse    280 Jul 28 19:06 
> 20160728-postscreen-3.1-3.2.patch.sig
> 
>       Wietse
> 
> 20160728
> 
>       Bugfix (introduced: 20090614): with concurrent connections
>       from the same client IP address, and after-220 tests enabled,
>       postscreen could overwrite the cached "all tests completed"
>       result for one connection that completed the after-220 tests,
>       with the "some tests not completed" result for a concurrent
>       connection where the client hung up before completing the
>       after-220 tests.  Files: postscreen_misc.c, postscreen_state.c,
>       postscreen.h, postscreen_tests.c, postscreen.c, postscreen_smtpd.c,
>       postscreen_early.c.
> 


This seems to break the postscreen cache cleanup for me.  At the
scheduled cleanup time:
Jul 29 11:54:04 mgate3 postfix/master[81710]: warning: process
/usr/libexec/postfix/postscreen pid 14364 killed by signal 11
Jul 29 11:54:04 mgate3 postfix/master[81710]: warning:
/usr/libexec/postfix/postscreen: bad command startup -- throttling

and thereafter postscreen won't run unless I nuke the database, but
then signal 11 at the next scheduled cleanup.

Replacing with the unpatched snapshot restores normal operation with
the existing database.

mail_version = 3.2-20160612
postscreen_cache_cleanup_interval = 12h
postscreen_cache_map = btree:$data_directory/postscreen_cache




  -- Noel Jones

Reply via email to