-
Notifications
You must be signed in to change notification settings - Fork 848
Fixed h2spec 5.1-11 test when sending a data frame to the server on a closed stream #3857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
on a closed stream.
|
Before the fix: After the fix: |
|
I haven't tested with the change yet, but it may break other cases. If I remember correctly, the block is not only for stream count error. |
|
@zizhong Are you working on the issue? |
|
Another option is to only send stream errors to id that are over our last stream id. We have a pretty good idea that stream ids less than or equal to the last stream id that we can't find in the stream list it is closed. |
|
I went back to read the RFC again. After rereading section 6.1 (https://tools.ietf.org/html/rfc7540#section-6.1), I believe we are doing the correct behavior and h2spec is incorrect:
|
|
I think the test is for closed state on section 5.1 (https://tools.ietf.org/html/rfc7540#section-5.1). We are treating the both cases above as a stream error, which is incorrect according to this paragraph. The h2spec test case is for the latter case and #1753 tried to fix it, but the change was treating the both case as a connection error, which breaks the former case. |
|
@maskit The server isn't receiving a frame with END_STREAM, it is sending a frame with END_STREAM. I still think that h2spec is wrong. |
|
This sounds like potentially a 7.1.x back port too ? |
|
@zwoop I think the ATS behavior is already correct and h2spec is incorrect. |
|
@bryancall h2spec is sending a HEADERS frame with END_STREAM flag.
|
|
Thanks Bryan for filing summerwind/h2spec#88. |
on a closed stream.