mirror of
				https://git.wownero.com/wownero/wownero.git
				synced 2024-08-15 01:03:23 +00:00 
			
		
		
		
	protocol: drop peers sending duplicate txes
This commit is contained in:
		
							parent
							
								
									1ce32d8536
								
							
						
					
					
						commit
						1924c170d4
					
				
					 1 changed files with 10 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -979,8 +979,18 @@ namespace cryptonote
 | 
			
		|||
  int t_cryptonote_protocol_handler<t_core>::handle_notify_new_transactions(int command, NOTIFY_NEW_TRANSACTIONS::request& arg, cryptonote_connection_context& context)
 | 
			
		||||
  {
 | 
			
		||||
    MLOG_P2P_MESSAGE("Received NOTIFY_NEW_TRANSACTIONS (" << arg.txs.size() << " txes)");
 | 
			
		||||
    std::unordered_set<blobdata> seen;
 | 
			
		||||
    for (const auto &blob: arg.txs)
 | 
			
		||||
    {
 | 
			
		||||
      MLOGIF_P2P_MESSAGE(cryptonote::transaction tx; crypto::hash hash; bool ret = cryptonote::parse_and_validate_tx_from_blob(blob, tx, hash);, ret, "Including transaction " << hash);
 | 
			
		||||
      if (seen.find(blob) != seen.end())
 | 
			
		||||
      {
 | 
			
		||||
        LOG_PRINT_CCONTEXT_L1("Duplicate transaction in notification, dropping connection");
 | 
			
		||||
        drop_connection(context, false, false);
 | 
			
		||||
        return 1;
 | 
			
		||||
      }
 | 
			
		||||
      seen.insert(blob);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(context.m_state != cryptonote_connection_context::state_normal)
 | 
			
		||||
      return 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue