forked from such-gitea/wownero
restrict public node checks a little
do not include blocked hosts in peer lists or public node lists by default, warn about no https on clearnet and about untrusted peers likely being spies
This commit is contained in:
committed by
wowario
parent
10f9008b9c
commit
295d46a1fc
@@ -190,6 +190,7 @@ namespace cryptonote
|
||||
|
||||
request.gray = true;
|
||||
request.white = true;
|
||||
request.include_blocked = false;
|
||||
if (!on_get_public_nodes(request, response) || response.status != CORE_RPC_STATUS_OK)
|
||||
{
|
||||
return {};
|
||||
@@ -1384,6 +1385,8 @@ namespace cryptonote
|
||||
|
||||
for (auto & entry : white_list)
|
||||
{
|
||||
if (!req.include_blocked && m_p2p.is_host_blocked(entry.adr, NULL))
|
||||
continue;
|
||||
if (entry.adr.get_type_id() == epee::net_utils::ipv4_network_address::get_type_id())
|
||||
res.white_list.emplace_back(entry.id, entry.adr.as<epee::net_utils::ipv4_network_address>().ip(),
|
||||
entry.adr.as<epee::net_utils::ipv4_network_address>().port(), entry.last_seen, entry.pruning_seed, entry.rpc_port, entry.rpc_credits_per_hash);
|
||||
@@ -1396,6 +1399,8 @@ namespace cryptonote
|
||||
|
||||
for (auto & entry : gray_list)
|
||||
{
|
||||
if (!req.include_blocked && m_p2p.is_host_blocked(entry.adr, NULL))
|
||||
continue;
|
||||
if (entry.adr.get_type_id() == epee::net_utils::ipv4_network_address::get_type_id())
|
||||
res.gray_list.emplace_back(entry.id, entry.adr.as<epee::net_utils::ipv4_network_address>().ip(),
|
||||
entry.adr.as<epee::net_utils::ipv4_network_address>().port(), entry.last_seen, entry.pruning_seed, entry.rpc_port, entry.rpc_credits_per_hash);
|
||||
@@ -1414,8 +1419,10 @@ namespace cryptonote
|
||||
{
|
||||
RPC_TRACKER(get_public_nodes);
|
||||
|
||||
COMMAND_RPC_GET_PEER_LIST::request peer_list_req;
|
||||
COMMAND_RPC_GET_PEER_LIST::response peer_list_res;
|
||||
const bool success = on_get_peer_list(COMMAND_RPC_GET_PEER_LIST::request(), peer_list_res, ctx);
|
||||
peer_list_req.include_blocked = req.include_blocked;
|
||||
const bool success = on_get_peer_list(peer_list_req, peer_list_res, ctx);
|
||||
res.status = peer_list_res.status;
|
||||
if (!success)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user