- From: Clive D.W. Feather <clive@demon.net>
- Date: Mon, 3 Mar 2003 07:59:50 +0000
- To: Graham Klyne <GK@ninebynine.org>
- Cc: "Roy T. Fielding" <fielding@apache.org>, uri@w3.org
Graham Klyne said: > Ref: > [[ > hostname = domainlabel [ qualified ] > qualified = *( "." domainlabel ) [ "." toplabel [ "." ] ] > domainlabel = alphanum [ 0*61( alphanum | "-" ) alphanum ] > toplabel = alpha [ 0*61( alphanum | "-" ) alphanum ] > alphanum = ALPHA / DIGIT > ]] > > I think the syntax production 'qualified' is ambiguous (i.e. permits more > than one parse tree for some valid values). Is this the only place "qualified" is used? If so, then there's a further ambiguity - if a hostname consists only of a single domainlabel, is it followed by a zero-length qualified or not. I would suggest that the correct resolution is either: hostname = domainlabel [ qualified ] qualified = *( "." domainlabel ) "." toplabel [ "." ] if you want to forbid hostnames like "abc.123", or: hostname = domainlabel [ qualified ] qualified = 1*( "." domainlabel ) [ "." ] or hostname = domainlabel [ qualified ] [ "." ] qualified = 1*( "." domainlabel ) (these are not equivalent) if you want to allow them. From the rest of this thread, people want to treat the last component specially (require it to start with a letter), but I'm not sure in which contexts, so I can't comment further. If someone will go through the following list and say "yes" or "no" to each, I can tell you the right syntax: abc abc. 123 123. abc.abc abc.abc. abc.123 abc.123. 123.abc 123.abc. 123.123 123.123. abc.abc.abc abc.abc.abc. abc.abc.123 abc.abc.123. abc.123.abc abc.123.abc. abc.123.123 abc.123.123. 123.abc.abc 123.abc.abc. 123.abc.123 123.abc.123. 123.123.abc 123.123.abc. 123.123.123 123.123.123. -- Clive D.W. Feather | Work: <clive@demon.net> | Tel: +44 20 8371 1138 Internet Expert | Home: <clive@davros.org> | Fax: +44 870 051 9937 Demon Internet | WWW: http://www.davros.org | Mobile: +44 7973 377646 Thus plc | |
Received on Monday, 3 March 2003 03:59:59 UTC