diff options
author | Unknwon <u@gogs.io> | 2015-09-01 08:40:11 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-09-01 08:40:11 -0400 |
commit | f1adbca0f1e9aad55d23964cc95a8a42f0f66b1f (patch) | |
tree | b1b786ddcaf8a8b10793d130abada8d76f5d3fec /modules/auth | |
parent | 90a6553c37d16a536a24ae26fa9ef5ee4eafaf99 (diff) | |
download | gitea-f1adbca0f1e9aad55d23964cc95a8a42f0f66b1f.tar.gz gitea-f1adbca0f1e9aad55d23964cc95a8a42f0f66b1f.zip |
#1554 check adminFilter length before LDAP search
Diffstat (limited to 'modules/auth')
-rw-r--r-- | modules/auth/ldap/ldap.go | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/modules/auth/ldap/ldap.go b/modules/auth/ldap/ldap.go index 7596762db5..de1108fd98 100644 --- a/modules/auth/ldap/ldap.go +++ b/modules/auth/ldap/ldap.go @@ -120,19 +120,21 @@ func (ls Ldapsource) SearchEntry(name, passwd string) (string, string, string, b sn_attr := sr.Entries[0].GetAttributeValue(ls.AttributeSurname) mail_attr := sr.Entries[0].GetAttributeValue(ls.AttributeMail) - search = ldap.NewSearchRequest( - userDN, ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, ls.AdminFilter, - []string{ls.AttributeName}, - nil) - - sr, err = l.Search(search) admin_attr := false - if err != nil { - log.Error(4, "LDAP Admin Search failed unexpectedly! (%v)", err) - } else if len(sr.Entries) < 1 { - log.Error(4, "LDAP Admin Search failed") - } else { - admin_attr = true + if len(ls.AdminFilter) > 0 { + search = ldap.NewSearchRequest( + userDN, ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, ls.AdminFilter, + []string{ls.AttributeName}, + nil) + + sr, err = l.Search(search) + if err != nil { + log.Error(4, "LDAP Admin Search failed unexpectedly! (%v)", err) + } else if len(sr.Entries) < 1 { + log.Error(4, "LDAP Admin Search failed") + } else { + admin_attr = true + } } return name_attr, sn_attr, mail_attr, admin_attr, true |