--On Wednesday, June 01, 2011 12:33 AM +0200 Mark Martinec
<[email protected]> wrote:
Quanah,
My one comment about this patch would be that the it doesn't support
using "ldapi", which is connecting to a local LDAP server over a unix
socket.
It doesn't? The patch added the 'scheme' attribute to the $default_ldap
hash just for this purpose - although I haven't tested it.
Something along these lines would probably work according to
the Net::LDAP documentation:
$default_ldap = {
hostname => '/socket/path/to/ldap',
scheme => 'ldapi',
...
};
Yeah, I was thinking about this part of the patch:
+ if (!defined $self->{scheme}) {
+ $self->{scheme} = $self->{hostname} =~ /^ldaps/i ? 'ldaps' : 'ldap';
+ }
since hostname could have "ldapi" in it, as per the Net::LDAP
documentation. This would change the method to "ldap" instead, which would
be wrong.
new ( HOST, OPTIONS )
Creates a new Net::LDAP object and opens a connection to the named host.
HOST may be a host name or an IP number. TCP port may be specified
after the host name followed by a colon (such as localhost:10389). The
default TCP port for LDAP is 389.
You can also specify a URI, such as 'ldaps://127.0.0.1:666' or
'ldapi://%2fvar%2flib%2fldap_sock'. Note that '%2f's in the LDAPI socket
path will be translated into '/'. This is to support LDAP query options
like base, search etc. although the query part of the URI will be ignored
in this context. If port was not specified in the URI, the default is
either 389 or 636 for 'LDAP' and 'LDAPS' schemes respectively.
--Quanah
--
Quanah Gibson-Mount
Sr. Member of Technical Staff
Zimbra, Inc
A Division of VMware, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration