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

Neqo server does not close the connection when receiving a packet without any frames. #1476

Closed
valenting opened this issue Oct 23, 2023 · 1 comment · Fixed by #1779
Closed

Comments

@valenting
Copy link
Collaborator

(In reply to Kian Kai from comment bug 1860211 #0)

Steps to reproduce:

Packet sequence to replicate the violation:

  1. Client sends an Initial packet carrying a CRYPTO frame with Client Hello.
  2. Client sends a Handshake packet without any frames.

Actual results:

Violation detail:
Neqo server does not close the connection immediately after receiving a packet containing no frames.

Expected results:

According to Section 12.4, RFC 9000, an endpoint MUST treat receipt of a packet containing no frames as a connection error of type PROTOCOL_VIOLATION. Violations of the protocol lead to an immediate close.

@valenting valenting added the server-side Issue relates more to server-side label Oct 23, 2023
@martinthomson martinthomson removed the server-side Issue relates more to server-side label Oct 23, 2023
@martinthomson
Copy link
Member

I'd be more concerned if our client did the same, but I expect that - because they share code - that it will. We should verify that this only applies to the server. If it affects the client, then we should fix this. It's not a super-high priority - servers have lots and lots and lots of ways of wasting browser resources than a few pointless packets - but it's still worth fixing.

github-merge-queue bot pushed a commit that referenced this issue Apr 2, 2024
* fix: Exit with `ProtocolViolation` if a packet has no frames

Fixes #1476

* Fix comment

* Cleanup

* Simplify

* Address code review

* Clippy
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

Successfully merging a pull request may close this issue.

2 participants