Skip to content
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

[Suspected Bug]It seems lsquic does not comply with the requirements of RFC 9000 when processing the "MAX_STREAM_DATA frame" #518

Closed
Lingtaonju opened this issue Nov 20, 2024 · 1 comment

Comments

@Lingtaonju
Copy link

Dear all:

The story begins here:

When lsquic serves as the server and handles chromium's(client) ietf quic v1 requests, we encountered a problem.
The error log from client-side is as follows:

I chromium: [918:1415:1119/151718.781863:INFO:quic_connection.cc(2153)] Client: Received Transport ConnectionClose for connection: 7330ae0c3284cfd2, with error: QUIC_IETF_GQUIC_ERROR_MISSING (received MAX_STREAM_DATA frame on never-opened stream 0), transport error code: STREAM_STATE_ERROR, error frame type: 0

It seems lsquic close the connection, as stream 0 was not opened, but the MAX_STREAM_DATA frame arrived first.
Following is the code:

image

When we captured the packet, we saw that the MAX_STREAM_DATA frame encoded before the request for stream 0
image

It seems normal.

My question:

But, when I read the RFC 9000, it writes:

image

image

So, I think when checking whether the stream is already opened at the point receiving the MAX_STREAM_DATA frame, the lsquic need to check if the stream belong to its side first?
We can discuss more about this.
Wait for your reply.


Yours sincerely
Michel Kong

@Lingtaonju
Copy link
Author

I will submit a fix later.

@Lingtaonju Lingtaonju changed the title It seems lsquic does not comply with the requirements of RFC 9000 when processing the "MAX_STREAM_DATA frame" [Suspected Bug]It seems lsquic does not comply with the requirements of RFC 9000 when processing the "MAX_STREAM_DATA frame" Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant