From 242a8b91c2fb8b084c544eadb1890bb24f542da8 Mon Sep 17 00:00:00 2001 From: Renegade334 Date: Mon, 31 Aug 2026 18:26:31 +0200 Subject: [PATCH 1/2] quic: stop guarding ngtcp2_recv_stop_sending callback field Signed-off-by: Renegade334 --- src/quic/session.cc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/quic/session.cc b/src/quic/session.cc index 2266f74a1277..bd95d2cd9518 100644 --- a/src/quic/session.cc +++ b/src/quic/session.cc @@ -1698,12 +1698,10 @@ struct Session::Impl final : public MemoryRetainer { on_get_new_cid, on_cid_status, ngtcp2_crypto_get_path_challenge_data2_cb, -#ifdef NGTCP2_CALLBACKS_V4 on_receive_stream_stop_sending, #ifdef NGTCP2_CALLBACKS_V5 nullptr, -#endif // NGTCP2_CALLBACKS_V5 -#endif // NGTCP2_CALLBACKS_V4 +#endif }; static constexpr ngtcp2_callbacks SERVER = { @@ -1752,12 +1750,10 @@ struct Session::Impl final : public MemoryRetainer { on_get_new_cid, on_cid_status, ngtcp2_crypto_get_path_challenge_data2_cb, -#ifdef NGTCP2_CALLBACKS_V4 on_receive_stream_stop_sending, #ifdef NGTCP2_CALLBACKS_V5 nullptr, -#endif // NGTCP2_CALLBACKS_V5 -#endif // NGTCP2_CALLBACKS_V4 +#endif }; }; From 69c69b00db937bdc9f0dcd4502bd38b97f45560b Mon Sep 17 00:00:00 2001 From: Renegade334 Date: Mon, 31 Aug 2026 18:16:41 +0200 Subject: [PATCH 2/2] fixup! quic: stop guarding ngtcp2_recv_stop_sending callback field --- src/quic/http3.cc | 4 ++-- src/quic/session.cc | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/quic/http3.cc b/src/quic/http3.cc index 083b42c3699c..63a12fe188d5 100644 --- a/src/quic/http3.cc +++ b/src/quic/http3.cc @@ -1445,7 +1445,7 @@ class Http3ApplicationImpl final : public Session::Application { static constexpr nghttp3_callbacks kCallbacks = { on_acked_stream_data, - nullptr, // nghttp3_stream_close (deprecated) + nullptr, // stream_close (deprecated, use v2 below) on_receive_data, on_deferred_consume, on_begin_headers, @@ -1458,7 +1458,7 @@ class Http3ApplicationImpl final : public Session::Application { on_end_stream, on_do_reset_stream, on_shutdown, - nullptr, // recv_settings (deprecated) + nullptr, // recv_settings (deprecated, use v2 below) on_receive_origin, on_end_origin, on_rand, diff --git a/src/quic/session.cc b/src/quic/session.cc index bd95d2cd9518..f0ada963d69b 100644 --- a/src/quic/session.cc +++ b/src/quic/session.cc @@ -1654,7 +1654,7 @@ struct Session::Impl final : public MemoryRetainer { static constexpr ngtcp2_callbacks CLIENT = { ngtcp2_crypto_client_initial_cb, - nullptr, // stream_stop_sending + nullptr, // recv_client_initial ngtcp2_crypto_recv_crypto_data_cb, on_handshake_completed, on_receive_version_negotiation, @@ -1688,7 +1688,7 @@ struct Session::Impl final : public MemoryRetainer { on_acknowledge_datagram, on_lost_datagram, nullptr, // get_path_challenge_data (deprecated, use v2 below) - nullptr, // stream_stop_sending + nullptr, // stream_stop_sending (deprecated, use v2 below) ngtcp2_crypto_version_negotiation_cb, on_receive_rx_key, on_receive_tx_key, @@ -1700,16 +1700,16 @@ struct Session::Impl final : public MemoryRetainer { ngtcp2_crypto_get_path_challenge_data2_cb, on_receive_stream_stop_sending, #ifdef NGTCP2_CALLBACKS_V5 - nullptr, + nullptr, // stream_close2 #endif }; static constexpr ngtcp2_callbacks SERVER = { - nullptr, // stream_stop_sending + nullptr, // client_initial ngtcp2_crypto_recv_client_initial_cb, ngtcp2_crypto_recv_crypto_data_cb, on_handshake_completed, - nullptr, + nullptr, // recv_version_negotiation ngtcp2_crypto_encrypt_cb, ngtcp2_crypto_decrypt_cb, ngtcp2_crypto_hp_mask_cb, @@ -1718,7 +1718,7 @@ struct Session::Impl final : public MemoryRetainer { on_stream_open, on_stream_close, nullptr, // recv_stateless_reset (deprecated, use v2 below) - nullptr, + nullptr, // recv_retry on_extend_max_streams_bidi, on_extend_max_streams_uni, on_rand, @@ -1726,23 +1726,23 @@ struct Session::Impl final : public MemoryRetainer { on_remove_connection_id, ngtcp2_crypto_update_key_cb, on_path_validation, - nullptr, + nullptr, // select_preferred_addr on_stream_reset, on_extend_max_remote_streams_bidi, on_extend_max_remote_streams_uni, on_extend_max_stream_data, nullptr, // dcid_status (deprecated, use v2 below) - nullptr, - nullptr, + nullptr, // handshake_confirmed + nullptr, // recv_new_token ngtcp2_crypto_delete_crypto_aead_ctx_cb, ngtcp2_crypto_delete_crypto_cipher_ctx_cb, on_receive_datagram, on_acknowledge_datagram, on_lost_datagram, nullptr, // get_path_challenge_data (deprecated, use v2 below) - nullptr, // stream_stop_sending + nullptr, // stream_stop_sending (deprecated, use v2 below) ngtcp2_crypto_version_negotiation_cb, - nullptr, + nullptr, // recv_rx_key on_receive_tx_key, on_early_data_rejected, on_begin_path_validation, @@ -1752,7 +1752,7 @@ struct Session::Impl final : public MemoryRetainer { ngtcp2_crypto_get_path_challenge_data2_cb, on_receive_stream_stop_sending, #ifdef NGTCP2_CALLBACKS_V5 - nullptr, + nullptr, // stream_close2 #endif }; };