diff options
author | Daniel Stenberg <daniel@haxx.se> | 2016-11-11 13:37:01 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2016-11-11 13:44:09 +0100 |
commit | f9de7c405f2fcaca620155cb72f197ce2aba8462 (patch) | |
tree | 0dd58c7b392a838d9c58ff2eae4888ed4775eade | |
parent | cbec00d914cd3e3ee4c7e139f470431db4ea0081 (diff) | |
download | curl-f9de7c405f2fcaca620155cb72f197ce2aba8462.tar.gz |
openssl: RAND_status always exists in OpenSSL >= 0.9.7
and remove RAND_screen from configure since nothing is using that
function
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | lib/vtls/openssl.c | 22 |
2 files changed, 5 insertions, 21 deletions
diff --git a/configure.ac b/configure.ac index 74f231608..5a8057f61 100644 --- a/configure.ac +++ b/configure.ac @@ -1637,9 +1637,7 @@ if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then dnl SSL_get_shutdown (but this check won't actually detect it there dnl as it's a macro that needs the header files be included) - AC_CHECK_FUNCS( RAND_status \ - RAND_screen \ - RAND_egd \ + AC_CHECK_FUNCS( RAND_egd \ ENGINE_cleanup \ SSL_get_shutdown \ SSLv2_client_method ) diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index 74e5915c3..9cf36b358 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -176,26 +176,12 @@ static int passwd_callback(char *buf, int num, int encrypting, } /* - * rand_enough() is a function that returns TRUE if we have seeded the random - * engine properly. We use some preprocessor magic to provide a seed_enough() - * macro to use, just to prevent a compiler warning on this function if we - * pass in an argument that is never used. + * rand_enough() returns TRUE if we have seeded the random engine properly. */ - -#ifdef HAVE_RAND_STATUS -#define seed_enough(x) rand_enough() static bool rand_enough(void) { return (0 != RAND_status()) ? TRUE : FALSE; } -#else -#define seed_enough(x) rand_enough(x) -static bool rand_enough(int nread) -{ - /* this is a very silly decision to make */ - return (nread > 500) ? TRUE : FALSE; -} -#endif static int ossl_seed(struct Curl_easy *data) { @@ -217,7 +203,7 @@ static int ossl_seed(struct Curl_easy *data) data->set.str[STRING_SSL_RANDOM_FILE]: RANDOM_FILE), RAND_LOAD_LENGTH); - if(seed_enough(nread)) + if(rand_enough()) return nread; } @@ -237,7 +223,7 @@ static int ossl_seed(struct Curl_easy *data) data->set.str[STRING_SSL_EGDSOCKET]:EGD_SOCKET); if(-1 != ret) { nread += ret; - if(seed_enough(nread)) + if(rand_enough()) return nread; } } @@ -258,7 +244,7 @@ static int ossl_seed(struct Curl_easy *data) if(buf[0]) { /* we got a file name to try */ nread += RAND_load_file(buf, RAND_LOAD_LENGTH); - if(seed_enough(nread)) + if(rand_enough()) return nread; } |