Wireshark tells me I am sending my local-scope IPv6 address, when connecting over IPv4 (behind NAT)… :/
Context: #8594
Hmm, no. I don’t seem to actually have the address on any of my interfaces.
Begins with fd87. Second-guessing if this is actually IPv6 local, or perhaps some way of encoding a Tor hidden service?
Hmm, I believe the logic is that we send the most compatible known local address to peers. That means that you’d send your onion address to non-tor peers if you don’t know of any other local reachable non-onion address.
Perhaps that logic should be revisited, and we should never send an address out except to peers that are already connected to through that interface. That is complicated, as it means we need a way to identify incoming onion connections as belonging to tor.
To summarize, there are 3 issues here:
VERSION
message, fixed by #8740ADDR
(or ADDRv2
) message. I need to look at this more carefully, but a brief look tells me that maybe the problem exists. I mean sending our IPv4 address to a Tor peer or sending our Tor address to an IPv4 peer. At least CNetAddr::GetReachabilityFrom()
does not explicitly disable that:Maybe this can happen if we can make outbound connections to both Tor and IPv4 but only listen on one of them.