[svn] GpgOL - r213 - trunk/src

svn author wk cvs at cvs.gnupg.org
Tue Jan 29 16:14:53 CET 2008


Author: wk
Date: 2008-01-29 16:14:52 +0100 (Tue, 29 Jan 2008)
New Revision: 213

Modified:
   trunk/src/ChangeLog
   trunk/src/mimemaker.c
Log:
Fixed creation of signatures.


Modified: trunk/src/ChangeLog
===================================================================
--- trunk/src/ChangeLog	2008-01-18 14:51:50 UTC (rev 212)
+++ trunk/src/ChangeLog	2008-01-29 15:14:52 UTC (rev 213)
@@ -1,3 +1,9 @@
+2008-01-29  Werner Koch  <wk at g10code.com>
+
+	* mimemaker.c (do_mime_sign): Set CTE for SMIME.
+	(delete_all_attachments): Remove extra semicolon accidently
+	inserted with revision 916.
+
 2008-01-18  Marcus Brinkmann  <marcus at g10code.de>
 
 	* mimeparser.c (mime_verify): New variable sig_len, and pass it on

Modified: trunk/src/mimemaker.c
===================================================================
--- trunk/src/mimemaker.c	2008-01-18 14:51:50 UTC (rev 212)
+++ trunk/src/mimemaker.c	2008-01-29 15:14:52 UTC (rev 213)
@@ -890,7 +890,7 @@
   return count;
 }
 
-/* Write old all attachments from TABLE separated by BOUNDARY to SINK.
+/* Write out all attachments from TABLE separated by BOUNDARY to SINK.
    This function needs to be syncronized with count_usable_attachments.  */
 static int
 write_attachments (sink_t sink, 
@@ -934,7 +934,7 @@
       {
         if (table[idx].attach_type == ATTACHTYPE_MOSSTEMPL
             && table[idx].filename
-            && !strcmp (table[idx].filename, MIMEATTACHFILENAME));
+            && !strcmp (table[idx].filename, MIMEATTACHFILENAME))
           continue;
         hr = IMessage_DeleteAttach (message, table[idx].mapipos, 0, NULL, 0);
         if (hr)
@@ -1144,7 +1144,7 @@
 /* Main body of mime_sign without the the code to delete the original
    attachments.  On success the function returns the current
    attachment table at R_ATT_TABLE or sets this to NULL on error.  If
-   TMPSINK is set not atcghment will be created but the output
+   TMPSINK is set no attachment will be created but the output
    written to that sink.  */
 static int 
 do_mime_sign (LPMESSAGE message, HWND hwnd, protocol_t protocol, 
@@ -1277,7 +1277,9 @@
   if ((rc=write_string (sink, 
                         (protocol == PROTOCOL_OPENPGP
                          ? "Content-Type: application/pgp-signature\r\n"
-                         : "Content-Type: application/pkcs7-signature\r\n"))))
+                         : ("Content-Transfer-Encoding: base64\r\n"
+                            "Content-Type: application/pkcs7-signature\r\n")
+                         ))))
     goto failure;
 
   /* If we would add "Content-Transfer-Encoding: 7bit\r\n" to this
@@ -1286,8 +1288,10 @@
      header itself, it detects that it already exists and somehow gets
      into a problem.  It is not a problem with the other parts,
      though.  Hmmm, triggered by the top levels CT protocol parameter?
-     Anyway, it is not required that we add it as we won't hash
-     it.  */
+     Anyway, it is not required that we add it as we won't hash it.
+     Note, that this only holds for OpenPGP; for S/MIME we need to set
+     set CTE.  We even write it before the CT because that is the same
+     as Outlook would do it for a missing CTE. */
 
   if ((rc = write_string (sink, "\r\n")))
     goto failure;




More information about the Gnupg-commits mailing list