]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Fix compilation of the TCPIOHandler w/ old GnuTLS versions
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 9 Jun 2021 15:23:17 +0000 (17:23 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 26 Aug 2021 14:30:28 +0000 (16:30 +0200)
m4/pdns_with_gnutls.m4
pdns/tcpiohandler.cc

index 425dce472e7c3e0e2720920a7dbd796958ad664a..c693dff81fdb7f29044845de0e678ac6d1a0e044 100644 (file)
@@ -18,7 +18,7 @@ AC_DEFUN([PDNS_WITH_GNUTLS], [
         save_LIBS=$LIBS
         CFLAGS="$GNUTLS_CFLAGS $CFLAGS"
         LIBS="$GNUTLS_LIBS $LIBS"
-        AC_CHECK_FUNCS([gnutls_memset gnutls_session_set_verify_cert])
+        AC_CHECK_FUNCS([gnutls_memset gnutls_session_set_verify_cert gnutls_session_get_verify_cert_status])
         CFLAGS=$save_CFLAGS
         LIBS=$save_LIBS
 
index c4a07587b6b06a701c51f2820446245c08adf05f..ae8fbbbb5092e0d808f5365133a09be3e5d063d4 100644 (file)
@@ -937,6 +937,7 @@ public:
       else if (gnutls_error_is_fatal(ret) || ret == GNUTLS_E_WARNING_ALERT_RECEIVED) {
         if (d_client) {
           std::string error;
+#if HAVE_GNUTLS_SESSION_GET_VERIFY_CERT_STATUS
           if (ret == GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR) {
             gnutls_datum_t out;
             if (gnutls_certificate_verification_status_print(gnutls_session_get_verify_cert_status(d_conn.get()), gnutls_certificate_type_get(d_conn.get()), &out, 0) == 0) {
@@ -944,6 +945,7 @@ public:
               gnutls_free(out.data);
             }
           }
+#endif /* HAVE_GNUTLS_SESSION_GET_VERIFY_CERT_STATUS */
           throw std::runtime_error("Error accepting a new connection: " + std::string(gnutls_strerror(ret)) + error);
         }
         else {