Skip to content

Commit 8c24bb9

Browse files
davidsvantessonlafriks
authored andcommitted
Abort syncrhonization from LDAP source if there is some error. (#7960)
Signed-off-by: David Svantesson <[email protected]>
1 parent e3115cc commit 8c24bb9

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

models/user.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1673,7 +1673,12 @@ func SyncExternalUsers() {
16731673
return
16741674
}
16751675

1676-
sr := s.LDAP().SearchEntries()
1676+
sr, err := s.LDAP().SearchEntries()
1677+
if err != nil {
1678+
log.Error("SyncExternalUsers LDAP source failure [%s], skipped", s.Name)
1679+
continue
1680+
}
1681+
16771682
for _, su := range sr {
16781683
if len(su.Username) == 0 {
16791684
continue

modules/auth/ldap/ldap.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -308,20 +308,20 @@ func (ls *Source) UsePagedSearch() bool {
308308
}
309309

310310
// SearchEntries : search an LDAP source for all users matching userFilter
311-
func (ls *Source) SearchEntries() []*SearchResult {
311+
func (ls *Source) SearchEntries() ([]*SearchResult, error) {
312312
l, err := dial(ls)
313313
if err != nil {
314314
log.Error("LDAP Connect error, %s:%v", ls.Host, err)
315315
ls.Enabled = false
316-
return nil
316+
return nil, err
317317
}
318318
defer l.Close()
319319

320320
if ls.BindDN != "" && ls.BindPassword != "" {
321321
err := l.Bind(ls.BindDN, ls.BindPassword)
322322
if err != nil {
323323
log.Debug("Failed to bind as BindDN[%s]: %v", ls.BindDN, err)
324-
return nil
324+
return nil, err
325325
}
326326
log.Trace("Bound as BindDN %s", ls.BindDN)
327327
} else {
@@ -350,7 +350,7 @@ func (ls *Source) SearchEntries() []*SearchResult {
350350
}
351351
if err != nil {
352352
log.Error("LDAP Search failed unexpectedly! (%v)", err)
353-
return nil
353+
return nil, err
354354
}
355355

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

371-
return result
371+
return result, nil
372372
}

0 commit comments

Comments
 (0)