From aa8312a902e54a1f4903911e09b3eb79948ef16f Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Wed, 16 Nov 2022 14:30:42 +0800 Subject: [PATCH] fix issue #883 --- chain.go | 6 +++--- forward.go | 8 +++++++- gost.go | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/chain.go b/chain.go index a89fba3..8d3bc6f 100644 --- a/chain.go +++ b/chain.go @@ -154,9 +154,9 @@ func (c *Chain) dialWithOptions(ctx context.Context, network, address string, op ipAddr := address if address != "" { ipAddr = c.resolve(address, options.Resolver, options.Hosts) - } - if ipAddr == "" { - return nil, fmt.Errorf("resolver: domain %s does not exists", address) + if ipAddr == "" { + return nil, fmt.Errorf("resolver: domain %s does not exists", address) + } } timeout := options.Timeout diff --git a/forward.go b/forward.go index a419735..9985780 100644 --- a/forward.go +++ b/forward.go @@ -131,6 +131,7 @@ func (h *tcpDirectForwardHandler) Handle(conn net.Conn) { cc, err = h.options.Chain.Dial(node.Addr, RetryChainOption(h.options.Retries), TimeoutChainOption(h.options.Timeout), + ResolverChainOption(h.options.Resolver), ) if err != nil { log.Logf("[tcp] %s -> %s : %s", conn.RemoteAddr(), conn.LocalAddr(), err) @@ -197,7 +198,12 @@ func (h *udpDirectForwardHandler) Handle(conn net.Conn) { } } - cc, err := h.options.Chain.DialContext(context.Background(), "udp", node.Addr) + cc, err := h.options.Chain.DialContext( + context.Background(), + "udp", + node.Addr, + ResolverChainOption(h.options.Resolver), + ) if err != nil { node.MarkDead() log.Logf("[udp] %s - %s : %s", conn.RemoteAddr(), conn.LocalAddr(), err) diff --git a/gost.go b/gost.go index 234b093..70633d5 100644 --- a/gost.go +++ b/gost.go @@ -20,7 +20,7 @@ import ( ) // Version is the gost version. -const Version = "2.11.4" +const Version = "2.11.5" // Debug is a flag that enables the debug log. var Debug bool