bneradt commented on code in PR #13186:
URL: https://github.com/apache/trafficserver/pull/13186#discussion_r3685052191
##########
src/proxy/http3/Http3App.cc:
##########
@@ -286,6 +303,10 @@ Http3App::_handle_uni_stream_on_read_ready(int /* event
*/, VIO *vio)
default:
break;
}
+
+ if (error && error->cls != Http3ErrorClass::UNDEFINED) {
+ this->_handle_error(*error);
+ }
Review Comment:
Fixed. Unknown unidirectional HTTP/3 stream data is now discarded as it
arrives, following RFC 9114’s discard option, so unread data cannot accumulate
on repeated READ_READY events.
##########
src/proxy/http3/Http3ProtocolEnforcer.cc:
##########
@@ -30,7 +30,7 @@ Http3ProtocolEnforcer::interests()
return {Http3FrameType::DATA, Http3FrameType::HEADERS,
Http3FrameType::X_RESERVED_1, Http3FrameType::CANCEL_PUSH,
Http3FrameType::SETTINGS, Http3FrameType::PUSH_PROMISE,
Http3FrameType::X_RESERVED_2, Http3FrameType::GOAWAY,
Http3FrameType::X_RESERVED_3, Http3FrameType::X_RESERVED_4,
Http3FrameType::MAX_PUSH_ID, Http3FrameType::X_MAX_DEFINED,
- Http3FrameType::UNKNOWN};
+ Http3FrameType::RESERVED, Http3FrameType::UNKNOWN};
Review Comment:
Fixed. Aliased frame interests are now de-duplicated during handler
registration, and the redundant X_MAX_DEFINED entries were removed from the
protocol enforcer and frame counter. A regression test verifies that a
MAX_PUSH_ID frame is dispatched exactly once.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]