diff --git a/draft-ietf-quic-tls.md b/draft-ietf-quic-tls.md index e40de4b421..3d5ece12e5 100644 --- a/draft-ietf-quic-tls.md +++ b/draft-ietf-quic-tls.md @@ -328,8 +328,11 @@ encryption levels: - PADDING and PING frames MAY appear in packets of any encryption level. -- CRYPTO and CONNECTION_CLOSE frames MAY appear in packets of any encryption - level except 0-RTT. +- CRYPTO frames and CONNECTION_CLOSE frames signaling errors at the QUIC layer + (type 0x1c) MAY appear in packets of any encryption level except 0-RTT. + +- CONNECTION_CLOSE frames signaling application errors (type 0x1d) MUST only be + sent in packets at the 1-RTT encryption level. - ACK frames MAY appear in packets of any encryption level other than 0-RTT, but can only acknowledge packets which appeared in that packet number space. diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index eab7626fa1..ffc686d7dc 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -5503,6 +5503,12 @@ Reason Phrase: zero length if the sender chooses to not give details beyond the Error Code. This SHOULD be a UTF-8 encoded string {{!RFC3629}}. +The application-specific variant of CONNECTION_CLOSE (type 0x1d) can only be +sent using an 1-RTT packet ({{QUIC-TLS}}, Section 4). When an application +wishes to abandon a connection during the handshake, an endpoint can send a +CONNECTION_CLOSE frame (type 0x1c) with an error code of 0x15a ("user_canceled" +alert; see {{?TLS13}}) in an Initial or a Handshake packet. + ## Extension Frames