Browse Source

Abort syncrhonization from LDAP source if there is some error. (#7965)

Signed-off-by: David Svantesson <davidsvantesson@gmail.com>
(cherry picked from commit b2d23a1389)
tags/v1.9.3
David Svantesson 4 years ago
parent
commit
b6b1560701
2 changed files with 11 additions and 6 deletions
  1. 6
    1
      models/user.go
  2. 5
    5
      modules/auth/ldap/ldap.go

+ 6
- 1
models/user.go View File

@@ -1645,7 +1645,12 @@ func SyncExternalUsers() {
return
}

sr := s.LDAP().SearchEntries()
sr, err := s.LDAP().SearchEntries()
if err != nil {
log.Error("SyncExternalUsers LDAP source failure [%s], skipped", s.Name)
continue
}

for _, su := range sr {
if len(su.Username) == 0 {
continue

+ 5
- 5
modules/auth/ldap/ldap.go View File

@@ -308,12 +308,12 @@ func (ls *Source) UsePagedSearch() bool {
}

// SearchEntries : search an LDAP source for all users matching userFilter
func (ls *Source) SearchEntries() []*SearchResult {
func (ls *Source) SearchEntries() ([]*SearchResult, error) {
l, err := dial(ls)
if err != nil {
log.Error("LDAP Connect error, %s:%v", ls.Host, err)
ls.Enabled = false
return nil
return nil, err
}
defer l.Close()

@@ -321,7 +321,7 @@ func (ls *Source) SearchEntries() []*SearchResult {
err := l.Bind(ls.BindDN, ls.BindPassword)
if err != nil {
log.Debug("Failed to bind as BindDN[%s]: %v", ls.BindDN, err)
return nil
return nil, err
}
log.Trace("Bound as BindDN %s", ls.BindDN)
} else {
@@ -350,7 +350,7 @@ func (ls *Source) SearchEntries() []*SearchResult {
}
if err != nil {
log.Error("LDAP Search failed unexpectedly! (%v)", err)
return nil
return nil, err
}

result := make([]*SearchResult, len(sr.Entries))
@@ -368,5 +368,5 @@ func (ls *Source) SearchEntries() []*SearchResult {
}
}

return result
return result, nil
}

Loading…
Cancel
Save