diff options
Diffstat (limited to 'tcpd')
| -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; } |
