[Pkg-fedora-ds-maintainers] Bug#839997: Provided ldap_init method incompatible with OpenLDAP documentation

Peter Makholm peter at makholm.net
Fri Oct 7 09:27:56 UTC 2016


Package: libmozilla-ldap-perl

The module Mozilla::LDAP::API is supposed to provide a thin wrapper
around the LDAP API provided by OpenLDAP. The OpenLDAP documentation
includes the following for the ldap_init method:

  The host parameter may contain a blank-separated list of hosts to try
  to connect to, and each host may optionaly by of the form host:port.

This specification predated OpenLDAP, but it doesn't work in the current
version of Mozilla::LDAP::API. At some point the thin wrapper around the
OpenLDAP provided ldap_init method was replaced by the following code in
API.xs:

    LDAP *
    ldap_init(host,port)
            const char *    host
            const char *    port
            PREINIT:
            char *  url = NULL;
            int     url_len = 0;
            CODE:
            RETVAL = NULL;
            /* Create the LDAP URL */
            if (host && port) {
               url_len = strlen(host) + strlen(port) + 10;
               url = (char *)perldap_malloc(url_len);
               snprintf(url, url_len, "ldap://%s:%s/", host, port);
               ldap_initialize(&RETVAL, url);
               perldap_free((void *)url);
            }
            OUTPUT:
            RETVAL

Which clearly does not support muliple hosts.

Upstream is dead, at least the upstream mentiond in debian/control and
debian/changelog and it looks like the most recent upstream has not
bothered to upload the package to CPAN which only haves version 1.4
(which wraps ldap_init correctly).

//Makholm



More information about the Pkg-fedora-ds-maintainers mailing list