1. 20 5月, 2016 2 次提交
    • D
      Tighten up logic around ChangeCipherSpec. · 1257adec
      David Benjamin 提交于
      ChangeCipherSpec messages have a defined value. They also may not occur
      in the middle of a handshake message. The current logic will accept a
      ChangeCipherSpec with value 2. It also would accept up to three bytes of
      handshake data before the ChangeCipherSpec which it would discard
      (because s->init_num gets reset).
      
      Instead, require that s->init_num is 0 when a ChangeCipherSpec comes in.
      
      RT#4391
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      1257adec
    • M
      Simplify SSL BIO buffering logic · 46417569
      Matt Caswell 提交于
      The write BIO for handshake messages is bufferred so that we only write
      out to the network when we have a complete flight. There was some
      complexity in the buffering logic so that we switched buffering on and
      off at various points through out the handshake. The only real reason to
      do this was historically it complicated the state machine when you wanted
      to flush because you had to traverse through the "flush" state (in order
      to cope with NBIO). Where we knew up front that there was only going to
      be one message in the flight we switched off buffering to avoid that.
      
      In the new state machine there is no longer a need for a flush state so
      it is simpler just to have buffering on for the whole handshake. This
      also gives us the added benefit that we can simply call flush after every
      flight even if it only has one message in it. This means that BIO authors
      can implement their own buffering strategies and not have to be aware of
      the state of the SSL object (previously they would have to switch off
      their own buffering during the handshake because they could not rely on
      a flush being received when they really needed to write data out). This
      last point addresses GitHub Issue #322.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      46417569
  2. 19 5月, 2016 2 次提交
    • V
      When strict SCT fails record verification failure · f75b34c8
      Viktor Dukhovni 提交于
      Since with SSL_VERIFY_NONE, the connection may continue and the
      session may even be cached, we should save some evidence that the
      chain was not sufficiently verified and would have been rejected
      with SSL_VERIFY_PEER.  To that end when a CT callback returs failure
      we set the verify result to X509_V_ERR_NO_VALID_SCTS.
      
      Note: We only run the CT callback in the first place if the verify
      result is still X509_V_OK prior to start of the callback.
      
      RT #4502
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      f75b34c8
    • V
      Ensure verify error is set when X509_verify_cert() fails · f3e235ed
      Viktor Dukhovni 提交于
      Set ctx->error = X509_V_ERR_OUT_OF_MEM when verificaiton cannot
      continue due to malloc failure.  Also, when X509_verify_cert()
      returns <= 0 make sure that the verification status does not remain
      X509_V_OK, as a last resort set it it to X509_V_ERR_UNSPECIFIED,
      just in case some code path returns an error without setting an
      appropriate value of ctx->error.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      f3e235ed
  3. 18 5月, 2016 1 次提交
  4. 17 5月, 2016 8 次提交
  5. 16 5月, 2016 4 次提交
  6. 14 5月, 2016 1 次提交
  7. 13 5月, 2016 1 次提交
  8. 12 5月, 2016 2 次提交
  9. 11 5月, 2016 2 次提交
  10. 10 5月, 2016 2 次提交
  11. 09 5月, 2016 2 次提交
  12. 06 5月, 2016 3 次提交
  13. 05 5月, 2016 1 次提交
  14. 03 5月, 2016 2 次提交
  15. 02 5月, 2016 2 次提交
  16. 29 4月, 2016 5 次提交