legacy-display: accept text/plain legacy display parts
[notmuch] / util / repair.c
index 9fba97b7a67fa56e6f4a7a96beddccfbe0a231ac..f5cbb14b47f37988108ce12291319eef5a967997 100644 (file)
@@ -49,8 +49,14 @@ _notmuch_crypto_payload_has_legacy_display (GMimeObject *payload)
     if (g_mime_multipart_get_count (mpayload) != 2)
        return false;
     first = g_mime_multipart_get_part (mpayload, 0);
-    if (! g_mime_content_type_is_type (g_mime_object_get_content_type (first),
-                                      "text", "rfc822-headers"))
+    /* Early implementations that generated "Legacy Display" parts used
+       Content-Type: text/rfc822-headers, but text/plain is more widely
+       rendered, so it is now the standard choice.  We accept either as a
+       Legacy Display part. */
+    if (! (g_mime_content_type_is_type (g_mime_object_get_content_type (first),
+                                       "text", "plain") ||
+          g_mime_content_type_is_type (g_mime_object_get_content_type (first),
+                                       "text", "rfc822-headers")))
        return false;
     protected_header_parameter = g_mime_object_get_content_type_parameter (first, "protected-headers");
     if ((! protected_header_parameter) || strcmp (protected_header_parameter, "v1"))