[svn] GnuPG - r4823 - in trunk: doc sm

svn author wk cvs at cvs.gnupg.org
Thu Sep 4 12:35:42 CEST 2008


Author: wk
Date: 2008-09-04 12:35:41 +0200 (Thu, 04 Sep 2008)
New Revision: 4823

Modified:
   trunk/doc/a-decade-of-gnupg.txt
   trunk/sm/ChangeLog
   trunk/sm/certdump.c
Log:
Workaround for a mingw runtime bug.


Modified: trunk/sm/ChangeLog
===================================================================
--- trunk/sm/ChangeLog	2008-09-03 09:37:32 UTC (rev 4822)
+++ trunk/sm/ChangeLog	2008-09-04 10:35:41 UTC (rev 4823)
@@ -1,3 +1,7 @@
+2008-09-04  Werner Koch  <wk at g10code.com>
+
+	* certdump.c (gpgsm_format_keydesc): Work around a mingw32 bug.
+
 2008-09-03  Werner Koch  <wk at g10code.com>
 
 	* sign.c (MY_GCRY_MD_SHA224): New, so that we don't need libgcrypt

Modified: trunk/doc/a-decade-of-gnupg.txt
===================================================================
--- trunk/doc/a-decade-of-gnupg.txt	2008-09-03 09:37:32 UTC (rev 4822)
+++ trunk/doc/a-decade-of-gnupg.txt	2008-09-04 10:35:41 UTC (rev 4823)
@@ -198,7 +198,7 @@
 
 === Remarks ===
 
-In a reply to this mail Alan Olsen remakrked on the ML:
+In a reply to this mail Alan Olsen remarked on the ML:
 
   MIT was forced to use the RSAREF library which had a non free
   license.  At first they used the RSAREF2 library, but then they were

Modified: trunk/sm/certdump.c
===================================================================
--- trunk/sm/certdump.c	2008-09-03 09:37:32 UTC (rev 4822)
+++ trunk/sm/certdump.c	2008-09-04 10:35:41 UTC (rev 4823)
@@ -979,7 +979,13 @@
   buffer = p = xtrymalloc (strlen (name) * 3 + 1);
   for (s=name; *s; s++)
     {
-      if (*s < ' ' || *s == '+')
+      /* We also escape the quote character to work around a bug in
+         the mingw32 runtime which does not correcty handle command
+         line quoting.  We correctly double the quote mark when
+         calling a program (i.e. gpg-protec-tool), but the pre-main
+         code does not notice the double quote as an escaped
+         quote.  */
+      if (*s < ' ' || *s == '+' || *s == '\"')
         {
           sprintf (p, "%%%02X", *(unsigned char *)s);
           p += 3;




More information about the Gnupg-commits mailing list