[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