diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2019-03-28 22:24:36 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2019-07-16 11:35:52 +0000 |
commit | 515ac2951d767bdb712c4997010045715902e6ab (patch) | |
tree | 5b35f3bb1781ffc1f1c50eef2de92629988c8747 /src/p2p | |
parent | Merge pull request #5746 (diff) | |
download | monero-515ac2951d767bdb712c4997010045715902e6ab.tar.xz |
p2p: store network address directly in blocked host list
rather than their string representation
Diffstat (limited to 'src/p2p')
-rw-r--r-- | src/p2p/net_node.h | 4 | ||||
-rw-r--r-- | src/p2p/net_node.inl | 6 | ||||
-rw-r--r-- | src/p2p/net_node_common.h | 6 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/p2p/net_node.h b/src/p2p/net_node.h index 42bb3b061..2709e49af 100644 --- a/src/p2p/net_node.h +++ b/src/p2p/net_node.h @@ -248,7 +248,7 @@ namespace nodetool void change_max_in_public_peers(size_t count); virtual bool block_host(const epee::net_utils::network_address &adress, time_t seconds = P2P_IP_BLOCKTIME); virtual bool unblock_host(const epee::net_utils::network_address &address); - virtual std::map<std::string, time_t> get_blocked_hosts() { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); return m_blocked_hosts; } + virtual std::map<epee::net_utils::network_address, time_t> get_blocked_hosts() { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); return m_blocked_hosts; } virtual void add_used_stripe_peer(const typename t_payload_net_handler::connection_context &context); virtual void remove_used_stripe_peer(const typename t_payload_net_handler::connection_context &context); @@ -462,7 +462,7 @@ namespace nodetool epee::critical_section m_conn_fails_cache_lock; epee::critical_section m_blocked_hosts_lock; - std::map<std::string, time_t> m_blocked_hosts; + std::map<epee::net_utils::network_address, time_t> m_blocked_hosts; epee::critical_section m_host_fails_score_lock; std::map<std::string, uint64_t> m_host_fails_score; diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index a5800df5e..37a3f393d 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -158,7 +158,7 @@ namespace nodetool bool node_server<t_payload_net_handler>::is_remote_host_allowed(const epee::net_utils::network_address &address) { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); - auto it = m_blocked_hosts.find(address.host_str()); + auto it = m_blocked_hosts.find(address); if(it == m_blocked_hosts.end()) return true; if(time(nullptr) >= it->second) @@ -184,7 +184,7 @@ namespace nodetool limit = std::numeric_limits<time_t>::max(); else limit = now + seconds; - m_blocked_hosts[addr.host_str()] = limit; + m_blocked_hosts[addr] = limit; // drop any connection to that address. This should only have to look into // the zone related to the connection, but really make sure everything is @@ -214,7 +214,7 @@ namespace nodetool bool node_server<t_payload_net_handler>::unblock_host(const epee::net_utils::network_address &address) { CRITICAL_REGION_LOCAL(m_blocked_hosts_lock); - auto i = m_blocked_hosts.find(address.host_str()); + auto i = m_blocked_hosts.find(address); if (i == m_blocked_hosts.end()) return false; m_blocked_hosts.erase(i); diff --git a/src/p2p/net_node_common.h b/src/p2p/net_node_common.h index 26451b333..e5e746e5b 100644 --- a/src/p2p/net_node_common.h +++ b/src/p2p/net_node_common.h @@ -56,7 +56,7 @@ namespace nodetool virtual bool for_connection(const boost::uuids::uuid&, std::function<bool(t_connection_context&, peerid_type, uint32_t)> f)=0; virtual bool block_host(const epee::net_utils::network_address &address, time_t seconds = 0)=0; virtual bool unblock_host(const epee::net_utils::network_address &address)=0; - virtual std::map<std::string, time_t> get_blocked_hosts()=0; + virtual std::map<epee::net_utils::network_address, time_t> get_blocked_hosts()=0; virtual bool add_host_fail(const epee::net_utils::network_address &address)=0; virtual void add_used_stripe_peer(const t_connection_context &context)=0; virtual void remove_used_stripe_peer(const t_connection_context &context)=0; @@ -112,9 +112,9 @@ namespace nodetool { return true; } - virtual std::map<std::string, time_t> get_blocked_hosts() + virtual std::map<epee::net_utils::network_address, time_t> get_blocked_hosts() { - return std::map<std::string, time_t>(); + return std::map<epee::net_utils::network_address, time_t>(); } virtual bool add_host_fail(const epee::net_utils::network_address &address) { |