Bug report
Bug description:
After StreamWriter.start_tls() upgrades a stream to TLS, the StreamWriter
and StreamReaderProtocol are updated to use the new transport, but the linked
StreamReader still keeps the old transport.
The relevant code path is in StreamReaderProtocol._replace_transport()
(Lib/asyncio/streams.py:216). The linked StreamReader transport can be
updated in the same path (Lib/asyncio/streams.py:481).
StreamWriter, StreamReaderProtocol, and StreamReader should all refer to
the upgraded transport after start_tls().
CPython versions tested on:
3.16
Operating systems tested on:
Windows
Linked PRs
- gh-152431: update StreamReader transport after StreamWriter.start_tls #152432
- gh-152431: Update StreamReader transport after asyncio TLS upgrade #152509
- [3.14] gh-152431: update StreamReader transport after StreamWriter.start_tls() (GH-152432) #154629
- [3.15] gh-152431: update StreamReader transport after StreamWriter.start_tls() (GH-152432) #154630