You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "JosiahWI (via GitHub)" <gi...@apache.org> on 2024/07/29 11:39:34 UTC
[I] ATS does not ignore unrecognized frames [trafficserver]
JosiahWI opened a new issue, #11621:
URL: https://github.com/apache/trafficserver/issues/11621
RFC 9114 says,
> Frames of unknown types ([Section 9](https://www.rfc-editor.org/rfc/rfc9114.html#extensions)), including reserved frames ([Section 7.2.8](https://www.rfc-editor.org/rfc/rfc9114.html#frame-reserved)) MAY be sent on a request or [push stream](https://www.rfc-editor.org/rfc/rfc9114.html#push-streams) before, after, or interleaved with other frames described in this section.
\- [Section 4.1](https://www.rfc-editor.org/rfc/rfc9114.html#section-4.1-9)
And again it says,
> Implementations MUST ignore unknown or unsupported values in all extensible protocol elements. Implementations MUST discard data or abort reading on unidirectional streams that have unknown or unsupported types. This means that any of these extension points can be safely used by extensions without prior arrangement or negotiation. However, where a known frame type is required to be in a specific location, such as the [SETTINGS](https://www.rfc-editor.org/rfc/rfc9114.html#frame-settings) frame as the first frame of the [control stream](https://www.rfc-editor.org/rfc/rfc9114.html#control-streams) (see [Section 6.2.1](https://www.rfc-editor.org/rfc/rfc9114.html#control-streams)), an unknown frame type does not satisfy that requirement and SHOULD be treated as an error.
\- [Section 9](https://www.rfc-editor.org/rfc/rfc9114.html#section-9-4)
The current behavior of ATS is to send `H3_FRAME_UNEXPECTED` and abort reading upon receiving a reserved frame type. That should happen for an unknown stream type, but not for an unknown frame type.
--
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: issues-unsubscribe@trafficserver.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] ATS does not ignore unrecognized H3 frames [trafficserver]
Posted by "maskit (via GitHub)" <gi...@apache.org>.
maskit commented on issue #11621:
URL: https://github.com/apache/trafficserver/issues/11621#issuecomment-2256297909
The code in ProtocolEnforcer looks correct to me.
The RFC also says,
> Frame types that were used in HTTP/2 where there is no corresponding HTTP/3 frame have also been reserved ([Section 11.2.1](https://www.rfc-editor.org/rfc/rfc9114.html#iana-frames)). These frame types MUST NOT be sent, and their receipt MUST be treated as a [connection error](https://www.rfc-editor.org/rfc/rfc9114.html#errors) of type [H3_FRAME_UNEXPECTED](https://www.rfc-editor.org/rfc/rfc9114.html#H3_FRAME_UNEXPECTED).
--
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: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] ATS ignores too much after unknown H3 frame [trafficserver]
Posted by "JosiahWI (via GitHub)" <gi...@apache.org>.
JosiahWI commented on issue #11621:
URL: https://github.com/apache/trafficserver/issues/11621#issuecomment-2256790688
The test was malformed. The `0xbc` byte should be `0x21`. After this change, the test passes. There is no issue here.
--
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: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] ATS does not ignore unrecognized H3 frames [trafficserver]
Posted by "JosiahWI (via GitHub)" <gi...@apache.org>.
JosiahWI commented on issue #11621:
URL: https://github.com/apache/trafficserver/issues/11621#issuecomment-2256669264
Thanks for questioning this. I went back and retested with this input:
```cpp
uint8_t input[] = {// 1st frame (HEADERS)
0x01, 0x04, 0x11, 0x22, 0x33, 0x44,
// frame to ignore
0xbc, 0x02, 0xaa, 0xbb,
// 2nd frame (DATA)
0x00, 0x04, 0xaa, 0xbb, 0xcc, 0xdd,
// 3rd frame (incomplete)
0xff};
```
We do actually read all the data as we should, but we count 0 frames.
--
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: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] ATS ignores too much after unknown H3 frame [trafficserver]
Posted by "JosiahWI (via GitHub)" <gi...@apache.org>.
JosiahWI closed issue #11621: ATS ignores too much after unknown H3 frame
URL: https://github.com/apache/trafficserver/issues/11621
--
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: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] ATS does not ignore unrecognized H3 frames [trafficserver]
Posted by "JosiahWI (via GitHub)" <gi...@apache.org>.
JosiahWI commented on issue #11621:
URL: https://github.com/apache/trafficserver/issues/11621#issuecomment-2256485094
Yes, the behavior for the frame types described in Section 11.2.1 is correct. When I tested, that same behavior seemed to happen for other reserved types as well.
--
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: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org