From 57164d4d8c980e50eac5940bbad5348ffbc8db65 Mon Sep 17 00:00:00 2001 From: smin-k Date: Wed, 8 May 2024 20:55:05 +0900 Subject: [PATCH 1/5] p2p/enode: fix ipv6 address used as extip results in 127.0.0.1 being used --- p2p/enode/node.go | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/p2p/enode/node.go b/p2p/enode/node.go index d7a1a9a1561c..26caa4ab1a48 100644 --- a/p2p/enode/node.go +++ b/p2p/enode/node.go @@ -101,19 +101,26 @@ func (n *Node) Load(k enr.Entry) error { // IP returns the IP address of the node. This prefers IPv4 addresses. func (n *Node) IP() net.IP { - var ( - ip4 enr.IPv4 - ip6 enr.IPv6 - ) - if n.Load(&ip4) == nil { - return net.IP(ip4) - } - if n.Load(&ip6) == nil { - return net.IP(ip6) - } - return nil + var ( + ip4 enr.IPv4 + ip6 enr.IPv6 + ) + if n.Load(&ip4) == nil { + ipv4Addr := net.IP(ip4) + if !ipv4Addr.IsLoopback() { + return ipv4Addr + } + } + if n.Load(&ip6) == nil { + return net.IP(ip6) + } + if net.IP(ip4).IsLoopback() { + return net.IP(ip4) + } + return nil } + // UDP returns the UDP port of the node. func (n *Node) UDP() int { var port enr.UDP From 577a52a05671b3233915c77ed48f9ae761d06006 Mon Sep 17 00:00:00 2001 From: smin-k Date: Wed, 8 May 2024 21:05:51 +0900 Subject: [PATCH 2/5] p2p/enode: fix ipv6 address used as extip results in 127.0.0.1 being --- p2p/enode/node.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/p2p/enode/node.go b/p2p/enode/node.go index 26caa4ab1a48..f2d1de30f9ae 100644 --- a/p2p/enode/node.go +++ b/p2p/enode/node.go @@ -114,8 +114,11 @@ func (n *Node) IP() net.IP { if n.Load(&ip6) == nil { return net.IP(ip6) } - if net.IP(ip4).IsLoopback() { - return net.IP(ip4) + if n.Load(&ip4) == nil { + ipv4Addr := net.IP(ip4) + if ipv4Addr.IsLoopback() { + return ipv4Addr + } } return nil } From d35a62e05a9ea08d573d8dabdf0ecf3bf16b88c9 Mon Sep 17 00:00:00 2001 From: smin-k Date: Thu, 9 May 2024 16:34:17 +0900 Subject: [PATCH 3/5] p2p/enode: fix ipv6 address used as extip results --- p2p/enode/node.go | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/p2p/enode/node.go b/p2p/enode/node.go index f2d1de30f9ae..cb35842088a1 100644 --- a/p2p/enode/node.go +++ b/p2p/enode/node.go @@ -101,26 +101,23 @@ func (n *Node) Load(k enr.Entry) error { // IP returns the IP address of the node. This prefers IPv4 addresses. func (n *Node) IP() net.IP { - var ( - ip4 enr.IPv4 - ip6 enr.IPv6 - ) - if n.Load(&ip4) == nil { - ipv4Addr := net.IP(ip4) - if !ipv4Addr.IsLoopback() { - return ipv4Addr - } - } - if n.Load(&ip6) == nil { - return net.IP(ip6) - } - if n.Load(&ip4) == nil { - ipv4Addr := net.IP(ip4) - if ipv4Addr.IsLoopback() { - return ipv4Addr - } - } - return nil + var ( + ip4 enr.IPv4 + ip6 enr.IPv6 + ) + if n.Load(&ip4) == nil { + ipv4Addr := net.IP(ip4) + if !ipv4Addr.IsLoopback() { + return ipv4Addr + } + } + if n.Load(&ip6) == nil { + return net.IP(ip6) + } + if ipv4Addr := net.IP(ip4); ipv4Addr.IsLoopback() { + return ipv4Addr + } + return nil } From 7b5fceb603dff09a4cb66b63fceefa13ba250225 Mon Sep 17 00:00:00 2001 From: smin-k Date: Thu, 9 May 2024 16:37:06 +0900 Subject: [PATCH 4/5] ipv6 address used as extip results in 127.0.0.1 --- p2p/enode/node.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/p2p/enode/node.go b/p2p/enode/node.go index cb35842088a1..b85b8e97b787 100644 --- a/p2p/enode/node.go +++ b/p2p/enode/node.go @@ -99,6 +99,7 @@ func (n *Node) Load(k enr.Entry) error { return n.r.Load(k) } +// IP returns the IP address of the node. This prefers IPv4 addresses. // IP returns the IP address of the node. This prefers IPv4 addresses. func (n *Node) IP() net.IP { var ( @@ -114,13 +115,15 @@ func (n *Node) IP() net.IP { if n.Load(&ip6) == nil { return net.IP(ip6) } - if ipv4Addr := net.IP(ip4); ipv4Addr.IsLoopback() { - return ipv4Addr + if n.Load(&ip4) == nil { + ipv4Addr := net.IP(ip4) + if ipv4Addr.IsLoopback() { + return ipv4Addr + } } return nil } - // UDP returns the UDP port of the node. func (n *Node) UDP() int { var port enr.UDP From f8971afa3507297f9925690355ab110205f09a64 Mon Sep 17 00:00:00 2001 From: smin-k Date: Thu, 9 May 2024 16:38:18 +0900 Subject: [PATCH 5/5] p2p/enode: remove comment --- p2p/enode/node.go | 1 - 1 file changed, 1 deletion(-) diff --git a/p2p/enode/node.go b/p2p/enode/node.go index b85b8e97b787..1d5e6202b919 100644 --- a/p2p/enode/node.go +++ b/p2p/enode/node.go @@ -99,7 +99,6 @@ func (n *Node) Load(k enr.Entry) error { return n.r.Load(k) } -// IP returns the IP address of the node. This prefers IPv4 addresses. // IP returns the IP address of the node. This prefers IPv4 addresses. func (n *Node) IP() net.IP { var (