diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2017-11-24 12:55:24 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2017-11-24 13:07:42 +0300 |
commit | 0e477b3363043c0b5b2791b20c771985b7f9ff23 (patch) | |
tree | 9fd33b8480d3367433e494eeddcb9c78d3b3dcb3 | |
parent | 9459be1e04db675324cc1098885357bba2927555 (diff) | |
download | libmicrohttpd-0e477b3363043c0b5b2791b20c771985b7f9ff23.tar.gz libmicrohttpd-0e477b3363043c0b5b2791b20c771985b7f9ff23.zip |
configure: properly and deeply check for GnuTLS SNI, avoid double testing
-rw-r--r-- | configure.ac | 14 |
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); |