Skip to content

Commit b3b1127

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 460c432 commit b3b1127

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
@@ -503,8 +503,13 @@ func (s *WindowsService) initializeLDAP() error {
503503
s.ldapInitialized = false
504504

505505
// failures due to timeouts might be transient, so retry more frequently
506+
//
507+
// TODO(zmb3): errors.Is does not work properly on ldap.Error
508+
// (remove the extra errors.As() check when https://github.com/go-ldap/ldap/pull/461 merges)
506509
retryAfter := windowsDesktopServiceCertRetryInterval
507-
if errors.Is(err, context.DeadlineExceeded) {
510+
var ldapErr *ldap.Error
511+
if errors.Is(err, context.DeadlineExceeded) ||
512+
(errors.As(err, &ldapErr) && errors.Is(ldapErr.Err, context.DeadlineExceeded)) {
508513
retryAfter = ldapTimeoutRetryInterval
509514
}
510515

0 commit comments

Comments
 (0)