Last Comment Bug 582295 - Allow PerLDAP to use OpenLDAP client libraries
: Allow PerLDAP to use OpenLDAP client libraries
Status: RESOLVED FIXED
:
Product: Directory
Classification: Components
Component: PerLDAP (show other bugs)
: other
: All All
: -- normal (vote)
: ---
Assigned To: nkinder
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-27 10:50 PDT by nkinder
Modified: 2010-08-03 14:16 PDT (History)
1 user (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Patch (72.26 KB, patch)
2010-07-27 10:55 PDT, nkinder
no flags Details | Diff | Splinter Review

Description nkinder 2010-07-27 10:50:39 PDT
It would be good to allow PerLDAP to use the OpenLDAP client libraries beneath the covers instead of the Mozilla LDAP C SDK if one chooses.  This determination would have to be made at compile time as there are a good number of differences between the two APIs.
Comment 1 nkinder 2010-07-27 10:55:21 PDT
Created attachment 460576 [details] [diff] [review]
Patch

This patch allows PerLDAP to be built against the OpenLDAP client libraries.  Due to a number of differences between the Mozilla LDAP C SDK and OpenLDAP APIs, the following PerLDAP stubs are no-ops or return errors when using OpenLDAP client libraries:

- ldap_create_filter
- ldap_free_friendlymap
- ldap_friendly_name
- ldap_getfilter_free
- ldap_getfirstfilter
- ldap_get_lang_values
- ldap_get_lang_values_len
- ldap_getnextfilter
- ldap_get_values
- ldap_init_getfilter
- ldap_init_getfilter_buf
- ldap_memcache_destroy
- ldap_memcache_flush
- ldap_memcache_get
- ldap_memcache_init
- ldap_memcache_set
- ldap_memcache_update
- ldap_parse_entrychange_control
- ldap_set_filter_additions
- ldap_version
- ldapssl_clientauth_init
- ldapssl_install_routines
- ldapssl_err2string
- ldapssl_set_strength
- prldap_install_routines
- prldap_set_session_option
Comment 2 Rich Megginson 2010-08-02 12:25:45 PDT
Comment on attachment 460576 [details] [diff] [review]
Patch

Looks good.  ack.
Comment 3 nkinder 2010-08-03 14:16:24 PDT
Checked into devel-branch-1_4_2.  Thanks to Rich for his review!

Checking in API.xs;
/cvsroot/mozilla/directory/perldap/API.xs,v  <--  API.xs
new revision: 1.18.2.14; previous revision: 1.18.2.13
done
Checking in Conn.pm;
/cvsroot/mozilla/directory/perldap/Conn.pm,v  <--  Conn.pm
new revision: 1.24.2.18; previous revision: 1.24.2.17
done
Checking in Makefile.PL;
/cvsroot/mozilla/directory/perldap/Makefile.PL,v  <--  Makefile.PL
new revision: 1.16.2.16; previous revision: 1.16.2.15
done
Checking in constant.h;
/cvsroot/mozilla/directory/perldap/constant.h,v  <--  constant.h
new revision: 1.8.2.5; previous revision: 1.8.2.4
done

Note You need to log in before you can comment on or make changes to this bug.