[jcifs] Annoying SMB URL question.

Conrad Minshall conrad at apple.com
Tue Dec 10 04:46:17 EST 2002


At 8:01 AM -0500 12/9/02, Glass, Eric wrote:

>>  > Just beating a dead horse

Me too.

>>  > c) Selecting ";" simply because it doesn't have to be
>>  escaped doesn't really
>>  > buy you anything; to be correct, your applications will
>>  still have to be
>>  > able to unescape whatever separator is chosen.  i.e.:
>>
>
>Actually, my previous statement above is incorrect.  Using ';' as the
>reserved (as defined in RFC 2396, section 2.2) delimiter for domain-user
>separation would NOT necessarily require that an application handle the
>instance in which the semicolon is escaped as '%3B'.  For the sake of
>completeness in the spec, it might be worthwhile to specify whether the
>presence of '%3B' is to be treated as an encoded separator (valid) or as an
>encoded literal ';' (which would be an illegal character in this case).
>This would only be significant in determining whether something like:
>
>smb://user%3Binfo:password@server
>
>should be parsed as the (valid) user "info" in domain "user", or the
>(invalid) username "user;info" with no domain qualifier.

2396 defines "unreserved characters" (and excludes semicolon from 
that list).  2396 also says "data must be escaped if it does not have 
a representation using an unreserved character".  2396 also defines 
"reserved characters" (and includes semicolon).

So interpreting a %3B as a delimiter rather than as data invalidates 
escaping, the only mechanism available to represent a semicolon as 
data.  In the password component for instance this would mean no way 
exists to embed a "@" as password data. 



More information about the jcifs mailing list