Merge commit from fork

This commit is contained in:
Livio Spring
2026-05-04 07:05:54 +02:00
committed by GitHub
parent 64737bfedf
commit 08007da70e
2 changed files with 8 additions and 6 deletions
+2 -6
View File
@@ -169,11 +169,6 @@ func trySearchAndUserBind(
user := sr.Entries[0]
// Bind as the user to verify their password
_, 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(user.DN, password); err != nil {
logging.WithFields("userDN", user.DN).WithError(err).Info("ldap user bind failed")
return nil, ErrFailedLogin
@@ -218,9 +213,10 @@ func objectClassesToSearchQuery(classes []string) string {
}
func userFiltersToSearchQuery(filters []string, username string) []string {
escapedUsername := ldap.EscapeFilter(username)
searchQueries := make([]string, len(filters))
for i, filter := range filters {
searchQueries[i] = "(" + filter + "=" + username + ")"
searchQueries[i] = "(" + filter + "=" + escapedUsername + ")"
}
return searchQueries
}
@@ -75,6 +75,12 @@ func TestProvider_userFiltersToSearchQuery(t *testing.T) {
username: "user",
want: []string{"(test1=user)", "(test2=user)", "(test3=user)", "(test4=user)", "(test5=user)"},
},
{
name: "escaped",
fields: []string{"test"},
username: "user)(*",
want: []string{`(test=user\29\28\2a)`},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {