From 0a2b66de9a1fafbb8eb782db891fcb78763ffaea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damir=20Jeli=C4=87?= Date: Fri, 10 Apr 2020 11:45:50 +0200 Subject: [PATCH] crytpo: Change the share_group_session method to always create a new session. --- src/base_client.rs | 2 +- src/crypto/machine.rs | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/base_client.rs b/src/base_client.rs index 42e61575..677214cf 100644 --- a/src/base_client.rs +++ b/src/base_client.rs @@ -442,7 +442,7 @@ impl Client { Some(o) => { let room = room.lock().await; let members = room.members.keys(); - Ok(o.share_megolm_session(room_id, members).await?) + Ok(o.share_group_session(room_id, members).await?) } None => panic!("Olm machine wasn't started"), } diff --git a/src/crypto/machine.rs b/src/crypto/machine.rs index 223f006a..3636cee9 100644 --- a/src/crypto/machine.rs +++ b/src/crypto/machine.rs @@ -920,7 +920,7 @@ impl OlmMachine { } // TODO accept an algorithm here - pub(crate) async fn share_megolm_session<'a, I>( + pub(crate) async fn share_group_session<'a, I>( &mut self, room_id: &RoomId, users: I, @@ -928,19 +928,9 @@ impl OlmMachine { where I: IntoIterator, { - if !self.outbound_group_session.contains_key(room_id) { - self.create_outbound_group_session(room_id).await? - } - + self.create_outbound_group_session(room_id).await?; let megolm_session = self.outbound_group_session.get(room_id).unwrap(); - let megolm_session = if megolm_session.expired() { - self.create_outbound_group_session(room_id).await?; - self.outbound_group_session.get(room_id).unwrap() - } else { - megolm_session - }; - if megolm_session.shared() { panic!("Session is already shared"); }