fix: e2ee verification

next
Timo Kösters 2021-06-30 20:31:51 +02:00
parent ac0027756e
commit 8c44312485
No known key found for this signature in database
GPG Key ID: 24DA7517711A2BA4
5 changed files with 12 additions and 8 deletions

View File

@ -89,7 +89,9 @@ pub async fn sync_events_route(
let we_have_to_wait = rx.borrow().is_none();
if we_have_to_wait {
let _ = rx.changed().await;
if let Err(e) = rx.changed().await {
error!("Error waiting for sync: {}", e);
}
}
let result = match rx

View File

@ -19,7 +19,9 @@ pub async fn send_event_to_device_route(
let sender_user = body.sender_user.as_ref().expect("user is authenticated");
let sender_device = body.sender_device.as_deref();
// TODO: uncomment when https://github.com/vector-im/element-android/issues/3589 is solved
// Check if this is a new transaction id
/*
if db
.transaction_ids
.existing_txnid(sender_user, sender_device, &body.txn_id)?
@ -27,6 +29,7 @@ pub async fn send_event_to_device_route(
{
return Ok(send_event_to_device::Response.into());
}
*/
for (target_user_id, map) in &body.messages {
for (target_device_id_maybe, event) in map {

View File

@ -64,7 +64,7 @@ impl Tree for SledEngineTree {
backwards: bool,
) -> Box<dyn Iterator<Item = (Vec<u8>, Vec<u8>)> + Send> {
let iter = if backwards {
self.0.range(..from)
self.0.range(..=from)
} else {
self.0.range(from..)
};

View File

@ -1495,7 +1495,7 @@ impl Rooms {
prefix.push(0xff);
let mut current = prefix.clone();
current.extend_from_slice(&until.to_be_bytes());
current.extend_from_slice(&(until.saturating_sub(1)).to_be_bytes()); // -1 because we don't want event at `until`
let current: &[u8] = &current;

View File

@ -726,10 +726,9 @@ impl Users {
json.insert("sender".to_owned(), sender.to_string().into());
json.insert("content".to_owned(), content);
self.todeviceid_events.insert(
&key,
&serde_json::to_vec(&json).expect("Map::to_vec always works"),
)?;
let value = serde_json::to_vec(&json).expect("Map::to_vec always works");
self.todeviceid_events.insert(&key, &value)?;
Ok(())
}
@ -774,7 +773,7 @@ impl Users {
for (key, _) in self
.todeviceid_events
.iter_from(&last, true)
.iter_from(&last, true) // this includes last
.take_while(move |(k, _)| k.starts_with(&prefix))
.map(|(key, _)| {
Ok::<_, Error>((