From: Viktor Szakats Date: Tue, 23 Dec 2025 11:24:30 +0000 (+0100) Subject: vquic: initialize new callback in nghttp3 1.14.0+ X-Git-Tag: rc-8_18_0-3~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17628b15ec317c01037cc086edff3b86da9760d5;p=thirdparty%2Fcurl.git vquic: initialize new callback in nghttp3 1.14.0+ Fixing (seen in curl-for-win production build): ``` lib/vquic/curl_ngtcp2.c:1257:1: error: missing field 'recv_settings2' initializer [-Werror,-Wmissing-field-initializers] 1257 | }; | ^ 1 error generated. ``` Ref: https://ci.appveyor.com/project/curlorg/curl-for-win/builds/53281785#L6752 Ref: https://github.com/curl/curl/actions/runs/20459295003/job/58788229134#step:3:5513 Also: - Mark previous callback deprecated. - Document ngtcp2, nghttp3 versions for callback entry feature guards. Refs: https://github.com/ngtcp2/nghttp3/releases/tag/v1.14.0 https://github.com/ngtcp2/nghttp3/pull/432 https://github.com/ngtcp2/nghttp3/commit/1616ab835061d7cdd2ef114bc3ddb917ce269611 Closes #20077 --- diff --git a/lib/vquic/curl_ngtcp2.c b/lib/vquic/curl_ngtcp2.c index 20b9240f09..7a0c214422 100644 --- a/lib/vquic/curl_ngtcp2.c +++ b/lib/vquic/curl_ngtcp2.c @@ -877,7 +877,7 @@ static ngtcp2_callbacks ng_callbacks = { cb_recv_rx_key, NULL, /* recv_tx_key */ NULL, /* early_data_rejected */ -#ifdef NGTCP2_CALLBACKS_V2 +#ifdef NGTCP2_CALLBACKS_V2 /* ngtcp2 v1.14.0+ */ NULL, /* begin_path_validation */ #endif }; @@ -1291,12 +1291,15 @@ static nghttp3_callbacks ngh3_callbacks = { NULL, /* end_stream */ cb_h3_reset_stream, NULL, /* shutdown */ - NULL, /* recv_settings */ -#ifdef NGHTTP3_CALLBACKS_V2 + NULL, /* recv_settings (deprecated) */ +#ifdef NGHTTP3_CALLBACKS_V2 /* nghttp3 v1.11.0+ */ NULL, /* recv_origin */ NULL, /* end_origin */ NULL, /* rand */ #endif +#ifdef NGHTTP3_CALLBACKS_V3 /* nghttp3 v1.14.0+ */ + NULL, /* recv_settings2 */ +#endif }; static CURLcode init_ngh3_conn(struct Curl_cfilter *cf, diff --git a/lib/vquic/curl_osslq.c b/lib/vquic/curl_osslq.c index cffe61a402..537484faf6 100644 --- a/lib/vquic/curl_osslq.c +++ b/lib/vquic/curl_osslq.c @@ -1074,12 +1074,15 @@ static nghttp3_callbacks ngh3_callbacks = { NULL, /* end_stream */ cb_h3_reset_stream, NULL, /* shutdown */ - NULL, /* recv_settings */ -#ifdef NGHTTP3_CALLBACKS_V2 + NULL, /* recv_settings (deprecated) */ +#ifdef NGHTTP3_CALLBACKS_V2 /* nghttp3 v1.11.0+ */ NULL, /* recv_origin */ NULL, /* end_origin */ NULL, /* rand */ #endif +#ifdef NGHTTP3_CALLBACKS_V3 /* nghttp3 v1.14.0+ */ + NULL, /* recv_settings2 */ +#endif }; static CURLcode cf_osslq_h3conn_init(struct cf_osslq_ctx *ctx, SSL *conn,