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

Packets can't be zero-length #4391

Merged
merged 2 commits into from Nov 18, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
14 changes: 8 additions & 6 deletions draft-ietf-quic-transport.md
Expand Up @@ -3447,8 +3447,10 @@ Packet Payload {
{: #packet-frames title="QUIC Payload"}

The payload of a packet that contains frames MUST contain at least one frame,
and MAY contain multiple frames and multiple frame types. Frames always fit
within a single QUIC packet and cannot span multiple packets.
and MAY contain multiple frames and multiple frame types. An endpoint MUST
treat receipt of a packet containing no frames as a connection error of type
PROTOCOL_VIOLATION. Frames always fit within a single QUIC packet and cannot
span multiple packets.

Each frame begins with a Frame Type, indicating its type, followed by
additional type-dependent fields:
Expand Down Expand Up @@ -4667,7 +4669,7 @@ Initial Packet {
Token (..),
Length (i),
Packet Number (8..32),
Packet Payload (..),
Packet Payload (8..),
}
~~~
{: #initial-format title="Initial Packet"}
Expand Down Expand Up @@ -4766,7 +4768,7 @@ limitations.
Source Connection ID (0..160),
Length (i),
Packet Number (8..32),
Packet Payload (..),
Packet Payload (8..),
}
~~~
{: #0rtt-format title="0-RTT Packet"}
Expand Down Expand Up @@ -4816,7 +4818,7 @@ Handshake Packet {
Source Connection ID (0..160),
Length (i),
Packet Number (8..32),
Packet Payload (..),
Packet Payload (8..),
}
~~~
{: #handshake-format title="Handshake Protected Packet"}
Expand Down Expand Up @@ -4976,7 +4978,7 @@ Short Header Packet {
Packet Number Length (2),
Destination Connection ID (0..160),
Packet Number (8..32),
Packet Payload (..),
Packet Payload (8..),
}
~~~~~
{: #fig-short-header title="Short Header Packet Format"}
Expand Down