LDAP version support

The IBM® Security Verify Directory C-Client SDK provides support for both LDAP Version 2 and LDAP Version 3 application programming interfaces (APIs) and protocols.

The LDAP SDK APIs are based upon the "C LDAP Application Program Interface" Internet Draft at http://www.ietf.org/proceedings/45/I-D/draft-ietf-ldapext-ldap-c-api-03.txt.

The LDAP API provides typical directory functions such as read, write, and search. With the advent of support for LDAP Version 3 APIs and protocols, the following features are also supported:
  • LDAP V3 referrals and search references.
  • Improved globalization with UTF-8 support for Distinguished Names (DNs) and strings that are passed into, and returned from, the LDAP APIs. Support for converting string data between the local code page and UTF-8 is also provided. When you run as an LDAP V2 application, DNs and strings remain limited to the IA5 character set.
  • As provided by the IBM Security Verify Directory dynamic schema capability, an LDAP application can add, modify, and change elements of the schema. For more information, see LDAP V3 schema.
  • Controls for the LDAP server and client.

With the C-Client SDK, an application that uses the ldap_open API defaults to the LDAP V2 protocol. Existing LDAP applications continue to work and can interoperate with both LDAP V2 servers and LDAP V3 servers.

An application that uses the ldap_init API defaults to the LDAP V3 protocol with optional bind. An LDAP V3 application does not necessarily interoperate with an LDAP server that supports only LDAP V2 protocols.
Note: An application can use the ldap_set_option API to change its LDAP protocol version. This operation is done after you use ldap_open or ldap_init but before you issue a bind or any other operation that results in contacting the server.