LDAPSunMerge

Revision as of 22:52, 24 May 2006 by Nkinder (talk | contribs) (Added analysis of libldap and liblber differences)

This page is to track the work to merge the Sun LDAP C SDK codebase back into mozilla.

  • 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
  • libldap
    • abandon.c - Quite a bit of work on abandon ops in Sun branch.
    • authzidctrl.c - New file in Sun branch.
    • cache.c - Simple printf format type difference (%d vs. %ld). Looks to be newer in Moz tip.
    • charray.c - Looks to be newer code in Moz tip.
    • cldap.c - Simple LDAP version const difference.
    • compat.c - Sun branch implments nsldapi_compat_strlcpy. Moz tip has an HPUX11 specific ifdef.
    • control.c - Sun branch uses new ber types.
    • disptmpl.c - Two refactored functions, nsldapi_free_strarray and nsldapi_next_line_tokens. Not sure which code is more recent.
    • dsparse.c - Use of refactored functions nsldapi_free_strarray and nsldapi_next_line_tokens.
    • error.c - Both sides have some general cleanup. Moz tip adds checking for availability of snprintf before using it. Sun branch adds some frees and has better variable initialization.
    • extendop.c - Sun branch uses new ber types. Differences in a ber_printf section. Both very similar, but a few minor differences around an empty ber value. Need to look into this closer to see which is better.
    • getattr.c - Sun branch uses new ber types.
    • getdn.c - Sun branch has a few small changes. It has better variable initialization and uses a flag for finding the beginning quote when parsing.
    • getdxbyname.c - Moz tip has some additional error checking.
    • geteffectiverightsctrl.c - New file in Sun branch.
    • getfilter.c - Use of refactored functions nsldapi_free_strarray and nsldapi_next_line_tokens. Moz tip adds checking for availability of snprintf before using it.
    • getoption.c - Sun branch adds SASL options plus LDAP_OPT_NOREBIND and LDAP_X_OPT_SOCKBUF. Moz tip has LDAP_OPT_EXTRA_THREAD_FN_PTRS.
    • globals.c - New file in Sun branch.
    • ldap-int.h - Moz tip has more platform specific ifdefs. Sun branch has some FD_SETSIZE and SASL changes. Various other refactoring, etc.
    • Makefile.client - Sun branch adds new source files, SASL linking and includes. A few other differences.
    • Makefile.in - A whole bunch of differences related to the changes in Makefile.client.
    • memcache.c - Some differences in hash_result use. Moz tip seems to be clearer code that does the same thing, but we need to look closer. Moz tip also has some additional casting, etc.
    • open.c - Sun branch has new SASL code. A bunch of platform ifdefs around pthreads between the two code bases.
    • os-ip.c - Sun branch has new SASL code. Moz tip looks to have some newer Windows related code and a bunch of ifdef NSLDAPI_AVOID_OS_SOCKETS code that the Sun branch doesn't have.
    • psearch.c - Sun branch uses new ber types.
    • pwmodext.c - New file in Sun branch.
    • pwpctrl.c - New file in Sun branch.
    • request.c - Lots of differences here. We'll need to go through this very closely.
    • result.c - Lots of differences here. We'll need to go through this very closely.
    • sasl.c - New file in Sun branch.
    • saslbind.c - Sun branch adds some code to deal with controls. Also uses new ber types.
    • search.c - Refactoring of ldap_put_filter vs. put_filter.
    • setoption.c - Sun branch adds new SASL code and NOREBIND option. A few other minor differences.
    • sortctrl.c - Sun branch uses new ber types.
    • srchpref.c - Uses refactored functions nsldapi_free_strarray and nsldapi_next_line_tokens.
    • svrcore.c - New file in Sun branch
    • test.c - Moz tip code looks newer.
    • uactrl.c - New file in Sun branch.
    • unbind.c - Sun branch adds new SASL code. Also a ber flush difference.
    • url.c - Sun branch exposes nsldapi_url_parse as ldap_url_parse_no_defaults.
    • utf8.c - Small variable initialization difference. Moz tip looks more correct.
    • vlistctrl.c - Small variable type difference. Moz tip looks more correct.
    • whoami.c - New file in Sun branch.