libldap.so: undefined reference to `RAND_egd'

RAND_egd does not exist because OpenSSL was built with the default settings

which, as of 1.1, has "EGD" disabled by default [0].

[0] 0423f812dc Add a no-egd option to disable EGD-related code

 *) EGD is no longer supported by default; use enable-egd when
    configuring.
    [Ben Kaduv and Rich Salz]

The RAND_egd reference is in libraries/libldap/tls_o.c:

--- openldap-2.4.45/libraries/libldap/tls_o.c   2019-03-08 08:04:25.626548757 +0000

+++ openldap-2.4.45-org/libraries/libldap/tls_o.c       2019-03-08 08:04:10.246374578 +0000

@@ -1187,11 +1187,13 @@

                 */

                randfile = RAND_file_name( buffer, sizeof( buffer ) );


-       } else if (RAND_egd(randfile) > 0) {

+       }

+#ifndef OPENSSL_NO_EGD 

+       else if (RAND_egd(randfile) > 0) {

                /* EGD socket */

                return 0;

        }

-

+#endif

        if (randfile == NULL) {

                Debug( LDAP_DEBUG_ANY,

                        "TLS: Use configuration file or $RANDFILE to define seed PRNG\n",

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章