New submission from Christian Heimes <li...@cheimes.de>:
This ticket collects information for QUIC [1][2] support and tracks, which APIs have to be added to Python in order to implement a QUIC protocol stack on top of Python's ssl and socket module. QUIC is a "UDP-Based Multiplexed and Secure Transport" protocol. It will replace TCP and TLS record layer as transport channels in the upcoming HTTP/3 [3][4] standard. Although it's UDP, QUIC does *not* use DTLS (Datagram TLS, vulgo TLS over UDP). As far as I understand QUIC at the moment, the ssl module has to gain two additional features: 1. A way to send/receive TLS messages that are not wrapped in the TLS record layer. 2. A key callback that gets called whenever key material is exchanged during handshake or updated later on. OpenSSL does not implement the necessary APIs, yet [5]. Tatsuhiro Tsujikawa's experimental OpenSSL fork [6] implements (1) as a SSL option SSL_MODE_QUIC_HACK and (2) as a callback that acts on five different key types. (Disclaimer: My current understanding of QUIC is very limited.) [1] https://tools.ietf.org/html/draft-ietf-quic-transport-20 [2] https://en.wikipedia.org/wiki/QUIC [2] https://http3-explained.haxx.se/en/ [4] https://en.wikipedia.org/wiki/HTTP/3 [5] https://daniel.haxx.se/blog/2019/01/21/quic-and-missing-apis/ [6] https://github.com/tatsuhiro-t/openssl/commits/quic-draft-17 ---------- assignee: christian.heimes components: SSL messages: 343505 nosy: alex, christian.heimes, dstufft, janssen, njs priority: normal severity: normal status: open title: ssl module: QUIC support for HTTP/3 type: enhancement versions: Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue37048> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com