Browse Source

fix: remove transaction_id from pdus over federation

ruma
Timo Kösters 5 years ago
parent
commit
1bf614b0f5
No known key found for this signature in database
GPG Key ID: 24DA7517711A2BA4
  1. 6
      src/database/sending.rs
  2. 5
      src/pdu.rs

6
src/database/sending.rs

@ -36,6 +36,12 @@ impl Sending { @@ -36,6 +36,12 @@ impl Sending {
let pdu_id = parts.next().ok_or_else(|| Error::bad_database("Invalid serverpduid in db."))?;
let mut pdu_json = rooms.get_pdu_json_from_id(&pdu_id.into())?.ok_or_else(|| Error::bad_database("Event in serverpduids not found in db."))?;
if let Some(unsigned) = pdu_json
.as_object_mut()
.expect("json is object")
.get_mut("unsigned") {
unsigned.as_object_mut().expect("unsigned is object").remove("transaction_id");
}
pdu_json
.as_object_mut()
.expect("json is object")

5
src/pdu.rs

@ -201,6 +201,9 @@ impl PduEvent { @@ -201,6 +201,9 @@ impl PduEvent {
}
pub fn to_outgoing_federation_event(&self) -> Raw<PduStub> {
let mut unsigned = self.unsigned.clone();
unsigned.remove("transaction_id");
let mut json = json!({
"room_id": self.room_id,
"sender": self.sender,
@ -210,7 +213,7 @@ impl PduEvent { @@ -210,7 +213,7 @@ impl PduEvent {
"prev_events": self.prev_events,
"depth": self.depth,
"auth_events": self.auth_events,
"unsigned": self.unsigned,
"unsigned": unsigned,
"hashes": self.hashes,
"signatures": self.signatures,
});

Loading…
Cancel
Save