aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/a-decade-of-gnupg.txt2
-rw-r--r--sm/ChangeLog4
-rw-r--r--sm/certdump.c8
3 files changed, 12 insertions, 2 deletions
diff --git a/doc/a-decade-of-gnupg.txt b/doc/a-decade-of-gnupg.txt
index 7d625dfc6..17209bacc 100644
--- a/doc/a-decade-of-gnupg.txt
+++ b/doc/a-decade-of-gnupg.txt
@@ -198,7 +198,7 @@ Happy Hacking,
=== 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
diff --git a/sm/ChangeLog b/sm/ChangeLog
index 159a7342e..cc644d753 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,7 @@
+2008-09-04 Werner Koch <[email protected]>
+
+ * certdump.c (gpgsm_format_keydesc): Work around a mingw32 bug.
+
2008-09-03 Werner Koch <[email protected]>
* sign.c (MY_GCRY_MD_SHA224): New, so that we don't need libgcrypt
diff --git a/sm/certdump.c b/sm/certdump.c
index 91539017f..9dbd24566 100644
--- a/sm/certdump.c
+++ b/sm/certdump.c
@@ -979,7 +979,13 @@ gpgsm_format_keydesc (ksba_cert_t cert)
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;