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

RFC 2251 considered harmful



I will admit to not having followed the standardization of LDAPv3 very
closely because I trusted those involved to act in the best interests of
all potential and actual users of LDAP. I have now discovered an issue
which I am concerned about.

In brief, I believe the purpose of a protocol or interface standard is
to facilitate interworking. Features of the standard must either be
mandatory in which case conforming instances must behave as specified,
or optional in which case the presence of a feature may enhance
operation but absence of the feature must not inhibit interworking. 

RFC 2251 specifies aspects of LDAP which are described as extensions
(implying they are optional), however section 4.1.12 indicates that
clients can express a desire that the extension be present, from the
client's view such CRITICAL extensions are in effect a mandatory part of
LDAP. Servers unable to support an extension deemed critical must fail
the request. The problem is that despite everyone involved seemingly
paying lip service to the LDAP 'standard' we now no longer have a basis
for interworking as the client cannot operate with servers which do not
support extensions the client regards as critical . Because referrals
may involve clients talking to servers other than those originally
addressed, requesting critical extensions reduce the chance of an
operation succeeding.

There are also clear and obvious anti-competitive possibilities here, if
vendor X offers servers supporting extension E and all that vendor's
clients assert that extension E is critical then those clients will not
be able to operate with servers provided by vendor Y which have not
(yet) chosen to support extension E. This limits choice to customers
seeking to buy clients and servers on the open market.

Critical extensions are a means by which interworking can be prevented,
as such they have no part in a standard intended to promote
interoperation. I believe there is only one way to fix this and that is
to eliminate the notion of critical extensions. A feature is either
mandatory or optional; if optional then clients may *hint* that they
would like to exploit that feature but both client and server must be
able to proceed in its absence. 

Directory services are too important to all of us and any potential
source of uncertainty or unreliability must be excised.

Ed
-- 
Ed Oskiewicz, B54/81, BT Labs Martlesham Heath, Ipswich, Suffolk, UK,
IP5 3RE
ed.oskiewicz@bt-sys.bt.co.uk
Tel: +44 1473 640896	Fax: +44 1473 643545