Skip to content

Commit cc195eb

Browse files
zmb3github-actions
authored and
github-actions
committed
Work around go-ldap's lack of errors.Is support
This is hopefully a temporary change that can be removed when the upstream fix [1] is merged. [1] go-ldap/ldap#461
1 parent 818a8e8 commit cc195eb

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

lib/srv/desktop/windows_server.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -531,8 +531,13 @@ func (s *WindowsService) initializeLDAP() error {
531531
s.ldapInitialized = false
532532

533533
// failures due to timeouts might be transient, so retry more frequently
534+
//
535+
// TODO(zmb3): errors.Is does not work properly on ldap.Error
536+
// (remove the extra errors.As() check when https://github.com/go-ldap/ldap/pull/461 merges)
534537
retryAfter := windowsDesktopServiceCertRetryInterval
535-
if errors.Is(err, context.DeadlineExceeded) {
538+
var ldapErr *ldap.Error
539+
if errors.Is(err, context.DeadlineExceeded) ||
540+
(errors.As(err, &ldapErr) && errors.Is(ldapErr.Err, context.DeadlineExceeded)) {
536541
retryAfter = ldapTimeoutRetryInterval
537542
}
538543

0 commit comments

Comments
 (0)