diff --git a/src/chat.rs b/src/chat.rs index a084add08..9f91f48f1 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -1795,13 +1795,7 @@ impl Chat { let mut location_id = 0; let from = context.get_primary_self_addr().await?; - let new_rfc724_mid = { - let grpid = match self.typ { - Chattype::Group => Some(self.grpid.as_str()), - _ => None, - }; - create_outgoing_rfc724_mid(grpid, &from) - }; + let new_rfc724_mid = create_outgoing_rfc724_mid(&from); if self.typ == Chattype::Single { if let Some(id) = context @@ -4151,7 +4145,7 @@ pub async fn add_device_msg_with_importance( if let Some(msg) = msg { chat_id = ChatId::get_for_contact(context, ContactId::DEVICE).await?; - let rfc724_mid = create_outgoing_rfc724_mid(None, "@device"); + let rfc724_mid = create_outgoing_rfc724_mid("@device"); prepare_msg_blob(context, msg).await?; let timestamp_sent = create_smeared_timestamp(context); @@ -4291,7 +4285,7 @@ pub(crate) async fn add_info_msg_with_cmd( parent: Option<&Message>, from_id: Option, ) -> Result { - let rfc724_mid = create_outgoing_rfc724_mid(None, "@device"); + let rfc724_mid = create_outgoing_rfc724_mid("@device"); let ephemeral_timer = chat_id.get_ephemeral_timer(context).await?; let mut param = Params::new(); @@ -5932,11 +5926,11 @@ mod tests { // Alice has an SMTP-server replacing the `Message-ID:`-header (as done eg. by outlook.com). let sent_msg = alice.pop_sent_msg().await; let msg = sent_msg.payload(); - assert_eq!(msg.match_indices("Message-ID: MimeFactory<'a> { let rfc724_mid = match self.loaded { Loaded::Message { .. } => self.msg.rfc724_mid.clone(), - Loaded::Mdn { .. } => create_outgoing_rfc724_mid(None, &self.from_addr), + Loaded::Mdn { .. } => create_outgoing_rfc724_mid(&self.from_addr), }; let rfc724_mid_headervalue = render_rfc724_mid(&rfc724_mid); let rfc724_mid_header = Header::new("Message-ID".into(), rfc724_mid_headervalue); diff --git a/src/tools.rs b/src/tools.rs index 865299522..f77b19017 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -281,15 +281,12 @@ pub(crate) fn create_id() -> String { /// - this function is called for all outgoing messages. /// - the message ID should be globally unique /// - do not add a counter or any private data as this leaks information unnecessarily -pub(crate) fn create_outgoing_rfc724_mid(grpid: Option<&str>, from_addr: &str) -> String { +pub(crate) fn create_outgoing_rfc724_mid(from_addr: &str) -> String { let hostname = from_addr .find('@') .and_then(|k| from_addr.get(k..)) .unwrap_or("@nohost"); - match grpid { - Some(grpid) => format!("Gr.{}.{}{}", grpid, create_id(), hostname), - None => format!("Mr.{}.{}{}", create_id(), create_id(), hostname), - } + format!("Mr.{}.{}{}", create_id(), create_id(), hostname) } /// Extract the group id (grpid) from a message id (mid) @@ -1013,21 +1010,10 @@ DKIM Results: Passed=true, Works=true, Allow_Keychange=true"; #[test] fn test_create_outgoing_rfc724_mid() { - // create a normal message-id - let mid = create_outgoing_rfc724_mid(None, "foo@bar.de"); + let mid = create_outgoing_rfc724_mid("foo@bar.de"); assert!(mid.starts_with("Mr.")); assert!(mid.ends_with("bar.de")); assert!(extract_grpid_from_rfc724_mid(mid.as_str()).is_none()); - - // create a message-id containing a group-id - let grpid = create_id(); - let mid = create_outgoing_rfc724_mid(Some(&grpid), "foo@bar.de"); - assert!(mid.starts_with("Gr.")); - assert!(mid.ends_with("bar.de")); - assert_eq!( - extract_grpid_from_rfc724_mid(mid.as_str()), - Some(grpid.as_str()) - ); } #[test]