From e0093b4b732f6495b0fb1cd6747cbfedcdcf63ed Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 12 Jul 2023 18:26:28 +0900 Subject: [PATCH] ngtcp2: build with 0.17.0 and nghttp3 0.13.0 - ngtcp2_crypto_openssl was renamed to ngtcp2_crypto_quictls. Closes #11428 --- CMake/FindNGTCP2.cmake | 2 +- configure.ac | 44 ++++++++++++++++++++--------------------- lib/Makefile.mk | 2 +- lib/vquic/curl_ngtcp2.c | 6 +++--- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/CMake/FindNGTCP2.cmake b/CMake/FindNGTCP2.cmake index ff0d49e338..f4e3876083 100644 --- a/CMake/FindNGTCP2.cmake +++ b/CMake/FindNGTCP2.cmake @@ -31,7 +31,7 @@ Find the ngtcp2 library This module accepts optional COMPONENTS to control the crypto library (these are mutually exclusive):: - OpenSSL: Use libngtcp2_crypto_openssl + OpenSSL: Use libngtcp2_crypto_quictls GnuTLS: Use libngtcp2_crypto_gnutls Result Variables diff --git a/configure.ac b/configure.ac index 8fa3f37226..f93a3deaac 100644 --- a/configure.ac +++ b/configure.ac @@ -2947,42 +2947,42 @@ if test X"$want_tcp2" != Xno; then fi if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1"; then - dnl backup the pre-ngtcp2_crypto_openssl variables + dnl backup the pre-ngtcp2_crypto_quictls variables CLEANLDFLAGS="$LDFLAGS" CLEANCPPFLAGS="$CPPFLAGS" CLEANLIBS="$LIBS" - CURL_CHECK_PKGCONFIG(libngtcp2_crypto_openssl, $want_tcp2_path) + CURL_CHECK_PKGCONFIG(libngtcp2_crypto_quictls, $want_tcp2_path) if test "$PKGCONFIG" != "no" ; then - LIB_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) - $PKGCONFIG --libs-only-l libngtcp2_crypto_openssl` - AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_OPENSSL]) + LIB_NGTCP2_CRYPTO_QUICTLS=`CURL_EXPORT_PCDIR([$want_tcp2_path]) + $PKGCONFIG --libs-only-l libngtcp2_crypto_quictls` + AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_QUICTLS]) - CPP_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) dnl - $PKGCONFIG --cflags-only-I libngtcp2_crypto_openssl` - AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_OPENSSL]) + CPP_NGTCP2_CRYPTO_QUICTLS=`CURL_EXPORT_PCDIR([$want_tcp2_path]) dnl + $PKGCONFIG --cflags-only-I libngtcp2_crypto_quictls` + AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_QUICTLS]) - LD_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) - $PKGCONFIG --libs-only-L libngtcp2_crypto_openssl` - AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_OPENSSL]) + LD_NGTCP2_CRYPTO_QUICTLS=`CURL_EXPORT_PCDIR([$want_tcp2_path]) + $PKGCONFIG --libs-only-L libngtcp2_crypto_quictls` + AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_QUICTLS]) - LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_OPENSSL" - CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_OPENSSL" - LIBS="$LIB_NGTCP2_CRYPTO_OPENSSL $LIBS" + LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_QUICTLS" + CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_QUICTLS" + LIBS="$LIB_NGTCP2_CRYPTO_QUICTLS $LIBS" if test "x$cross_compiling" != "xyes"; then - DIR_NGTCP2_CRYPTO_OPENSSL=`echo $LD_NGTCP2_CRYPTO_OPENSSL | $SED -e 's/^-L//'` + DIR_NGTCP2_CRYPTO_QUICTLS=`echo $LD_NGTCP2_CRYPTO_QUICTLS | $SED -e 's/^-L//'` fi - AC_CHECK_LIB(ngtcp2_crypto_openssl, ngtcp2_crypto_recv_client_initial_cb, + AC_CHECK_LIB(ngtcp2_crypto_quictls, ngtcp2_crypto_recv_client_initial_cb, [ AC_CHECK_HEADERS(ngtcp2/ngtcp2_crypto.h, NGTCP2_ENABLED=1 - AC_DEFINE(USE_NGTCP2_CRYPTO_OPENSSL, 1, [if ngtcp2_crypto_openssl is in use]) - AC_SUBST(USE_NGTCP2_CRYPTO_OPENSSL, [1]) - CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGTCP2_CRYPTO_OPENSSL" + AC_DEFINE(USE_NGTCP2_CRYPTO_QUICTLS, 1, [if ngtcp2_crypto_quictls is in use]) + AC_SUBST(USE_NGTCP2_CRYPTO_QUICTLS, [1]) + CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGTCP2_CRYPTO_QUICTLS" export CURL_LIBRARY_PATH - AC_MSG_NOTICE([Added $DIR_NGTCP2_CRYPTO_OPENSSL to CURL_LIBRARY_PATH]) + AC_MSG_NOTICE([Added $DIR_NGTCP2_CRYPTO_QUICTLS to CURL_LIBRARY_PATH]) ) ], dnl not found, revert back to clean variables @@ -2992,11 +2992,11 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1"; then ) else - dnl no ngtcp2_crypto_openssl pkg-config found, deal with it + dnl no ngtcp2_crypto_quictls pkg-config found, deal with it if test X"$want_tcp2" != Xdefault; then dnl To avoid link errors, we do not allow --with-ngtcp2 without dnl a pkgconfig file - AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_openssl pkg-config file.]) + AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_quictls pkg-config file.]) fi fi fi diff --git a/lib/Makefile.mk b/lib/Makefile.mk index bee76116de..b298ac0707 100644 --- a/lib/Makefile.mk +++ b/lib/Makefile.mk @@ -239,7 +239,7 @@ ifeq ($(findstring -nghttp3,$(CFG))$(findstring -ngtcp2,$(CFG)),-nghttp3-ngtcp2) ifneq ($(wildcard $(OPENSSL_INCLUDE)/openssl/aead.h),) NGTCP2_LIBS := -lngtcp2_crypto_boringssl else # including libressl - NGTCP2_LIBS := -lngtcp2_crypto_openssl + NGTCP2_LIBS := -lngtcp2_crypto_quictls endif else ifneq ($(findstring -wolfssl,$(CFG)),) NGTCP2_LIBS := -lngtcp2_crypto_wolfssl diff --git a/lib/vquic/curl_ngtcp2.c b/lib/vquic/curl_ngtcp2.c index 0fb0daae54..5db9df57ac 100644 --- a/lib/vquic/curl_ngtcp2.c +++ b/lib/vquic/curl_ngtcp2.c @@ -33,7 +33,7 @@ #ifdef OPENSSL_IS_BORINGSSL #include #else -#include +#include #endif #include "vtls/openssl.h" #elif defined(USE_GNUTLS) @@ -407,8 +407,8 @@ static CURLcode quic_ssl_ctx(SSL_CTX **pssl_ctx, goto out; } #else - if(ngtcp2_crypto_openssl_configure_client_context(ssl_ctx) != 0) { - failf(data, "ngtcp2_crypto_openssl_configure_client_context failed"); + if(ngtcp2_crypto_quictls_configure_client_context(ssl_ctx) != 0) { + failf(data, "ngtcp2_crypto_quictls_configure_client_context failed"); goto out; } #endif -- 2.47.3