aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2017-11-24 12:55:24 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2017-11-24 13:07:42 +0300
commit0e477b3363043c0b5b2791b20c771985b7f9ff23 (patch)
tree9fd33b8480d3367433e494eeddcb9c78d3b3dcb3
parent9459be1e04db675324cc1098885357bba2927555 (diff)
downloadlibmicrohttpd-0e477b3363043c0b5b2791b20c771985b7f9ff23.tar.gz
libmicrohttpd-0e477b3363043c0b5b2791b20c771985b7f9ff23.zip
configure: properly and deeply check for GnuTLS SNI, avoid double testing
-rw-r--r--configure.ac14
1 files changed, 11 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index fee368be..564f36ff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1617,7 +1617,6 @@ AS_IF([test "x$with_gnutls" != "xno" && test "x$have_gnutls" != "xyes"],
1617 GNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS" 1617 GNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS"
1618 GNUTLS_LDFLAGS="$LIBGCRYPT_LIBS" 1618 GNUTLS_LDFLAGS="$LIBGCRYPT_LIBS"
1619 GNUTLS_LIBS="-lgnutls" 1619 GNUTLS_LIBS="-lgnutls"
1620 AC_CHECK_LIB([gnutls], [gnutls_load_file], [AC_CHECK_LIB([gnutls], [gnutls_privkey_import_x509_raw], [have_gnutls_sni=yes])])
1621 have_gnutls=yes 1620 have_gnutls=yes
1622 ])], [], [AC_INCLUDES_DEFAULT]) 1621 ])], [], [AC_INCLUDES_DEFAULT])
1623 CPPFLAGS="$SAVE_CPPFLAGS" 1622 CPPFLAGS="$SAVE_CPPFLAGS"
@@ -1645,9 +1644,18 @@ AS_IF([test "x$have_gnutls" != "xyes" && test "x$with_gnutls" = "xyes"], [AC_MSG
1645 LIBS="$LIBS $GNUTLS_LIBS" 1644 LIBS="$LIBS $GNUTLS_LIBS"
1646 AC_MSG_CHECKING([[for gnutls_privkey_import_x509_raw()]]) 1645 AC_MSG_CHECKING([[for gnutls_privkey_import_x509_raw()]])
1647 AC_LINK_IFELSE([ 1646 AC_LINK_IFELSE([
1648 AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]], [[ 1647 AC_LANG_PROGRAM([[
1648#include <gnutls/gnutls.h>
1649#include <gnutls/abstract.h>
1650 ]], [[
1649 gnutls_datum_t data; 1651 gnutls_datum_t data;
1650 gnutls_privkey_t key; 1652 gnutls_privkey_t key = 0;
1653#ifndef gnutls_load_file
1654 (void)gnutls_load_file; /* Check for declaration. */
1655#endif
1656#ifndef gnutls_privkey_import_x509_raw
1657 (void)gnutls_privkey_import_x509_raw; /* Check for declaration. */
1658#endif
1651 gnutls_load_file("key.pem", &data); 1659 gnutls_load_file("key.pem", &data);
1652 gnutls_privkey_import_x509_raw(key, &data, GNUTLS_X509_FMT_PEM, NULL, 0); 1660 gnutls_privkey_import_x509_raw(key, &data, GNUTLS_X509_FMT_PEM, NULL, 0);
1653 gnutls_free(data.data); 1661 gnutls_free(data.data);