You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.6 KiB
95 lines
3.6 KiB
From 3e08f247b8bf105f1548648b93fad4a672ac7d7b Mon Sep 17 00:00:00 2001
|
|
From: Michael Cronenworth <mike@cchtml.com>
|
|
Date: Wed, 15 Jun 2016 19:03:22 -0500
|
|
Subject: [PATCH] configure: Check for GnuTLS block size function
|
|
|
|
Instead of providing an extern, perform a configure check. The
|
|
function return type changed from signed to unsigned in GnuTLS 3.5.
|
|
|
|
Signed-off-by: Michael Cronenworth <mike@cchtml.com>
|
|
---
|
|
configure | 37 +++++++++++++++++++++++++++++++++++++
|
|
configure.ac | 3 +++
|
|
dlls/secur32/schannel_gnutls.c | 3 ---
|
|
3 files changed, 40 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/configure b/configure
|
|
index d1a6a68..1c39a6c 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -11655,6 +11655,43 @@ CPPFLAGS=$ac_save_CPPFLAGS
|
|
test -z "$GNUTLS_CFLAGS" || GNUTLS_CFLAGS=`echo " $GNUTLS_CFLAGS" | sed 's/ -I\([^/]\)/ -I\$(top_builddir)\/\1/g'`
|
|
test -z "$GNUTLS_LIBS" || GNUTLS_LIBS=`echo " $GNUTLS_LIBS" | sed 's/ -L\([^/]\)/ -L\$(top_builddir)\/\1/g'`
|
|
|
|
+ if ${GNUTLS_CFLAGS:+false} :; then :
|
|
+ if ${PKG_CONFIG+:} false; then :
|
|
+ GNUTLS_CFLAGS=`$PKG_CONFIG --cflags gnutls 2>/dev/null`
|
|
+fi
|
|
+fi
|
|
+
|
|
+if ${GNUTLS_LIBS:+false} :; then :
|
|
+ if ${PKG_CONFIG+:} false; then :
|
|
+ GNUTLS_LIBS=`$PKG_CONFIG --libs gnutls 2>/dev/null`
|
|
+fi
|
|
+fi
|
|
+
|
|
+
|
|
+$as_echo "$as_me:${as_lineno-$LINENO}: gnutls cflags: $GNUTLS_CFLAGS" >&5
|
|
+$as_echo "$as_me:${as_lineno-$LINENO}: gnutls libs: $GNUTLS_LIBS" >&5
|
|
+ac_save_CPPFLAGS=$CPPFLAGS
|
|
+CPPFLAGS="$CPPFLAGS $GNUTLS_CFLAGS"
|
|
+ac_wine_check_funcs_save_LIBS="$LIBS"
|
|
+LIBS="$LIBS $GNUTLS_LIBS"
|
|
+for ac_func in gnutls_cipher_get_block_size
|
|
+do :
|
|
+ ac_fn_c_check_func "$LINENO" "gnutls_cipher_get_block_size" "ac_cv_func_gnutls_cipher_get_block_size"
|
|
+if test "x$ac_cv_func_gnutls_cipher_get_block_size" = xyes; then :
|
|
+ cat >>confdefs.h <<_ACEOF
|
|
+#define HAVE_GNUTLS_CIPHER_GET_BLOCK_SIZE 1
|
|
+_ACEOF
|
|
+
|
|
+else
|
|
+ as_fn_append wine_notices "|libgnutls ${notice_platform}development files too old, no block size support."
|
|
+fi
|
|
+done
|
|
+
|
|
+LIBS="$ac_wine_check_funcs_save_LIBS"
|
|
+CPPFLAGS=$ac_save_CPPFLAGS
|
|
+test -z "$GNUTLS_CFLAGS" || GNUTLS_CFLAGS=`echo " $GNUTLS_CFLAGS" | sed 's/ -I\([^/]\)/ -I\$(top_builddir)\/\1/g'`
|
|
+test -z "$GNUTLS_LIBS" || GNUTLS_LIBS=`echo " $GNUTLS_LIBS" | sed 's/ -L\([^/]\)/ -L\$(top_builddir)\/\1/g'`
|
|
+
|
|
fi
|
|
if test "x$ac_cv_lib_soname_gnutls" = "x"; then :
|
|
case "x$with_gnutls" in
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 7f234b2..6ae8dde 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -1268,6 +1268,9 @@ then
|
|
WINE_CHECK_LIB_FUNCS(gnutls_hash,[$GNUTLS_LIBS],,
|
|
[WINE_NOTICE([libgnutls ${notice_platform}development files too old, no bcrypt hash support.])])])],
|
|
[GNUTLS_CFLAGS=""])])
|
|
+ WINE_PACKAGE_FLAGS(GNUTLS,[gnutls],,,,
|
|
+ [WINE_CHECK_LIB_FUNCS(gnutls_cipher_get_block_size,[$GNUTLS_LIBS],,
|
|
+ [WINE_NOTICE([libgnutls ${notice_platform}development files too old, no block size support.])])])
|
|
fi
|
|
WINE_WARNING_WITH(gnutls,[test "x$ac_cv_lib_soname_gnutls" = "x"],
|
|
[libgnutls ${notice_platform}development files not found, no schannel support.])
|
|
diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c
|
|
index b10b629..2388c55 100644
|
|
--- a/dlls/secur32/schannel_gnutls.c
|
|
+++ b/dlls/secur32/schannel_gnutls.c
|
|
@@ -41,9 +41,6 @@
|
|
WINE_DEFAULT_DEBUG_CHANNEL(secur32);
|
|
WINE_DECLARE_DEBUG_CHANNEL(winediag);
|
|
|
|
-/* Not present in gnutls version < 2.9.10. */
|
|
-extern int gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm);
|
|
-
|
|
static void *libgnutls_handle;
|
|
#define MAKE_FUNCPTR(f) static typeof(f) * p##f
|
|
MAKE_FUNCPTR(gnutls_alert_get);
|
|
--
|
|
2.5.5
|
|
|