From 9040b4c2842f880576312bc065c775c8f7dda7c4 Mon Sep 17 00:00:00 2001 From: dipingxian2 <39109351+dipingxian2@users.noreply.github.com> Date: Sat, 26 Jan 2019 16:53:05 +0800 Subject: [PATCH] Update urlv4.go Add "net.LookupIP()" function to support hostname when we add enode by hostname:port --- p2p/enode/urlv4.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/p2p/enode/urlv4.go b/p2p/enode/urlv4.go index 50e9485d04..c155414d92 100644 --- a/p2p/enode/urlv4.go +++ b/p2p/enode/urlv4.go @@ -124,7 +124,13 @@ func parseComplete(rawurl string) (*Node, error) { return nil, fmt.Errorf("invalid host: %v", err) } if ip = net.ParseIP(host); ip == nil { - return nil, errors.New("invalid IP address") + // attempt to look up IP addresses if host is a FQDN + lookupIPs, err := net.LookupIP(host) + if err != nil { + return nil, errors.New("invalid IP address") + } + // set to first ip by default + ip = lookupIPs[0] } // Ensure the IP is 4 bytes long for IPv4 addresses. if ipv4 := ip.To4(); ipv4 != nil {