mirror of
https://github.com/monero-project/monero.git
synced 2025-11-27 17:40:29 -05:00
Merge pull request #5933
3455efa ban peers sending bad pow outright (moneromooo-monero)
This commit is contained in:
commit
dc48cdc998
9 changed files with 25 additions and 15 deletions
|
|
@ -342,7 +342,7 @@ namespace nodetool
|
|||
virtual void request_callback(const epee::net_utils::connection_context_base& context);
|
||||
virtual void for_each_connection(std::function<bool(typename t_payload_net_handler::connection_context&, peerid_type, uint32_t)> f);
|
||||
virtual bool for_connection(const boost::uuids::uuid&, std::function<bool(typename t_payload_net_handler::connection_context&, peerid_type, uint32_t)> f);
|
||||
virtual bool add_host_fail(const epee::net_utils::network_address &address);
|
||||
virtual bool add_host_fail(const epee::net_utils::network_address &address, unsigned int score = 1);
|
||||
//----------------- i_connection_filter --------------------------------------------------------
|
||||
virtual bool is_remote_host_allowed(const epee::net_utils::network_address &address, time_t *t = NULL);
|
||||
//-----------------------------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -315,13 +315,13 @@ namespace nodetool
|
|||
}
|
||||
//-----------------------------------------------------------------------------------
|
||||
template<class t_payload_net_handler>
|
||||
bool node_server<t_payload_net_handler>::add_host_fail(const epee::net_utils::network_address &address)
|
||||
bool node_server<t_payload_net_handler>::add_host_fail(const epee::net_utils::network_address &address, unsigned int score)
|
||||
{
|
||||
if(!address.is_blockable())
|
||||
return false;
|
||||
|
||||
CRITICAL_REGION_LOCAL(m_host_fails_score_lock);
|
||||
uint64_t fails = ++m_host_fails_score[address.host_str()];
|
||||
uint64_t fails = m_host_fails_score[address.host_str()] += score;
|
||||
MDEBUG("Host " << address.host_str() << " fail score=" << fails);
|
||||
if(fails > P2P_IP_FAILS_BEFORE_BLOCK)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ namespace nodetool
|
|||
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::ipv4_network_subnet, time_t> get_blocked_subnets()=0;
|
||||
virtual bool add_host_fail(const epee::net_utils::network_address &address)=0;
|
||||
virtual bool add_host_fail(const epee::net_utils::network_address &address, unsigned int score = 1)=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;
|
||||
virtual void clear_used_stripe_peers()=0;
|
||||
|
|
@ -122,7 +122,7 @@ namespace nodetool
|
|||
{
|
||||
return std::map<epee::net_utils::ipv4_network_subnet, time_t>();
|
||||
}
|
||||
virtual bool add_host_fail(const epee::net_utils::network_address &address)
|
||||
virtual bool add_host_fail(const epee::net_utils::network_address &address, unsigned int score)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue