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

Discarding an invalid Initial is allowed #4359

Merged
merged 3 commits into from
Nov 19, 2020
Merged

Discarding an invalid Initial is allowed #4359

merged 3 commits into from
Nov 19, 2020

Conversation

martinthomson
Copy link
Member

But we managed to hide that in the security considerations.

Closes #4350.

But we managed to hide that in the security considerations.

Closes #4350.
@martinthomson martinthomson added editorial An issue that does not affect the design of the protocol; does not require consensus. -transport labels Nov 16, 2020
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.

LGTM. Regarding the MUST clause for the two bits, adding "unless stated otherwise" works for me too.

@janaiyengar
Copy link
Contributor

This PR is fine, but I agree with @huitema above. I think we should add the exception and a reference to this text in 17.2.

@martinthomson
Copy link
Member Author

How many other rules do we need to create exemptions for? What if the Initial contains a bad frame? What if the CRYPTO frame is too long?

@huitema
Copy link
Contributor

huitema commented Nov 17, 2020

If you don't want to have the discussion about exceptions, then write SHOULD instead of MUST.

Rather than enumerate all the ways in which processing rules might have
exceptions for Initial packets, just include a blanket override here.
@martinthomson
Copy link
Member Author

I don't want to go to SHOULD. Because for other packet types, MUST is what we want. And finding and creating exceptions is impossible. So I have added a "this permission overrides rules that mandate a connection error".

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.

I think what @martinthomson says makes sense. This is a "MUST unless" however we cannot have that stated at every point. Having a catch-all statement makes sense.

I tend to wonder if the catch-all statement should be in the Protected Packets section or in the Error Handling section, but the PR looks good regardless.

@martinthomson
Copy link
Member Author

That's a good suggestion. I moved it. Then it is more likely to be seen.

Copy link
Contributor

@janaiyengar janaiyengar left a comment

Choose a reason for hiding this comment

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

Thanks for the new text, @martinthomson -- this is good.

@janaiyengar janaiyengar merged commit ce1ab85 into master Nov 19, 2020
@janaiyengar janaiyengar deleted the drop-initial branch November 19, 2020 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Should connections be disconnected on malformed Initial packets?
6 participants