summaryrefslogtreecommitdiffstats
path: root/tcpd
diff options
context:
space:
mode:
authorSam Varshavchik2022-05-23 21:01:44 -0400
committerSam Varshavchik2022-05-23 21:01:44 -0400
commit27df85cdad37e4945b1144ed2d4be92b40e4519f (patch)
treec6eb242df4318b0a8f189f2bf12a3cd6241c18f9 /tcpd
parent545e97ccb9facf67865f8f758053d440e9076de0 (diff)
downloadcourier-libs-27df85cdad37e4945b1144ed2d4be92b40e4519f.tar.bz2
openssl 3.0 fixes.
Diffstat (limited to 'tcpd')
-rw-r--r--tcpd/libcouriertls.c3
-rw-r--r--tcpd/tlspasswordcache.c13
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;
}