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

Re: Connection->c_protocol, vlv, server-side sorting.

At 08:23 PM 8/12/99 -0700, C. R. Oldham wrote:
>I've been hacking at the -devel source trying to learn enough to
>implement the server site sorting and vlv list view controls.

Just a warning... both of these controls get fairly involved.

>One thing
>I noticed, is that Connection->c_protocol does not get set if the client
>does not bind.  In turn this causes Operation->o_protocol to not be set
>and the server to bail out if a v3 client tries to get the list of
>supported controls.  RFC 2251 states that the server should assume
>version 3 if the client does not bind first, so I changed connection.c
>to add
>    c->c_protocol = LDAP_VERSION3;

This, of course, is a problematic assumption.  Many LDAPv2+ clients
send non-bind operations as their first request.  However, for the
average request, it's impossible to determine if client is LDAPv2+
or LDAPv3 and the server very likely needs to known this to respond

Forcing the protocol version to 3 will break a fair number of LDAPv2
clients.  However, I see no reasonable alternative.  I'll commit
the necessary changes in a bit.