Re: Authen::SASL and Net::LDAP::LDAPI
Graham Barr <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.ldap |
|---|---|
| Message-ID | <[email protected]> |
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:
>
> ldapwhoami -Y EXTERNAL -H ldapi:///
>
> I tried approaches like:
>
> $ldap->bind(undef, sasl => Authen::SASL->new(mechanism =>
> 'EXTERNAL'));
>
> But ended up with:
>
> Can't locate object method "peerhost" via package "IO::Socket::UNIX"
> at /usr/local/share/perl/5.10.0/Net/LDAP.pm line 384, <DATA> line 275.
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
Graham.
>
> It seems that Authen::SASL doesn't like UNIX sockets. Is it a case
> of missing functionality that needs to be implemented, or is there a
> simple workaround?
>
> Thanks,
>
> -Kartik
>