[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Yet another Path ABNF (was: #1132: Allowing IP addresses as path-identiites - Poll result)



Charles Lindsey wrote:

  [3696 rule for TLDs]
>> toplabel = [ label ] ALPHA [ label ]    ; at least one ALPHA

> OK, I've put that into my syntax proposal.

Oops, careful, it was wrong, I forgot the critical hyphens for
labels like 12-A--3.  A bit like <id-special> aka <mqspecial>:

   domain   = 1*( label "." ) toplabel     ; at least one dot
   label    = alphanum [ *( alphanum / "-" ) alphanum ]
   toplabel = [label *( "-" )] ALPHA [*( "-" ) label]

We don't need these <toplabel> details for something remotely
related to your pseudo-TLD .MISMATCH version (second version).

>> The (apparent) consensus here to allow "_" in addition to
>> "-" is already at odds with what "everybody" thinks to know.

> Eh? There is no proposal anywhere to allow "_" in FQDNs.

Harald mumbled something in that direction, and you refused for
months to kill the underscores in non-<bareword>s:

 <http://permalink.gmane.org/gmane.ietf.usenet.format/30046>
|> Like Charles you also have an "_" in the <path-identity> for
|> the non-<bareword> case.

| Yep. Allowing _ in hostnames seems to be an old tradition for
| USEFOR drafts, and I didn't change it for this.

If you now say that this was all wrong and underscores are of
course nonsense outside of <bareword> or <tail-entry> it will
again change the resulting syntax:

 path          = "Path:" SP [FWS] path-list [FWS] CRLF
 path-list     = *( path-entry [FWS] "!" ) tail-entry
 path-entry    = path-identity [ path-diag ]

 tail-entry    = 1*( alphanum / "-" / "_" / "." )

 path-identity = ( 1*( path-label "." ) path-label ) / bareword
 path-label    = alphanum [ *( alphanum / "-" ) alphanum ]
 bareword      = alphanum [ *( alphanum / "-" / "_" ) alphanum ]
 alphanum      = ALPHA / DIGIT

 path-diag     = [ [FWS] "!POSTED" ]
                 [ "!" /                 ; match => "!!"
                   ( [FWS] "!"
                     ( IPv4address       ; see [RFC 3986]
                     / IPv6address       ; see [RFC 3986]
                     / path-identity )
                     ( ".MISMATCH" / ".SEEN" ) ) ]

Bill's parser still says "no error".  I'd prefer to rename the
<bareword>, how about <obs-id> ?  It's an obs-cenity and broken
by design, the world map project died in the second millennium.

                         Bye, Frank