Commit 2006eca
[#36] Do a clean TLS shutdown for HTTPS
Unlike XrdTlsSocket, the HTTP protocol did a one-sided TLS shutdown.
This saved network a round-trip but at the cost of correctness: if
the server shut down the connection after its response while the client
was still sending data then the client may recieve a TCP reset prior
to reading out the response.
This exact behavior was observed in unit tests and the correct approach
is outlined in latest HTTP 1.1 RFC:
https://datatracker.ietf.org/doc/html/rfc9112#name-tls-connection-closure
Basically, we now do the same as `XrdTlsSocket` and perform a bidirectional
TLS shutdown.1 parent 02d6a53 commit 2006eca
1 file changed
+15
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1938 | 1938 | | |
1939 | 1939 | | |
1940 | 1940 | | |
1941 | | - | |
1942 | | - | |
1943 | | - | |
1944 | | - | |
1945 | | - | |
1946 | | - | |
1947 | | - | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
1948 | 1949 | | |
1949 | 1950 | | |
1950 | 1951 | | |
1951 | | - | |
1952 | | - | |
1953 | | - | |
1954 | | - | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
1955 | 1958 | | |
1956 | 1959 | | |
1957 | | - | |
| 1960 | + | |
1958 | 1961 | | |
1959 | 1962 | | |
1960 | 1963 | | |
| |||
0 commit comments