1. 12 8月, 2015 6 次提交
    • M
      Add some libssl tests · 011467ee
      Matt Caswell 提交于
      Two tests are added: one is a simple version tolerance test; the second is
      a test to ensure that OpenSSL operates correctly in the case of a zero
      length extensions block. The latter was broken inadvertently (now fixed)
      and it would have been helpful to have a test case for it.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      011467ee
    • M
      Add a libssl test harness · 631c1206
      Matt Caswell 提交于
      This commit provides a set of perl modules that support the testing of
      libssl. The test harness operates as a man-in-the-middle proxy between
      s_server and s_client. Both s_server and s_client must be started using the
      "-testmode" option which loads the new OSSLTEST engine.
      
      The test harness enables scripts to be written that can examine the packets
      sent during a handshake, as well as (potentially) modifying them so that
      otherwise illegal handshake messages can be sent.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      631c1206
    • M
      Add OSSLTest Engine · 2d5d70b1
      Matt Caswell 提交于
      This engine is for testing purposes only. It provides crippled crypto
      implementations and therefore must not be used in any instance where
      security is required.
      
      This will be used by the forthcoming libssl test harness which will operate
      as a man-in-the-middle proxy. The test harness will be able to modify
      TLS packets and read their contents. By using this test engine packets are
      not encrypted and MAC codes always verify.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      2d5d70b1
    • M
      Check for 0 modulus in BN_MONT_CTX_set · 6a009812
      Matt Caswell 提交于
      The function BN_MONT_CTX_set was assuming that the modulus was non-zero
      and therefore that |mod->top| > 0. In an error situation that may not be
      the case and could cause a seg fault.
      
      This is a follow on from CVE-2015-1794.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      6a009812
    • G
      Fix seg fault with 0 p val in SKE · 61e72d76
      Guy Leaver (guleaver) 提交于
      If a client receives a ServerKeyExchange for an anon DH ciphersuite with the
      value of p set to 0 then a seg fault can occur. This commits adds a test to
      reject p, g and pub key parameters that have a 0 value (in accordance with
      RFC 5246)
      
      The security vulnerability only affects master and 1.0.2, but the fix is
      additionally applied to 1.0.1 for additional confidence.
      
      CVE-2015-1794
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      61e72d76
    • M
      Normalise make errors output · 870063c8
      Matt Caswell 提交于
      make errors wants things in a different order to the way things are
      currently defined in the header files. The easiest fix is to just let it
      reorder it.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      870063c8
  2. 11 8月, 2015 3 次提交
  3. 10 8月, 2015 1 次提交
  4. 09 8月, 2015 2 次提交
  5. 07 8月, 2015 3 次提交
  6. 06 8月, 2015 1 次提交
  7. 05 8月, 2015 3 次提交
  8. 04 8月, 2015 5 次提交
  9. 03 8月, 2015 7 次提交
    • M
      Fix make errors for the CCS changes · 496dbe18
      Matt Caswell 提交于
      The move of CCS into the state machine was causing make errors to fail. This
      fixes it.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      496dbe18
    • M
      Fix ssl3_read_bytes handshake fragment bug · e9f6b9a1
      Matt Caswell 提交于
      The move of CCS into the state machine introduced a bug in ssl3_read_bytes.
      The value of |recvd_type| was not being set if we are satisfying the request
      from handshake fragment storage. This can occur, for example, with
      renegotiation and causes the handshake to fail.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      e9f6b9a1
    • M
      Move DTLS CCS processing into the state machine · c69f2adf
      Matt Caswell 提交于
      Continuing on from the previous commit this moves the processing of DTLS
      CCS messages out of the record layer and into the state machine.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      c69f2adf
    • M
      Move TLS CCS processing into the state machine · 657da85e
      Matt Caswell 提交于
      The handling of incoming CCS records is a little strange. Since CCS is not
      a handshake message it is handled differently to normal handshake messages.
      Unfortunately whilst technically it is not a handhshake message the reality
      is that it must be processed in accordance with the state of the handshake.
      Currently CCS records are processed entirely within the record layer. In
      order to ensure that it is handled in accordance with the handshake state
      a flag is used to indicate that it is an acceptable time to receive a CCS.
      
      Previously this flag did not exist (see CVE-2014-0224), but the flag should
      only really be considered a workaround for the problem that CCS is not
      visible to the state machine.
      
      Outgoing CCS messages are already handled within the state machine.
      
      This patch makes CCS visible to the TLS state machine. A separate commit
      will handle DTLS.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      657da85e
    • M
      PACKETise ClientHello processing · 9ceb2426
      Matt Caswell 提交于
      Uses the new PACKET code to process the incoming ClientHello including all
      extensions etc.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      9ceb2426
    • M
      PACKET unit tests · 6fc2ef20
      Matt Caswell 提交于
      Add some unit tests for the new PACKET API
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      6fc2ef20
    • M
      Add initial packet parsing code · 7e729bb5
      Matt Caswell 提交于
      Provide more robust (inline) functions to replace n2s, n2l, etc. These
      functions do the same thing as the previous macros, but also keep track
      of the amount of data remaining and return an error if we try to read more
      data than we've got.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      7e729bb5
  10. 02 8月, 2015 6 次提交
  11. 01 8月, 2015 3 次提交