From: Stoiko Ivanov <s.ivanov@proxmox.com>
To: pmg-devel@lists.proxmox.com
Subject: [pmg-devel] [PATCH pmg-api/pmg-docs v2] make filter timeout configurable
Date: Fri, 12 Jan 2024 20:21:46 +0100 [thread overview]
Message-ID: <20240112192151.40998-1-s.ivanov@proxmox.com> (raw)
v1->v2:
* addressed Thomas' feedback - Thanks very much
* changed the setting from filter_timeout to filter-timeout (thus
template toolkit needs to access it as 'pmg.mail.item('filter-timeout')
* fixed a few glitches in the commit messages
original cover-letter for v1:
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: cleanup 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 | 9 +++++++++
src/bin/pmg-smtp-filter | 21 ++++++++++++---------
src/templates/main.cf.in | 5 ++++-
3 files changed, 25 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
next reply other threads:[~2024-01-12 19:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-12 19:21 Stoiko Ivanov [this message]
2024-01-12 19:21 ` [pmg-devel] [PATCH pmg-docs v2 1/1] doc-generator: add new option filter-timeout Stoiko Ivanov
2024-01-12 19:21 ` [pmg-devel] [PATCH pmg-api v2 1/4] templates: postfix: set same timeouts for before and after-queue Stoiko Ivanov
2024-01-12 19:21 ` [pmg-devel] [PATCH pmg-api v2 2/4] pmg-smtp-filter: cleanup use of gettimeofday Stoiko Ivanov
2024-01-12 19:21 ` [pmg-devel] [PATCH pmg-api v2 3/4] config: postfix: make smtp-filter-timeout configurable Stoiko Ivanov
2024-01-12 19:21 ` [pmg-devel] [PATCH pmg-api v2 4/4] pmg-smtp-filter: die if processing took longer than the timeout Stoiko Ivanov
2024-02-21 14:35 ` [pmg-devel] [PATCH pmg-api/pmg-docs v2] make filter timeout configurable Dominik Csapak
2024-02-22 15:23 ` [pmg-devel] applied-series: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240112192151.40998-1-s.ivanov@proxmox.com \
--to=s.ivanov@proxmox.com \
--cc=pmg-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox