refactor: cleanup remaining Autocrypt Setup Message processing in mimeparser

This commit is contained in:
link2xt
2026-03-24 11:10:08 +01:00
committed by l
parent 1b8bf4ed23
commit 76e2c36d85
2 changed files with 3 additions and 18 deletions

View File

@@ -125,7 +125,6 @@ pub enum HeaderDef {
/// [Autocrypt](https://autocrypt.org/) header. /// [Autocrypt](https://autocrypt.org/) header.
Autocrypt, Autocrypt,
AutocryptGossip, AutocryptGossip,
AutocryptSetupMessage,
SecureJoin, SecureJoin,
/// Deprecated header containing Group-ID in `vg-request-with-auth` message. /// Deprecated header containing Group-ID in `vg-request-with-auth` message.

View File

@@ -262,8 +262,6 @@ pub enum SystemMessage {
GroupDescriptionChanged = 70, GroupDescriptionChanged = 70,
} }
const MIME_AC_SETUP_FILE: &str = "application/autocrypt-setup";
impl MimeMessage { impl MimeMessage {
/// Parse a mime message. /// Parse a mime message.
/// ///
@@ -745,20 +743,8 @@ impl MimeMessage {
} }
/// Parses system messages. /// Parses system messages.
fn parse_system_message_headers(&mut self, context: &Context) { fn parse_system_message_headers(&mut self) {
if self.get_header(HeaderDef::AutocryptSetupMessage).is_some() && !self.incoming { if let Some(value) = self.get_header(HeaderDef::ChatContent) {
self.parts.retain(|part| {
part.mimetype
.as_ref()
.is_none_or(|mimetype| mimetype.as_ref() == MIME_AC_SETUP_FILE)
});
if self.parts.len() == 1 {
self.is_system_message = SystemMessage::AutocryptSetupMessage;
} else {
warn!(context, "could not determine ASM mime-part");
}
} else if let Some(value) = self.get_header(HeaderDef::ChatContent) {
if value == "location-streaming-enabled" { if value == "location-streaming-enabled" {
self.is_system_message = SystemMessage::LocationStreamingEnabled; self.is_system_message = SystemMessage::LocationStreamingEnabled;
} else if value == "ephemeral-timer-changed" { } else if value == "ephemeral-timer-changed" {
@@ -908,7 +894,7 @@ impl MimeMessage {
} }
async fn parse_headers(&mut self, context: &Context) -> Result<()> { async fn parse_headers(&mut self, context: &Context) -> Result<()> {
self.parse_system_message_headers(context); self.parse_system_message_headers();
self.parse_avatar_headers(context)?; self.parse_avatar_headers(context)?;
self.parse_videochat_headers(); self.parse_videochat_headers();
if self.delivery_report.is_none() { if self.delivery_report.is_none() {