Re: WG Last Call: HTTP over TLS (draft-ietf-tls-https-02.txt)
Bodo Moeller <[email protected]> Fri, 6 Aug 1999 12:38:18 +0200
| Newsgroups | gmane.ietf.apps-tls |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Aug 06, 1999 at 04:58:58AM -0400, Rene Eberhard wrote: >> You could not receive a "Connection: close" *after* the closure alert. >> Obviously this is about transport protocol closures -- FIN packets in >> the case of TCP. > Of course you are right. But why use synonyms when you can > use "closure alert" or "close_notify"? Does it use synonyms? As far as I remember, the draft always says "closure alert" when talking about the TLS facility of this name, and says "connection close" only when discussing events at the underlying transport protocol. > [ A HTTP response with a valid Content-Length header closed before > all data has been read. Because TLS does not provide document > oriented protection, it is impossible to determine whether the > server has miscomputed the Content-Length or an attacker has > truncated the connection. ] > > Now its getting interesting. How should a server behave when > 1. an internal error occurred? > 1.1 Close the TCP layer (FIN, RST) which ends up in a > "premature close". In this case the client > can detect that something unexpected had happened. > > 1.2 Close the TLS layer which closes the TCP layer. This > ends up in a "incomplete close". In this case the client > can only detect an unexpected error on the server > side if a content length info has been sent. If the HTTP protocol is used in a way such that the client cannot detect the error at HTTP level, then the server should not send a TLS closure alert. > 2. the response completed successfully? > 2.1 Close the TCP layer (FIN, RST) which ends up in a > "premature close". I see no reason why a server > should close the TCP layer without closing > the TLS layer before. > > 1.2 Close the TLS layer which closes the TCP layer. This > ends up in a "incomplete close". This is the correct > behavior. The latter one, obviously. > Of course we can combine the "close_notify" message with > any combination of (FIN | RST) but this would not be > very clever =) RST would be incorrect (the client's TCP may throw away the close_notify before the TLS implementation could glimpse at it), but of course there'll be a FIN when the TCP connection is closed.