mimeparser: assume all Thunderbird users prefer encryption

Co-Authored-By: missytake <missytake@systemli.org>
This commit is contained in:
link2xt
2022-11-23 23:09:03 +00:00
parent a76b018900
commit b341cfd4d9
5 changed files with 128 additions and 3 deletions

View File

@@ -5,7 +5,7 @@ use std::collections::HashSet;
use anyhow::{Context as _, Result};
use mailparse::ParsedMail;
use crate::aheader::Aheader;
use crate::aheader::{Aheader, EncryptPreference};
use crate::authres;
use crate::authres::handle_authres;
use crate::contact::addr_cmp;
@@ -60,11 +60,18 @@ pub(crate) async fn prepare_decryption(
mail: &ParsedMail<'_>,
from: &str,
message_time: i64,
is_thunderbird: bool,
) -> Result<DecryptionInfo> {
let autocrypt_header = Aheader::from_headers(from, &mail.headers)
let mut autocrypt_header = Aheader::from_headers(from, &mail.headers)
.ok_or_log_msg(context, "Failed to parse Autocrypt header")
.flatten();
if is_thunderbird {
if let Some(autocrypt_header) = &mut autocrypt_header {
autocrypt_header.prefer_encrypt = EncryptPreference::Mutual;
}
}
let dkim_results = handle_authres(context, mail, from, message_time).await?;
let peerstate = get_autocrypt_peerstate(