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

Don't haphazardly suggest retrying over TCP #290

Closed
martinthomson opened this issue Feb 10, 2017 · 4 comments
Closed

Don't haphazardly suggest retrying over TCP #290

martinthomson opened this issue Feb 10, 2017 · 4 comments
Labels
-transport editorial An issue that does not affect the design of the protocol; does not require consensus.

Comments

@martinthomson
Copy link
Member

The application SHOULD attempt to use TLS over TCP instead.

(This is in the context of finding that the MTU is too small.)

The text includes a very specific recommendation to use TLS over TCP for one particular case. This is unwise for two reasons:

  1. we don't know if all protocols that build on QUIC will have a TCP over TLS option available to them; DNS over QUIC might be an example of where TLS over TCP is an inadvisable fallback option
  2. we should rely on a generic error handling section that includes generic advice about things like falling back to a backup protocol

Marked as editorial, I hope that's not controversial.

@martinthomson martinthomson added editorial An issue that does not affect the design of the protocol; does not require consensus. -transport labels Feb 10, 2017
@martinthomson martinthomson changed the title Don't randomly suggest retrying over TCP Don't haphazardly suggest retrying over TCP Feb 10, 2017
@RyanTheOptimist
Copy link
Contributor

Good point!

@hardie
Copy link

hardie commented Feb 15, 2017

I understand why we don't want to recommend a specific fallback, but there's an implication here we may want to keep. If you want to use QUIC with a fallback, that fallback should have roughly equivalent security properties or blocking QUIC is a downgrade attack. So the DNS example might be falling back to DNS over DTLS, but it would not be falling back to plaintext UDP. That may be better expressed in a document about which protocols could theoretically adopt QUIC than here, but I don't want to lose it entirely.

Note that I'm assuming here silent fallback, where the user is never told which protocols are in use under the hood. I'm sure there are other choices for when the user is looped in, but I don't think those are QUIC's business.

@martinthomson
Copy link
Member Author

Good points Ted. I wonder whether DNS over QUIC would be done opportunistically or not. That changes the calculations too. No one currently has any real expectation that DNS is confidential (/me makes a sad face).

@mirjak
Copy link
Contributor

mirjak commented Feb 16, 2017

I think this is input for the applicability statement. It's partly in section 2.1 of draft-kuehlewind-quic-appman but only talking about fallback to TLS/TCP. We didn't consider the DTLS/UDP case; should add that.

martinthomson added a commit that referenced this issue Apr 27, 2017
I didn't recommend a specific error code for this.  One of the generic ones will do.

Closes #290
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

No branches or pull requests

4 participants