From 518e87b0cf3c1cb99c8d87aec6c821f4d2d51eb0 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sun, 6 Dec 2020 21:28:05 +0300 Subject: [PATCH] Compare Chat-Disposition-Notification-To: address case-insensitively Otherwise users with uppercase letters in their addresses never receive read receipts. --- src/mimeparser.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mimeparser.rs b/src/mimeparser.rs index f3d54b1e8..2be629b1b 100644 --- a/src/mimeparser.rs +++ b/src/mimeparser.rs @@ -414,10 +414,15 @@ impl MimeMessage { if !self.decrypting_failed && !self.parts.is_empty() { if let Some(ref dn_to) = self.chat_disposition_notification_to { if let Some(ref from) = self.from.get(0) { - if from.addr == dn_to.addr { + if from.addr.to_lowercase() == dn_to.addr.to_lowercase() { if let Some(part) = self.parts.last_mut() { part.param.set_int(Param::WantsMdn, 1); } + } else { + warn!( + context, + "{} requested a read receipt to {}, ignoring", from.addr, dn_to.addr + ); } } }