BUG: GnuPG Key import fails to parse TLD email address

Matthias Urlichs smurf at noris.de
Fri Mar 2 19:48:00 CET 2001


Michael H. Warfield:
> > The dot-at-the-end syntax is valid for DNS (host) names, but it's not
> > valid SMTP address syntax to add a dot at the end of an email address
> > (among other places).
> 	It's not???

Nope. Try any Zmailer-driven SMTP server (AFAIK the only software with a
_real_ RFC parser).

$ telnet mail.noris.net 25
Connected to mail.noris.net.
Escape character is '^]'.
220 mail2.noris.net noris network AG - ESMTP - no UBE/UCE !
> helo tester
250 mail2.noris.net expected "HELO play.smurf.noris.de"
> mail from:<smurf at ai.>
501-5.1.7 For input: <<smurf at ai.>
501-5.1.7                      ^
501 5.1.7 Path data: Spurious dot (.) at the end of the domain name

Dots, in RFC parlance, separate atoms, which are (more or less)
sequences of letters+numbers. You want dots anywhere else, you use
quotes. That's why the address <foo. at bar.com> is illegal and has to be
written <"foo."@bar.com>.

> mail from:<foo. at bar.com>
501-5.1.7 For input: <<foo. at bar.com>
501-5.1.7                 ^
501 5.1.7 Path data: Localpart must not end with unquoted dot!

To quote from RFC 821's BNF:

		<mailbox> ::= <local-part> "@" <domain>
		<domain> ::=  <element> | <element> "." <domain>
		<element> ::= <name> | "#" <number> | "[" <dotnum> "]"
		<name> ::= <a> <ldh-str> <let-dig>
		<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
		<let-dig> ::= <a> | <d>
		<let-dig-hyp> ::= <a> | <d> | "-"

... and there you have it ... except that the syntax was relaxed a few
years later. I remember the collective "Oops" when people noticed
that mail to people at 3com.com should be delivered, thus now it's

		<name> ::= <let-dig> <ldh-str> <let-dig>

(or something similar along these lines).

Matthias Urlichs     |     noris network AG     |     http://smurf.noris.de/
Make my day - try to pick up someone else

More information about the Gnupg-devel mailing list