* [pmg-devel] [PATCH pmg-api v2] rulesystem: matchfield: match all headers not only the first
@ 2022-05-17 10:19 Stoiko Ivanov
2022-05-25 6:21 ` [pmg-devel] applied: " Dominik Csapak
0 siblings, 1 reply; 2+ messages in thread
From: Stoiko Ivanov @ 2022-05-17 10:19 UTC (permalink / raw)
To: pmg-devel
currently the match field uses $entity->head->get in scalar context,
which only returns the first matching header (see [0])
switch over to using get_all in list context and iterating over all
headers makes it possible to match subsequent headers.
while it is uncommon in general - the Received headers are usually not
restricted to one - reported in our community forum:
https://forum.proxmox.com/threads/.109629/
[0] https://metacpan.org/pod/MIME::Head#Getting-field-contents
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
v1->v2:
* dropped useless indentation by directly iterating over the list (if it's
empty the iteration will not happen) - huge thx to Dominik for the feedback!
tested with the sample from the forum for the multiple received headers
case and a simple subject match for the single header case.
src/PMG/RuleDB/MatchField.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/PMG/RuleDB/MatchField.pm b/src/PMG/RuleDB/MatchField.pm
index b1da4fa..2671ea4 100644
--- a/src/PMG/RuleDB/MatchField.pm
+++ b/src/PMG/RuleDB/MatchField.pm
@@ -102,7 +102,7 @@ sub parse_entity {
if (my $id = $entity->head->mime_attr ('x-proxmox-tmp-aid')) {
chomp $id;
- if (defined(my $value = $entity->head->get($self->{field}))) {
+ for my $value ($entity->head->get_all($self->{field})) {
chomp $value;
my $decvalue = MIME::Words::decode_mimewords($value);
--
2.30.2
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pmg-devel] applied: [PATCH pmg-api v2] rulesystem: matchfield: match all headers not only the first
2022-05-17 10:19 [pmg-devel] [PATCH pmg-api v2] rulesystem: matchfield: match all headers not only the first Stoiko Ivanov
@ 2022-05-25 6:21 ` Dominik Csapak
0 siblings, 0 replies; 2+ messages in thread
From: Dominik Csapak @ 2022-05-25 6:21 UTC (permalink / raw)
To: Stoiko Ivanov, pmg-devel
applied, thanks
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-05-25 6:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-17 10:19 [pmg-devel] [PATCH pmg-api v2] rulesystem: matchfield: match all headers not only the first Stoiko Ivanov
2022-05-25 6:21 ` [pmg-devel] applied: " Dominik Csapak
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal