Item11344: Ldap-Password-Change with umlauts not working
Priority: Normal
Current State: No Action Required
Released In: n/a
Target Release: n/a
Our site runs the last version of
LdapContrib (release 4.3) and uses the
LdapPasswordManager. The charset we are using ist iso-8895-1.
When a user tries to change his password and adds an umlaut to his password, as users from Austria or Germany might do, the password is written in the wrong encoding to Ldap. Therefore the User cannot login again, neither with his old password nor with his new one.
I debugged the error. Actually in the
ChanePassword routine of Ldap-Contrib the call toUtf8() for the old and new password is missing.
A possible fix would be to change in
LdapContrib.pm (sub changePassword) from:
my $msg = $this->{ldap}->set_password{
oldpasswd => $oldPassword,
newpassword => $newPassword
};
to:
my $msg = $this->{ldap}->set_password{
oldpasswd => $this->toUtf8($oldPassword),
newpassword => $this->toUtf8($newPassword)
};
--
WolfgangBertl - 09 Dec 2011
Wont fix. There will be a new LDAP implementation coming out soon, called
PluggableAuthContrib.
--
MichaelDaum - 07 Aug 2023