Skip to content
Snippets Groups Projects
Forked from The Tor Project / Core / Tor
24022 commits behind the upstream repository.
  • Nick Mathewson's avatar
    841a8d55
    Work around a bug in OpenSSL 1.0.1's TLS 1.1 and TLS 1.2 support · 841a8d55
    Nick Mathewson authored
    It appears that when OpenSSL negotiates a 1.1 or 1.2 connection, and it
    decides to renegotiate, the client will send a record with version "1.0"
    rather than with the current TLS version.  This would cause the
    connection to fail whenever both sides had OpenSSL 1.0.1, and the v2 Tor
    handshake was in use.
    
    As a workaround, disable TLS 1.1 and TLS 1.2.  When a later version of
    OpenSSL is released, we can make this conditional on running a fixed
    version of OpenSSL.
    
    Alternatively, we could disable TLS 1.1 and TLS 1.2 only on the client
    side.  But doing it this way for now means that we not only fix TLS with
    patched clients; we also fix TLS when the server has this patch and the
    client does not.  That could be important to keep the network running
    well.
    
    Fixes bug 6033.
    841a8d55
    History
    Work around a bug in OpenSSL 1.0.1's TLS 1.1 and TLS 1.2 support
    Nick Mathewson authored
    It appears that when OpenSSL negotiates a 1.1 or 1.2 connection, and it
    decides to renegotiate, the client will send a record with version "1.0"
    rather than with the current TLS version.  This would cause the
    connection to fail whenever both sides had OpenSSL 1.0.1, and the v2 Tor
    handshake was in use.
    
    As a workaround, disable TLS 1.1 and TLS 1.2.  When a later version of
    OpenSSL is released, we can make this conditional on running a fixed
    version of OpenSSL.
    
    Alternatively, we could disable TLS 1.1 and TLS 1.2 only on the client
    side.  But doing it this way for now means that we not only fix TLS with
    patched clients; we also fix TLS when the server has this patch and the
    client does not.  That could be important to keep the network running
    well.
    
    Fixes bug 6033.
bug6033 305 B