1. 14 2月, 2017 1 次提交
  2. 11 2月, 2017 1 次提交
  3. 02 2月, 2017 2 次提交
  4. 01 2月, 2017 1 次提交
  5. 30 1月, 2017 10 次提交
  6. 28 1月, 2017 1 次提交
  7. 27 1月, 2017 1 次提交
  8. 25 1月, 2017 3 次提交
  9. 24 1月, 2017 1 次提交
    • M
      Fix SSL_get0_raw_cipherlist() · 07afdf3c
      Matt Caswell 提交于
      SSL_get0_raw_cipherlist() was a little too "raw" in the case of an SSLv2
      compat ClientHello. In 1.0.2 and below, during version negotiation, if
      we received an SSLv2 compat ClientHello but actually wanted to do SSLv3+
      then we would construct a "fake" SSLv3+ ClientHello. This "fake" ClientHello
      would have its ciphersuite list converted to the SSLv3+ format. It was
      this "fake" raw list that got saved away to later be returned by a call to
      SSL_get0_raw_cipherlist().
      
      In 1.1.0+ version negotiation works differently and we process an SSLv2
      compat ClientHello directly without the need for an intermediary "fake"
      ClientHello. This meant that the raw ciphersuite list being saved was in
      the SSLv2 format. Any caller of this function would not expect that and
      potentially overread the returned buffer by one byte.
      
      Fixes #2189
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/2280)
      07afdf3c
  10. 23 1月, 2017 1 次提交
    • M
      Fix SSL_VERIFY_CLIENT_ONCE · a03a9dbe
      Matt Caswell 提交于
      The flag SSL_VERIFY_CLIENT_ONCE is documented as follows:
      
        B<Server mode:> only request a client certificate on the initial TLS/SSL
        handshake. Do not ask for a client certificate again in case of a
        renegotiation. This flag must be used together with SSL_VERIFY_PEER.
      
        B<Client mode:> ignored
      
      But the implementation actually did nothing. After the server sends its
      ServerKeyExchange message, the code was checking s->session->peer to see if
      it is NULL. If it was set then it did not ask for another client
      certificate. However s->session->peer will only be set in the event of a
      resumption, but a ServerKeyExchange message is only sent in the event of a
      full handshake (i.e. no resumption).
      
      The documentation suggests that the original intention was for this to
      have an effect on renegotiation, and resumption doesn't come into it.
      
      The fix is to properly check for renegotiation, not whether there is already
      a client certificate in the session.
      
      As far as I can tell this has been broken for a *long* time.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/1982)
      a03a9dbe
  11. 11 1月, 2017 6 次提交
  12. 10 1月, 2017 2 次提交
  13. 06 1月, 2017 5 次提交
  14. 09 12月, 2016 5 次提交