• Andrew Huang's avatar
    Replace old AsyncSSLSocket session API with V2 · ffc3227f
    Andrew Huang authored
    Summary:
    This new API has a few benefits:
    1. It allows `getSSLSession` to support TLS 1.3 session resumption by returning a mutable session wrapper as opposed to the immutable `SSL_SESSION*` object.
    2. OpenSSL `SSL_SESSION*` objects require the caller to keep accurate reference counts. Failure to do so can result in memory leaks or use-after-free errors.
    3. This design abstracts away OpenSSL internals, which are unnecessary for the caller to perform session resumption.
    
    Reviewed By: mingtaoy
    
    Differential Revision: D24239802
    
    fbshipit-source-id: cd3e90217717394f32dc6a2281e7a40c805990b2
    ffc3227f
AsyncSSLSocket.cpp 69.7 KB