I'am using the Perl Net::LDAP Module with openldap-2.3.24 (uses LDAP 
protocol Version 3).

I need to update the userPassword field, the problem is that somewhere in 
the middle the new password i'am giving gets base64 encoded. 

As to my understanding i'am preparing the whole password.

In the password i'am putting first the encoding type: {MD5}, {SSHA}, etc and 
then the hash. No matter what i do, even the supposed encoding type gets 
base64 encoded once in the Server.

I'am not sure if it is Net::LDAP or the server itself who is doing this:

I've tried two diferent perl ways:

1.- Using replace

my $result = $ldap->modify(dn=>$dn, 
replace=>{'userPassword'=>"{MD5}$digest"});

2.- Using extended operations
my $result = $ldap->set_password(user=>$dn, newpasswd => "{MD5}$digest");

In the server the new password "{MD5}$digest" is a big base64 string.

I'am not including the rest of the MD5 or bind stuff, but it's Ok.

Hans Poo
http://www.welinux.cl

Reply via email to