LDAP C SDK Roadmap

Merge Sun C SDK code back into Mozilla

The code has been imported - thanks to Anton for cleaning up the licenses! I've imported it into mozilla/directory/suncsdk (including the coreconf directory):

cvs -z3 import -m "Initial import of the Sun C SDK back into mozilla" \
mozilla/directory/suncsdk SUN_LDAP_C_SDK SUN_LDAP_C_SDK_0_01

So to check it out, assuming you have your Mozilla CVSROOT set properly:

cvs checkout mozilla/directory/suncsdk

A new branch for mozilla/directory/c-sdk has been created: sun_merge_branch_20060523 (static tag SUN_MERGE_BRANCHPOINT_20060523). The plan is to merge the Sun code into the branch sun_merge_branch_20060523. If all goes well, we can eventually make sun_merge_branch_20060523 the trunk and just use the new merged code as our base going forwards.

  • liblber
    • Sun is using ber typedefs for the ber tags, lengths, sizes, and they are using the same typedefs as OpenLDAP uses (e.g. see /usr/include/lber_types.h on a linux system). This will help with OpenLDAP compatability.
    • decode.c - Sun added explicit boundary checking for bad ber lengths, and explicit freeing of allocated buffers upon ber failures
    • in io.c - Sun has a slightly different implementation of BerRead, as well as several other improvements in ber i/o (tunable buffer size, ber stats, and much more)
    • nsldap_ber_realloc - The Sun version keeps track of the number of reallocs

Support SASL/GSSAPI

LDAP SASL BIND to authenticate to a directory server using a Kerberos ticket Kerberos encryption

Support IPv6

  • Lookup IPv6 addresses from hostnames
  • Support all styles of IPv6 address arguments for hostnames or IP addresses
  • Support IPv6 addresses in LDAP URLs

Make API compatible with OpenLDAP

The OpenLDAP API is the de facto standard in the open source world. We need to make the Mozilla API compatible with it.