On 11/10/2009 04:32 PM, Graham Barr wrote:

On Nov 10, 2009, at 2:46 PM, Kartik Subbarao wrote:

What is the right way to use SASL EXTERNAL authentication with
Net::LDAP::LDAPI? I'm trying to do the equivalent of:
[...]
This is a case where you will need to pass a sasl client object instead
of Authen::SASL object

$ldap->bind(undef, sasl => Authen::SASL->new(mechanism =>
'EXTERNAL')->client_new("ldap",$peername));

however to use that you need to be using the next branch from git

http://github.com/gbarr/perl-ldap/blob/next

you will need to determine what needs to be passed for $peername

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

Reply via email to