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

Clarify and split the "malformed" definition #3352

Merged
merged 9 commits into from
Feb 11, 2020
Merged

Conversation

MikeBishop
Copy link
Contributor

@MikeBishop MikeBishop commented Jan 16, 2020

Lots of text, but it's basically all an import from RFC 7540 (which helps #3264, but doesn't totally resolve it). This makes the definition of malformed requests entirely local and more precise than previously.

The odd item on the malformed list was "extraneous frames." We're already fairly permissive about what other frames can show up interleaved with the actual request, so this requirement moved to that section -- receipt of DATA and HEADERS frames outside of the prescribed order is now a connection error.

Fixes #3345.

@MikeBishop MikeBishop force-pushed the http/what_is_malformed branch 2 times, most recently from eb9f21a to f5d137d Compare January 16, 2020 20:09
@MikeBishop
Copy link
Contributor Author

The Message Exchange section required that a client send precisely one request per stream, and that a server send precisely one final response (preceded by zero or more non-final responses), but how to deal with violations wasn't defined. This seems to fall in the same spirit of malformed messages, so I added that to the definition of "malformed."

Copy link
Member

@kazuho kazuho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this. I read through all the changes, but could not find a single issue! 💯 👍

Copy link
Member

@LPardue LPardue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good addition. I did however find some small room for improvement :99:

draft-ietf-quic-http.md Outdated Show resolved Hide resolved
draft-ietf-quic-http.md Outdated Show resolved Hide resolved
draft-ietf-quic-http.md Outdated Show resolved Hide resolved
Copy link
Contributor Author

@MikeBishop MikeBishop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reading with fresh eyes, I see things to fix tomorrow.

draft-ietf-quic-http.md Outdated Show resolved Hide resolved
draft-ietf-quic-http.md Show resolved Hide resolved
draft-ietf-quic-http.md Outdated Show resolved Hide resolved
Copy link
Member

@martinthomson martinthomson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is lots of words, but I can't really fault them too much.

draft-ietf-quic-http.md Outdated Show resolved Hide resolved
draft-ietf-quic-http.md Outdated Show resolved Hide resolved
draft-ietf-quic-http.md Outdated Show resolved Hide resolved
draft-ietf-quic-http.md Outdated Show resolved Hide resolved
@martinthomson martinthomson added the design An issue that affects the design of the protocol; resolution requires consensus. label Jan 21, 2020
Copy link
Contributor

@ianswett ianswett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LG, minus Martin's suggestion

@MikeBishop MikeBishop force-pushed the http/what_is_malformed branch from c1bff0a to 5d0f2be Compare February 11, 2020 20:32
@MikeBishop MikeBishop merged commit 367f668 into master Feb 11, 2020
@MikeBishop MikeBishop deleted the http/what_is_malformed branch February 11, 2020 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-http design An issue that affects the design of the protocol; resolution requires consensus.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Clarify the definition of things that make messages malformed
5 participants