[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 user_<wbr>canceled<wbr>) contains a contradiction:</div><div><br></div><div>> This alert <span class="bcp14">MUST</span> be followed by a "close_<wbr>notify"<wbr>.</div><div>> 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 user_canceled must be followed by 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>> This alert SHOULD 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==--