Net::LDAP::Extension::SetPassword - LDAPv3 Modify Password extension object


Net::LDAP::Extension::SetPassword - LDAPv3 Modify Password extension object


 use Net::LDAP;
 use Net::LDAP::Extension::SetPassword;
 $ldap = Net::LDAP->new( "" );
 $ldap->bind('cn=Joe User,cn=People,dc=mydomain,dc=eg",
             password => 'oldPassword');
 $mesg = $ldap->set_password( oldpasswd => 'oldPassword' );
 die "error: ", $mesg->code(), ": ", $mesg->error()  if ($mesg->code());

 print "changed your password to", $mesg->gen_passwd() , "\n";


Net::LDAP::Extension::SetPassword implements the Modify Password extended LDAPv3 operation as described in RFC 3062.

It implements no object by itself but extends the the Net::LDAP manpage object by another method:


set_password ( OPTIONS )
Set the password for a user.

OPTIONS is a list of key/value pairs. The following keys are recognized:

If present, this option contains the octet string representation of the user associated with the request. Depending on how users are identified in the directory this string may or may not be a DN according to RFC 2253.

If this option is not present present, the request acts up upon the password of the user currently associated with the LDAP session.

This option, if present, must contain the current password of the user for whom this operation is performed.

It depends on the server's implementation in which cirumstances this option is allowed to be missing.

If present, this option contains the desired password for the user for whom the operation is performed.

Depending on the server's implementation this option may be required by the LDAP server.

gen_password ( )
Return the password generated in the previous set_password() call.

This method is a method of the the Net::LDAP::Message manpage response object returned in reply to set_password() in case the set_password() call succeeded.

By this method the caller can query for the value of the password in case he did not call set_password() with the newpasswd option.


the Net::LDAP manpage, the Net::LDAP::Extension manpage


Graham Barr <>, documentation by Peter Marschall <>.

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <>


Copyright (c) 2002-2004 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

 Net::LDAP::Extension::SetPassword - LDAPv3 Modify Password extension object