On Wed, Mar 17, 2021 at 08:15:53AM +0100, Ben Smyth wrote:

> > Do I understand that right?  And if so, what is the point of the
> > language in the RFC that appears to permit a half-close?
> 
> Specifications don't define systems, they guide design. The specification
> does not "requir[e] an end to hold off sending a Close alert until after if
> has received all data that the far end is expected to send," the
> specification merely allows such behaviour. Perhaps one scenario where that
> behaviour is useful: An endpoint is about to be comprimised and raises an
> alert to avoid secrets being leaked.

FWIW, I largely part ways with Ben's assessment, and particularly the
strawman scenario above.  TLS 1.3 does in fact make it possible to
support half-close in mutually cooperative applications, and there
is no expectation that a close-notify on one side must immediately
be accompanied by a similar action on the other, the other side
can continue to send applicatoin data traffic.

However, what I don't read into 8446 is an obligation or expectation
that applications will routinely support half close.  Some probably
should (e.g. an HTTPS server should probably continue with its response
even after a half-close on the client-side following the request).

However, if applications don't support half-close, and fail to respond
to prior requests upon receipt of close-notify, I don't think they're
violating the specification, they're merely not half-close compatible.

If some application protocol is expected to support half-close, that
should be specified in some relevant application-specific standard.

-- 
    Viktor.

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to