[pmg-devel] [PATCH pmg-api 4/5] ruledb: encode e-mail addresses for syslog
Dominik Csapak
d.csapak at proxmox.com
Mon Nov 14 15:49:36 CET 2022
question: since the rulenames are now utf-8, wouldn't we have to encode
them here too?
nits inline:
On 11/9/22 19:27, Stoiko Ivanov wrote:
> as done in 114655f4fdb07c789a361b2f397f5345eafd16c6 for Accept and
> Block.
>
> Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
> ---
> src/PMG/RuleDB/BCC.pm | 17 +++++++++++++++--
> src/PMG/RuleDB/Notify.pm | 17 +++++++++++++++--
> src/PMG/RuleDB/Quarantine.pm | 16 ++++++++++++++--
> src/PMG/RuleDB/Remove.pm | 8 +++++++-
> 4 files changed, 51 insertions(+), 7 deletions(-)
>
> diff --git a/src/PMG/RuleDB/BCC.pm b/src/PMG/RuleDB/BCC.pm
> index c1225f3..e56f051 100644
> --- a/src/PMG/RuleDB/BCC.pm
> +++ b/src/PMG/RuleDB/BCC.pm
> @@ -165,9 +165,22 @@ sub execute {
> $msginfo->{xforward}, $msginfo->{fqdn}, $param);
> foreach (@bcc_targets) {
> if ($qid) {
> - syslog('info', "%s: bcc to <%s> (rule: %s, %s)", $queue->{logid}, $_, $rulename, $qid);
> + syslog(
> + 'info',
> + "%s: bcc to <%s> (rule: %s, %s)",
> + $queue->{logid},
> + encode('UTF-8',$_),
> + $rulename,
> + $qid,
> + );
> } else {
> - syslog('err', "%s: bcc to <%s> (rule: %s) failed", $queue->{logid}, $_, $rulename);
> + syslog(
> + 'err',
> + "%s: bcc to <%s> (rule: %s) failed",
> + $queue->{logid},
> + encode('UTF-8',$_),
> + $rulename,
> + );
> }
i'd rather prefer to encode $_ once before the if and using that instead of having
two encode calls:
my $target = encode(... $_);
if ($qid) {
syslog(..., $target);
else {
syslog(..., $target);
}
> }
> }
> diff --git a/src/PMG/RuleDB/Notify.pm b/src/PMG/RuleDB/Notify.pm
> index bca5ebf..ee5d2ac 100644
> --- a/src/PMG/RuleDB/Notify.pm
> +++ b/src/PMG/RuleDB/Notify.pm
> @@ -260,9 +260,22 @@ sub execute {
> $top, $from, \@targets, undef, $msginfo->{fqdn});
> foreach (@targets) {
> if ($qid) {
> - syslog('info', "%s: notify <%s> (rule: %s, %s)", $queue->{logid}, $_, $rulename, $qid);
> + syslog(
> + 'info',
> + "%s: notify <%s> (rule: %s, %s)",
> + $queue->{logid},
> + encode('UTF-8', $_),
> + $rulename,
> + $qid,
> + );
> } else {
> - syslog ('err', "%s: notify <%s> (rule: %s) failed", $queue->{logid}, $_, $rulename);
> + syslog (
> + 'err',
> + "%s: notify <%s> (rule: %s) failed",
> + $queue->{logid},
> + encode('UTF-8', $_),
> + $rulename,
> + );
> }
same here
> }
> }
> diff --git a/src/PMG/RuleDB/Quarantine.pm b/src/PMG/RuleDB/Quarantine.pm
> index 30bc5ec..f7154d8 100644
> --- a/src/PMG/RuleDB/Quarantine.pm
> +++ b/src/PMG/RuleDB/Quarantine.pm
> @@ -101,7 +101,13 @@ sub execute {
> if (my $qid = $queue->quarantine_mail($ruledb, 'V', $entity, $tg, $msginfo, $vars, $ldap)) {
>
> foreach (@$tg) {
> - syslog ('info', "$queue->{logid}: moved mail for <%s> to virus quarantine - %s (rule: %s)", $_, $qid, $rulename);
> + syslog (
> + 'info',
> + "$queue->{logid}: moved mail for <%s> to virus quarantine - %s (rule: %s)",
> + encode('UTF-8',$_),
> + $qid,
> + $rulename,
> + );
> }
>
> $queue->set_status ($tg, 'delivered');
> @@ -111,7 +117,13 @@ sub execute {
> if (my $qid = $queue->quarantine_mail($ruledb, 'S', $entity, $tg, $msginfo, $vars, $ldap)) {
>
> foreach (@$tg) {
> - syslog ('info', "$queue->{logid}: moved mail for <%s> to spam quarantine - %s (rule: %s)", $_, $qid, $rulename);
> + syslog (
> + 'info',
> + "$queue->{logid}: moved mail for <%s> to spam quarantine - %s (rule: %s)",
> + encode('UTF-8',$_),
> + $qid,
> + $rulename,
> + );
> }
>
> $queue->set_status($tg, 'delivered');
> diff --git a/src/PMG/RuleDB/Remove.pm b/src/PMG/RuleDB/Remove.pm
> index da6c25f..e7c353c 100644
> --- a/src/PMG/RuleDB/Remove.pm
> +++ b/src/PMG/RuleDB/Remove.pm
> @@ -235,7 +235,13 @@ sub execute {
> }
>
> foreach (@$tg) {
> - syslog ('info', "$queue->{logid}: moved mail for <%s> to attachment quarantine - %s (rule: %s)", $_, $qid, $rulename);
> + syslog (
> + 'info',
> + "$queue->{logid}: moved mail for <%s> to attachment quarantine - %s (rule: %s)",
> + encode('UTF-8',$_),
> + $qid,
> + $rulename,
> + );
> }
> }
> }
More information about the pmg-devel
mailing list