From kragen@dnaco.net Thu Aug 27 15:13:27 1998
Date: Thu, 27 Aug 1998 15:13:25 -0400 (EDT)
From: Kragen <kragen@dnaco.net>
To: systalk@ml.org
cc: postel@isi.edu
Subject: Re: [ST] I need help with reverse DNS lookups
In-Reply-To: <35E57ACA.5DCA362B@usa.net>
Message-ID: <Pine.SUN.3.96.980827143428.11646o-100000@picard.dnaco.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Keywords:
X-UID: 1518
Status: O
X-Status: 

On Thu, 27 Aug 1998, Artur Skawina wrote:
> > > > don't forget that according to rfc821 systalk@ml.org is an illegal
> > > > address :^)
> 
> rfc821, line 1818

It says that a name is <a> <ldh-str> <let-dig>.
<a> is [a-zA-Z].
<ldh-str> is either <let-dig-hyp> or <let-dig-hyp> <ldh-str>, that is,
	<let-dig-hyp> <let-dig-hyp>*
<let-dig-hyp> is either "-", <a>, or <d>.
<d> is [0-9].
So <let-dig-hyp> is [-a-zA-Z0-9].
So <ldh-str> is [-a-zA-Z0-9]+.
<let-dig> is either <a> or <d>, that is, [a-zA-Z0-9].
So a "name" is [a-zA-Z][-a-zA-Z0-9]+[a-zA-Z0-9].

<name> is only used as one of the alternatives for <element>.
<element> is only used as part of a <domain>.
A <domain> is either an <element> or <element> ". " <domain>.

It gets used in the syntax for mail addresses the way you'd expect.

So the "ml" in "ml.org" is illegal, because it's only two characters
wrong.  It needs to be at least three to be legal.  This appears to be
a bug in the grammar; among other things, it means that almost all mail
addresses in a country-code domain are illegal.  

It could be fixed by making <ldh-str> be either nothing or
<let-dig-hyp> <ldh-str> and by letting a name be either <a> <ldh-str>
<let-dig>, as it is currently, or just <a>, i.e.:

<ldh-str> ::= [ <let-dig-hyp> <ldh-str> ]

<name> ::= <a> [ <ldh-str> <let-dig> ]

This error does not appear to be noted in RFC1123 (the second half of
STD3), which includes several similar corrections to RFC822.  In the
RFC index as of 1998-08-16, RFC-821 is not listed as being "Obsoleted
by" or "Updated by" any other RFC.  RFC1869, which does, in fact,
update RFC822, does not correct this error.  I believe these are the
only two RFCs that form STD10.

I wonder if Jon Postel has been informed of this?  Surely Artur Skawina
is not the first person to notice it, and such a mistake in an official
Internet standard is rather alarming.  If it's been reported but not
fixed, it indicates that perhaps the STD series of documents shouldn't
be taken too seriously, because this would seem to indicate that their
authors do not take them very seriously.

Kragen

-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
We are forming cells within a global brain and we are excited that we might
start to think collectively.  What becomes of us still hangs crucially on
how we think individually.  -- Tim Berners-Lee, inventor of the Web


