From e4278bab97706e0037738ac6e970b8c38705d39e Mon Sep 17 00:00:00 2001 From: cthuang Date: Tue, 19 Apr 2022 12:37:32 +0100 Subject: [PATCH] TUN-6070: First connection retries other edge IPs if the error is quic timeout(likely due to firewall blocking UDP) --- supervisor/supervisor.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/supervisor/supervisor.go b/supervisor/supervisor.go index f1661bf3..8f33e279 100644 --- a/supervisor/supervisor.go +++ b/supervisor/supervisor.go @@ -7,6 +7,7 @@ import ( "time" "github.com/google/uuid" + "github.com/lucas-clemente/quic-go" "github.com/rs/zerolog" "github.com/cloudflare/cloudflared/connection" @@ -264,9 +265,9 @@ func (s *Supervisor) startFirstTunnel( switch err.(type) { case nil: return - // try the next address if it was a dialError(network problem) or + // try the next address if it was a quic.IdleTimeoutError, dialError(network problem) or // dupConnRegisterTunnelError - case edgediscovery.DialError, connection.DupConnRegisterTunnelError: + case *quic.IdleTimeoutError, edgediscovery.DialError, connection.DupConnRegisterTunnelError: edgeErrors++ default: return