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
Full (mostly) editorial pass #1665
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -139,8 +139,8 @@ connection-level flow control, connection migration, and data reliability. | |
|
||
An accompanying document describes QUIC's loss detection and congestion control | ||
{{QUIC-RECOVERY}}. As these are sender-side only mechanisms they can be changed | ||
without negotiating a new QUIC version. This document specifies version | ||
0x00000001 of QUIC which uses TLS1.3 for key negotiation as described in | ||
without negotiating a new QUIC version. This document specifies version | ||
0x00000001 of QUIC which uses TLS1.3 for key negotiation as described in | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Dropped a space ("TLS 1.3"). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixed |
||
{{QUIC-TLS}}. Key negotiation and encryption is described in a separate | ||
docuement to make changes to only this part easier in future versions. | ||
|
||
|
@@ -192,11 +192,11 @@ QUIC packet: | |
|
||
: QUIC packets containing application payload data that are encrypted with | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Technically 0-RTT packets contain application data and some CRYPTO data, so I'd be inclined to just say "QUIC packets encrypted with a key derived from a previous QUIC connection to the same endpoint." There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done |
||
a key derived from previous QUIC connection to the same endpoint. | ||
|
||
1-RTT: | ||
|
||
: QUIC packets that are encrypted with keys derived from the QUIC | ||
handshake. | ||
handshake. | ||
|
||
|
||
## Notational Conventions | ||
|
@@ -868,7 +868,7 @@ Source Connection ID field of the previously received Initial packet from that | |
endpoint; the Source Connection ID includes the connection ID that the | ||
sender of the packet wishes to use (see {{connection-id-encoding}}). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The added text makes this less readable. I'd revert this paragraph. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Again, problem here is that the mechanism is not well described at this point of the doc. |
||
|
||
The first Handshake packet sent by a server contains a packet number of 0. | ||
The first Handshake packet sent by a server contains a packet number of 0. | ||
Handshake packets are their own packet number space. See section | ||
{{packet-numbers}} on packet number spaces. Packet numbers are incremented | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "See X on Y" feels awkward to me. Also, this will produce "section Section a.b.c" when compiled. I'd make this a parenthetical and either shorten this all the way:
...or expand it:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done |
||
normally for other Handshake packets. | ||
|
@@ -2018,7 +2018,7 @@ The client SHOULD allow for additional Retry packets being sent in | |
response to Initial packets sent containing a token. There are several | ||
situations in which the server might not be able to use the previously | ||
generated token to validate the client's address and must send a new | ||
Retry. | ||
Retry. | ||
|
||
A reasonable limit to the number of tries the client allows for, before giving | ||
up, is 3. That is, the client MUST echo the address validation token from a | ||
|
@@ -2812,7 +2812,7 @@ encoding. | |
The PADDING frame (type=0x00) has no semantic value. PADDING frames can be used | ||
to increase the size of a packet. Padding can be used to increase an initial | ||
client packet to the minimum required size, or to provide protection against | ||
traffic analysis for protected packets. PADDING frames need to be acknowleged. | ||
traffic analysis for protected packets. PADDING frames need to be acknowleged. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Frames are not acknowledged. Packets are. I don't think this text is needed either way. All packets are acknowledged. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In addition to what @nibanks said, the presence of PADDING frames does not cause a packet to elicit an acknowledgement. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, you are right this wording is wrong in any case. However, I now realized that the doc is actually inconsitent about PADDING frames. In section 8.4.2 it say "PADDING frames generate acknowledgements". That might be a separate PR. Removed that sentence for now. |
||
|
||
A PADDING frame has no content. That is, a PADDING frame consists of the single | ||
octet that identifies the frame as a PADDING frame. | ||
|
@@ -4089,7 +4089,7 @@ data to a peer. | |
+-------+ | ||
| Ready | Send RST_STREAM | ||
| |-----------------------. | ||
+-------+ | | ||
+-------+ | | ||
| | | ||
| Send STREAM / | | ||
| STREAM_BLOCKED | | ||
|
@@ -4177,7 +4177,7 @@ application protocol some of which cannot be observed by the sender. | |
| Create Bidirectional Stream (Sending) | ||
| Recv MAX_STREAM_DATA | ||
| Create Higher-Numbered Stream | ||
v | ||
v | ||
+-------+ Send STOP_SENDING | ||
.-| |-------------------------------. | ||
Send | | Recv | | | ||
|
@@ -4190,8 +4190,8 @@ Send | | Recv | | | |
| Size | | | Wait | | ||
| Known + Recv RST_STREAM | | STOP | | ||
+-------+---------------------->| +-------+ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is this There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Presumably the state where incoming data is being discarded, but the solicited RST_STREAM hasn't been received yet. We originally said that STOP_SENDING didn't change the state, just hinted to the other side that it should do so. I don't object to making this a defined state, but if so, then the description needs to be added below as well. Let's make this a separate PR. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i initially though about transition to "Data Recvd" on reception of STOP_SENDING but that would not capture that you are actually waiting for a RST_STREAM. The text is mostly there it only needs to name the new state if people agree. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That sort of change has to be a separate PR. |
||
| | | | ||
| Recv All Data | | Recv | ||
| | | | ||
| Recv All Data | | Recv | ||
v v | RST_STREAM | ||
+-------+ +------- | | ||
| Data | Recv RST_STREAM | Reset |<--' | ||
|
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.
I don't think the sentence "As these are sender-side..." is adding anything. Is there something you think is missing here?
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.
I think the point of that sentence is that the endpoints don't both need to be following that RFC for it to be this version of QUIC. It's a legitimate comment, though I might frame it differently.
"Each implementation of QUIC will unilaterally select a loss detection and congestion control strategy. A recommended approach is described in {{QUIC-RECOVERY}}."
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.
Yes, the point was also to provide a reason why this is in a different doc. I used Mike's wording.