]> git.pld-linux.org Git - packages/dclib.git/blame - dclib-ssl.patch
- rel 4; fix openssl 1.1.1 build
[packages/dclib.git] / dclib-ssl.patch
CommitLineData
57a2e0a5
PG
1diff -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()
5 /** */
6 SSL_CTX * CSSL::InitClientCTX()
7 {
8+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
9+ const SSL_METHOD *method;
10+#else
11 SSL_METHOD *method;
12+#endif
13 SSL_CTX *ctx = NULL;
14
15 method = SSLv23_client_method(); /* Create new client-method instance */
16@@ -109,7 +113,11 @@ SSL_CTX * CSSL::InitClientCTX()
17 /** */
18 SSL_CTX * CSSL::InitServerCTX()
19 {
20+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
21+ const SSL_METHOD *method;
22+#else
23 SSL_METHOD *method;
24+#endif
25 SSL_CTX *ctx = NULL;
26
27 method = SSLv23_server_method(); /* Create new client-method instance */
28@@ -130,9 +138,14 @@ SSL_CTX * CSSL::InitServerCTX()
29 /** */
30 SSL_CTX * CSSL::NewTLSv1ClientCTX()
31 {
32- SSL_METHOD * method = TLSv1_client_method();
33+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
34+ const SSL_METHOD *method;
35+#else
36+ SSL_METHOD *method;
37+#endif
38 SSL_CTX * ctx = NULL;
39
40+ method = TLSv1_client_method();
41 if ( method != NULL )
42 {
43 ctx = SSL_CTX_new(method);
44@@ -149,9 +162,14 @@ SSL_CTX * CSSL::NewTLSv1ClientCTX()
45 /** */
46 SSL_CTX * CSSL::NewTLSv1ServerCTX()
47 {
48- SSL_METHOD * method = TLSv1_server_method();
49+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
50+ const SSL_METHOD *method;
51+#else
52+ SSL_METHOD *method;
53+#endif
54 SSL_CTX * ctx = NULL;
55
56+ method = TLSv1_server_method();
57 if ( method != NULL )
58 {
59 ctx = SSL_CTX_new(method);
50c4c239
AM
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 *
63 CString res;
64 CByteArray bain,baout;
65 int i,tmplen;
66- EVP_CIPHER_CTX ctx;
67+ EVP_CIPHER_CTX *ctx;
68
69 // sanity check
70 if ( !SSLObject || (s.IsEmpty()) )
71@@ -455,8 +455,11 @@ CString CSSL::EncryptData( CSSLObject *
72 return res;
73 }
74
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();
78+ if (ctx == NULL)
79+ return res;
80+
81+ EVP_EncryptInit(ctx, EVP_bf_cbc(), SSLObject->m_remotekey, SSLObject->m_remoteiv);
82
83 // init input array
84 bain.SetSize(2);
85@@ -466,13 +469,13 @@ CString CSSL::EncryptData( CSSLObject *
86 // init output array
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());
92 i = baout.Size();
93
94- if ( EVP_EncryptUpdate(&ctx, baout.Data(), &i, bain.Data(), bain.Size() ) )
95+ if ( EVP_EncryptUpdate(ctx, baout.Data(), &i, bain.Data(), bain.Size() ) )
96 {
97- if ( EVP_EncryptFinal(&ctx, baout.Data()+i, &tmplen) )
98+ if ( EVP_EncryptFinal(ctx, baout.Data()+i, &tmplen) )
99 {
100 i+=tmplen;
101 bain.SetSize(0);
102@@ -483,7 +486,7 @@ CString CSSL::EncryptData( CSSLObject *
103 }
104 }
105
106- EVP_CIPHER_CTX_cleanup(&ctx);
107+ EVP_CIPHER_CTX_free(ctx);
108
109 return res;
110 }
111@@ -494,7 +497,7 @@ CString CSSL::DecryptData( CSSLObject *
112 CString res;
113 CByteArray bain,baout;
114 int i,tmplen;
115- EVP_CIPHER_CTX ctx;
116+ EVP_CIPHER_CTX *ctx;
117
118 // sanity check
119 if ( !SSLObject || (s.IsEmpty()) )
120@@ -502,22 +505,25 @@ CString CSSL::DecryptData( CSSLObject *
121 return res;
122 }
123
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();
127+ if (ctx == NULL)
128+ return res;
129+
130+ EVP_DecryptInit(ctx, EVP_bf_cbc(), SSLObject->m_localkey, SSLObject->m_localiv);
131
132 bain.SetSize(0);
133 bain.Append(s.Data(),s.Length());
134
135 if ( CBase64::Decode(&baout,&bain) > 0 )
136 {
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());
140 i = 0;
141
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() ) )
144 {
145 tmplen = 0;
146- if ( EVP_DecryptFinal(&ctx, bain.Data()+i, &tmplen) )
147+ if ( EVP_DecryptFinal(ctx, bain.Data()+i, &tmplen) )
148 {
149 i+=tmplen;
150 res.Set((const char*)bain.Data()+2,i-2);
151@@ -525,7 +531,7 @@ CString CSSL::DecryptData( CSSLObject *
152 }
153 }
154
155- EVP_CIPHER_CTX_cleanup(&ctx);
156+ EVP_CIPHER_CTX_free(ctx);
157
158 return res;
159 }
This page took 0.074379 seconds and 4 git commands to generate.