[TLS] Question about UserCanceled in RFC-9846

Julien Castiaux <[email protected]> Sun, 26 Jul 2026 03:48:42 +0200 (CEST)
Newsgroups gmane.ietf.tls
Message-ID <[email protected]>
--===============2468206955807295836==
Content-Type: multipart/alternative;
 boundary="----=_Part_66428_924476677.1785030522605"

------=_Part_66428_924476677.1785030522605
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hello,

I'm doing a state machine for TLS 1.3 and I am having troubles understandin=
g how to process UserCanceled messages.

It seems to me that RFC-9846 section-6.1-2.4.1 (TLS1.3bis Close Alerts=C2=
=A0user_canceled) contains a contradiction:

> This alertMUST be followed by a "close_notify".
>=C2=A0Receiving implementations SHOULDcontinue to read data from the peer =
until a "close_notify" is received

If=C2=A0user_canceled must be followed by=C2=A0a close_notify message, how =
comes that it may be followed by application data?

If application data are an exception, shouldn't the text say:

> This alert SHOULD=C2=A0be followed by a "close_notify". Should senders de=
lay sending "close_notify", they MUST NOT send other messages than "applica=
tion_data".

but in this case an automatic KeyUpdate might unexpectedly close the connec=
tion, except if we gotta process them as well...

Actually, I don't understand the cases where an application would keep send=
ing application data after a user-canceled.

Regards,
Julien
------=_Part_66428_924476677.1785030522605
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<div style='font-family:arial; font-size:13px;'><div>Hello,</div><div><br></div><div>I'm doing a state machine for TLS 1.3 and I am having troubles understanding how to process UserCanceled messages.</div><div><br></div><div>It seems to me that RFC-9846 section-6.1-2.4.1 (TLS1.3bis Close Alerts&nbsp;user_<wbr>canceled<wbr>) contains a contradiction:</div><div><br></div><div>&gt; This alert
<span class="bcp14">MUST</span> be followed by a "close_<wbr>notify"<wbr>.</div><div>&gt;&nbsp;Receiving implementations <span class="bcp14">SHOULD</span>
continue to read data from the peer until a "close_<wbr>notify" is received</div><div><br></div><div>If&nbsp;user_canceled must be followed by&nbsp;a close_notify message, how comes that it may be followed by application data?</div><div><br></div><div>If application data are an exception, shouldn't the text say:</div><div><br></div><div>&gt; This alert SHOULD&nbsp;be followed by a "close_<wbr>notify"<wbr>. Should senders delay sending "close_notify", they MUST NOT send other messages than "application_data".</div><div><br></div><div>but in this case an automatic KeyUpdate might unexpectedly close the connection, except if we gotta process them as well...</div><div><br></div><div>Actually, I don't understand the cases where an application would keep sending application data after a user-can
 celed.</div><div><br></div><div>Regards,</div><div>Julien</div></div>
------=_Part_66428_924476677.1785030522605--


--===============2468206955807295836==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVExTIG1haWxp
bmcgbGlzdCAtLSB0bHNAaWV0Zi5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byB0
bHMtbGVhdmVAaWV0Zi5vcmcK

--===============2468206955807295836==--