1. 29 2月, 2016 1 次提交
    • M
      Refactor the async wait fd logic · ff75a257
      Matt Caswell 提交于
      Implementation experience has shown that the original plan for async wait
      fds was too simplistic. Originally the async logic created a pipe internally
      and user/engine code could then get access to it via API calls. It is more
      flexible if the engine is able to create its own fd and provide it to the
      async code.
      
      Another issue is that there can be a lot of churn in the fd value within
      the context of (say) a single SSL connection leading to continually adding
      and removing fds from (say) epoll. It is better if we can provide some
      stability of the fd value across a whole SSL connection. This is
      problematic because an engine has no concept of an SSL connection.
      
      This commit refactors things to introduce an ASYNC_WAIT_CTX which acts as a
      proxy for an SSL connection down at the engine layer.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      ff75a257
  2. 26 2月, 2016 1 次提交
  3. 23 2月, 2016 1 次提交
  4. 19 2月, 2016 1 次提交
    • R
      Remove outdated DEBUG flags. · d63a5e5e
      Rich Salz 提交于
      Add -DBIO_DEBUG to --strict-warnings.
      Remove comments about outdated debugging ifdef guards.
      Remove md_rand ifdef guarding an assert; it doesn't seem used.
      Remove the conf guards in conf_api since we use OPENSSL_assert, not assert.
      For pkcs12 stuff put OPENSSL_ in front of the macro name.
      Merge TLS_DEBUG into SSL_DEBUG.
      Various things just turned on/off asserts, mainly for checking non-NULL
      arguments, which is now removed: camellia, bn_ctx, crypto/modes.
      Remove some old debug code, that basically just printed things to stderr:
        DEBUG_PRINT_UNKNOWN_CIPHERSUITES, DEBUG_ZLIB, OPENSSL_RI_DEBUG,
        RL_DEBUG, RSA_DEBUG, SCRYPT_DEBUG.
      Remove OPENSSL_SSL_DEBUG_BROKEN_PROTOCOL.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      d63a5e5e
  5. 17 2月, 2016 1 次提交
  6. 15 2月, 2016 1 次提交
  7. 03 2月, 2016 1 次提交
  8. 21 1月, 2016 1 次提交
  9. 14 1月, 2016 2 次提交
  10. 17 12月, 2015 1 次提交
    • R
      Rename some BUF_xxx to OPENSSL_xxx · 7644a9ae
      Rich Salz 提交于
      Rename BUF_{strdup,strlcat,strlcpy,memdup,strndup,strnlen}
      to OPENSSL_{strdup,strlcat,strlcpy,memdup,strndup,strnlen}
      Add #define's for the old names.
      Add CRYPTO_{memdup,strndup}, called by OPENSSL_{memdup,strndup} macros.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      7644a9ae
  11. 21 11月, 2015 1 次提交
  12. 10 11月, 2015 1 次提交
  13. 24 10月, 2015 1 次提交
  14. 25 9月, 2015 1 次提交
    • M
      Add support for -no-CApath and -no-CAfile options · 2b6bcb70
      Matt Caswell 提交于
      For those command line options that take the verification options
      -CApath and -CAfile, if those options are absent then the default path or
      file is used instead. It is not currently possible to specify *no* path or
      file at all. This change adds the options -no-CApath and -no-CAfile to
      specify that the default locations should not be used to all relevant
      applications.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      2b6bcb70
  15. 12 9月, 2015 1 次提交
  16. 07 9月, 2015 1 次提交
  17. 06 9月, 2015 3 次提交
  18. 16 7月, 2015 1 次提交
  19. 16 6月, 2015 1 次提交
    • R
      RT2547: Tighten perms on generated privkey files · 3b061a00
      Rich Salz 提交于
      When generating a private key, try to make the output file be readable
      only by the owner.  Put it in CHANGES file since it might be noticeable.
      
      Add "int private" flag to apps that write private keys, and check that it's
      set whenever we do write a private key.  Checked via assert so that this
      bug (security-related) gets fixed.  Thanks to Viktor for help in tracing
      the code-paths where private keys are written.
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      3b061a00
  20. 29 5月, 2015 2 次提交
  21. 23 5月, 2015 1 次提交
  22. 11 5月, 2015 1 次提交
  23. 07 5月, 2015 1 次提交
  24. 06 5月, 2015 2 次提交
    • G
      Initialize potentially uninitialized local variables · 4c9b0a03
      Gunnar Kudrjavets 提交于
      Compiling OpenSSL code with MSVC and /W4 results in a number of warnings.
      One category of warnings is particularly interesting - C4701 (potentially
      uninitialized local variable 'name' used). This warning pretty much means
      that there's a code path which results in uninitialized variables being used
      or returned. Depending on compiler, its options, OS, values in registers
      and/or stack, the results can be nondeterministic. Cases like this are very
      hard to debug so it's rational to fix these issues.
      
      This patch contains a set of trivial fixes for all the C4701 warnings (just
      initializing variables to 0 or NULL or appropriate error code) to make sure
      that deterministic values will be returned from all the execution paths.
      
      RT#3835
      Signed-off-by: NMatt Caswell <matt@openssl.org>
      
      Matt's note: All of these appear to be bogus warnings, i.e. there isn't
      actually a code path where an unitialised variable could be used - its just
      that the compiler hasn't been able to figure that out from the logic. So
      this commit is just about silencing spurious warnings.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      4c9b0a03
    • M
      Fix windows build · b1ad95e3
      Matt Caswell 提交于
      Fix error in WIN32_rename() introduced by commit b4faea50.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      b1ad95e3
  25. 05 5月, 2015 1 次提交
    • R
      Use safer sizeof variant in malloc · b4faea50
      Rich Salz 提交于
      For a local variable:
              TYPE *p;
      Allocations like this are "risky":
              p = OPENSSL_malloc(sizeof(TYPE));
      if the type of p changes, and the malloc call isn't updated, you
      could get memory corruption.  Instead do this:
              p = OPENSSL_malloc(sizeof(*p));
      Also fixed a few memset() calls that I noticed while doing this.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      b4faea50
  26. 04 5月, 2015 1 次提交
  27. 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
  28. 01 5月, 2015 7 次提交
    • R
      free NULL cleanup 11 · efa7dd64
      Rich Salz 提交于
      Don't check for NULL before calling free functions. This gets:
              ERR_STATE_free
              ENGINE_free
              DSO_free
              CMAC_CTX_free
              COMP_CTX_free
              CONF_free
              NCONF_free NCONF_free_data _CONF_free_data
              A sk_free use within OBJ_sigid_free
              TS_TST_INFO_free (rest of TS_ API was okay)
              Doc update for UI_free (all uses were fine)
              X509V3_conf_free
              X509V3_section_free
              X509V3_string_free
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      efa7dd64
    • R
      free null cleanup finale · b548a1f1
      Rich Salz 提交于
      Don't check for NULL before calling OPENSSL_free
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      b548a1f1
    • R
      free NULL cleanup 7 · 23a1d5e9
      Rich Salz 提交于
      This gets BN_.*free:
          BN_BLINDING_free BN_CTX_free BN_FLG_FREE BN_GENCB_free
          BN_MONT_CTX_free BN_RECP_CTX_free BN_clear_free BN_free BUF_MEM_free
      
      Also fix a call to DSA_SIG_free to ccgost engine and remove some #ifdef'd
      dead code in engines/e_ubsec.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      23a1d5e9
    • R
      free cleanup 12 · 895cba19
      Rich Salz 提交于
      Don't check for NULL before calling free function.  This gets:
              NAME_CONSTRAINTS_free GENERAL_SUBTREE_free ECDSA_METHOD_free
              JPAKE_CTX_free OCSP_REQ_CTX_free SCT_free SRP_VBASE_free
              SRP_gN_free SRP_user_pwd_free TXT_DB_free
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      895cba19
    • R
      free cleanup almost the finale · 4b45c6e5
      Rich Salz 提交于
      Add OPENSSL_clear_free which merges cleanse and free.
      (Names was picked to be similar to BN_clear_free, etc.)
      Removed OPENSSL_freeFunc macro.
      Fixed the small simple ones that are left:
              CRYPTO_free CRYPTO_free_locked OPENSSL_free_locked
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      4b45c6e5
    • R
      In apps, malloc or die · 68dc6824
      Rich Salz 提交于
      No point in proceeding if you're out of memory.  So change
      *all* OPENSSL_malloc calls in apps to use the new routine which
      prints a message and exits.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      68dc6824
    • R
      free NULL cleanup 5a · 222561fe
      Rich Salz 提交于
      Don't check for NULL before calling a free routine.  This gets X509_.*free:
          x509_name_ex_free X509_policy_tree_free X509_VERIFY_PARAM_free
          X509_STORE_free X509_STORE_CTX_free X509_PKEY_free
          X509_OBJECT_free_contents X509_LOOKUP_free X509_INFO_free
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      222561fe
  29. 30 4月, 2015 1 次提交
    • R
      free NULL cleanup 8 · 2ace7450
      Rich Salz 提交于
      Do not check for NULL before calling a free routine.  This addresses:
          ASN1_BIT_STRING_free ASN1_GENERALIZEDTIME_free ASN1_INTEGER_free
          ASN1_OBJECT_free ASN1_OCTET_STRING_free ASN1_PCTX_free ASN1_SCTX_free
          ASN1_STRING_clear_free ASN1_STRING_free ASN1_TYPE_free
          ASN1_UTCTIME_free M_ASN1_free_of
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      2ace7450