[packages/dclib] - rel 4; fix openssl 1.1.1 build

arekm arekm at pld-linux.org
Wed Sep 26 06:34:01 CEST 2018


commit 50c4c2394610502a9bc56fb8a78aa302885b1952
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed Sep 26 06:33:53 2018 +0200

    - rel 4; fix openssl 1.1.1 build

 dclib-ssl.patch | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 dclib.spec      |   2 +-
 2 files changed, 101 insertions(+), 1 deletion(-)
---
diff --git a/dclib.spec b/dclib.spec
index 659ce9f..3a107c0 100644
--- a/dclib.spec
+++ b/dclib.spec
@@ -6,7 +6,7 @@ Summary:	DirectConnect support library for dcgui-qt
 Summary(pl.UTF-8):	Biblioteka obsługująca DirectConnect dla dcgui-qt
 Name:		dclib
 Version:	0.3.23
-Release:	3
+Release:	4
 Epoch:		1
 License:	GPL
 Group:		Libraries
diff --git a/dclib-ssl.patch b/dclib-ssl.patch
index f124a21..b84b7a8 100644
--- a/dclib-ssl.patch
+++ b/dclib-ssl.patch
@@ -57,3 +57,103 @@ diff -up dclib-0.3.23/dclib/core/cssl.cpp.openssl dclib-0.3.23/dclib/core/cssl.c
  	if ( method != NULL )
  	{
  		ctx = SSL_CTX_new(method);
+--- dclib-0.3.23/dclib/core/cssl.cpp.org	2018-09-26 06:27:39.330068940 +0200
++++ dclib-0.3.23/dclib/core/cssl.cpp	2018-09-26 06:31:39.423763528 +0200
+@@ -447,7 +447,7 @@ CString CSSL::EncryptData( CSSLObject *
+ 	CString res;
+ 	CByteArray bain,baout;
+ 	int i,tmplen;
+-	EVP_CIPHER_CTX ctx;
++	EVP_CIPHER_CTX *ctx;
+ 
+ 	// sanity check
+ 	if ( !SSLObject || (s.IsEmpty()) )
+@@ -455,8 +455,11 @@ CString CSSL::EncryptData( CSSLObject *
+ 		return res;
+ 	}
+ 	
+-	EVP_CIPHER_CTX_init(&ctx);
+-	EVP_EncryptInit(&ctx, EVP_bf_cbc(), SSLObject->m_remotekey, SSLObject->m_remoteiv);
++	ctx = EVP_CIPHER_CTX_new();
++	if (ctx == NULL)
++		return res;
++
++	EVP_EncryptInit(ctx, EVP_bf_cbc(), SSLObject->m_remotekey, SSLObject->m_remoteiv);
+ 
+ 	// init input array
+ 	bain.SetSize(2);
+@@ -466,13 +469,13 @@ CString CSSL::EncryptData( CSSLObject *
+ 	// init output array
+ 	// input size + cipher_block_size for EVP_EncryptUpdate
+ 	// plus cipher_block_size for EVP_EncryptFinal
+-	baout.SetSize( bain.Size() + ( 2 * EVP_CIPHER_CTX_block_size(&ctx) ) );
++	baout.SetSize( bain.Size() + ( 2 * EVP_CIPHER_CTX_block_size(ctx) ) );
+ 	//printf("CSSL::EncryptData: wrong old size=%lu new size=%lu\n",bain.Size()*2,baout.Size());
+ 	i = baout.Size();
+ 
+-	if ( EVP_EncryptUpdate(&ctx, baout.Data(), &i, bain.Data(), bain.Size() ) )
++	if ( EVP_EncryptUpdate(ctx, baout.Data(), &i, bain.Data(), bain.Size() ) )
+ 	{
+-		if ( EVP_EncryptFinal(&ctx, baout.Data()+i, &tmplen) )
++		if ( EVP_EncryptFinal(ctx, baout.Data()+i, &tmplen) )
+ 		{
+ 			i+=tmplen;
+ 			bain.SetSize(0);
+@@ -483,7 +486,7 @@ CString CSSL::EncryptData( CSSLObject *
+ 		}
+ 	}
+ 
+-	EVP_CIPHER_CTX_cleanup(&ctx);
++	EVP_CIPHER_CTX_free(ctx);
+ 
+ 	return res;
+ }
+@@ -494,7 +497,7 @@ CString CSSL::DecryptData( CSSLObject *
+ 	CString res;
+ 	CByteArray bain,baout;
+ 	int i,tmplen;
+-	EVP_CIPHER_CTX ctx;
++	EVP_CIPHER_CTX *ctx;
+ 
+ 	// sanity check
+ 	if ( !SSLObject || (s.IsEmpty()) )
+@@ -502,22 +505,25 @@ CString CSSL::DecryptData( CSSLObject *
+ 		return res;
+ 	}
+ 	
+-	EVP_CIPHER_CTX_init(&ctx);
+-	EVP_DecryptInit(&ctx, EVP_bf_cbc(), SSLObject->m_localkey, SSLObject->m_localiv);
++	ctx = EVP_CIPHER_CTX_new();
++	if (ctx == NULL)
++		return res;
++
++	EVP_DecryptInit(ctx, EVP_bf_cbc(), SSLObject->m_localkey, SSLObject->m_localiv);
+ 
+ 	bain.SetSize(0);
+ 	bain.Append(s.Data(),s.Length());
+ 
+ 	if ( CBase64::Decode(&baout,&bain) > 0 )
+ 	{
+-		bain.SetSize( baout.Size() + ( 2 * EVP_CIPHER_CTX_block_size(&ctx) ) );
++		bain.SetSize( baout.Size() + ( 2 * EVP_CIPHER_CTX_block_size(ctx) ) );
+ 		//printf("CSSL::DecryptData: wrong old size=%lu new size=%lu\n",baout.Size()*2,bain.Size());
+ 		i = 0;
+ 
+-		if ( EVP_DecryptUpdate(&ctx, bain.Data(), &i, baout.Data(), (int)baout.Size() ) )
++		if ( EVP_DecryptUpdate(ctx, bain.Data(), &i, baout.Data(), (int)baout.Size() ) )
+ 		{
+ 			tmplen = 0;
+-			if ( EVP_DecryptFinal(&ctx, bain.Data()+i, &tmplen) )
++			if ( EVP_DecryptFinal(ctx, bain.Data()+i, &tmplen) )
+ 			{
+ 				i+=tmplen;
+ 				res.Set((const char*)bain.Data()+2,i-2);
+@@ -525,7 +531,7 @@ CString CSSL::DecryptData( CSSLObject *
+ 		}
+ 	}
+ 
+-	EVP_CIPHER_CTX_cleanup(&ctx);
++	EVP_CIPHER_CTX_free(ctx);
+ 
+ 	return res;
+ }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dclib.git/commitdiff/50c4c2394610502a9bc56fb8a78aa302885b1952



More information about the pld-cvs-commit mailing list