mirror of
				https://git.wownero.com/wownero/wownero.git
				synced 2024-08-15 01:03:23 +00:00 
			
		
		
		
	Merge pull request #8787
c4cfaa4p2p: do not log to global when re-blocking a subnet (moneromooo-monero)f0e326bp2p: avoid spam blocking ipv4 addresses in a blocked subnet (moneromooo-monero)
This commit is contained in:
		
						commit
						0e2c2ddd9c
					
				
					 1 changed files with 22 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -247,7 +247,23 @@ namespace nodetool
 | 
			
		|||
    if (it == m_blocked_hosts.end())
 | 
			
		||||
    {
 | 
			
		||||
      m_blocked_hosts[host_str] = limit;
 | 
			
		||||
      added = true;
 | 
			
		||||
 | 
			
		||||
      // if the host was already blocked due to being in a blocked subnet, let it be silent
 | 
			
		||||
      bool matches_blocked_subnet = false;
 | 
			
		||||
      if (addr.get_type_id() == epee::net_utils::address_type::ipv4)
 | 
			
		||||
      {
 | 
			
		||||
        auto ipv4_address = addr.template as<epee::net_utils::ipv4_network_address>();
 | 
			
		||||
        for (auto jt = m_blocked_subnets.begin(); jt != m_blocked_subnets.end(); ++jt)
 | 
			
		||||
        {
 | 
			
		||||
          if (jt->first.matches(ipv4_address))
 | 
			
		||||
          {
 | 
			
		||||
            matches_blocked_subnet = true;
 | 
			
		||||
            break;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (!matches_blocked_subnet)
 | 
			
		||||
        added = true;
 | 
			
		||||
    }
 | 
			
		||||
    else if (it->second < limit || !add_only)
 | 
			
		||||
      it->second = limit;
 | 
			
		||||
| 
						 | 
				
			
			@ -317,6 +333,7 @@ namespace nodetool
 | 
			
		|||
      limit = std::numeric_limits<time_t>::max();
 | 
			
		||||
    else
 | 
			
		||||
      limit = now + seconds;
 | 
			
		||||
    const bool added = m_blocked_subnets.find(subnet) == m_blocked_subnets.end();
 | 
			
		||||
    m_blocked_subnets[subnet] = limit;
 | 
			
		||||
 | 
			
		||||
    // drop any connection to that subnet. This should only have to look into
 | 
			
		||||
| 
						 | 
				
			
			@ -349,7 +366,10 @@ namespace nodetool
 | 
			
		|||
      conns.clear();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    MCLOG_CYAN(el::Level::Info, "global", "Subnet " << subnet.host_str() << " blocked.");
 | 
			
		||||
    if (added)
 | 
			
		||||
      MCLOG_CYAN(el::Level::Info, "global", "Subnet " << subnet.host_str() << " blocked.");
 | 
			
		||||
    else
 | 
			
		||||
      MINFO("Subnet " << subnet.host_str() << " blocked.");
 | 
			
		||||
    return true;
 | 
			
		||||
  }
 | 
			
		||||
  //-----------------------------------------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue