提交 7d21d6b6 编写于 作者: E Eric Blake

build: fix build with newer gnutls

Building with gnutls 3.2.0 (such as shipped with current cygwin) fails
with:

rpc/virnettlscontext.c: In function 'virNetTLSSessionGetKeySize':
rpc/virnettlscontext.c:1358:5: error: implicit declaration of function 'gnutls_cipher_get_key_size' [-Wimplicit-function-declaration]

Yeah, it's stupid that gnutls broke API by moving their declaration
into a new header without including that header from the old one,
but it's easy enough to work around, all without breaking on gnutls
1.4.1 (hello RHEL 5) that lacked the new header.

* configure.ac (gnutls): Check for <gnutls/crypto.h>.
* src/rpc/virnettlscontext.c (includes): Include additional header.
Signed-off-by: NEric Blake <eblake@redhat.com>
上级 6c89768d
...@@ -1103,10 +1103,15 @@ if test "x$with_gnutls" != "xno"; then ...@@ -1103,10 +1103,15 @@ if test "x$with_gnutls" != "xno"; then
dnl it explicitly for the calls to gcry_control/check_version dnl it explicitly for the calls to gcry_control/check_version
GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt" GNUTLS_LIBS="$GNUTLS_LIBS -lgcrypt"
dnl We're not using gcrypt deprecated features so define GCRYPT_NO_DEPRECATED dnl We're not using gcrypt deprecated features so define
dnl to avoid deprecated warnings dnl GCRYPT_NO_DEPRECATED to avoid deprecated warnings
GNUTLS_CFLAGS="$GNUTLS_CFLAGS -DGCRYPT_NO_DEPRECATED" GNUTLS_CFLAGS="$GNUTLS_CFLAGS -DGCRYPT_NO_DEPRECATED"
dnl gnutls 3.x moved some declarations to a new header
AC_CHECK_HEADERS([gnutls/crypto.h], [], [], [[
#include <gnutls/gnutls.h>
]])
with_gnutls=yes with_gnutls=yes
fi fi
......
...@@ -25,6 +25,9 @@ ...@@ -25,6 +25,9 @@
#include <stdlib.h> #include <stdlib.h>
#include <gnutls/gnutls.h> #include <gnutls/gnutls.h>
#if HAVE_GNULTLS_CRYPTO_H
# include <gnutls/crypto.h>
#endif
#include <gnutls/x509.h> #include <gnutls/x509.h>
#include "gnutls_1_0_compat.h" #include "gnutls_1_0_compat.h"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册