Open lidel opened 1 day ago
Extracted from https://github.com/ipshipyard/p2p-forge/pull/4, originally reported by @aschmahmann:
AFAICT [this connectivity check (subscribing for EvtLocalReachabilityChanged into network.ReachabilityPublic)] does not work due to a mismatch between the ObsAddrManager and EvtLocalReachabilityChanged as emitted by autonat: https://github.com/libp2p/go-libp2p/blob/362e5836f1468aa7f158d5da157c0e99da334d06/p2p/host/autonat/autonat.go#L321-L323 (even a single observation will result in switching to knowing we're public) https://github.com/libp2p/go-libp2p/blob/362e5836f1468aa7f158d5da157c0e99da334d06/p2p/protocol/identify/obsaddr.go#L17-L22 (4 address observations are needed to discover a new address) But.... we have a public IPv6 address which we can learn about quickly from the OS even though it's not reachable So we end up learning we are "public" and having our only public address being an IPv6 one that actually isn't public This seems like a bug we'd ideally fix within go-libp2p, but maybe I'm missing something cc @sukunrt @MarcoPolo
AFAICT [this connectivity check (subscribing for EvtLocalReachabilityChanged into network.ReachabilityPublic)] does not work due to a mismatch between the ObsAddrManager and EvtLocalReachabilityChanged as emitted by autonat:
EvtLocalReachabilityChanged
network.ReachabilityPublic
This seems like a bug we'd ideally fix within go-libp2p, but maybe I'm missing something cc @sukunrt @MarcoPolo
Extracted from https://github.com/ipshipyard/p2p-forge/pull/4, originally reported by @aschmahmann: