Http2: check if stream was RSTed w/ bespoke function

We have a function to check if a stream was locally reset - we should
realistically only process HEADERS on RSTed streams for a limited amount
of time. I forgot we had this mechanism in place already, let's update
to use it for the recent fix.

Amends 9224fdd3f4cccce7a8123ab398f6ff8745d759ce

Pick-to: 6.9.1 6.8
Change-Id: I4826100704542f681341ceb84c4f85332f8ae03d
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
(cherry picked from commit f95805670161b38da60602ada6128f03f7f9ceb2)
Reviewed-by: Mate Barany <mate.barany@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This commit is contained in:
Mårten Nordheim 2025-05-09 11:31:48 +02:00
parent 391f9914c8
commit 013ec80ea8

View File

@ -1875,7 +1875,7 @@ void QHttp2Connection::handleContinuedHEADERS()
const auto streamIt = m_streams.constFind(streamID);
if (firstFrameType == FrameType::HEADERS) {
if (streamIt != m_streams.cend() && !streamIt.value()->wasReset()) {
if (streamIt != m_streams.cend() && !streamWasResetLocally(streamID)) {
QHttp2Stream *stream = streamIt.value();
if (stream->state() != QHttp2Stream::State::HalfClosedLocal
&& stream->state() != QHttp2Stream::State::ReservedRemote