mirror of
https://github.com/monero-project/monero.git
synced 2024-12-24 20:49:37 +00:00
p2p: always recreate a new peer id on startup
This prevents easy fingerprinting when you change IPs, and will be a must when kovri gets used.
This commit is contained in:
parent
71ac698b78
commit
4cdf0a35c9
3 changed files with 19 additions and 2 deletions
|
@ -110,7 +110,12 @@ namespace nodetool
|
|||
void serialize(Archive &a, const t_version_type ver)
|
||||
{
|
||||
a & m_peerlist;
|
||||
a & m_config.m_peer_id;
|
||||
if (ver == 0)
|
||||
{
|
||||
// from v1, we do not store the peer id anymore
|
||||
peerid_type peer_id;
|
||||
a & peer_id;
|
||||
}
|
||||
}
|
||||
// debug functions
|
||||
bool log_peerlist();
|
||||
|
@ -162,6 +167,7 @@ namespace nodetool
|
|||
#endif
|
||||
int handle_get_support_flags(int command, COMMAND_REQUEST_SUPPORT_FLAGS::request& arg, COMMAND_REQUEST_SUPPORT_FLAGS::response& rsp, p2p_connection_context& context);
|
||||
bool init_config();
|
||||
bool make_default_peer_id();
|
||||
bool make_default_config();
|
||||
bool store_config();
|
||||
bool check_trust(const proof_of_trust& tr);
|
||||
|
|
|
@ -173,6 +173,9 @@ namespace nodetool
|
|||
make_default_config();
|
||||
}
|
||||
|
||||
// always recreate a new peer id
|
||||
make_default_peer_id();
|
||||
|
||||
//at this moment we have hardcoded config
|
||||
m_config.m_net_config.handshake_interval = P2P_DEFAULT_HANDSHAKE_INTERVAL;
|
||||
m_config.m_net_config.packet_max_size = P2P_DEFAULT_PACKET_MAX_SIZE; //20 MB limit
|
||||
|
@ -212,13 +215,19 @@ namespace nodetool
|
|||
}
|
||||
//-----------------------------------------------------------------------------------
|
||||
template<class t_payload_net_handler>
|
||||
bool node_server<t_payload_net_handler>::make_default_config()
|
||||
bool node_server<t_payload_net_handler>::make_default_peer_id()
|
||||
{
|
||||
m_config.m_peer_id = crypto::rand<uint64_t>();
|
||||
return true;
|
||||
}
|
||||
//-----------------------------------------------------------------------------------
|
||||
template<class t_payload_net_handler>
|
||||
bool node_server<t_payload_net_handler>::make_default_config()
|
||||
{
|
||||
return make_default_peer_id();
|
||||
}
|
||||
//-----------------------------------------------------------------------------------
|
||||
template<class t_payload_net_handler>
|
||||
bool node_server<t_payload_net_handler>::block_ip(uint32_t addr, time_t seconds)
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(m_blocked_ips_lock);
|
||||
|
|
|
@ -194,3 +194,5 @@ private:
|
|||
bool m_restricted;
|
||||
};
|
||||
}
|
||||
|
||||
BOOST_CLASS_VERSION(nodetool::node_server<cryptonote::t_cryptonote_protocol_handler<cryptonote::core> >, 1);
|
||||
|
|
Loading…
Reference in a new issue