Re: News and nntp URI schemes

On Fri, 31 Dec 2004 16:07:50 +0100, Frank Ellermann  
<nobody@xyzzy.claranet.de> wrote:

> Charles Lindsey wrote:
>
>> |   message-id  = 1*printable-ascii "@" 1*printable-ascii
>> |   printable-ascii = %d33-61 / %d63-126 ; excludes ">"

> I like it.
>
>> | It MUST be the message identifier of an actual Netnews
>> | article and hence will in practice conform to the syntax
>> | defined in RFC 1036 or in any subsequent standard for
>> | Netnews articles. Thus not every <message-id> as defined
>> | above is valid.
>
> True, but I'd avoid the MUST if it's not absolutely necessary.
> Maybe only a matter of taste, and if that's the case forget it.

I think it is right insofar as a user MUST at least have the intention of  
typing the <message-id> of a genuine article. If he mistypes it  
accidentally, then who cares whether it was a valid URI under this scheme  
or not. It is clearly not going to work.
>
>> | Observe the delimiter "@" which enables an <article> to be
>> | distinguished from a <newsgroup-name>.

> http://gbiv.com/protocols/uri/rev-2002/rfc2396bis.html#reserved
> apparently says that all schemes are free to define their own
> reserved char.s

Well I have read that. It purports to give a clearer explanation than RFC  
2396, but fails miserably to do so.

I _think_ what it is saying is that the 'official' "@" in the <message-id>  
MUST NOT be %encoded (because it is a delimiter, and should be declared to  
be reserved, except that it is already so declared in 2396bis). And if  
there should _happen_ to be any other "@"s in there (in a <quoted-string>  
perhaps), then they MUST be %-encoded.
>
> For the news scheme we're interested in "/", "@", ">", and "%".
> Your syntax handles ">" and asks for at least one "@".  That's
> good enough for the normal <unique@mdomain> and for odd cases
> like <"foo@bar"@mdomain>.

So that would have to be <news:"foo%40bar"@domain>.
>
> Is <news:unique%40mdomain> implicitly okay ?

I think not.

>  <news:"foo@bar">
> is implicitly bad, <"foo@bar"> is no Message-ID, and it's also
> no group.  Dito <news:"foo%40bar">.

Agreed.

> <news:"bro%ken"%40mdomain> is broken beyond repair, it should
> be <news:"bro%25ken"%40mdomain> for msg-id <"bro%ken"@mdomain>.

No, it should be <news:"bro%25ken"@mdomain>.
>
> What about <news://auth@example/unique@mdomain> ?

I think that is asking you to look on the server 'example', logging in as  
'auth', and trying to find the <message-id> unique@mdomain.

>  You didn't
> explicitly say that "/" is reserved,

I think it is automatically reserved, and would have to be %-emcoded  
inside a <message-id>.

Anyway, I think we need the experts here to tell us whether all those  
interpretations above are correct, and also whether we need to say  
anything explicit about it in the text, or whewther it all follows  
automatically from 2396bis.

> IMHO you should also say _which_ characters are reserved in the
> news scheme.  AFAIK "%" is always reserved, it's in a separate
> chapter of 2396bis.  Apparently you need "/" as reserved char.

That is what is not clear to me. Do we have to say that, given that the  
list of reserved characters in 2396bis is adequate for our purpose?
>

> ....  BTW, 2396bis says authority
> instead of server, it's probably better to adopt this term:
>
> | news-server = "//" authority
> |
> | <authority> is defined in [2396bis], and provides for a
> [etc.]

OK, I have done that.
>
>> the remaining issue is what to do about the '*' notation.
> [...]
>> Comments and opinions?
>
> I like the solution in draft-gilman-news-url-02 section 2.2:
>
> | Note that user agents may extend the ability to refer to
> | groups by use of "*" as a string wild-card.

Then you would be allowing "wildmats" as defined in the NNTP draft. That  
might be workable, but does anyone anywhere inplement that? If not, then I  
think it might be a step too far.

But in the absence of that (or for allowing it as a future extension), I  
think I would like to get rid of the present '*' notation (i.e. to declare  
it obsolete), which means we would just have:

       <URL:news:>
       <URL:news://news.example.com/>
       <URL:news://news.example.com>

Who could live with that?
>
> Add this note to your section 2.2 (your first 2.2, the second
> should be 2.3 ;-), and remove the "*" from the overall syntax:
>
> | all-groups  = news-server [ "/" ]

Yes. Something like that.

-- 
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@clerew.man.ac.uk      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

Received on Tuesday, 4 January 2005 17:13:00 UTC