mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-10 08:05:12 +00:00
fix(zitadel): LDAP binding error with non-ASCII characters in DN (#10578)
<!-- Please inform yourself about the contribution guidelines on submitting a PR here: https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr. Take note of how PR/commit titles should be written and replace the template texts in the sections below. Don't remove any of the sections. It is important that the commit history clearly shows what is changed and why. Important: By submitting a contribution you agree to the terms from our Licensing Policy as described here: https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions. --> # Which Problems Are Solved LDAP binding with non-ASCII characters in DN # How the Problems Are Solved The root of the problem is that ParseDN() function messes DN with non-ASCII character. Instead of using DN object, returned from ParseDN we use user.DN in binding request. ParseDN stays only for verifying correctness of DN. # Additional Context - Closes #9970 --------- Co-authored-by: Stefan Benz <[email protected]>
This commit is contained in:
co-authored by
Stefan Benz
parent
a8bbac37d9
commit
3a91b409c4
@@ -216,12 +216,12 @@ func trySearchAndUserBind(
|
||||
|
||||
user := sr.Entries[0]
|
||||
// Bind as the user to verify their password
|
||||
userDN, err := ldap.ParseDN(user.DN)
|
||||
_, err = ldap.ParseDN(user.DN)
|
||||
if err != nil {
|
||||
logging.WithFields("userDN", user.DN).WithError(err).Info("ldap user parse DN failed")
|
||||
return nil, err
|
||||
}
|
||||
if err = conn.Bind(userDN.String(), password); err != nil {
|
||||
if err = conn.Bind(user.DN, password); err != nil {
|
||||
logging.WithFields("userDN", user.DN).WithError(err).Info("ldap user bind failed")
|
||||
return nil, ErrFailedLogin
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user