1. 27 7月, 2015 1 次提交
    • M
      Remove support for SSL3_FLAGS_DELAY_CLIENT_FINISHED · 57787ac8
      Matt Caswell 提交于
      This flag was not set anywhere within the codebase (only read). It could
      only be set by an app reaching directly into s->s3->flags and setting it
      directly. However that method became impossible when libssl was opaquified.
      
      Even in 1.0.2/1.0.1 if an app set the flag directly it is only relevant to
      ssl3_connect(), which calls SSL_clear() during initialisation that clears
      any flag settings. Therefore it could take effect if the app set the flag
      after the handshake has started but before it completed. It seems quite
      unlikely that any apps really do this (especially as it is completely
      undocumented).
      
      The purpose of the flag is suppress flushing of the write bio on the client
      side at the end of the handshake after the client has written the Finished
      message whilst resuming a session. This enables the client to send
      application data as part of the same flight as the Finished message.
      
      This flag also controls the setting of a second flag SSL3_FLAGS_POP_BUFFER.
      There is an interesting comment in the code about this second flag in the
      implementation of ssl3_write:
      
      	/* This is an experimental flag that sends the
      	 * last handshake message in the same packet as the first
      	 * use data - used to see if it helps the TCP protocol during
      	 * session-id reuse */
      
      It seems the experiment did not work because as far as I can tell nothing
      is using this code. The above comment has been in the code since SSLeay.
      
      This commit removes support for SSL3_FLAGS_DELAY_CLIENT_FINISHED, as well
      as the associated SSL3_FLAGS_POP_BUFFER.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      57787ac8
  2. 23 5月, 2015 1 次提交
  3. 13 5月, 2015 1 次提交
  4. 06 5月, 2015 1 次提交
  5. 02 5月, 2015 1 次提交
    • R
      free NULL cleanup -- coda · 25aaa98a
      Rich Salz 提交于
      After the finale, the "real" final part. :)  Do a recursive grep with
      "-B1 -w [a-zA-Z0-9_]*_free" to see if any of the preceeding lines are
      an "if NULL" check that can be removed.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      25aaa98a
  6. 17 4月, 2015 1 次提交
  7. 23 3月, 2015 1 次提交
  8. 06 2月, 2015 1 次提交
  9. 22 1月, 2015 1 次提交
  10. 20 11月, 2014 2 次提交
    • E
      Ensure SSL3_FLAGS_CCS_OK (or d1->change_cipher_spec_ok for DTLS) is reset · e94a6c0e
      Emilia Kasper 提交于
      once the ChangeCipherSpec message is received. Previously, the server would
      set the flag once at SSL3_ST_SR_CERT_VRFY and again at SSL3_ST_SR_FINISHED.
      This would allow a second CCS to arrive and would corrupt the server state.
      
      (Because the first CCS would latch the correct keys and subsequent CCS
      messages would have to be encrypted, a MitM attacker cannot exploit this,
      though.)
      
      Thanks to Joeri de Ruiter for reporting this issue.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      e94a6c0e
    • E
      Remove ssl3_check_finished. · 980bc1ec
      Emilia Kasper 提交于
      The client sends a session ID with the session ticket, and uses
      the returned ID to detect resumption, so we do not need to peek
      at handshake messages: s->hit tells us explicitly if we're resuming.
      
      An equivalent change was independently made in BoringSSL, see commit
      407886f589cf2dbaed82db0a44173036c3bc3317.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      980bc1ec
  11. 02 11月, 2013 1 次提交
    • R
      DTLS/SCTP Finished Auth Bug · b9ef52b0
      Robin Seggelmann 提交于
      PR: 2808
      
      With DTLS/SCTP the SCTP extension SCTP-AUTH is used to protect DATA and
      FORWARD-TSN chunks. The key for this extension is derived from the
      master secret and changed with the next ChangeCipherSpec, whenever a new
      key has been negotiated. The following Finished then already uses the
      new key.  Unfortunately, the ChangeCipherSpec and Finished are part of
      the same flight as the ClientKeyExchange, which is necessary for the
      computation of the new secret. Hence, these messages are sent
      immediately following each other, leaving the server very little time to
      compute the new secret and pass it to SCTP before the finished arrives.
      So the Finished is likely to be discarded by SCTP and a retransmission
      becomes necessary. To prevent this issue, the Finished of the client is
      still sent with the old key.
      (cherry picked from commit 9fb523adce6fd6015b68da2ca8e4ac4900ac2be2)
      b9ef52b0
  12. 09 4月, 2013 1 次提交
    • D
      Dual DTLS version methods. · c6913eeb
      Dr. Stephen Henson 提交于
      Add new methods DTLS_*_method() which support both DTLS 1.0 and DTLS 1.2 and
      pick the highest version the peer supports during negotiation.
      
      As with SSL/TLS options can change this behaviour specifically
      SSL_OP_NO_DTLSv1 and SSL_OP_NO_DTLSv1_2.
      c6913eeb
  13. 26 3月, 2013 2 次提交
    • D
      Provisional DTLS 1.2 support. · c3b344e3
      Dr. Stephen Henson 提交于
      Add correct flags for DTLS 1.2, update s_server and s_client to handle
      DTLS 1.2 methods.
      
      Currently no support for version negotiation: i.e. if client/server selects
      DTLS 1.2 it is that or nothing.
      c3b344e3
    • D
      Extend DTLS method macros. · cfd298b7
      Dr. Stephen Henson 提交于
      Extend DTLS method creation macros to support version numbers and encryption
      methods. Update existing code.
      cfd298b7
  14. 18 3月, 2013 1 次提交
    • D
      DTLS revision. · 173e72e6
      Dr. Stephen Henson 提交于
      Revise DTLS code. There was a *lot* of code duplication in the
      DTLS code that generates records. This makes it harder to maintain and
      sometimes a TLS update is omitted by accident from the DTLS code.
      
      Specifically almost all of the record generation functions have code like
      this:
      
      some_pointer = buffer + HANDSHAKE_HEADER_LENGTH;
      ... Record creation stuff ...
      set_handshake_header(ssl, SSL_MT_SOMETHING, message_len);
      
      ...
      
      write_handshake_message(ssl);
      
      Where the "Record creation stuff" is identical between SSL/TLS and DTLS or
      in some cases has very minor differences.
      
      By adding a few fields to SSL3_ENC to include the header length, some flags
      and function pointers for handshake header setting and handshake writing the
      code can cope with both cases.
      
      Note: although this passes "make test" and some simple DTLS tests there may
      be some minor differences in the DTLS code that have to be accounted for.
      173e72e6
  15. 04 6月, 2012 1 次提交
  16. 06 3月, 2012 1 次提交
    • D
      PR: 2748 · 0fbf8b9c
      Dr. Stephen Henson 提交于
      Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
      
      Fix possible DTLS timer deadlock.
      0fbf8b9c
  17. 27 1月, 2012 1 次提交
  18. 01 1月, 2012 1 次提交
    • D
      PR: 2658 · 4817504d
      Dr. Stephen Henson 提交于
      Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
      Reviewed by: steve
      
      Support for TLS/DTLS heartbeats.
      4817504d
  19. 25 12月, 2011 1 次提交
    • D
      PR: 2535 · 7e159e01
      Dr. Stephen Henson 提交于
      Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
      Reviewed by: steve
      
      Add SCTP support for DTLS (RFC 6083).
      7e159e01
  20. 25 5月, 2011 1 次提交
    • D
      PR: 2505 · ee4b5ceb
      Dr. Stephen Henson 提交于
      Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
      Reviewed by: steve
      
      Fix DTLS session resumption timer bug.
      ee4b5ceb
  21. 17 2月, 2011 1 次提交
  22. 26 8月, 2010 1 次提交
    • D
      PR: 1833 · 44959ee4
      Dr. Stephen Henson 提交于
      Submitted By: Robin Seggelmann <seggelmann@fh-muenster.de>
      
      Support for abbreviated handshakes when renegotiating.
      44959ee4
  23. 27 1月, 2010 1 次提交
    • D
      PR: 1949 · d5e7f2f2
      Dr. Stephen Henson 提交于
      Submitted by: steve@openssl.org
      
      More robust fix and workaround for PR#1949. Don't try to work out if there
      is any write pending data as this can be unreliable: always flush.
      d5e7f2f2
  24. 09 12月, 2009 1 次提交
  25. 08 12月, 2009 1 次提交
    • D
      PR: 2121 · 8025e251
      Dr. Stephen Henson 提交于
      Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
      
      Add extension support to DTLS code mainly using existing implementation for
      TLS.
      8025e251
  26. 02 12月, 2009 1 次提交
    • D
      PR: 2115 · 49968440
      Dr. Stephen Henson 提交于
      Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
      Approved by: steve@openssl.org
      
      Add Renegotiation extension to DTLS, fix DTLS ClientHello processing bug.
      49968440
  27. 24 7月, 2009 1 次提交
  28. 15 7月, 2009 1 次提交
  29. 05 6月, 2009 1 次提交
  30. 01 6月, 2009 1 次提交
  31. 16 5月, 2009 1 次提交
  32. 24 4月, 2009 1 次提交
  33. 20 4月, 2009 1 次提交
  34. 15 4月, 2009 1 次提交
  35. 03 4月, 2009 1 次提交
  36. 02 6月, 2008 1 次提交
  37. 17 3月, 2008 1 次提交
  38. 01 10月, 2007 1 次提交