Skip to content
  1. Sep 13, 2018
  2. Sep 12, 2018
  3. Sep 11, 2018
  4. Sep 10, 2018
  5. Sep 09, 2018
  6. Sep 08, 2018
  7. Sep 07, 2018
    • Matt Caswell's avatar
      Do not reset SNI data in SSL_do_handshake() · f01344cb
      Matt Caswell authored
      
      
      PR #3783 introduce coded to reset the server side SNI state in
      SSL_do_handshake() to ensure any erroneous config time SNI changes are
      cleared. Unfortunately SSL_do_handshake() can be called mid-handshake
      multiple times so this is the wrong place to do this and can mean that
      any SNI data is cleared later on in the handshake too.
      
      Therefore move the code to a more appropriate place.
      
      Fixes #7014
      
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      Reviewed-by: default avatarViktor Dukhovni <viktor@openssl.org>
      Reviewed-by: default avatarBen Kaduk <kaduk@mit.edu>
      (Merged from https://github.com/openssl/openssl/pull/7149)
      f01344cb
    • Ben Kaduk's avatar
      Simplify SSL_get_servername() to avoid session references · 328a0547
      Ben Kaduk authored
      
      
      Ideally, SSL_get_servername() would do exactly as it is documented
      and return exactly what the client sent (i.e., what we currently
      are stashing in the SSL's ext.hostname), without needing to refer
      to an SSL_SESSION object.  For historical reasons, including the
      parsed SNI value from the ClientHello originally being stored in the
      SSL_SESSION's ext.hostname field, we have had references to the
      SSL_SESSION in this function.  We cannot fully excise them due to
      the interaction between user-supplied callbacks and TLS 1.2 resumption
      flows, where we call all callbacks but the client did not supply an
      SNI value.  Existing callbacks expect to receive a valid SNI value
      in this case, so we must fake one up from the resumed session in
      order to avoid breakage.
      
      Otherwise, greatly simplify the implementation and just return the
      value in the SSL, as sent by the client.
      
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/7115)
      328a0547