Skip to content

Commit 8d81cb6

Browse files
committed
fix: use protected Date header when available
1 parent f8c4662 commit 8d81cb6

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/mimeparser.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ impl MimeMessage {
264264
// messages are shown as unencrypted anyway.
265265

266266
timestamp_sent =
267-
Self::get_timestamp_sent(&mail.headers, timestamp_sent, timestamp_rcvd);
267+
Self::get_timestamp_sent(&part.headers, timestamp_sent, timestamp_rcvd);
268268
MimeMessage::merge_headers(
269269
context,
270270
&mut headers,
@@ -347,6 +347,18 @@ impl MimeMessage {
347347
}
348348

349349
decrypted_msg = Some(msg);
350+
351+
if let Some(protected_timestamp_sent) = decrypted_mail
352+
.headers
353+
.get_header_value(HeaderDef::Date)
354+
.and_then(|v| mailparse::dateparse(&v).ok())
355+
{
356+
timestamp_sent = min(
357+
protected_timestamp_sent,
358+
timestamp_rcvd + constants::TIMESTAMP_SENT_TOLERANCE,
359+
)
360+
}
361+
350362
if let Some(protected_aheader_value) = decrypted_mail
351363
.headers
352364
.get_header_value(HeaderDef::Autocrypt)

0 commit comments

Comments
 (0)