Re: Authen::SASL and Net::LDAP::LDAPI

[email protected] (Kartik Subbarao)
Newsgroups perl.ldap
Message-ID <[email protected]>
On 11/17/2009 10:53 AM, Graham Barr wrote:
> On Nov 13, 2009, at 11:57 AM, Kartik Subbarao wrote:
>> I downloaded the next branch and tried this, but the code seems to hang indefinitely (the debugger complains about 99 levels deep in subroutine calls, probably some infinite recursion).
>>
>> Here's the code that I'm using:
>>
>> use Net::LDAP;
>> use Net::LDAPI;
>> use Authen::SASL;
>>
>> $ldap = Net::LDAP->new('ldapi://');
>> $sasl = Authen::SASL->new(mechanism =>  'EXTERNAL');
>> $sasl_client = $sasl->client_new('ldap', 'localhost');
>> $ldap->bind(undef, sasl =>  $sasl_client);
>
> I do not think the passing of client_new causes this, so perhaps there is a different issue at hand.
>
> Do you know where the recursion is happening ?

It looks like this is looping because the initial bind returns error 
code 14 SASL_BIND_IN_PROGRESS. For some reason the module is not able to 
handle the negotiation properly (or I'm still somehow not passing the 
right $sasl variable).

Just as an example, here's how a successful SASL EXTERNAL bind via 
ldapi:// looks like, with the OpenLDAP ldapwhoami command:

ldapwhoami -Y EXTERNAL
SASL/EXTERNAL authentication started
SASL username: gidNumber=389+uidNumber=389,cn=peercred,cn=external,cn=auth
SASL SSF: 0 dn:gidNumber=389+uidNumber=389,cn=peercred,cn=external,cn=auth

Can you try running this script on your system? Do you get the same results?

	-Kartik
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.