monero/src/p2p
Aaron Hook 7b9017f671
p2p: plug tor to clearnet association vector
During the handshake for an incoming connection, the peer id is checked against the local node's peer id only for the specific zone of the incoming peer, in order to avoid linking public addresses to tor addresses:
5d7ae2d279/src/p2p/net_node.inl (L2343)

However, on handshakes for outgoing connections, all zones are checked:
5d7ae2d279/src/p2p/net_node.inl (L1064)

If an attacker wanted to link a specific tor node to a public node, they could potentially connect to as many public nodes as possible, get themselves added to the peer whitelist, maybe stuff some more attacker-owned addresses into the greylist, then disconnect, and for any future incoming connections, respond with the tor node's id in an attempt to link the public/tor addresses.
2020-03-07 18:12:59 +00:00
..
CMakeLists.txt Update 2019 copyright 2019-03-05 22:05:34 +01:00
net_node_common.h Change to Tx diffusion (Dandelion++ fluff) instead of flooding 2019-11-04 09:23:20 +00:00
net_node.cpp Change to Tx diffusion (Dandelion++ fluff) instead of flooding 2019-11-04 09:23:20 +00:00
net_node.h Change to Tx diffusion (Dandelion++ fluff) instead of flooding 2019-11-04 09:23:20 +00:00
net_node.inl p2p: plug tor to clearnet association vector 2020-03-07 18:12:59 +00:00
net_peerlist_boost_serialization.h daemon, wallet: new pay for RPC use system 2019-10-25 09:34:38 +00:00
net_peerlist.cpp Adding initial support for broadcasting transactions over Tor 2019-01-28 23:56:33 +00:00
net_peerlist.h daemon, wallet: new pay for RPC use system 2019-10-25 09:34:38 +00:00
p2p_protocol_defs.h always print peer IDs in the same format 2019-10-29 11:30:20 +00:00
stdafx.h Update 2019 copyright 2019-03-05 22:05:34 +01:00