From 38ed8ecc3c94bb483a4f582704947127b919cc68 Mon Sep 17 00:00:00 2001 From: DasSkelett Date: Mon, 16 May 2022 22:04:55 +0200 Subject: [PATCH] Fix relay IPv4 address resolution behind DNS64 --- src/croc/croc.go | 2 +- src/models/constants.go | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/croc/croc.go b/src/croc/croc.go index ab6bfa7..9095934 100644 --- a/src/croc/croc.go +++ b/src/croc/croc.go @@ -778,7 +778,7 @@ func (c *Client) Receive() (err error) { continue } - serverTry := fmt.Sprintf("%s:%s", ip, port) + serverTry := net.JoinHostPort(ip, port) conn, banner2, externalIP, errConn := tcp.ConnectToTCPServer(serverTry, c.Options.RelayPassword, c.Options.SharedSecret[:3], 500*time.Millisecond) if errConn != nil { log.Debug(errConn) diff --git a/src/models/constants.go b/src/models/constants.go index 8fdb9c0..d2edac1 100644 --- a/src/models/constants.go +++ b/src/models/constants.go @@ -79,15 +79,16 @@ func init() { } } var err error - DEFAULT_RELAY, err = lookup(DEFAULT_RELAY) + var addr string + addr, err = lookup(DEFAULT_RELAY) if err == nil { - DEFAULT_RELAY += ":" + DEFAULT_PORT + DEFAULT_RELAY = net.JoinHostPort(addr, DEFAULT_PORT) } else { DEFAULT_RELAY = "" } - DEFAULT_RELAY6, err = lookup(DEFAULT_RELAY6) + addr, err = lookup(DEFAULT_RELAY6) if err == nil { - DEFAULT_RELAY6 = "[" + DEFAULT_RELAY6 + "]:" + DEFAULT_PORT + DEFAULT_RELAY6 = net.JoinHostPort(addr, DEFAULT_PORT) } else { DEFAULT_RELAY6 = "" }