1. 04 12月, 2017 12 次提交
  2. 22 11月, 2017 2 次提交
  3. 13 11月, 2017 1 次提交
  4. 06 11月, 2017 1 次提交
  5. 30 10月, 2017 3 次提交
    • B
      Provide SSL_CTX.stats.sess_accept for switched ctxs · 3be08e30
      Benjamin Kaduk 提交于
      We currently increment the SSL_CTX stats.sess_accept field in
      tls_setup_handshake(), which is invoked from the state machine well
      before ClientHello processing would have had a chance to switch
      the SSL_CTX attached to the SSL object due to a provided SNI value.
      However, stats.sess_accept_good is incremented in tls_finish_handshake(),
      and uses the s->ctx.stats field (i.e., the new SSL_CTX that was switched
      to as a result of SNI processing).  This leads to the confusing
      (nonsensical) situation where stats.sess_accept_good is larger than
      stats.sess_accept, as the "sess_accept" value was counted on the
      s->session_ctx.
      
      In order to provide some more useful numbers, increment
      s->ctx.stats.sess_accept after SNI processing if the SNI processing
      changed s->ctx to differ from s->session_ctx.  To preserve the
      property that any given accept is counted only once, make the
      corresponding decrement to s->session_ctx.stats.sess_accept when
      doing so.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/4549)
      3be08e30
    • B
      Normalize on session_ctx for stats where possible · 0e6161bc
      Benjamin Kaduk 提交于
      For client SSL objects and before any callbacks have had a chance
      to be called, we can write the stats accesses using the session_ctx,
      which makes sense given that these values are all prefixed with
      "sess_".
      
      For servers after a client_hello or servername callback has been
      called, retain the existing behavior of modifying the statistics
      for the current (non-session) context.  This has some value,
      in that it allows the statistics to be viewed on a per-vhost level.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/4549)
      0e6161bc
    • B
      Use atomics for SSL_CTX statistics · 1fcb4e4d
      Benjamin Kaduk 提交于
      It is expected that SSL_CTX objects are shared across threads,
      and as such we are responsible for ensuring coherent data accesses.
      Aligned integer accesses ought to be atomic already on all supported
      architectures, but we can be formally correct.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/4549)
      1fcb4e4d
  6. 18 10月, 2017 1 次提交
  7. 16 10月, 2017 2 次提交
  8. 12 10月, 2017 1 次提交
  9. 10 10月, 2017 1 次提交
  10. 09 10月, 2017 1 次提交
  11. 07 10月, 2017 1 次提交
  12. 06 10月, 2017 2 次提交
  13. 04 10月, 2017 2 次提交
  14. 26 9月, 2017 4 次提交
  15. 23 9月, 2017 1 次提交
  16. 14 9月, 2017 1 次提交
  17. 09 9月, 2017 2 次提交
  18. 07 9月, 2017 1 次提交
    • B
      Restore historical behavior for absent ServerHello extensions · 1c259bb5
      Benjamin Kaduk 提交于
      In OpenSSL 1.1.0, when there were no extensions added to the ServerHello,
      we did not write the extension data length bytes to the end of the
      ServerHello; this is needed for compatibility with old client implementations
      that do not support TLS extensions (such as the default configuration of
      OpenSSL 0.9.8).  When ServerHello extension construction was converted
      to the new extensions framework in commit
      7da160b0, this behavior was inadvertently
      limited to cases when SSLv3 was negotiated (and similarly for ClientHellos),
      presumably since extensions are not defined at all for SSLv3.  However,
      extensions for TLS prior to TLS 1.3 have been defined in separate
      RFCs (6066, 4366, and 3546) from the TLS protocol specifications, and as such
      should be considered an optional protocol feature in those cases.
      
      Accordingly, be conservative in what we send, and skip the extensions block
      when there are no extensions to be sent, regardless of the TLS/SSL version.
      (TLS 1.3 requires extensions and can safely be treated differently.)
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      (Merged from https://github.com/openssl/openssl/pull/4296)
      1c259bb5
  19. 04 9月, 2017 1 次提交