Closed Bug 350208 Opened 18 years ago Closed 11 years ago

Account name character set is more limited than RFC-2822 requires

Categories

(Bugzilla :: User Accounts, defect)

defect
Not set
minor

Tracking

()

RESOLVED DUPLICATE of bug 319953

People

(Reporter: hacksaw, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6

Bugzilla 2.22:

Bugzilla complains about this name in Sanity Check:
Bad profile email address, id=63, <G&IR-MAIN-SCCB@irobot.com>.

From the spec, a email address is:
addr-spec       =       local-part "@" domain
local-part      =       dot-atom / quoted-string / obs-local-part
dot-atom        =       [CFWS] dot-atom-text [CFWS]
dot-atom-text   =       1*atext *("." 1*atext)

and finally

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

...
So I'm not sure what's wrong with this address.


Reproducible: Always
This is true.

You can change your "emailregexp" parameter locally to fix that, if you'd like.
Severity: normal → minor
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Mac OS X 10.3 → All
Hardware: Macintosh → All
I just tried adding the & to the emailregexp, but this didn't help as far as sanity check is concerned.
The regexps I tried were:

^[\w&\.\+\-=]+@[\w\.\-]+\.[\w\-]+$

^[\w\&\.\+\-=]+@[\w\.\-]+\.[\w\-]+$

 and

^[\w\.\+\-=&]+@[\w\.\-]+\.[\w\-]+$

I don't discount the possibility that I am forgetting something about regexps, but I think at least one of those should have worked.
In bugzilla 3.0, and I assume before this release, Util.pm has a subroutine validate_email_syntax.

It does something very questionable:

my $ret = ($addr =~ /$match/ && $addr !~ /[\\\(\)<>&,;:"\[\] \t\r\n]/);

i.e. "check what the user wants, and then throw out some other things we think they don't want." Most of these extra characters aren't legal in addresses, but & is legal. This should be changed.
Should bugzilla use Mail::RFC822::Address instead of cooking up it's own thing?
This has been fixed in Bugzilla 4.4, see bug 319953.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.