[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