1. 19 1月, 2018 1 次提交
  2. 09 1月, 2018 1 次提交
  3. 08 12月, 2017 1 次提交
  4. 18 10月, 2017 1 次提交
    • D
      Fix reseeding issues of the public RAND_DRBG · c16de9d8
      Dr. Matthias St. Pierre 提交于
      Reseeding is handled very differently by the classic RAND_METHOD API
      and the new RAND_DRBG api. These differences led to some problems when
      the new RAND_DRBG was made the default OpenSSL RNG. In particular,
      RAND_add() did not work as expected anymore. These issues are discussed
      on the thread '[openssl-dev] Plea for a new public OpenSSL RNG API'
      and in Pull Request #4328. This commit fixes the mentioned issues,
      introducing the following changes:
      
      - Replace the fixed size RAND_BYTES_BUFFER by a new RAND_POOL API which
        facilitates collecting entropy by the get_entropy() callback.
      - Don't use RAND_poll()/RAND_add() for collecting entropy from the
        get_entropy() callback anymore. Instead, replace RAND_poll() by
        RAND_POOL_acquire_entropy().
      - Add a new function rand_drbg_restart() which tries to get the DRBG
        in an instantiated state by all means, regardless of the current
        state (uninstantiated, error, ...) the DRBG is in. If the caller
        provides entropy or additional input, it will be used for reseeding.
      - Restore the original documented behaviour of RAND_add() and RAND_poll()
        (namely to reseed the DRBG immediately) by a new implementation based
        on rand_drbg_restart().
      - Add automatic error recovery from temporary failures of the entropy
        source to RAND_DRBG_generate() using the rand_drbg_restart() function.
      Reviewed-by: NPaul Dale <paul.dale@oracle.com>
      Reviewed-by: NKurt Roeckx <kurt@roeckx.be>
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      Reviewed-by: NBen Kaduk <kaduk@mit.edu>
      (Merged from https://github.com/openssl/openssl/pull/4328)
      c16de9d8
  5. 01 9月, 2017 2 次提交
  6. 30 8月, 2017 2 次提交
  7. 29 8月, 2017 1 次提交
  8. 22 8月, 2017 1 次提交
  9. 07 8月, 2017 1 次提交
  10. 06 8月, 2017 1 次提交
  11. 20 7月, 2017 1 次提交
  12. 01 7月, 2017 1 次提交
  13. 30 6月, 2017 1 次提交
  14. 29 6月, 2017 1 次提交
    • R
      Add the STORE module · 71a5516d
      Richard Levitte 提交于
      This STORE module adds the following functionality:
      
      - A function OSSL_STORE_open(), OSSL_STORE_load() and OSSL_STORE_close()
        that accesses a URI and helps loading the supported objects (PKEYs,
        CERTs and CRLs for the moment) from it.
      - An opaque type OSSL_STORE_INFO that holds information on each loaded
        object.
      - A few functions to retrieve desired data from a OSSL_STORE_INFO
        reference.
      - Functions to register and unregister loaders for different URI
        schemes.  This enables dynamic addition of loaders from applications
        or from engines.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/3542)
      71a5516d
  15. 28 6月, 2017 1 次提交
  16. 19 6月, 2017 2 次提交
  17. 10 6月, 2017 1 次提交
  18. 04 5月, 2017 1 次提交
  19. 13 1月, 2017 1 次提交
    • R
      Add "random malloc failure" tooling · f7edeced
      Rich Salz 提交于
      Still needs to be documented, somehow/somewhere.
      
      The env var OPENSSL_MALLOC_FAILURES controls how often malloc/realloc
      should fail.  It's a set of fields separated by semicolons.  Each field
      is a count and optional percentage (separated by @) which defaults to 100.
      If count is zero then it lasts "forever."  For example: 100;@25 means the
      first 100 allocations pass, then the rest have a 25% chance of failing
      until the program exits or crashes.
      
      If env var OPENSSL_MALLOC_FD parses as a positive integer, a record
      of all malloc "shouldfail" tests is written to that file descriptor.
      If a malloc will fail, and OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE is not set
      (platform specific), then a backtrace will be written to the descriptor
      when a malloc fails.  This can be useful because a malloc may fail but
      not be checked, and problems will only occur later.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/1252)
      f7edeced
  20. 15 11月, 2016 2 次提交
  21. 11 11月, 2016 1 次提交
  22. 03 11月, 2016 3 次提交
  23. 22 10月, 2016 1 次提交
  24. 19 10月, 2016 1 次提交
    • M
      Do not set load_crypto_strings_inited when OPENSSL_NO_ERR is defined · a1f2b0e6
      Mat 提交于
      Only set the load_crypto_strings_inited to 1 when err_load_crypto_strings_int was called.
      
      This solves the following issue:
      - openssl is built with no-err
      - load_crypto_strings_inited is set to 1 during the OPENSSL_init_crypto call
      - During the cleanup: OPENSSL_cleanup, err_free_strings_int is called because load_crypto_strings_inited == 1
      - err_free_strings_int calls do_err_strings_init because it has never been called
      - Now do_err_strings_init calls OPENSSL_init_crypto
      - But since we are in the cleanup (stopped == 1) this results in an error:
        CRYPTOerr(CRYPTO_F_OPENSSL_INIT_CRYPTO, ERR_R_INIT_FAIL);
      - which then tries to initialize everything we are trying to clean up: ERR_get_state, ossl_init_thread_start, etc
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/1654)
      a1f2b0e6
  25. 18 8月, 2016 1 次提交
  26. 21 7月, 2016 1 次提交
  27. 20 7月, 2016 1 次提交
  28. 06 7月, 2016 1 次提交
  29. 15 6月, 2016 1 次提交
  30. 18 5月, 2016 1 次提交
  31. 17 5月, 2016 1 次提交
  32. 10 5月, 2016 1 次提交
  33. 14 4月, 2016 1 次提交
  34. 13 4月, 2016 1 次提交
    • D
      Remove check_defer() · a535fe12
      Dr. Stephen Henson 提交于
      The check_defer() function was used to ensure that EVP_cleanup() was always
      called before OBJ_cleanup(). The new cleanup code ensures this so it is
      no longer needed.
      
      Remove obj_cleanup() call in OID config module: it is not needed
      any more either.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      a535fe12