fix: do not allow chat creation if decryption failed

This commit is contained in:
link2xt
2025-05-13 00:20:51 +00:00
committed by l
parent 09d18f9097
commit 4c287075da
3 changed files with 8 additions and 9 deletions

View File

@@ -761,7 +761,9 @@ async fn add_parts(
ShowEmails::from_i32(context.get_config_int(Config::ShowEmails).await?).unwrap_or_default();
let allow_creation;
if mime_parser.is_system_message != SystemMessage::AutocryptSetupMessage
if mime_parser.decrypting_failed {
allow_creation = false;
} else if mime_parser.is_system_message != SystemMessage::AutocryptSetupMessage
&& is_dc_message == MessengerMessage::No
&& !context.get_config_bool(Config::IsChatmail).await?
{

View File

@@ -612,7 +612,7 @@ mod tests {
// the same sync message sent to bob must not be executed
let bob = TestContext::new_bob().await;
bob.recv_msg(&sent_msg).await;
bob.recv_msg_trash(&sent_msg).await;
assert!(!token::exists(&bob, token::Namespace::Auth, "testtoken").await?);
Ok(())

View File

@@ -987,13 +987,10 @@ async fn test_verified_lost_member_added() -> Result<()> {
assert_eq!(sent_msg.get_showpadlock(), true);
// The message will not be sent to Fiona.
// Test that Fiona will not be able to decrypt it.
let fiona_rcvd = fiona.recv_msg(&sent).await;
assert_eq!(fiona_rcvd.get_showpadlock(), false);
assert_eq!(
fiona_rcvd.get_text(),
"[...] [This message was encrypted for another setup.]"
);
// Test that Fiona will not be able to decrypt it
// and the message is trashed because
// we don't create groups from undecipherable messages.
fiona.recv_msg_trash(&sent).await;
// Advance the time so Alice does not leave at the same second
// as the group was created.