The changes in inet6 handling somewhere between Net::LDAP 0.44 and Net::LDAP 0.52 breaks Amavis' ability to talk to LDAP.

I can trivially reproduce the issue with a test script:

#!/usr/bin/perl
use strict;
use lib '/opt/zimbra/zimbramon/lib';
use Net::LDAP;

my $hostlist="ldap://zqa-398.eng.vmware.com:389";;
my $ldap = Net::LDAP->new($hostlist,
 inet6   => 1,
 );
if (!$ldap) {  # connect failed
 print "connect_to_ldap: unable to connect to host $hostlist\n";
}

zimbra@zqa-398:~/zimbramon/lib/Net$ /tmp/test-ldap.pl
connect_to_ldap: unable to connect to host ldap://zqa-398.eng.vmware.com:389

This worked fine in perl 0.44. I would note the system is only listening to IPv4. It appears that with perl-ldap 0.52, if it cannot talk to the server on IPv6, it will *not* fall back to IPv4, whereas with perl 0.44, it would.

--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

Reply via email to