diff options
| -rw-r--r-- | tcpd/libcouriertls.c | 3 | ||||
| -rw-r--r-- | tcpd/tlspasswordcache.c | 13 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/tcpd/libcouriertls.c b/tcpd/libcouriertls.c index 9c2847a..22b9593 100644 --- a/tcpd/libcouriertls.c +++ b/tcpd/libcouriertls.c @@ -1017,6 +1017,8 @@ SSL_CTX *tls_create_int(int isserver, const struct tls_info *info,  			SSLeay_add_ssl_algorithms();  #endif +#if OPENSSL_VERSION_MAJOR < 3 +  			while (RAND_status() != 1)  			{  				const char *p=random128(); @@ -1024,6 +1026,7 @@ SSL_CTX *tls_create_int(int isserver, const struct tls_info *info,  				RAND_add(p, l, l/16);  			} +#endif  		}  	} diff --git a/tcpd/tlspasswordcache.c b/tcpd/tlspasswordcache.c index a5de624..44a06e0 100644 --- a/tcpd/tlspasswordcache.c +++ b/tcpd/tlspasswordcache.c @@ -370,8 +370,16 @@ typedef EVP_CIPHER_CTX CIPHER_CONTEXT;  #define RANDOM_BYTES RAND_pseudo_bytes  #define CONTEXT(ctx) (ctx) + +#endif + +#ifndef OPENSSL_VERSION_MAJOR +#define OPENSSL_VERSION_MAJOR 0  #endif +#if OPENSSL_VERSION_MAJOR >= 3 +#include <openssl/provider.h> +#endif  #if HAVE_OPENSSL097 @@ -386,6 +394,11 @@ int tlspassword_init()  	if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P))  		gcry_check_version(NULL);  #endif + +#if OPENSSL_VERSION_MAJOR >= 3 +	OSSL_PROVIDER_load(NULL, "legacy"); +	OSSL_PROVIDER_load(NULL, "default"); +#endif  	return 1;  } | 
