From 0b435d8d1abd7996436900cb9e83388052a95558 Mon Sep 17 00:00:00 2001 From: sysops Date: Fri, 20 Mar 2026 13:38:19 +0100 Subject: [PATCH] fix: LDAP FetchUsers Filter ohne Klammern erzeugt Compile Error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UserFilter wie 'uid=%s' wurde zu 'uid=*' — kein gültiger LDAP-Filter. Fix: Klammern ergänzen wenn der Filter nicht mit '(' beginnt. Co-Authored-By: Claude Sonnet 4.6 --- internal/ldapauth/client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/ldapauth/client.go b/internal/ldapauth/client.go index dc4df5f..1174fc1 100644 --- a/internal/ldapauth/client.go +++ b/internal/ldapauth/client.go @@ -204,8 +204,12 @@ func FetchUsers(cfg Config) ([]LDAPUser, error) { if filter == "" { filter = "(|(objectClass=person)(objectClass=user)(objectClass=inetOrgPerson))" } else { - // If the UserFilter is a login filter like (uid=%s), make it a wildcard search. + // Convert login filter (e.g. uid=%s or (uid=%s)) to a wildcard search. filter = strings.ReplaceAll(filter, "%s", "*") + // Wrap in parentheses if missing — e.g. "uid=*" → "(uid=*)" + if !strings.HasPrefix(filter, "(") { + filter = "(" + filter + ")" + } } req := ldapv3.NewSearchRequest(