From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Stoiko Ivanov <s.ivanov@proxmox.com>, pmg-devel@lists.proxmox.com
Subject: [pmg-devel] applied-series: [PATCH pmg-api/pmg-docs v2] make filter timeout configurable
Date: Thu, 22 Feb 2024 16:23:38 +0100 [thread overview]
Message-ID: <aa7c9455-4a52-4eab-803a-ecab2f3c75b2@proxmox.com> (raw)
In-Reply-To: <20240112192151.40998-1-s.ivanov@proxmox.com>
Am 12/01/2024 um 20:21 schrieb Stoiko Ivanov:
> 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(+)
>
applied, with Dominik's R-b & T-b, thanks!
prev parent reply other threads:[~2024-02-22 15:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-12 19:21 [pmg-devel] " Stoiko Ivanov
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 ` Thomas Lamprecht [this message]
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=aa7c9455-4a52-4eab-803a-ecab2f3c75b2@proxmox.com \
--to=t.lamprecht@proxmox.com \
--cc=pmg-devel@lists.proxmox.com \
--cc=s.ivanov@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