Skip to content
  • Julian Andres Klode's avatar
    hashes, methods: Add OpenSSL backends · 90270f09
    Julian Andres Klode authored
    Introduce an OpenSSL::Crypto backend for the hashes library
    and an OpenSSL::SSL backend for the TLS support in our https
    method.
    
    Many thanks to curl for showing the way with how to handle
    a CRL file. There are some memory leaks here with the
    TlsFd itself as well as the proxy support; and we should
    reorganize the code to generate the ssl object as late
    as possible.
    
    A peculiar aspect of OpenSSL is that SSL_has_pending() returns
    1 even if SSL_read() will fail to read anything and return the
    equivalent of EAGAIN. We work around this here by also peeking
    ahead 1 byte. I was running a very high RTT connection from
    Germany to Australia for testing, and with the peeking it's
    using negligible amounts of CPU; before that, it was busy
    looping at 100%. Bad OpenSSL!
    90270f09
This project is licensed under the GNU General Public License v2.0 or later. Learn more
Loading