From 3b35d5e0ea5bd0b82913afeabbef83b3f06072f8 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Mon, 7 Apr 2025 18:50:29 +0200 Subject: [PATCH] fix: encrypt broadcast lists it was all the time questionable if not encrypting broadcast lists rules the issue that recipients may know each other cryptographically. however, meanwhile with chatmail, unncrypted broadcasts are no longer possible, and we actively broke workflows eg. from this teacher: https://support.delta.chat/t/broadcast-funktioniert-nach-update-nicht-meht/3694 this basically reverts commit https://github.com/chatmail/core/pull/2707/commits/7e5907daf2cec64769440a8a57aeb5fc479e4dd4 which was that time added last-minute and without lots discussions :) let the students get their homework again :) --- src/chat/chat_tests.rs | 2 +- src/mimefactory.rs | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/chat/chat_tests.rs b/src/chat/chat_tests.rs index 152b5e95a..cebb530de 100644 --- a/src/chat/chat_tests.rs +++ b/src/chat/chat_tests.rs @@ -2552,7 +2552,7 @@ async fn test_broadcast() -> Result<()> { let msg = bob.recv_msg(&sent_msg).await; assert_eq!(msg.get_text(), "ola!"); assert_eq!(msg.subject, "Broadcast list"); - assert!(!msg.get_showpadlock()); // avoid leaking recipients in encryption data + assert!(msg.get_showpadlock()); let chat = Chat::load_from_db(&bob, msg.chat_id).await?; assert_eq!(chat.typ, Chattype::Mailinglist); assert_ne!(chat.id, chat_bob.id); diff --git a/src/mimefactory.rs b/src/mimefactory.rs index 262634d5a..8632401a8 100644 --- a/src/mimefactory.rs +++ b/src/mimefactory.rs @@ -415,12 +415,10 @@ impl MimeFactory { fn should_force_plaintext(&self) -> bool { match &self.loaded { - Loaded::Message { chat, msg } => { - msg.param - .get_bool(Param::ForcePlaintext) - .unwrap_or_default() - || chat.typ == Chattype::Broadcast - } + Loaded::Message { msg, .. } => msg + .param + .get_bool(Param::ForcePlaintext) + .unwrap_or_default(), Loaded::Mdn { .. } => false, } }