[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: URL dn part [revised]



"Kurt D. Zeilenga" wrote:
> 
> [rewritten for clarity, please ignore previous version]
> 
> As previously discussed,
>         ldap://host
>         ldap://host/
> 
> should be viewed as equivalent.  While the section 4 statement
>         If no dn is given, the default is the zero-length DN, ""
> 
> is clear that the DN is optional, the ANBF:
> 
>        ldapurl    = scheme "://" [hostport] ["/"
>                     [dn ["?" [attributes] ["?" [scope]
>                     ["?" [filter] ["?" extensions]]]]]]
> 
> is somewhat ambiguous.  The URL:
>         ldap://host/
> 
> can be parsed as dn absent OR dn present but empty.  The fact
> that the grammar also allows
>         ldap://host
> 
> implies that this distinction is somehow important.
> 
> This ambiguity could be removed with:
>        ldapurl    = scheme "://" [hostport] ["/" dn
>                     ["?" [attributes] ["?" [scope]
>                     ["?" [filter] ["?" extensions]]]]]]
> 
> That is, ldap::/// can only be parsed as having a present
> but empty dn part.  I prefer this ABNF production as
> it appears to handle optional features more consistently.

I agree.  Any objections?  I will make this change to the document
unless someone objects.


> To provide additional clarity, I also suggest adding an
> additional example:
> 
>  The following URLs are equivalent:
>         ldap://ldap.example.net
>         ldap://ldap.example.net/
>         ldap://ldap.example.net/?
> 
>  Each refers to the Root DSE on the ldap.example.net server.

I am sure you know that these URLs are not equivalent when interpreted
as LDAP referrals because the first one does not include a DN (per
section 4.1.11 of 2251).  But I will add these examples and a note that
they are all equivalent if the defaulting rules described in section 4
of the URL document are used.

Thanks for the suggestions.  I plan to submit a revised I-D today.

-Mark Smith
 Netscape