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

Simplified path ABNF / tail-entry trouble #1132 (was: #1132: Allowing IP addresses as path-identiites - Poll result)



Charles Lindsey wrote:

> I covered it in my version by disallowing [FWS] before a "!"

Cute, it also simplifies my "either !! or diag!MISMATCH!" idea.

BTW, Richard reports that in reality "diag!MISMATCH!" uses the
format "diag.MISMATCH" (as in your second version).  Time for
a new attempt to put it all together.  Goals:

1 - either !! [FWS] or ! [FWS]
2 - allow "_" in labels or bareword
3 - pseudo-TLD MISMATCH allows to identify "diag.MISMATCH!"
4 - IPs only in <diag> => <toplabel> details irrelevant
5 - colon only for IPv6 in "<diag>.MISMATCH!", duck or grouse
6 - <tail-entry> may start with DIGIT, anything (?) goes that
    is NOT 1036-punctuation (incl. ":") or WSP or CTL

Talking about "anything goes" in <tail-entry>, what precisely
is this ?  What about "$", "+", "#", "%", "@" ?   Whatever we
say, this is a major difference from 1036, we have to mention
it in the "differences from 1036" appendix.

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

 tail-entry    = 1*( aplphanum / "-" / "_" / "." )    ; TBD ?!?

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

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

If we prefer a variant with "!" [FWS] "MISMATCH" it's obvious
where to change this proposal.  

It does NOT support Russ' idea "add <diag> without checking,
and therefore also without a MISMATCH".

                           Bye, Frank