Use IPM.Note.SMIME.MultipartSigned again
authorAndre Heinecke <aheinecke@gnupg.org>
Thu, 2 May 2019 15:24:38 +0000 (17:24 +0200)
committerAndre Heinecke <aheinecke@gnupg.org>
Thu, 2 May 2019 15:24:38 +0000 (17:24 +0200)
* src/mimemaker.cpp (finalize_message): Use standard form
for S/MIME.

--
When sending on the same exchange server the mapi properties
and so our message class is kept when sending. So
another (faulty) client without GpgOL might receive this message
with the InfoPathForm MessageClass and might not
handle it as an S/MIME mail.

According to MS-OXOSMIME IPM.Note.SMIME should also be possible
for encrypted mails.
For now we use MultipartSigned again.

src/mimemaker.cpp

index 8667fda..b259da7 100644 (file)
@@ -1221,7 +1221,17 @@ finalize_message (LPMESSAGE message, mapi_attach_item_t *att_table,
 
   /* Set the message class.  */
   prop.ulPropTag = PR_MESSAGE_CLASS_A;
-  if (encrypt)
+  if (protocol == PROTOCOL_SMIME)
+    {
+      /* When sending over exchange to the same server the recipient
+         might see the message class we set here. So for S/MIME
+         we keep the original. This makes the sent folder icon
+         not immediately showing the GpgOL icon but gives other
+         clients that do not have GpgOL installed a better chance
+         to handle the mail. */
+      prop.Value.lpszA = xstrdup ("IPM.Note.SMIME.MultipartSigned");
+    }
+  else if (encrypt)
     {
       prop.Value.lpszA = xstrdup ("IPM.Note.InfoPathForm.GpgOL.SMIME.MultipartSigned");
     }