From aca5afe9ba07638bfde9162e0d24e1b476308e27 Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Sun, 26 Mar 2023 15:52:57 -0700 Subject: [PATCH] encode addresses before checking if they are valid --- lib/Debbugs/Control.pm | 4 ++-- lib/Debbugs/Control/Service.pm | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Debbugs/Control.pm b/lib/Debbugs/Control.pm index 38b83ab..4396b05 100644 --- a/lib/Debbugs/Control.pm +++ b/lib/Debbugs/Control.pm @@ -96,7 +96,7 @@ BEGIN{ package => [qw(set_package)], block => [qw(set_blocks)], merge => [qw(set_merged)], - tag => [qw(set_tag)], + tag => [qw(set_tag valid_usertag)], clone => [qw(clone_bug)], archive => [qw(bug_archive bug_unarchive), ], @@ -3295,7 +3295,7 @@ sub bug_unarchive { __end_control(%info); } -= head2 valid_usertag +=head2 valid_usertag valid_usertag diff --git a/lib/Debbugs/Control/Service.pm b/lib/Debbugs/Control/Service.pm index 52d7d10..f3e3bd0 100644 --- a/lib/Debbugs/Control/Service.pm +++ b/lib/Debbugs/Control/Service.pm @@ -93,6 +93,7 @@ use Debbugs::Config qw(:config); use Debbugs::Common qw(cleanup_eval_fail); use Debbugs::Control qw(:all); use Debbugs::Status qw(splitpackages); +use Debbugs::MIME qw(encode_rfc1522); use Params::Validate qw(:types validate_with); use List::AllUtils qw(first); @@ -367,7 +368,7 @@ sub control_line { } elsif ($ctl eq 'submitter') { my $newsubmitter = $matches[1] eq '!' ? $param{replyto} : $matches[1]; - if (not Mail::RFC822::Address::valid($newsubmitter)) { + if (not Mail::RFC822::Address::valid(encode_rfc1522($newsubmitter))) { print {$transcript} "$newsubmitter is not a valid e-mail address; not changing submitter\n"; $errors++; } -- 2.39.2