1. 15 7月, 2016 1 次提交
  2. 13 7月, 2016 1 次提交
  3. 16 6月, 2016 1 次提交
  4. 10 6月, 2016 1 次提交
  5. 04 6月, 2016 1 次提交
  6. 20 5月, 2016 1 次提交
    • 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
  7. 18 5月, 2016 1 次提交
  8. 17 5月, 2016 1 次提交
  9. 13 5月, 2016 1 次提交
  10. 29 4月, 2016 2 次提交
  11. 22 4月, 2016 1 次提交
    • M
      Don't set peer_tmp until we have finished constructing it · ee85fc1d
      Matt Caswell 提交于
      If we fail halfway through constructing the peer_tmp EVP_PKEY but we have
      already stored it in s->s3->peer_tmp then if anything tries to use it then
      it will likely fail. This was causing s_client to core dump in the
      sslskewith0p test. s_client was trying to print out the connection
      parameters that it had negotiated so far. Arguably s_client should not do
      that if the connection has failed...but given it is existing functionality
      it's easier to fix libssl.
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      ee85fc1d
  12. 09 4月, 2016 1 次提交
  13. 08 4月, 2016 3 次提交
    • V
      Suppress CT callback as appropriate · 43341433
      Viktor Dukhovni 提交于
      Suppress CT callbacks with aNULL or PSK ciphersuites that involve
      no certificates.  Ditto when the certificate chain is validated via
      DANE-TA(2) or DANE-EE(3) TLSA records.  Also skip SCT processing
      when the chain is fails verification.
      
      Move and consolidate CT callbacks from libcrypto to libssl.  We
      also simplify the interface to SSL_{,CTX_}_enable_ct() which can
      specify either a permissive mode that just collects information or
      a strict mode that requires at least one valid SCT or else asks to
      abort the connection.
      
      Simplified SCT processing and options in s_client(1) which now has
      just a simple pair of "-noct" vs. "-ct" options, the latter enables
      the permissive callback so that we can complete the handshake and
      report all relevant information.  When printing SCTs, print the
      validation status if set and not valid.
      Signed-off-by: NRob Percival <robpercival@google.com>
      Reviewed-by: NEmilia Käsper <emilia@openssl.org>
      43341433
    • V
      Fix client verify mode to check SSL_VERIFY_PEER · c636c1c4
      Viktor Dukhovni 提交于
      The original check for != SSL_VERIFY_NONE can give surprising results
      when flags SSL_VERIFY_PEER is not set, but other flags are.  Note
      that SSL_VERIFY_NONE (0) is not a flag bit, it is rather the absense
      of all other flag bits.
      Signed-off-by: NRob Percival <robpercival@google.com>
      Reviewed-by: NEmilia Käsper <emilia@openssl.org>
      c636c1c4
    • D
      Fix memory leak on invalid CertificateRequest. · 6afef8b1
      David Benjamin 提交于
      Free up parsed X509_NAME structure if the CertificateRequest message
      contains excess data.
      
      The security impact is considered insignificant. This is a client side
      only leak and a large number of connections to malicious servers would
      be needed to have a significant impact.
      
      This was found by libFuzzer.
      Reviewed-by: NEmilia Käsper <emilia@openssl.org>
      Reviewed-by: NStephen Henson <steve@openssl.org>
      6afef8b1
  14. 05 4月, 2016 2 次提交
  15. 28 3月, 2016 1 次提交
  16. 21 3月, 2016 1 次提交
  17. 10 3月, 2016 1 次提交
  18. 08 3月, 2016 1 次提交
  19. 04 3月, 2016 1 次提交
  20. 19 2月, 2016 1 次提交
    • R
      Remove outdated DEBUG flags. · d63a5e5e
      Rich Salz 提交于
      Add -DBIO_DEBUG to --strict-warnings.
      Remove comments about outdated debugging ifdef guards.
      Remove md_rand ifdef guarding an assert; it doesn't seem used.
      Remove the conf guards in conf_api since we use OPENSSL_assert, not assert.
      For pkcs12 stuff put OPENSSL_ in front of the macro name.
      Merge TLS_DEBUG into SSL_DEBUG.
      Various things just turned on/off asserts, mainly for checking non-NULL
      arguments, which is now removed: camellia, bn_ctx, crypto/modes.
      Remove some old debug code, that basically just printed things to stderr:
        DEBUG_PRINT_UNKNOWN_CIPHERSUITES, DEBUG_ZLIB, OPENSSL_RI_DEBUG,
        RL_DEBUG, RSA_DEBUG, SCRYPT_DEBUG.
      Remove OPENSSL_SSL_DEBUG_BROKEN_PROTOCOL.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      d63a5e5e
  21. 12 2月, 2016 1 次提交
  22. 01 2月, 2016 1 次提交
  23. 27 1月, 2016 1 次提交
    • R
      Remove /* foo.c */ comments · 34980760
      Rich Salz 提交于
      This was done by the following
              find . -name '*.[ch]' | /tmp/pl
      where /tmp/pl is the following three-line script:
              print unless $. == 1 && m@/\* .*\.[ch] \*/@;
              close ARGV if eof; # Close file to reset $.
      
      And then some hand-editing of other files.
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      34980760
  24. 20 1月, 2016 1 次提交
  25. 08 1月, 2016 1 次提交
  26. 02 1月, 2016 2 次提交
    • V
      Protocol version selection and negotiation rewrite · 4fa52141
      Viktor Dukhovni 提交于
      The protocol selection code is now consolidated in a few consecutive
      short functions in a single file and is table driven.  Protocol-specific
      constraints that influence negotiation are moved into the flags
      field of the method structure.  The same protocol version constraints
      are now applied in all code paths.  It is now much easier to add
      new protocol versions without reworking the protocol selection
      logic.
      
      In the presence of "holes" in the list of enabled client protocols
      we no longer select client protocols below the hole based on a
      subset of the constraints and then fail shortly after when it is
      found that these don't meet the remaining constraints (suiteb, FIPS,
      security level, ...).  Ideally, with the new min/max controls users
      will be less likely to create "holes" in the first place.
      Reviewed-by: NKurt Roeckx <kurt@openssl.org>
      4fa52141
    • K
      7946ab33
  27. 01 1月, 2016 2 次提交
  28. 30 12月, 2015 1 次提交
  29. 28 12月, 2015 3 次提交
  30. 24 12月, 2015 1 次提交
  31. 23 12月, 2015 1 次提交
  32. 20 12月, 2015 1 次提交