backport patch to prevent email address encoding
This commit is contained in:
parent
a38e23ecae
commit
5bfd8aefa9
2 changed files with 57 additions and 1 deletions
50
bugzilla-email-encode.patch
Normal file
50
bugzilla-email-encode.patch
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
diff --git a/Bugzilla/MIME.pm b/Bugzilla/MIME.pm
|
||||
index 7b5843a..8c6c141 100644
|
||||
--- a/Bugzilla/MIME.pm
|
||||
+++ b/Bugzilla/MIME.pm
|
||||
@@ -13,9 +13,6 @@ use warnings;
|
||||
|
||||
use parent qw(Email::MIME);
|
||||
|
||||
-use Encode qw(encode);
|
||||
-use Encode::MIME::Header;
|
||||
-
|
||||
sub new {
|
||||
my ($class, $msg) = @_;
|
||||
state $use_utf8 = Bugzilla->params->{'utf8'};
|
||||
@@ -79,20 +76,12 @@ sub as_string {
|
||||
# MIME-Version must be set otherwise some mailsystems ignore the charset
|
||||
$self->header_set('MIME-Version', '1.0') if !$self->header('MIME-Version');
|
||||
|
||||
- # Encode the headers correctly in quoted-printable
|
||||
+ # Encode the headers correctly.
|
||||
foreach my $header ($self->header_names) {
|
||||
my @values = $self->header($header);
|
||||
- # We don't recode headers that happen multiple times.
|
||||
- next if scalar(@values) > 1;
|
||||
- if (my $value = $values[0]) {
|
||||
- utf8::decode($value) unless $use_utf8 && utf8::is_utf8($value);
|
||||
-
|
||||
- # avoid excessive line wrapping done by Encode.
|
||||
- local $Encode::Encoding{'MIME-Q'}->{'bpl'} = 998;
|
||||
+ map { utf8::decode($_) if defined($_) && !utf8::is_utf8($_) } @values;
|
||||
|
||||
- my $encoded = encode('MIME-Q', $value);
|
||||
- $self->header_set($header, $encoded);
|
||||
- }
|
||||
+ $self->header_str_set($header, @values);
|
||||
}
|
||||
|
||||
# Ensure the character-set and encoding is set correctly on single part
|
||||
diff --git a/attachment.cgi b/attachment.cgi
|
||||
index 5db8f59..40b0c9d 100755
|
||||
--- a/attachment.cgi
|
||||
+++ b/attachment.cgi
|
||||
@@ -26,6 +26,7 @@ use Bugzilla::Attachment::PatchReader;
|
||||
use Bugzilla::Token;
|
||||
|
||||
use Encode qw(encode find_encoding);
|
||||
+use Encode::MIME::Header; # Required to alter Encode::Encoding{'MIME-Q'}.
|
||||
|
||||
# For most scripts we don't make $cgi and $template global variables. But
|
||||
# when preparing Bugzilla for mod_perl, this script used these
|
||||
Loading…
Add table
Add a link
Reference in a new issue