From 299eff3eb994cb8b2f7413b5424fb13a91cfb243 Mon Sep 17 00:00:00 2001 From: guillaumemichel Date: Tue, 13 Aug 2024 13:27:46 +0200 Subject: [PATCH] p2p: handle ip4/6 quic addresses --- p2p/enode/node.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/p2p/enode/node.go b/p2p/enode/node.go index c8d521529f67..4d93d3f6be8b 100644 --- a/p2p/enode/node.go +++ b/p2p/enode/node.go @@ -202,12 +202,16 @@ func (n *Node) TCPEndpoint() (netip.AddrPort, bool) { // QUICEndpoint returns the announced QUIC endpoint. func (n *Node) QUICEndpoint() (netip.AddrPort, bool) { - var quic enr.QUIC - n.Load(&quic) + var quic uint16 + if n.ip.Is4() || n.ip.Is4In6() { + n.Load((*enr.QUIC)(&quic)) + } else if n.ip.Is6() { + n.Load((*enr.QUIC6)(&quic)) + } if !n.ip.IsValid() || n.ip.IsUnspecified() || quic == 0 { return netip.AddrPort{}, false } - return netip.AddrPortFrom(n.ip, uint16(quic)), true + return netip.AddrPortFrom(n.ip, quic), true } // Pubkey returns the secp256k1 public key of the node, if present.