trafficserver
trafficserver copied to clipboard
HTTP/2: actively close stream in the half-closed(local) state
Alternative approach of https://github.com/apache/trafficserver/pull/12257.
This fails with these h2spec test cases.
Hypertext Transfer Protocol Version 2 (HTTP/2)
5. Streams and Multiplexing
5.1. Stream States
using source address 127.0.0.1:57573
× 8: closed: Sends a DATA frame after sending RST_STREAM frame
-> The endpoint MUST treat this as a stream error of type STREAM_CLOSED.
Expected: GOAWAY Frame (Error Code: STREAM_CLOSED)
RST_STREAM Frame (Error Code: STREAM_CLOSED)
Connection closed
Actual: DATA Frame (length:615, flags:0x01, stream_id:1)
6. Frame Definitions
6.9. WINDOW_UPDATE
6.9.1. The Flow-Control Window
using source address 127.0.0.1:57623
× 3: Sends multiple WINDOW_UPDATE frames increasing the flow control window to above 2^31-1 on a stream
-> The endpoint MUST sends a RST_STREAM frame with a FLOW_CONTROL_ERROR code.
Expected: RST_STREAM Frame (Error Code: FLOW_CONTROL_ERROR)
Actual: RST_STREAM Frame (length:4, flags:0x00, stream_id:1)