This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Support TLS 1.3 half-closed connections
Type: enhancement Stage:
Components: SSL Versions: Python 3.10
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: christian.heimes Nosy List: Dima.Tisnek, christian.heimes
Priority: normal Keywords:

Created on 2020-10-30 02:24 by Dima.Tisnek, last changed 2022-04-11 14:59 by admin.

Messages (1)
msg379908 - (view) Author: Dima Tisnek (Dima.Tisnek) * Date: 2020-10-30 02:24
(apologies if this was raised before, I couldn't find it in bugs, mailing lists or discourse).
(also apologies if I misunderstood something about the protocol)

Up to an including TLS 1.2, a single close notify terminates both upstream and downstream; Starting with TLS 1.3 there are separate close notify alerts for upstream and downstream.

This means that it's possible to have a TLS connection in half-closed state, e.g. to send "GET / HTTP xx; close notify" and then wait for the server response.

Today, that's not possible, at least in asyncio, as evidenced by https://bugs.python.org/issue39951 
(I did not check synchronous wrapped sockets)
History
Date User Action Args
2022-04-11 14:59:37adminsetgithub: 86366
2020-10-30 02:24:05Dima.Tisnekcreate