From 0968fbdad7fb3d98e71cefb50a07935a1519fc77 Mon Sep 17 00:00:00 2001
From: Michele Calgaro <michele.calgaro@yahoo.it>
Date: Fri, 16 Oct 2026 12:31:12 +0900
Subject: Require openssl 1.1 or greater

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
---
 ConfigureChecks.cmake         | 12 ++++--------
 src/kvilib/net/kvi_ssl.cpp    | 14 --------------
 src/modules/str/libkvistr.cpp | 10 ----------
 3 files changed, 4 insertions(+), 32 deletions(-)

diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 35f132ef..c6660402 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -362,18 +362,14 @@ endif( )
 ##### check for SSL support
 
 if( WITH_SSL )
-  pkg_search_module( SSL openssl )
+  pkg_search_module( SSL openssl>=1.1.0 )
   
   if( NOT SSL_FOUND )
     check_include_file( openssl/ssl.h HAVE_OPENSSL_H )
     check_library_exists( ssl OPENSSL_init_ssl "" HAVE_LIBSSL_11 )
     check_library_exists( crypto EVP_EncryptInit_ex "" HAVE_LIBCRYPTO )
-  
-    if( NOT HAVE_LIBSSL_11 )
-      check_library_exists( ssl SSL_library_init "" HAVE_LIBSSL )
-    endif( )
-  
-    if( HAVE_OPENSSL_H AND HAVE_LIBCRYPTO AND (HAVE_LIBSSL_11 OR HAVE_LIBSSL)  )
+
+    if( HAVE_OPENSSL_H AND HAVE_LIBCRYPTO AND HAVE_LIBSSL_11 )
       set( SSL_FOUND 1 CACHE INTERNAL "" FORCE )
       find_file( OPENSSLV_H openssl/opensslv.h )
       file( STRINGS "${OPENSSLV_H}" SSL_VERSION REGEX "#[ \t]*define[ \t]*OPENSSL_VERSION_TEXT" )
@@ -385,7 +381,7 @@ if( WITH_SSL )
   endif( )
   
   if( NOT SSL_FOUND )
-    tde_message_fatal( "SSL support was requested but not found on your system" )
+    tde_message_fatal( "OpenSSL 1.1 or newer is required but was not found on your system" )
   endif( )
   set( COMPILE_SSL_SUPPORT 1 )
 endif( )
diff --git a/src/kvilib/net/kvi_ssl.cpp b/src/kvilib/net/kvi_ssl.cpp
index 038e124a..ce0bdab7 100644
--- a/src/kvilib/net/kvi_ssl.cpp
+++ b/src/kvilib/net/kvi_ssl.cpp
@@ -209,12 +209,7 @@ static DH * my_get_dh(int keylength)
 	if(!dh)return 0;
 	BIGNUM *bn_p = BN_bin2bn(p,sp,0);
 	BIGNUM *bn_g = BN_bin2bn(g,sg,0);
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-	dh->p= bn_p;
-	dh->g= bn_g;
-#else
 	DH_set0_pqg(dh, bn_p, NULL, bn_g);
-#endif
 	if((bn_p == 0) || (bn_g == 0))
 	{
 		DH_free(dh);
@@ -614,11 +609,7 @@ void KviSSLCertificate::extractPubKeyInfo()
 	if(p)
 	{
 		m_iPubKeyBits = EVP_PKEY_bits(p);
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-		m_szPubKeyType = (p->type == NID_undef) ? __tr("Unknown") : OBJ_nid2ln(p->type);
-#else
 		m_szPubKeyType = (EVP_PKEY_base_id(p) == NID_undef) ? __tr("Unknown") : OBJ_nid2ln(EVP_PKEY_base_id(p));
-#endif
 //		getPKeyType(p->type,m_szPubKeyType);
 	} else {
 		m_iPubKeyBits = 0;
@@ -642,12 +633,7 @@ void KviSSLCertificate::extractSignature()
 
 	const ASN1_BIT_STRING *signature = 0L;
 	const X509_ALGOR *sig_alg = 0L;
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-	signature = m_pX509->signature;
-	sig_alg = m_pX509->sig_alg;
-#else
 	X509_get0_signature(&signature, &sig_alg, m_pX509);
-#endif
 	int i = OBJ_obj2nid(sig_alg->algorithm);
 	m_szSignatureType = (i == NID_undef) ? __tr("Unknown") : OBJ_nid2ln(i);
 
diff --git a/src/modules/str/libkvistr.cpp b/src/modules/str/libkvistr.cpp
index 810bf345..31de32b5 100644
--- a/src/modules/str/libkvistr.cpp
+++ b/src/modules/str/libkvistr.cpp
@@ -1545,21 +1545,11 @@ static bool str_kvs_fnc_digest(KviKvsModuleFunctionCall * c)
 		return true;
 	}
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
-	mdctx = (EVP_MD_CTX*)OPENSSL_malloc(sizeof(EVP_MD_CTX));
-	EVP_MD_CTX_init(mdctx);
-#else
 	mdctx = EVP_MD_CTX_new();
-#endif
 	EVP_DigestInit_ex(mdctx, md, NULL);
 	EVP_DigestUpdate(mdctx, szString.utf8().data(), szString.utf8().length());
 	EVP_DigestFinal_ex(mdctx, md_value, &md_len);
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
-	EVP_MD_CTX_cleanup(mdctx);
-	OPENSSL_free(mdctx);
-#else
 	EVP_MD_CTX_free(mdctx);
-#endif
 
 	for(i = 0; i < md_len; i++)
 	{
-- 
cgit v1.2.3

