From cfd79b4701996fd0f65d58c9ab4aa4e21cc5d5f3 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Sat, 15 Dec 2018 18:45:53 +0100 Subject: [PATCH] Windows: Upgrade GnuTLS to 1.6.3 Upgrade to GnuTLS 3.6.3-1, using MinGW binaries from Fedora 29 packages: mingw64-gnutls-3.6.3-1.fc29.noarch.rpm mingw64-gcc-8.2.0-3.fc29.x86_64.rpm mingw64-gmp-6.1.2-4.fc29.noarch.rpm mingw64-nettle-3.4-2.fc29.noarch.rpm mingw64-p11-kit-0.23.7-5.fc29.noarch.rpm mingw64-libffi-3.1-4.fc29.noarch.rpm mingw64-libtasn1-4.13-3.fc29.noarch.rpm mingw64-winpthreads-5.0.4-2.fc29.noarch.rpm This includes libgcc_s_seh-1.dll (64-bit, new) and libgcc_s_sjlj-1.dll (32-bit, previously included with glib2). Built with https://git.lekensteyn.nl/peter/wireshark-notes/tree/windows-libs/make-gnutls-libs-zip.sh?id=b86878e458d5d7deb21218ce6598b98af4ed7ec2 The main motivation is improved PKCS #11 support: - 3.6.0: fix potential compatibility issue with SafeNet HSMs https://gitlab.com/gnutls/gnutls/merge_requests/398/ - 3.6.2: gnutls_pkcs11_token_get_flags now forwards token info. - 3.6.3: new APIs for low-level PKCS #11 token or object operations. Change-Id: I235774e3b27f3426cb74d3d9c0ab593d06870e89 Reviewed-on: https://code.wireshark.org/review/31128 Petri-Dish: Peter Wu Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin Reviewed-by: Anders Broman --- cmake/modules/FindGLIB2.cmake | 5 ++++- cmake/modules/FindGNUTLS.cmake | 3 ++- tools/win-setup.ps1 | 8 +++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cmake/modules/FindGLIB2.cmake b/cmake/modules/FindGLIB2.cmake index 77ba381540..db2de9297a 100644 --- a/cmake/modules/FindGLIB2.cmake +++ b/cmake/modules/FindGLIB2.cmake @@ -103,13 +103,16 @@ if( GLIB2_FOUND ) CACHE PATH "Path to GLib 2 DLLs" ) # XXX Are GIO and GObject really necessary? + # libglib and libgio in glib2-2.52.2-1.34-win32ws depend on + # libgcc_s_sjlj-1.dll, now included with gnutls-3.6.3-1-win32ws. + # (64-bit GLib does not depend on libgcc_s). file( GLOB _glib2_dlls RELATIVE "${GLIB2_DLL_DIR}" "${GLIB2_DLL_DIR}/libglib-*.dll" "${GLIB2_DLL_DIR}/libgio-*.dll" "${GLIB2_DLL_DIR}/libgmodule-*.dll" "${GLIB2_DLL_DIR}/libgobject-*.dll" "${GLIB2_DLL_DIR}/libintl-*.dll" - "${GLIB2_DLL_DIR}/libgcc_s_*.dll" + #"${GLIB2_DLL_DIR}/libgcc_s_*.dll" ) set ( GLIB2_DLLS ${_glib2_dlls} # We're storing filenames only. Should we use STRING instead? diff --git a/cmake/modules/FindGNUTLS.cmake b/cmake/modules/FindGNUTLS.cmake index 0487341285..95c7a2467d 100644 --- a/cmake/modules/FindGNUTLS.cmake +++ b/cmake/modules/FindGNUTLS.cmake @@ -74,9 +74,10 @@ IF(GNUTLS_FOUND) set ( GNUTLS_DLL_DIR "${GNUTLS_HINTS}/bin" CACHE PATH "Path to the GnuTLS DLLs" ) + # Note: 32-bit glib2-2.52.2-1.34-win32ws needs libgcc_s_sjlj-1.dll too. file( GLOB _gnutls_dlls RELATIVE "${GNUTLS_DLL_DIR}" "${GNUTLS_DLL_DIR}/libgmp-*.dll" - #"${GNUTLS_DLL_DIR}/libgcc_s_*.dll" + "${GNUTLS_DLL_DIR}/libgcc_s_*.dll" "${GNUTLS_DLL_DIR}/libffi-*.dll" "${GNUTLS_DLL_DIR}/libgnutls-*.dll" "${GNUTLS_DLL_DIR}/libhogweed-*.dll" diff --git a/tools/win-setup.ps1 b/tools/win-setup.ps1 index ffbbe274d3..72c03e18a0 100644 --- a/tools/win-setup.ps1 +++ b/tools/win-setup.ps1 @@ -77,7 +77,7 @@ $Win64Archives = @{ "AirPcap_Devpack_4_1_0_1622.zip" = "09d637f28a79b1d2ecb09f35436271a90c0f69bd0a1ee82b803abaaf63c18a69"; "bcg729-1.0.4-win64ws.zip" = "9a095fda4c39860d96f0c568830faa6651cd17635f68e27aa6de46c689aa0ee2"; "c-ares-1.14.0-win64ws.zip" = "91b1e1460bda513375910977a3410afd024575eebc528adecf3abea7814c0ef1"; - "gnutls-3.4.11-1.35-win64ws.zip" = "defc04f430f88e0c1217b98157e38b0e9fc8b4e7ad744c6dd0c24dd17648f9f4"; + "gnutls-3.6.3-1-win64ws.zip" = "994ac2578e7b4ca01e589ab2598927d53f7370bc3ff679f3006b0e6bb7a06df4"; "glib2-2.52.2-1.31-win64ws.zip" = "e19a7812db6715c632a5bbf96452ab474a4eaf0c6aaee999323ac7beb7ebe6db"; "kfw-3-2-2-x64-ws.zip" = "91654ffe0b6d418b369c95bc060414a90f91627e55c19a3e753803c9deb2fe9a"; "libgcrypt-1.8.3-win64ws.zip" = "53b1c636cb89de308ca4ea01b4990cf1deca7f6c2446189c7ff6e971137ffd76"; @@ -100,7 +100,7 @@ $Win32Archives = @{ "AirPcap_Devpack_4_1_0_1622.zip" = "09d637f28a79b1d2ecb09f35436271a90c0f69bd0a1ee82b803abaaf63c18a69"; "bcg729-1.0.4-win32ws.zip" = "b785ec78dec6bca8252130eb884bfa28c1140001dd7369a535579176de9e4271"; "c-ares-1.14.0-win32ws.zip" = "7355f3ad6d6ec05541c59e5b398b8dbd9a41bf6776b26d9656d8d54ecd58178e"; - "gnutls-3.4.11-1.36-win32ws.zip" = "10cd21d25b22cfba2566c8d6f5afbbd23d0f8faceb5bc167ccbb8fbb97d6873f"; + "gnutls-3.6.3-1-win32ws.zip" = "42d8313ffb888f525d6c39330c39bcc2182e68ee8433a09dd85e1f1e1474f592"; "glib2-2.52.2-1.34-win32ws.zip" = "28c426a7b64c1cd5b058c2f25685ddfaebca29083bd8f94fec2a8910ece6faf0"; "kfw-3-2-2-i386-ws-vc6.zip" = "527deb2cf1c3ba0cf743f2b9b8011a22096b54f7ce62fc7ba31b520bbac0e802"; "libgcrypt-1.8.3-win32ws.zip" = "409b72f2809019050cca91b9e670047c50a0752ff52999089178da54ef926393"; @@ -150,9 +150,7 @@ $CleanupItems = @( "bcg729-1.0.4-win??ws" "c-ares-1.9.1-1-win??ws" "c-ares-1.1*-win??ws" - "gnutls-3.1.22-*-win??ws" - "gnutls-3.2.15-*-win??ws" - "gnutls-3.4.11-*-win??ws" + "gnutls-3.?.*-*-win??ws" "glib2-2.*-win??ws" "gtk2" "gtk3"