Fix regressions from 3.1.6 gpg4win-3.1.7
authorAndre Heinecke <aheinecke@gnupg.org>
Thu, 28 Mar 2019 07:51:52 +0000 (08:51 +0100)
committerAndre Heinecke <aheinecke@gnupg.org>
Thu, 28 Mar 2019 07:51:52 +0000 (08:51 +0100)
* Makefile.am (EXTRA_DIST): Add new patches
* NEWS: Update
* doc: Mention this in readmes.
* packages/packages.current (kleopatra): Update.

Makefile.am
NEWS
doc/README.de.txt
doc/README.en.txt
packages/packages.current
patches/gpgme-1.13.0/0001-core-Fix-assuan-logger-fd-hack-for-windows.patch [new file with mode: 0755]
patches/gpgme-1.13.0/0002-core-w32-Fix-format-string-errors-on-windows.patch [new file with mode: 0755]

index 33700a5..72ffa53 100644 (file)
@@ -47,6 +47,8 @@ EXTRA_DIST = autogen.sh README.GIT ONEWS \
         patches/w32pth-2.0.5/workaround-broken-libtool.patch \
         patches/breeze-icons/0001-Make-binary-icons-cross-compilable.patch \
         patches/gpgme-1.13.0/0001-core-w32-glib-Fix-build-of-w32-glib-io.c.patch \
+        patches/gpgme-1.13.0/0001-core-Fix-assuan-logger-fd-hack-for-windows.patch \
+        patches/gpgme-1.13.0/0002-core-w32-Fix-format-string-errors-on-windows.patch \
         patches/gpgol-2.3.3/0001-Replace-fancy-attribute-by-comment.patch \
         patches/gpgol-2.3.3/0001-Fix-content-type-detection-for-headerless-mails.patch \
         patches/gpgol-2.3.3/0001-Fix-crash-when-looking-at-messages-without-attachs.patch
diff --git a/NEWS b/NEWS
index 288f192..f43827f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,12 +3,29 @@
 # The version number given below are for the standard installers as
 # distributed by www.gpg4win.org.
 
-Noteworthy changes in Version 3.1.7 (unreleased)
+Noteworthy changes in Version 3.1.7 (2019-03-28)
 ------------------------------------------------
 
+(en) Kleopatra: Fixed a regression from 3.1.6 that
+     broke Secret key export, Keyserver refresh and
+     Keyserver upload. (T4438)
+
+(de) Kleopatra: Ein mit 3.1.6 eingeführtes Problem,
+     dass den Export geheimer
+     Schlüssel sowie aktualisieren und hochladen
+     von OpenPGP Schlüsseln verhinderte, wurde behoben.
+     (T4438)
+
+(en) GPA: Fixed a regression from 3.1.6 that could
+     lead to crashes. (T4440 T4439)
+
+(de) GPA: Ein mit 3.1.6 eingeführtes Problem, das zu
+     Programmabstürzen führen konnte wurde behoben.
+     (T4440 T4439)
+
 ~~~~~~~~~~~~~~~
 GnuPG:          2.2.15
-Kleopatra:      3.1.6
+Kleopatra:      3.1.7
 GPA:            0.10.0
 GpgOL:          2.3.3
 GpgEX:          1.0.6
index 9f63475..129c97b 100644 (file)
@@ -66,6 +66,10 @@ Die integrierten Gpg4win-Komponenten in Version !VERSION! sind:
 Neu in Gpg4win Version !VERSION! (!BUILD_ISODATE!)
 -----------------------------------------
 
+- Gpg4win-3.1.7 ist eine kleine Aktualisierung von 3.1.6 um
+  neu eingeführten Fehler in Kleopatra und GPA zu beheben. Im
+  folgenden die Änderungen aus 3.1.6:
+
 - Kleopatra: Ein Fehler wurde behoben der dazu führen
   konnte das Kleopatra fehlerhafte TAR Archive erstellte. (T4332)
   Mehr Informationen für betroffene:
index 0d7a5f1..cfa40e4 100644 (file)
@@ -65,6 +65,10 @@ Included Gpg4win components in version !VERSION! are:
 New in Gpg4win version !VERSION! (!BUILD_ISODATE!)
 -----------------------------------------
 
+- Gpg4win-3.1.7 is a minor update over 3.1.6 to fix
+  regressions introduced in 3.1.6. The changes
+  for 3.1.6 are:
+
 - Kleopatra: An issue has been fixed that could cause
   Kleopatra to generate broken TAR archives. (T4332)
   If you are affected see:
index af6f82e..56fab36 100644 (file)
@@ -585,5 +585,5 @@ chk 3f3b3f887a26efa275feafad37c611d8086a1d066f288a8a604432a44392a50a
 # last changed: see package date.
 # by: ah
 # verified: Tarball created by ah.
-file kleopatra/kleopatra-201903270916.tar.gz
-chk fa77f66a9725c968d0144002fab9093820de79137f38846e45270954f70c44d5
+file kleopatra/kleopatra-201903271514.tar.gz
+chk d1bbb8195bcc075b963d21856eb9e84fdacb8c426a6562fd91147a4cc5948138
diff --git a/patches/gpgme-1.13.0/0001-core-Fix-assuan-logger-fd-hack-for-windows.patch b/patches/gpgme-1.13.0/0001-core-Fix-assuan-logger-fd-hack-for-windows.patch
new file mode 100755 (executable)
index 0000000..6234cfb
--- /dev/null
@@ -0,0 +1,29 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 19a4c4daa2cfd075b181d5131a4b8b4d54714b8c Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke@gnupg.org>
+Date: Wed, 27 Mar 2019 16:12:38 +0100
+Subject: [PATCH 1/2] core: Fix assuan logger-fd hack for windows
+
+* src/assuan-support.c (my_spawn): Zero is a perfectly fine fd.
+---
+ src/assuan-support.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/assuan-support.c b/src/assuan-support.c
+index 925aebaf..09db3295 100644
+--- a/src/assuan-support.c
++++ b/src/assuan-support.c
+@@ -234,7 +234,7 @@ my_spawn (assuan_context_t ctx, pid_t *r_pid, const char *name,
+                   break;
+                 }
+               logger_fd = strtol (argv[loc], &tail, 10);
+-              if (tail == argv[loc] || logger_fd <= 0)
++              if (tail == argv[loc] || logger_fd < 0)
+                 {
+                   err = GPG_ERR_INV_ARG;
+                   break;
+--
+2.20.1
diff --git a/patches/gpgme-1.13.0/0002-core-w32-Fix-format-string-errors-on-windows.patch b/patches/gpgme-1.13.0/0002-core-w32-Fix-format-string-errors-on-windows.patch
new file mode 100755 (executable)
index 0000000..58a5e3f
--- /dev/null
@@ -0,0 +1,48 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 4a4680f8901ecdcb7e8d5ed55f48226ccfccd7c8 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke@gnupg.org>
+Date: Wed, 27 Mar 2019 17:47:41 +0100
+Subject: [PATCH 2/2] core, w32: Fix format string errors on windows
+
+* src/debug.c (_gpgme_debug): Use gpgrt_vasprintf instead of
+vfprintf to have a more portable format.
+
+--
+This fixes crashes on Windows because "%zu" is used which
+is not natively supported on Windows but which gpgrt supports.
+---
+ src/debug.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/src/debug.c b/src/debug.c
+index 81c2a90c..79e38ce1 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -255,6 +255,8 @@ _gpgme_debug (int level, int mode, const char *func, const char *tagname,
+   va_list arg_ptr;
+   int saved_errno;
+   int need_lf;
++  char *output;
++  int out_len;
+
+   if (debug_level < level)
+     return 0;
+@@ -307,7 +309,12 @@ _gpgme_debug (int level, int mode, const char *func, const char *tagname,
+     }
+   need_lf = (mode != -1 && (!format || !*format));
+
+-  vfprintf (errfp, format, arg_ptr);
++  out_len = gpgrt_vasprintf (&output, format, arg_ptr);
++  if (out_len >= 0)
++    {
++      fwrite (output, out_len, 1, errfp);
++      free (output);
++    }
+   va_end (arg_ptr);
+   if (need_lf || (format && *format && format[strlen (format) - 1] != '\n'))
+     putc ('\n', errfp);
+--
+2.20.1