]> granicus.if.org Git - php/commitdiff
Add RAND_egd check for compiling against LibreSSL
authorLeigh <leigh@php.net>
Fri, 27 Mar 2015 12:24:36 +0000 (13:24 +0100)
committerLeigh <leigh@php.net>
Fri, 27 Mar 2015 12:33:22 +0000 (13:33 +0100)
ext/openssl/config0.m4
ext/openssl/openssl.c

index 701e4883854f67e5cc5c90736713bb1fb5f3c22c..a9484b4accaa251e8b88ab0e6ea89eaf92014198 100644 (file)
@@ -21,6 +21,7 @@ if test "$PHP_OPENSSL" != "no"; then
 
   AC_CHECK_LIB(ssl, DSA_get_default_method, AC_DEFINE(HAVE_DSA_DEFAULT_METHOD, 1, [OpenSSL 0.9.7 or later]))
   AC_CHECK_LIB(crypto, X509_free, AC_DEFINE(HAVE_DSA_DEFAULT_METHOD, 1, [OpenSSL 0.9.7 or later]))
+  AC_CHECK_FUNCS([RAND_egd])
 
   PHP_SETUP_OPENSSL(OPENSSL_SHARED_LIBADD, 
   [
index 704f119e1d8390df3d1747c181ae6528fcbdd7ec..0c20fa1e1577e5fc3e3f01c995635d979f720cd5 100644 (file)
@@ -993,11 +993,13 @@ static int php_openssl_load_rand_file(const char * file, int *egdsocket, int *se
 
        if (file == NULL) {
                file = RAND_file_name(buffer, sizeof(buffer));
+#ifdef HAVE_RAND_EGD
        } else if (RAND_egd(file) > 0) {
                /* if the given filename is an EGD socket, don't
                 * write anything back to it */
                *egdsocket = 1;
                return SUCCESS;
+#endif
        }
        if (file == NULL || !RAND_load_file(file, -1)) {
                if (RAND_status() == 0) {