fix: e2ee verification
This commit is contained in:
		
							parent
							
								
									ac0027756e
								
							
						
					
					
						commit
						8c44312485
					
				
					 5 changed files with 12 additions and 8 deletions
				
			
		|  | @ -89,7 +89,9 @@ pub async fn sync_events_route( | ||||||
| 
 | 
 | ||||||
|     let we_have_to_wait = rx.borrow().is_none(); |     let we_have_to_wait = rx.borrow().is_none(); | ||||||
|     if we_have_to_wait { |     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 |     let result = match rx | ||||||
|  |  | ||||||
|  | @ -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_user = body.sender_user.as_ref().expect("user is authenticated"); | ||||||
|     let sender_device = body.sender_device.as_deref(); |     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
 |     // Check if this is a new transaction id
 | ||||||
|  |     /* | ||||||
|     if db |     if db | ||||||
|         .transaction_ids |         .transaction_ids | ||||||
|         .existing_txnid(sender_user, sender_device, &body.txn_id)? |         .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()); |         return Ok(send_event_to_device::Response.into()); | ||||||
|     } |     } | ||||||
|  |     */ | ||||||
| 
 | 
 | ||||||
|     for (target_user_id, map) in &body.messages { |     for (target_user_id, map) in &body.messages { | ||||||
|         for (target_device_id_maybe, event) in map { |         for (target_device_id_maybe, event) in map { | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ impl Tree for SledEngineTree { | ||||||
|         backwards: bool, |         backwards: bool, | ||||||
|     ) -> Box<dyn Iterator<Item = (Vec<u8>, Vec<u8>)> + Send> { |     ) -> Box<dyn Iterator<Item = (Vec<u8>, Vec<u8>)> + Send> { | ||||||
|         let iter = if backwards { |         let iter = if backwards { | ||||||
|             self.0.range(..from) |             self.0.range(..=from) | ||||||
|         } else { |         } else { | ||||||
|             self.0.range(from..) |             self.0.range(from..) | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
|  | @ -1495,7 +1495,7 @@ impl Rooms { | ||||||
|         prefix.push(0xff); |         prefix.push(0xff); | ||||||
| 
 | 
 | ||||||
|         let mut current = prefix.clone(); |         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] = ¤t; |         let current: &[u8] = ¤t; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -726,10 +726,9 @@ impl Users { | ||||||
|         json.insert("sender".to_owned(), sender.to_string().into()); |         json.insert("sender".to_owned(), sender.to_string().into()); | ||||||
|         json.insert("content".to_owned(), content); |         json.insert("content".to_owned(), content); | ||||||
| 
 | 
 | ||||||
|         self.todeviceid_events.insert( |         let value = serde_json::to_vec(&json).expect("Map::to_vec always works"); | ||||||
|             &key, | 
 | ||||||
|             &serde_json::to_vec(&json).expect("Map::to_vec always works"), |         self.todeviceid_events.insert(&key, &value)?; | ||||||
|         )?; |  | ||||||
| 
 | 
 | ||||||
|         Ok(()) |         Ok(()) | ||||||
|     } |     } | ||||||
|  | @ -774,7 +773,7 @@ impl Users { | ||||||
| 
 | 
 | ||||||
|         for (key, _) in self |         for (key, _) in self | ||||||
|             .todeviceid_events |             .todeviceid_events | ||||||
|             .iter_from(&last, true) |             .iter_from(&last, true) // this includes last
 | ||||||
|             .take_while(move |(k, _)| k.starts_with(&prefix)) |             .take_while(move |(k, _)| k.starts_with(&prefix)) | ||||||
|             .map(|(key, _)| { |             .map(|(key, _)| { | ||||||
|                 Ok::<_, Error>(( |                 Ok::<_, Error>(( | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue