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

Re: #1132: Allowing IP addresses as path-identiites - Poll result



In <1131012091.20050914143605@xxxxxxxxx> Bill McQuillan <McQuilWP@xxxxxxxxx> writes:

>On Wed, 2005-09-14, Charles Lindsey wrote:

>> No, there is no need for that. Every <label> has to begin with ALPHA (and
>> that was in RFC 1035), so if you see anything with just digits and "."s
>> in it, it is either an <IPv4address> or it is a syntax error.

>Actually RFC 1035 was superceded by RFC 1123 section 2.1 which states that
>each label except the TLD may be all-numeric.

Except that I see nothing in RFC 1123 that says the TLD is to be treated
differently. Frank found a nice syntax for <hostname> in RFC 2396, but its
successor RFC 3986 has removed that, and refers you instead to RFC 1034
plus RFC 1123. So it would seem that there is nowhere any standard syntax
for what a domain name looks like, although "everybody" (TINE) seems to
know what it is.

There is also the interesting question whether you are allowed two "-"s
in succession. Apparently you are, so I have incorporated that (and
allowed it in <bareword> too for good measure).

So here now are the two versions of my syntax, incporporating various
changes from recent discussions. There are still possibilities to simplify
them in the direction of Frank's version, or even Harald's. However, life
would be simpler if we could have some views on which of my two
alternatives we want to use for further progress (i.e. do we want to be
able to distinguish <source-identity>s from <path-identity>s by the
presence of .SEEN/.MATCH/.MISMATCH, or somesuch)?

 
[1st version of syntax, following the usage of POSTED and
MISMATCH in the present USEFOR.]

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

   path-entry = path-identity *( "!" path-identity ) [ "!" "POSTED" ]
                  [ "!" [ source-identity [ "!" "MISMATCH" ] ] ]

   path-identity = fqdn / bareword

   fqdn = 1*( label "." ) toplabel

   label = alphanum / alphanum *( alphanum / "-" ) alphanum

   toplabel = ALPHA / ALPHA *( alphanum / "-" ) alphanum

   alphanum = ALPHA / DIGIT

   bareword = ALPHA / ALPHA *( alphanum / [ "-" / "_" ] ) alphanum )

   tail-entry = fqdn / bareword

   source-identity = fqdn / IP-address / bareword

   IP-address = IPv4address / IPv6address ;  see [RFC 3986]



[2nd version of syntax, making <source-identity>s readily
distinguishable from <path-identity>s.]

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

   path-entry = path-identity *( "!" path-identity )[ "!" "POSTED" ]
                   [ "!" [ path-source ] ]

   path-identity = fqdn / bareword

   fqdn = 1*( label "." ) toplabel

   label = alphanum / alphanum *( alphanum / "-" ) alphanum

   toplabel = ALPHA / ALPHA *( alphanum / "-" ) alphanum

   alphanum = ALPHA / DIGIT

   bareword = ALPHA / ALPHA *( alphanum / [ "-" / "_" ] ) alphanum )

   tail-entry = fqdn / bareword

   path-source = source-identity ( ".SEEN" / ".MATCH" / ".MISMATCH" )

   source-identity = fqdn / IP-address / bareword

   IP-address = IPv4address / IPv6address ;  see [RFC 3986]
 
-- 
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133   Web: http://www.cs.man.ac.uk/~chl
Email: chl@xxxxxxxxxxxxxxxx      Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9      Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5