[pmg-devel] [PATCH pmg-api/docs] make filter timeout configurable
Stoiko Ivanov
s.ivanov at proxmox.com
Mon Sep 11 16:23:12 CEST 2023
This series improves mail-handling in case pmg-smtp-filter takes too long in
processing a mail.
Currently the timeout is based on postfix defaults which differ between
after-queue filtering (600s) and before-queue filtering (120s) (patch 1/4
unifies the timeout, and is meant as a stop-gap measure).
In both cases - once the timeout is reached the behavior is inconvenient
(to put it mildly):
* postfix detects the timeout and reports a temporary 4xx code to the
sender, while pmg-smtp-filter sends the mail further after processing
anyways
This results in such mails getting delivered multiple times to the
recipient (and you need the administrator of the server sending to PMG to
remove it from their queue, for the deliveries to stop).
Tested by adding a `sleep 200;` in PMG::Utils::analyze_virus_clam.
The docs patch is necessary for patch 3/5 (new config-options need to be
known in the doc-generator)
pmg-api:
Stoiko Ivanov (4):
templates: postfix: set same timeouts for before and after-queue
pmg-smtp-filter: refactor use of gettimeofday
config: postfix: make smtp-filter-timeout configurable
pmg-smtp-filter: die if processing took longer than the timeout
src/PMG/Config.pm | 6 ++++++
src/bin/pmg-smtp-filter | 22 +++++++++++++---------
src/templates/main.cf.in | 5 ++++-
3 files changed, 23 insertions(+), 10 deletions(-)
pmg-docs:
Stoiko Ivanov (1):
doc-generator: add new option filter_timeout
gen-pmg.conf.5-opts.pl | 1 +
1 file changed, 1 insertion(+)
--
2.39.2
More information about the pmg-devel
mailing list