LDAPSunMerge: Difference between revisions

no edit summary
(Added analysis of tools source directory differences)
No edit summary
Line 1: Line 1:
This page is to track the work to merge the Sun LDAP C SDK codebase back into mozilla.
This page is to track the work to merge the Sun LDAP C SDK codebase back into mozilla.


* liblber
=== 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.
* 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
* 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)
* 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
* nsldap_ber_realloc - The Sun version keeps track of the number of reallocs


* libldap
=== libldap ===
** abandon.c - Quite a bit of work on abandon ops in Sun branch.
* abandon.c - Quite a bit of work on abandon ops in Sun branch.
** authzidctrl.c - New file 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.
* 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.
* charray.c - Looks to be newer code in Moz tip.
** cldap.c - Simple LDAP version const difference.
* cldap.c - Simple LDAP version const difference.
** compat.c - Sun branch implments nsldapi_compat_strlcpy.  Moz tip has an HPUX11 specific ifdef.
* compat.c - Sun branch implments nsldapi_compat_strlcpy.  Moz tip has an HPUX11 specific ifdef.
** control.c - Sun branch uses new ber types.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* getdxbyname.c - Moz tip has some additional error checking.
** geteffectiverightsctrl.c - New file in Sun branch.
* 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.
* 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.
* 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.
* 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.
* 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.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.
* 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.
* 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.
* 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.
* 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.
* psearch.c - Sun branch uses new ber types.
** pwmodext.c - New file in Sun branch.
* pwmodext.c - New file in Sun branch.
** pwpctrl.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.
* 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.
* result.c - Lots of differences here.  We'll need to go through this very closely.
** sasl.c - New file in Sun branch.
* sasl.c - New file in Sun branch.
** saslbind.c - Sun branch adds some code to deal with controls.  Also uses new ber types.
* 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.
* 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.
* setoption.c - Sun branch adds new SASL code and NOREBIND option.  A few other minor differences.
** sortctrl.c - Sun branch uses new ber types.
* sortctrl.c - Sun branch uses new ber types.
** srchpref.c - Uses refactored functions nsldapi_free_strarray and nsldapi_next_line_tokens.
* srchpref.c - Uses refactored functions nsldapi_free_strarray and nsldapi_next_line_tokens.
** svrcore.c - New file in Sun branch
* svrcore.c - New file in Sun branch
** test.c - Moz tip code looks newer.
* test.c - Moz tip code looks newer.
** uactrl.c - New file in Sun branch.
* uactrl.c - New file in Sun branch.
** unbind.c - Sun branch adds new SASL code.  Also a ber flush difference.
* 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.
* 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.
* utf8.c - Small variable initialization difference.  Moz tip looks more correct.
** vlistctrl.c - Small variable type difference.  Moz tip looks more correct.
* vlistctrl.c - Small variable type difference.  Moz tip looks more correct.
** whoami.c - New file in Sun branch.
* whoami.c - New file in Sun branch.


* tools
=== tools ===
** common.c - Moz tip has some ARGPIN stuff and some platform ifdefs.  Sun has some SASL code.  Differences around pwpolicy and TLS/SSL/FORTEZZA.  The diffs are large for this file, so we'll need to go through it closely.
* common.c - Moz tip has some ARGPIN stuff and some platform ifdefs.  Sun has some SASL code.  Differences around pwpolicy and TLS/SSL/FORTEZZA.  The diffs are large for this file, so we'll need to go through it closely.
** convutf8.c - Moz tip uses iconv while Sun branch uses ICU.  Moz tip also has some Windows specific stuff.  We need to go through this closely.
* convutf8.c - Moz tip uses iconv while Sun branch uses ICU.  Moz tip also has some Windows specific stuff.  We need to go through this closely.
** fileurl.c - A few minor differences with file url parsing.  Should be an easy merge.
* fileurl.c - A few minor differences with file url parsing.  Should be an easy merge.
** ldapcmp.c - A few function return type differences.  Moz tip looks more correct at first glance.  Moz tip also appears to have a few fixes for things such as specifying multiple host arguments.
* ldapcmp.c - A few function return type differences.  Moz tip looks more correct at first glance.  Moz tip also appears to have a few fixes for things such as specifying multiple host arguments.
** ldapcompare.c - A few minor differences.  Should be an easy merge.
* ldapcompare.c - A few minor differences.  Should be an easy merge.
** ldapdelete.c - Sun branch appears to have some new code, but a comment indicates that it broke iDS.  We should review this before merging.
* ldapdelete.c - Sun branch appears to have some new code, but a comment indicates that it broke iDS.  We should review this before merging.
** ldapmodify.c - Some minor fixes appear to be in the Moz tip.  Very little new from the Sun branch.  Should be an easy merge.
* ldapmodify.c - Some minor fixes appear to be in the Moz tip.  Very little new from the Sun branch.  Should be an easy merge.
** ldapmodrdn.c - Minor difference in the way main is defined.  Sun branch is more clear.
* ldapmodrdn.c - Minor difference in the way main is defined.  Sun branch is more clear.
** ldappasswd.c - New file in Sun branch.
* ldappasswd.c - New file in Sun branch.
** ldapsearch.c - A few function return type differences, casting, usage message differences, and SASL option differences.  A small amount of ICU vs. iconv related stuff.  Sun branch has some get effective rights stuff.  We'll need to go through this closely.
* ldapsearch.c - A few function return type differences, casting, usage message differences, and SASL option differences.  A small amount of ICU vs. iconv related stuff.  Sun branch has some get effective rights stuff.  We'll need to go through this closely.
** ldaptool.h - Sun branch has some get effective rights, password related code, and linked-list structures that appear to be used for recursive entry deletion by ldapdelete.
* ldaptool.h - Sun branch has some get effective rights, password related code, and linked-list structures that appear to be used for recursive entry deletion by ldapdelete.
** ldaptool-sasl.c - New file in Sun branch.
* ldaptool-sasl.c - New file in Sun branch.
** ldaptool-sasl.h - New file in Sun branch.
* ldaptool-sasl.h - New file in Sun branch.
** list.c - New file in Sun branch.
* list.c - New file in Sun branch.
** list.h - New file in Sun branch.
* list.h - New file in Sun branch.
** Makefile.client - General build differences for SASL, ICU, svrcore, new source files, platform stuff, etc.
* Makefile.client - General build differences for SASL, ICU, svrcore, new source files, platform stuff, etc.
** Options.txt - Command-line options.  Mozilla tip look more up-to-date.  I'm not sure if this file was kept in sync with the actual options used in the Sun branch.
* Options.txt - Command-line options.  Mozilla tip look more up-to-date.  I'm not sure if this file was kept in sync with the actual options used in the Sun branch.
** tools.mak - New file in Sun branch.
* tools.mak - New file in Sun branch.
54

edits