fix: don't accept incoming pdus if we know about them already
This commit is contained in:
		
							parent
							
								
									bd6507eafb
								
							
						
					
					
						commit
						1ce00f90fe
					
				
					 1 changed files with 6 additions and 0 deletions
				
			
		|  | @ -554,6 +554,12 @@ pub async fn send_transaction_message_route<'a>( | |||
|         // TODO: redact event if hashing fails
 | ||||
|         let (event_id, value) = crate::pdu::process_incoming_pdu(pdu); | ||||
| 
 | ||||
|         // Skip the pdu if we already know about it
 | ||||
|         if db.rooms.get_pdu_id(&event_id)?.is_some() { | ||||
|             resolved_map.insert(event_id, Err("We already know about this event".into())); | ||||
|             continue; | ||||
|         } | ||||
| 
 | ||||
|         let pdu = serde_json::from_value::<PduEvent>( | ||||
|             serde_json::to_value(&value).expect("CanonicalJsonObj is a valid JsonValue"), | ||||
|         ) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue