1. 30 10月, 2015 1 次提交
    • M
      Split ssl3_get_message · 9ab930b2
      Matt Caswell 提交于
      The function ssl3_get_message gets a whole message from the underlying bio
      and returns it to the state machine code. The new state machine code will
      split this into two discrete steps: get the message header and get the
      message body. This commit splits the existing function into these two
      sub steps to facilitate the state machine implementation.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      9ab930b2
  2. 24 10月, 2015 2 次提交
  3. 21 10月, 2015 1 次提交
  4. 15 10月, 2015 2 次提交
  5. 11 10月, 2015 1 次提交
  6. 09 10月, 2015 1 次提交
  7. 08 10月, 2015 1 次提交
  8. 07 10月, 2015 2 次提交
  9. 06 10月, 2015 6 次提交
  10. 05 10月, 2015 1 次提交
  11. 03 10月, 2015 1 次提交
  12. 01 10月, 2015 1 次提交
    • M
      Change the DEFAULT ciphersuites to exclude DES, RC4 and RC2 · c84f7f4a
      Matt Caswell 提交于
      This patch updates the "DEFAULT" cipherstring to be
      "ALL:!COMPLEMENTOFDEFAULT:!eNULL". COMPLEMENTOFDEFAULT is now defined
      internally by a flag on each ciphersuite indicating whether it should be
      excluded from DEFAULT or not. This gives us control at an individual
      ciphersuite level as to exactly what is in DEFAULT and what is not.
      
      Finally all DES, RC4 and RC2 ciphersuites are added to COMPLEMENTOFDEFAULT
      and hence removed from DEFAULT.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      c84f7f4a
  13. 30 9月, 2015 1 次提交
    • D
      Fix no-stdio build · 984d6c60
      David Woodhouse 提交于
      Much related/similar work also done by
      Ivan Nestlerode <ivan.nestlerode@sonos.com>
      
         +Replace FILE BIO's with dummy ops that fail.
         +Include <stdio.h> for sscanf() even with no-stdio (since the declaration
          is there). We rely on sscanf() to parse the OPENSSL_ia32cap environment
          variable, since it can be larger than a 'long'. And we don't rely on the
          availability of strtoull().
         +Remove OPENSSL_stderr(); not used.
         +Make OPENSSL_showfatal() do nothing (currently without stdio there's
          nothing we can do).
         +Remove file-based functionality from ssl/. The function
          prototypes were already gone, but not the functions themselves.
         +Remove unviable conf functionality via SYS_UEFI
         +Add fallback definition of BUFSIZ.
         +Remove functions taking FILE * from header files.
         +Add missing DECLARE_PEM_write_fp_const
         +Disable X509_LOOKUP_hash_dir(). X509_LOOKUP_file() was already compiled out,
          so remove its prototype.
         +Use OPENSSL_showfatal() in CRYPTO_destroy_dynlockid().
         +Eliminate SRP_VBASE_init() and supporting functions. Users will need to
          build the verifier manually instead.
         +Eliminate compiler warning for unused do_pk8pkey_fp().
         +Disable TEST_ENG_OPENSSL_PKEY.
         +Disable GOST engine as is uses [f]printf all over the place.
         +Eliminate compiler warning for unused send_fp_chars().
      Signed-off-by: NRich Salz <rsalz@akamai.com>
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      984d6c60
  14. 28 9月, 2015 2 次提交
  15. 25 9月, 2015 1 次提交
  16. 23 9月, 2015 5 次提交
    • M
      Sanity check cookie_len · 373dc6e1
      Matt Caswell 提交于
      Add a sanity check that the cookie_len returned by app_gen_cookie_cb is
      valid.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      373dc6e1
    • M
      Remove remaining old listen code · 912c89c5
      Matt Caswell 提交于
      The old implementation of DTLSv1_listen which has now been replaced still
      had a few vestiges scattered throughout the code. This commit removes them.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      912c89c5
    • M
      DTLSv1_listen rewrite · e3d0dae7
      Matt Caswell 提交于
      The existing implementation of DTLSv1_listen() is fundamentally flawed. This
      function is used in DTLS solutions to listen for new incoming connections
      from DTLS clients. A client will send an initial ClientHello. The server
      will respond with a HelloVerifyRequest containing a unique cookie. The
      client the responds with a second ClientHello - which this time contains the
      cookie.
      
      Once the cookie has been verified then DTLSv1_listen() returns to user code,
      which is typically expected to continue the handshake with a call to (for
      example) SSL_accept().
      
      Whilst listening for incoming ClientHellos, the underlying BIO is usually in
      an unconnected state. Therefore ClientHellos can come in from *any* peer.
      The arrival of the first ClientHello without the cookie, and the second one
      with it, could be interspersed with other intervening messages from
      different clients.
      
      The whole purpose of this mechanism is as a defence against DoS attacks. The
      idea is to avoid allocating state on the server until the client has
      verified that it is capable of receiving messages at the address it claims
      to come from. However the existing DTLSv1_listen() implementation completely
      fails to do this. It attempts to super-impose itself on the standard state
      machine and reuses all of this code. However the standard state machine
      expects to operate in a stateful manner with a single client, and this can
      cause various problems.
      
      A second more minor issue is that the return codes from this function are
      quite confused, with no distinction made between fatal and non-fatal errors.
      Most user code treats all errors as non-fatal, and simply retries the call
      to DTLSv1_listen().
      
      This commit completely rewrites the implementation of DTLSv1_listen() and
      provides a stand alone implementation that does not rely on the existing
      state machine. It also provides more consistent return codes.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      e3d0dae7
    • E
      PACKET: simplify · 6a12a574
      Emilia Kasper 提交于
      Get rid of the third field that is no longer needed.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      6a12a574
    • E
      Remove ssl_put_cipher_by_char · e9fa092e
      Emilia Kasper 提交于
      Since SSLv3, a CipherSuite is always 2 bytes. The only place where we
      need 3-byte ciphers is SSLv2-compatible ClientHello processing.
      
      So, remove the ssl_put_cipher_by_char indirection.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      e9fa092e
  17. 20 9月, 2015 1 次提交
  18. 18 9月, 2015 2 次提交
  19. 17 9月, 2015 3 次提交
  20. 16 9月, 2015 1 次提交
  21. 15 9月, 2015 1 次提交
    • D
      Fix PSK identity hint handling. · df6da24b
      Dr. Stephen Henson 提交于
      For server use a PSK identity hint value in the CERT structure which
      is inherited when SSL_new is called and which allows applications to
      set hints on a per-SSL basis. The previous version of
      SSL_use_psk_identity_hint tried (wrongly) to use the SSL_SESSION structure.
      
      PR#4039
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      df6da24b
  22. 11 9月, 2015 1 次提交
  23. 10 9月, 2015 1 次提交
  24. 09 9月, 2015 1 次提交