Don't set thread callbacks at all for gcrypt
authorAndre Heinecke <aheinecke@intevation.de>
Wed, 13 Aug 2014 14:17:09 +0000 (14:17 +0000)
committerAndre Heinecke <aheinecke@intevation.de>
Wed, 13 Aug 2014 14:17:09 +0000 (14:17 +0000)
    * patches/dirmngr-1.1.1/dirmngr-pth.patch: Skip threading
    initialization.

--
    This should be no longer needed with gcrypt 1.6.1. As gcrypt
    does use Windows threads now on Windows pth support is no
    longer builtin.

patches/dirmngr-1.1.1/dirmngr-pth.patch

index bc33829..11c0fcd 100755 (executable)
@@ -2,20 +2,20 @@
 patch -p0 -l -f $* < $0
 exit $?
 
-Index: src/dirmngr.c
-===================================================================
---- src/dirmngr.c      (revision 348)
-+++ src/dirmngr.c      (working copy)
-@@ -665,8 +665,11 @@
-      the option parsing may need services of the libraries. */
+--- src/dirmngr.c.orig 2014-08-13 13:29:03.609026165 +0000
++++ src/dirmngr.c      2014-08-13 13:30:19.328411198 +0000
+@@ -668,12 +668,14 @@
+      Note that this will also do the pth_init. */
 
-   /* Libgcrypt requires us to register the threading model first.
--     Note that this will also do the pth_init. */
-+     Note that this will also do the pth_init for libgcrypt < 1.6 */
-
-+#if GCRYPT_VERSION_NUMBER >= 0x010600
-+  pth_init ();
-+#endif
    /* Init Libgcrypt. */
++#if GCRYPT_VERSION_NUMBER < 0x010600
    rc = gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pth);
    if (rc)
+     {
+       log_fatal ("can't register GNU Pth with Libgcrypt: %s\n",
+                  gpg_strerror (rc));
+     }
++#endif
+   gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
+   if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
+     {