-
Notifications
You must be signed in to change notification settings - Fork 205
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 not arming PTO for ApplicationData before completion #3486
Conversation
Clarifies exactly what the implications of not arming PTO for ApplicationData prior to handshake complete. This came from a discussion with a coworker who read the transport and recovery drafts, but not TLS.
draft-ietf-quic-recovery.md
Outdated
ApplicationData prioritizes completing the handshake and prevents the server | ||
from sending a 1-RTT packet on a PTO before before it has the keys to process | ||
a 1-RTT packet. | ||
ApplicationData prioritizes completing the handshake and prevents the client |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to clarify a bit more and clean up the run-on sentence.
ApplicationData prioritizes completing the handshake, prevents the client
from sending a 0-RTT packet on a PTO before it knows the server has accepted
0-RTT, and prevents the server from sending a 1-RTT packet on a PTO before
before it has the keys to process a 1-RTT acknowledgment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accepted
draft-ietf-quic-recovery.md
Outdated
ApplicationData prioritizes completing the handshake, prevents the client | ||
from sending a 0-RTT packet on a PTO before it knows the server has accepted | ||
0-RTT, and prevents the server from sending a 1-RTT packet on a PTO before | ||
before it has the keys to process a 1-RTT acknowledgment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
redundant before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed, thanks!
Thanks! I think this is much clearer from implementation perspective. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some editorializing
draft-ietf-quic-recovery.md
Outdated
ApplicationData prioritizes completing the handshake, prevents the client | ||
from sending a 0-RTT packet on a PTO before it knows the server has accepted | ||
0-RTT, and prevents the server from sending a 1-RTT packet on a PTO before | ||
it has the keys to process a 1-RTT acknowledgment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ApplicationData prioritizes completing the handshake, prevents the client | |
from sending a 0-RTT packet on a PTO before it knows the server has accepted | |
0-RTT, and prevents the server from sending a 1-RTT packet on a PTO before | |
it has the keys to process a 1-RTT acknowledgment. | |
ApplicationData prioritizes completing the handshake, prevents a client from | |
retransmitting a 0-RTT packet on a PTO expiration before confirming that the | |
server is able to decrypt 0-RTT packets, and prevents a server from sending | |
a 1-RTT packet on a PTO expiration before it has the keys to process an | |
acknowledgement received in a 1-RTT packet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is a very long sentence.
Co-Authored-By: Martin Thomson <mt@lowentropy.net>
ApplicationData prevents a client from retransmitting a 0-RTT packet on a PTO | ||
expiration before confirming that the server is able to decrypt 0-RTT packets, | ||
and prevents a server from sending a 1-RTT packet on a PTO expiration before it | ||
has the keys to process an acknowledgement. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not arming the PTO for
ApplicationData prevents a client from retransmitting a 0-RTT packet on a PTO | |
expiration before confirming that the server is able to decrypt 0-RTT packets, | |
and prevents a server from sending a 1-RTT packet on a PTO expiration before it | |
has the keys to process an acknowledgement. | |
ApplicationData prevents a client from sending a packet on PTO unless the server | |
is able to acknowledge the packet. |
ApplicationData prevents a client from retransmitting a 0-RTT packet on a PTO | ||
expiration before confirming that the server is able to decrypt 0-RTT packets, | ||
and prevents a server from sending a 1-RTT packet on a PTO expiration before it | ||
has the keys to process an acknowledgement. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ApplicationData prevents a client from retransmitting a 0-RTT packet on a PTO | |
expiration before confirming that the server is able to decrypt 0-RTT packets, | |
and prevents a server from sending a 1-RTT packet on a PTO expiration before it | |
has the keys to process an acknowledgement. | |
ApplicationData prevents a client from sending a packet on PTO where there is uncertainty about the ability of the server to acknowledge the packet. This can happen before a client confirms that the server is able to decrypt 0-RTT packets, and also at a server before it has the keys to process an acknowledgement. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't only about the server acknowledging packets, so I think this isn't quite correct.
Clarifies exactly what the implications of not arming PTO for ApplicationData prior to handshake complete.
This came from a discussion with a coworker who read the transport and recovery drafts, but not TLS.