Package: debbugs
Severity: important

We had someone sending mail to debbugs.gnu.org who found his mails
were never appearing on the bug list (ie the maintainer address).
Examining the logs, the gnu.org mail server was rejecting the mails
resent from debbugs with "550 Invalid address in message header".

This appears to be due to a bug in the encode_rfc1522 function.
You can see examples of the input at:

http://debbugs.gnu.org/cgi/bugreport.cgi?msg=19;mbox=yes;bug=6607

and the output at:

http://debbugs.gnu.org/cgi/bugreport.cgi?msg=18;mbox=yes;bug=6607


Debbugs appears to be construcing bad From, Resent-From headers,
violating this section of RFC1522:

   section 5 (Use of encoded-words in message headers):

   (2) An encoded-word may appear within a comment delimited by "(" and
       ")", i.e., wherever a "ctext" is allowed.  More precisely, the
       RFC 822 ABNF definition for "comment" is amended as follows:

       comment = "(" *(ctext / quoted-pair / comment / encoded-word) ")"

       A "Q"-encoded encoded-word which appears in a comment MUST NOT
       contain the characters "(", ")" or " encoded-word that appears in
       a "comment" MUST be separated from any adjacent encoded-word or
       "ctext" by linear-white-space.


A minimal example that shows the problem is included below:


#!/usr/bin/perl

use strict;
use warnings;

use Debbugs::MIME qw(decode_rfc1522 encode_rfc1522);

my $str = 'n...@example.com (J =?utf-8?Q?Bockg=C3=A5rd?=)';
my $dec = decode_rfc1522($str);
my $enc = encode_rfc1522($dec);

print $str, "\n";  # -> n...@example.com (J =?utf-8?Q?Bockg=C3=A5rd?=)
print $dec, "\n";  # -> n...@example.com (J Bockgård)
print $enc, "\n";  # -> n...@example.com (J =?UTF-8?Q?Bockg=C3=A5rd)?=




(I don't want my email unobscured on the web, so the from address is
hopefully faked. I will read any responses via the web interface.)



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to