• Victor Stinner's avatar
    Issue #22560: New SSL implementation based on ssl.MemoryBIO · 231b404c
    Victor Stinner authored
    The new SSL implementation is based on the new ssl.MemoryBIO which is only
    available on Python 3.5. On Python 3.4 and older, the legacy SSL implementation
    (using SSL_write, SSL_read, etc.) is used. The proactor event loop only
    supports the new implementation.
    
    The new asyncio.sslproto module adds _SSLPipe, SSLProtocol and
    _SSLProtocolTransport classes. _SSLPipe allows to "wrap" or "unwrap" a socket
    (switch between cleartext and SSL/TLS).
    
    Patch written by Antoine Pitrou. sslproto.py is based on gruvi/ssl.py of the
    gruvi project written by Geert Jansen.
    
    This change adds SSL support to ProactorEventLoop on Python 3.5 and newer!
    
    It becomes also possible to implement STARTTTLS: switch a cleartext socket to
    SSL.
    231b404c
proactor_events.py 18.8 KB