[Gpg4win-commits] [git] Gpg4win - branch, master, updated. gpg4win-3.1.0-10-gd3b7807

by Andre Heinecke cvs at cvs.gnupg.org
Fri Apr 27 09:07:40 CEST 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG for Windows".

The branch, master has been updated
       via  d3b7807fdaa29e420c936a3934667589b527cc92 (commit)
      from  66228f39d839f2aa600793da0e0cb50749cd16cc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d3b7807fdaa29e420c936a3934667589b527cc92
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Fri Apr 27 09:06:48 2018 +0200

    Add resiliency patch to gpgol
    
    * Makefile.am (EXTRA_DIST): Update accordingly.
    * patches/gpgol-2.1.1/
    0001-Disable-OL-2013-2016-resiliency-for-us.patch: New.

diff --git a/Makefile.am b/Makefile.am
index 1431aac..a3cd2b8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -46,7 +46,8 @@ EXTRA_DIST = autogen.sh README.GIT ONEWS \
         patches/kleopatra/fix-qt5.6-build.patch \
         patches/extra-cmake-modules/0001-Use-BIN_INSTALL_DIR-data-for-DATAROOTDIR-on-Windows.patch \
         patches/gpa-0.9.10/0001-w32-Make-location-of-locale-dir-more-flexible.patch \
-        patches/libgpg-error-1.29/0001-doc-Fix-yat2m-build-for-cross-compilation.patch
+        patches/libgpg-error-1.29/0001-doc-Fix-yat2m-build-for-cross-compilation.patch \
+        patches/gpgol-2.1.1/0001-Disable-OL-2013-2016-resiliency-for-us.patch
 
 
 copy-news:
diff --git a/patches/gpgol-2.1.1/0001-Disable-OL-2013-2016-resiliency-for-us.patch b/patches/gpgol-2.1.1/0001-Disable-OL-2013-2016-resiliency-for-us.patch
new file mode 100755
index 0000000..863720a
--- /dev/null
+++ b/patches/gpgol-2.1.1/0001-Disable-OL-2013-2016-resiliency-for-us.patch
@@ -0,0 +1,119 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 8635193d010812d0bff2ee64e6c8e47f1ef43164 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke at intevation.de>
+Date: Fri, 27 Apr 2018 08:29:13 +0200
+Subject: [PATCH] Disable OL 2013 / 2016 resiliency for us
+
+* src/gpgoladdin.cpp (setupDoNotDisable): New.
+(addGpgOLToReg): New helper.
+
+--
+While this should not be necessrary if we don't crash, well
+in the real world it happens and then users have the problem
+that they have to manually renable GpgOL and report it
+as an issue.
+
+With this GpgOL should no longer be disabled in Outlook
+2013 and 2016. 2010 does not have this auto disable.
+
+GnuPG-Bug-Id: T3938
+---
+ src/gpgoladdin.cpp | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
+
+diff --git a/src/gpgoladdin.cpp b/src/gpgoladdin.cpp
+index 6f393ca..6525598 100644
+--- a/src/gpgoladdin.cpp
++++ b/src/gpgoladdin.cpp
+@@ -246,6 +246,77 @@ GpgolAddin::QueryInterface (REFIID riid, LPVOID* ppvObj)
+   return hr;
+ }
+
++static void
++addGpgOLToReg (const std::string &path)
++{
++  HKEY h;
++  int err = RegOpenKeyEx (HKEY_CURRENT_USER, path.c_str(), 0,
++                          KEY_ALL_ACCESS, &h);
++  if (err != ERROR_SUCCESS)
++    {
++      log_debug ("%s:%s: no DoNotDisableAddinList entry '%s' creating it",
++                 SRCNAME, __func__, path.c_str ());
++      err = RegCreateKeyEx (HKEY_CURRENT_USER, path.c_str (), 0, NULL,
++                            REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL,
++                            &h, NULL);
++    }
++  if (err != ERROR_SUCCESS)
++    {
++      log_error ("%s:%s: failed to create key.",
++                 SRCNAME, __func__);
++      return;
++    }
++
++  DWORD type;
++  err = RegQueryValueEx (h, GPGOL_PROGID, NULL, &type, NULL, NULL);
++  if (err == ERROR_SUCCESS)
++    {
++      log_debug ("%s:%s: Found gpgol reg key. Leaving it unchanged.",
++                 SRCNAME, __func__);
++      RegCloseKey (h);
++      return;
++    }
++
++  // No key exists. Create one.
++  DWORD dwTemp = 1;
++  err = RegSetValueEx (h, GPGOL_PROGID, 0, REG_DWORD, (BYTE*)&dwTemp, 4);
++  RegCloseKey (h);
++
++  if (err != ERROR_SUCCESS)
++    {
++      log_error ("%s:%s: failed to set registry value.",
++                 SRCNAME, __func__);
++    }
++  else
++    {
++      log_debug ("%s:%s: added gpgol to %s",
++                 SRCNAME, __func__, path.c_str ());
++    }
++}
++
++/* This is a bit evil as we basically disable outlooks resiliency
++   for us. But users are still able to manually disable the addon
++   or change the donotdisable setting to zero and we won't change
++   it.
++
++   It has been much requested by users that we do this automatically.
++*/
++static void
++setupDoNotDisable ()
++{
++  std::string path = "Software\\Microsoft\\Office\\";
++  path += std::to_string (g_ol_version_major);
++  path += ".0\\Outlook\\Resiliency\\DoNotDisableAddinList";
++
++  addGpgOLToReg (path);
++
++  path = "Software\\Microsoft\\Office\\";
++  path += std::to_string (g_ol_version_major);
++  path += ".0\\Outlook\\Resiliency\\AddinList";
++
++  addGpgOLToReg (path);
++}
++
+ STDMETHODIMP
+ GpgolAddin::OnConnection (LPDISPATCH Application, ext_ConnectMode ConnectMode,
+                           LPDISPATCH AddInInst, SAFEARRAY ** custom)
+@@ -284,6 +355,8 @@ GpgolAddin::OnConnection (LPDISPATCH Application, ext_ConnectMode ConnectMode,
+     }
+   engine_init ();
+
++  setupDoNotDisable ();
++
+   if (ConnectMode != ext_cm_Startup)
+     {
+       OnStartupComplete (custom);
+--
+2.11.0

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                                        |   3 +-
 ...01-Disable-OL-2013-2016-resiliency-for-us.patch | 119 +++++++++++++++++++++
 2 files changed, 121 insertions(+), 1 deletion(-)
 create mode 100755 patches/gpgol-2.1.1/0001-Disable-OL-2013-2016-resiliency-for-us.patch


hooks/post-receive
-- 
GnuPG for Windows
http://git.gnupg.org



More information about the Gpg4win-commits mailing list