Re: Can't get LDAP::Message object with modify method
Graham Barr <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.ldap |
|---|---|
| Message-ID | <[email protected]> |
On Sep 26, 2008, at 8:11 AM, John W. Sopko Jr. wrote:
>
> Here is the section of code that changes the password:
>
> # the unicodePwd attribute is write only
> $mesg = $AD->modify($dn, replace => { "unicodePwd" => $adpw });
> print "mesg->code = $mesg->code() \n";
That is not calling the method.
> print "resultCode = $mesg->{'resultCode'} \n";
>
> if($mesg->{'resultCode'} != 0) {
> print STDERR "\nFailed to change password for $cn exiting.\n";
> print STDERR "error_text:" . $mesg->error_text . "\n";
> print STDERR "server_error:" . $mesg->server_error . "\n";
> print STDERR "error:" . $mesg->error . "\n";
> print
> exit 1;
> }
>
>
> Output from above section:
>
> mesg->code = Net::LDAP::Modify=HASH(0x81d1f90)->code()
> resultCode = 53
If you change the line above to
print "mesg->code = ",$mesg->code()," \n";
you should also see 53, so I doubt this is you problem.
> Failed to change password for astroboy exiting.
> error_text:The server is unwilling to perform the requested operation
>
> server_error:0000052D: SvcErr: DSID-031A0FC0, problem 5003
> (WILL_NOT_PERFORM), data 0
>
> error:0000052D: SvcErr: DSID-031A0FC0, problem 5003
> (WILL_NOT_PERFORM), data 0
Well it certainly looks like the server is refusing to change the
password, so I would expect the return message to signal an error
Graham.