diff --git a/backend/proxy/secure_socks_proxy.go b/backend/proxy/secure_socks_proxy.go index 497e47621..c70cc9aa8 100644 --- a/backend/proxy/secure_socks_proxy.go +++ b/backend/proxy/secure_socks_proxy.go @@ -290,12 +290,12 @@ func (d *instrumentedSocksDialer) DialContext(ctx context.Context, n, addr strin c, err := dialer.DialContext(ctx, n, addr) var code string - var oppErr *net.OpError + var opErr *net.OpError switch { case err == nil: code = "0" - case errors.As(err, &oppErr): + case errors.As(err, &opErr): unknownCode := socksUnknownError.FindStringSubmatch(err.Error()) // Socks errors defined here: https://cs.opensource.google/go/x/net/+/refs/tags/v0.15.0:internal/socks/socks.go;l=40-63 @@ -322,12 +322,14 @@ func (d *instrumentedSocksDialer) DialContext(ctx context.Context, n, addr strin code = "io_timeout_error" case strings.HasSuffix(err.Error(), "context canceled"): code = "context_canceled_error" + case strings.HasSuffix(err.Error(), "operation was canceled"): + code = "context_canceled_error" case len(unknownCode) > 1: code = unknownCode[1] default: code = "socks_unknown_error" } - log.DefaultLogger.Error("received oppErr from dialer", "network", n, "addr", addr, "oppErr", oppErr, "code", code) + log.DefaultLogger.Error("received opErr from dialer", "network", n, "addr", addr, "opErr", opErr, "code", code) default: log.DefaultLogger.Error("received err from dialer", "network", n, "addr", addr, "err", err) code = "dial_error"