mirror of
https://github.com/chatmail/core.git
synced 2026-05-22 16:26:31 +03:00
fix(mimefactory): only send Autocrypt-Gossip headers on encrypted messages
This commit is contained in:
committed by
holger krekel
parent
798072b8ba
commit
609b5588fa
@@ -467,17 +467,6 @@ impl<'a, 'b> MimeFactory<'a, 'b> {
|
|||||||
encrypt_helper.should_encrypt(self.context, e2ee_guranteed, &peerstates)?;
|
encrypt_helper.should_encrypt(self.context, e2ee_guranteed, &peerstates)?;
|
||||||
let is_encrypted = should_encrypt && force_plaintext == 0;
|
let is_encrypted = should_encrypt && force_plaintext == 0;
|
||||||
|
|
||||||
// Add gossip headers
|
|
||||||
if do_gossip {
|
|
||||||
for peerstate in peerstates.iter().filter_map(|(state, _)| state.as_ref()) {
|
|
||||||
if peerstate.peek_key(min_verified).is_some() {
|
|
||||||
if let Some(header) = peerstate.render_gossip_header(min_verified) {
|
|
||||||
protected_headers.push(Header::new("Autocrypt-Gossip".into(), header));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let rfc724_mid = match self.loaded {
|
let rfc724_mid = match self.loaded {
|
||||||
Loaded::Message => self.msg.rfc724_mid.clone(),
|
Loaded::Message => self.msg.rfc724_mid.clone(),
|
||||||
Loaded::MDN => dc_create_outgoing_rfc724_mid(None, &self.from_addr),
|
Loaded::MDN => dc_create_outgoing_rfc724_mid(None, &self.from_addr),
|
||||||
@@ -489,10 +478,23 @@ impl<'a, 'b> MimeFactory<'a, 'b> {
|
|||||||
unprotected_headers.push(Header::new_with_value("From".into(), vec![from]).unwrap());
|
unprotected_headers.push(Header::new_with_value("From".into(), vec![from]).unwrap());
|
||||||
|
|
||||||
let outer_message = if is_encrypted {
|
let outer_message = if is_encrypted {
|
||||||
|
// Add gossip headers
|
||||||
|
if do_gossip {
|
||||||
|
for peerstate in peerstates.iter().filter_map(|(state, _)| state.as_ref()) {
|
||||||
|
if peerstate.peek_key(min_verified).is_some() {
|
||||||
|
if let Some(header) = peerstate.render_gossip_header(min_verified) {
|
||||||
|
message =
|
||||||
|
message.header(Header::new("Autocrypt-Gossip".into(), header));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Store protected headers in the inner message.
|
// Store protected headers in the inner message.
|
||||||
for header in protected_headers.into_iter() {
|
for header in protected_headers.into_iter() {
|
||||||
message = message.header(header);
|
message = message.header(header);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the appropriate Content-Type for the inner message.
|
// Set the appropriate Content-Type for the inner message.
|
||||||
let mut existing_ct = message
|
let mut existing_ct = message
|
||||||
.get_header("Content-Type".to_string())
|
.get_header("Content-Type".to_string())
|
||||||
|
|||||||
Reference in New Issue
Block a user