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