1 diff -up dclib-0.3.23/dclib/core/cssl.cpp.openssl dclib-0.3.23/dclib/core/cssl.cpp
2 --- dclib-0.3.23/dclib/core/cssl.cpp.openssl 2009-01-07 23:13:52.000000000 +0100
3 +++ dclib-0.3.23/dclib/core/cssl.cpp 2009-08-25 14:12:21.000000000 +0200
4 @@ -86,7 +86,11 @@ void CSSL::DeInitSSLLibrary()
6 SSL_CTX * CSSL::InitClientCTX()
8 +#if OPENSSL_VERSION_NUMBER >= 0x10000000L
9 + const SSL_METHOD *method;
15 method = SSLv23_client_method(); /* Create new client-method instance */
16 @@ -109,7 +113,11 @@ SSL_CTX * CSSL::InitClientCTX()
18 SSL_CTX * CSSL::InitServerCTX()
20 +#if OPENSSL_VERSION_NUMBER >= 0x10000000L
21 + const SSL_METHOD *method;
27 method = SSLv23_server_method(); /* Create new client-method instance */
28 @@ -130,9 +138,14 @@ SSL_CTX * CSSL::InitServerCTX()
30 SSL_CTX * CSSL::NewTLSv1ClientCTX()
32 - SSL_METHOD * method = TLSv1_client_method();
33 +#if OPENSSL_VERSION_NUMBER >= 0x10000000L
34 + const SSL_METHOD *method;
40 + method = TLSv1_client_method();
43 ctx = SSL_CTX_new(method);
44 @@ -149,9 +162,14 @@ SSL_CTX * CSSL::NewTLSv1ClientCTX()
46 SSL_CTX * CSSL::NewTLSv1ServerCTX()
48 - SSL_METHOD * method = TLSv1_server_method();
49 +#if OPENSSL_VERSION_NUMBER >= 0x10000000L
50 + const SSL_METHOD *method;
56 + method = TLSv1_server_method();
59 ctx = SSL_CTX_new(method);
60 --- dclib-0.3.23/dclib/core/cssl.cpp.org 2018-09-26 06:27:39.330068940 +0200
61 +++ dclib-0.3.23/dclib/core/cssl.cpp 2018-09-26 06:31:39.423763528 +0200
62 @@ -447,7 +447,7 @@ CString CSSL::EncryptData( CSSLObject *
64 CByteArray bain,baout;
67 + EVP_CIPHER_CTX *ctx;
70 if ( !SSLObject || (s.IsEmpty()) )
71 @@ -455,8 +455,11 @@ CString CSSL::EncryptData( CSSLObject *
75 - EVP_CIPHER_CTX_init(&ctx);
76 - EVP_EncryptInit(&ctx, EVP_bf_cbc(), SSLObject->m_remotekey, SSLObject->m_remoteiv);
77 + ctx = EVP_CIPHER_CTX_new();
81 + EVP_EncryptInit(ctx, EVP_bf_cbc(), SSLObject->m_remotekey, SSLObject->m_remoteiv);
85 @@ -466,13 +469,13 @@ CString CSSL::EncryptData( CSSLObject *
87 // input size + cipher_block_size for EVP_EncryptUpdate
88 // plus cipher_block_size for EVP_EncryptFinal
89 - baout.SetSize( bain.Size() + ( 2 * EVP_CIPHER_CTX_block_size(&ctx) ) );
90 + baout.SetSize( bain.Size() + ( 2 * EVP_CIPHER_CTX_block_size(ctx) ) );
91 //printf("CSSL::EncryptData: wrong old size=%lu new size=%lu\n",bain.Size()*2,baout.Size());
94 - if ( EVP_EncryptUpdate(&ctx, baout.Data(), &i, bain.Data(), bain.Size() ) )
95 + if ( EVP_EncryptUpdate(ctx, baout.Data(), &i, bain.Data(), bain.Size() ) )
97 - if ( EVP_EncryptFinal(&ctx, baout.Data()+i, &tmplen) )
98 + if ( EVP_EncryptFinal(ctx, baout.Data()+i, &tmplen) )
102 @@ -483,7 +486,7 @@ CString CSSL::EncryptData( CSSLObject *
106 - EVP_CIPHER_CTX_cleanup(&ctx);
107 + EVP_CIPHER_CTX_free(ctx);
111 @@ -494,7 +497,7 @@ CString CSSL::DecryptData( CSSLObject *
113 CByteArray bain,baout;
115 - EVP_CIPHER_CTX ctx;
116 + EVP_CIPHER_CTX *ctx;
119 if ( !SSLObject || (s.IsEmpty()) )
120 @@ -502,22 +505,25 @@ CString CSSL::DecryptData( CSSLObject *
124 - EVP_CIPHER_CTX_init(&ctx);
125 - EVP_DecryptInit(&ctx, EVP_bf_cbc(), SSLObject->m_localkey, SSLObject->m_localiv);
126 + ctx = EVP_CIPHER_CTX_new();
130 + EVP_DecryptInit(ctx, EVP_bf_cbc(), SSLObject->m_localkey, SSLObject->m_localiv);
133 bain.Append(s.Data(),s.Length());
135 if ( CBase64::Decode(&baout,&bain) > 0 )
137 - bain.SetSize( baout.Size() + ( 2 * EVP_CIPHER_CTX_block_size(&ctx) ) );
138 + bain.SetSize( baout.Size() + ( 2 * EVP_CIPHER_CTX_block_size(ctx) ) );
139 //printf("CSSL::DecryptData: wrong old size=%lu new size=%lu\n",baout.Size()*2,bain.Size());
142 - if ( EVP_DecryptUpdate(&ctx, bain.Data(), &i, baout.Data(), (int)baout.Size() ) )
143 + if ( EVP_DecryptUpdate(ctx, bain.Data(), &i, baout.Data(), (int)baout.Size() ) )
146 - if ( EVP_DecryptFinal(&ctx, bain.Data()+i, &tmplen) )
147 + if ( EVP_DecryptFinal(ctx, bain.Data()+i, &tmplen) )
150 res.Set((const char*)bain.Data()+2,i-2);
151 @@ -525,7 +531,7 @@ CString CSSL::DecryptData( CSSLObject *
155 - EVP_CIPHER_CTX_cleanup(&ctx);
156 + EVP_CIPHER_CTX_free(ctx);