Browse Source

#1554 check adminFilter length before LDAP search

for-closed-social
Unknwon 9 years ago
parent
commit
f1adbca0f1
2 changed files with 16 additions and 14 deletions
  1. +14
    -12
      modules/auth/ldap/ldap.go
  2. +2
    -2
      modules/bindata/bindata.go

+ 14
- 12
modules/auth/ldap/ldap.go View File

@ -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

+ 2
- 2
modules/bindata/bindata.go
File diff suppressed because it is too large
View File


Loading…
Cancel
Save