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
1616ab8350

Closes #20077
This commit is contained in:
Viktor Szakats 2025-12-23 12:24:30 +01:00
parent a535be4ea0
commit 17628b15ec
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
2 changed files with 11 additions and 5 deletions

View file

@ -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,

View file

@ -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,