1. 16 5月, 2015 1 次提交
    • M
      Server side version negotiation rewrite · 32ec4153
      Matt Caswell 提交于
      This commit changes the way that we do server side protocol version
      negotiation. Previously we had a whole set of code that had an "up front"
      state machine dedicated to the negotiating the protocol version. This adds
      significant complexity to the state machine. Historically the justification
      for doing this was the support of SSLv2 which works quite differently to
      SSLv3+. However, we have now removed support for SSLv2 so there is little
      reason to maintain this complexity.
      
      The one slight difficulty is that, although we no longer support SSLv2, we
      do still support an SSLv3+ ClientHello in an SSLv2 backward compatible
      ClientHello format. This is generally only used by legacy clients. This
      commit adds support within the SSLv3 code for these legacy format
      ClientHellos.
      
      Server side version negotiation now works in much the same was as DTLS,
      i.e. we introduce the concept of TLS_ANY_VERSION. If s->version is set to
      that then when a ClientHello is received it will work out the most
      appropriate version to respond with. Also, SSLv23_method and
      SSLv23_server_method have been replaced with TLS_method and
      TLS_server_method respectively. The old SSLv23* names still exist as
      macros pointing at the new name, although they are deprecated.
      
      Subsequent commits will look at client side version negotiation, as well of
      removal of the old s23* code.
      Reviewed-by: NKurt Roeckx <kurt@openssl.org>
      32ec4153
  2. 06 5月, 2015 1 次提交
  3. 02 5月, 2015 1 次提交
  4. 17 4月, 2015 1 次提交
  5. 10 4月, 2015 1 次提交
  6. 31 3月, 2015 1 次提交
  7. 26 3月, 2015 27 次提交
  8. 23 3月, 2015 1 次提交
  9. 19 3月, 2015 1 次提交
    • M
      Multiblock corrupted pointer fix · 1d2a18dc
      Matt Caswell 提交于
      OpenSSL 1.0.2 introduced the "multiblock" performance improvement. This
      feature only applies on 64 bit x86 architecture platforms that support AES
      NI instructions. A defect in the implementation of "multiblock" can cause
      OpenSSL's internal write buffer to become incorrectly set to NULL when
      using non-blocking IO. Typically, when the user application is using a
      socket BIO for writing, this will only result in a failed connection.
      However if some other BIO is used then it is likely that a segmentation
      fault will be triggered, thus enabling a potential DoS attack.
      
      CVE-2015-0290
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      1d2a18dc
  10. 05 3月, 2015 2 次提交
  11. 06 2月, 2015 2 次提交
  12. 28 1月, 2015 1 次提交