Closed ekr closed 2 years ago
We ended up having to ignore user_cancelled alerts as if they were warning alerts (despite warning alerts being nominally removed) because JDK in TLS 1.3 sometimes sends them right before close_notify. I forget the details now, but I think it was some ad-hoc signaling of full-duplex vs. unidirectional close?
(I think NSS and OpenSSL also ignore them, though it looked like that was less in reaction to someone sending them and more a holdover from warning alert handling.)
Going on memory only, I believe that we did treat them as fatal for some time, but were forced to remove that for compatibility reasons similar to the ones that @davidben talks about.
@davidben So are you saying that JDK just sends them at some inappropriate point rather than in the handshake?
Following up, what if we were to just treat this as an alias for close_notify?
IIRC, they send user_cancelled followed by close_notify, as a non-standard signal to JDKs on the other side to do bidirectional close instead of unidirectional close? But I could be misremembering.
I think that means ignoring it is probably the right plan.
Discussed in 110: Preference is to ignore this.
John Mattsson writes:
I think Section 6.1 Closure Alerts is a bit unclear:
I think this is a remnant of when we transitioned alerts to error by default.