aboutsummaryrefslogtreecommitdiff
path: root/archivers
diff options
context:
space:
mode:
authorJason E. Hale <jhale@FreeBSD.org>2018-10-12 07:35:46 +0000
committerJason E. Hale <jhale@FreeBSD.org>2018-10-12 07:35:46 +0000
commitd3350043d90d4df1c08bb6f1e42e2304fc0b6392 (patch)
treee055994a0a10c38e7b20d7d01fc7705364015524 /archivers
parenta0c0fbd1df73be5a7ea6542d29efe84c85ab51c9 (diff)
downloadports-d3350043d90d4df1c08bb6f1e42e2304fc0b6392.tar.gz
ports-d3350043d90d4df1c08bb6f1e42e2304fc0b6392.zip
Fix build with OpenSSL 1.1.x
Reported by: pkg-fallout (head)
Notes
Notes: svn path=/head/; revision=481881
Diffstat (limited to 'archivers')
-rw-r--r--archivers/libunrar5/Makefile1
-rw-r--r--archivers/libunrar5/files/patch-rijndael.cpp32
-rw-r--r--archivers/libunrar5/files/patch-rijndael.hpp10
3 files changed, 30 insertions, 13 deletions
diff --git a/archivers/libunrar5/Makefile b/archivers/libunrar5/Makefile
index ace0a5260e09..1b7ec808bcd7 100644
--- a/archivers/libunrar5/Makefile
+++ b/archivers/libunrar5/Makefile
@@ -36,7 +36,6 @@ OPENSSL_AES_DESC= Use OpenSSL implementation of AES
OPENSSL_AES_CPPFLAGS= -DOPENSSL_AES -I${OPENSSLINC}
OPENSSL_AES_LDFLAGS= -L${OPENSSLLIB} -lcrypto
OPENSSL_AES_USES= ssl
-OPENSSL_AES_VARS= BROKEN_SSL=openssl-devel
PLIST_FILES= lib/libunrar.a \
lib/libunrar.so \
diff --git a/archivers/libunrar5/files/patch-rijndael.cpp b/archivers/libunrar5/files/patch-rijndael.cpp
index 0d48cdad9eaa..93d60494b85c 100644
--- a/archivers/libunrar5/files/patch-rijndael.cpp
+++ b/archivers/libunrar5/files/patch-rijndael.cpp
@@ -1,4 +1,4 @@
---- rijndael.cpp.orig 2017-04-28 17:28:47 UTC
+--- rijndael.cpp.orig 2018-06-24 15:10:31 UTC
+++ rijndael.cpp
@@ -7,6 +7,8 @@
***************************************************************************/
@@ -17,7 +17,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// API
-@@ -63,14 +66,35 @@ inline void Copy128(byte *dest,const byt
+@@ -63,14 +66,41 @@ inline void Copy128(byte *dest,const byt
Rijndael::Rijndael()
{
@@ -46,14 +46,20 @@
+ break;
+ }
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_CIPHER_CTX_init(&ctx);
+ EVP_CipherInit_ex(&ctx, cipher, NULL, key, initVector, Encrypt);
+ EVP_CIPHER_CTX_set_padding(&ctx, 0);
++#else
++ EVP_CIPHER_CTX_init(ctx);
++ EVP_CipherInit_ex(ctx, cipher, NULL, key, initVector, Encrypt);
++ EVP_CIPHER_CTX_set_padding(ctx, 0);
++#endif
+#else // OPENSSL_AES
#ifdef USE_SSE
// Check SSE here instead of constructor, so if object is a part of some
// structure memset'ed before use, this variable is not lost.
-@@ -111,6 +135,7 @@ void Rijndael::Init(bool Encrypt,const b
+@@ -111,6 +141,7 @@ void Rijndael::Init(bool Encrypt,const b
if(!Encrypt)
keyEncToDec();
@@ -61,19 +67,23 @@
}
void Rijndael::blockEncrypt(const byte *input,size_t inputLen,byte *outBuffer)
-@@ -118,6 +143,11 @@ void Rijndael::blockEncrypt(const byte *
+@@ -118,6 +149,15 @@ void Rijndael::blockEncrypt(const byte *
if (inputLen <= 0)
return;
+#ifdef OPENSSL_AES
+ int outLen;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_CipherUpdate(&ctx, outBuffer, &outLen, input, inputLen);
++#else
++ EVP_CipherUpdate(ctx, outBuffer, &outLen, input, inputLen);
++#endif
+ return;
+#else // OPENSSL_AES
size_t numBlocks = inputLen/16;
#ifdef USE_SSE
if (AES_NI)
-@@ -176,6 +206,7 @@ void Rijndael::blockEncrypt(const byte *
+@@ -176,6 +216,7 @@ void Rijndael::blockEncrypt(const byte *
input += 16;
}
Copy128(m_initVector,prevBlock);
@@ -81,19 +91,23 @@
}
-@@ -217,6 +248,11 @@ void Rijndael::blockDecrypt(const byte *
+@@ -217,6 +258,15 @@ void Rijndael::blockDecrypt(const byte *
if (inputLen <= 0)
return;
+#ifdef OPENSSL_AES
+ int outLen;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_CipherUpdate(&ctx, outBuffer, &outLen, input, inputLen);
++#else
++ EVP_CipherUpdate(ctx, outBuffer, &outLen, input, inputLen);
++#endif
+ return;
+#else // OPENSSL_AES
size_t numBlocks=inputLen/16;
#ifdef USE_SSE
if (AES_NI)
-@@ -279,6 +315,8 @@ void Rijndael::blockDecrypt(const byte *
+@@ -279,6 +329,8 @@ void Rijndael::blockDecrypt(const byte *
}
memcpy(m_initVector,iv,16);
@@ -102,7 +116,7 @@
}
-@@ -314,7 +352,7 @@ void Rijndael::blockDecryptSSE(const byt
+@@ -314,7 +366,7 @@ void Rijndael::blockDecryptSSE(const byt
}
#endif
@@ -111,7 +125,7 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ALGORITHM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-@@ -454,7 +492,7 @@ void Rijndael::GenerateTables()
+@@ -454,7 +506,7 @@ void Rijndael::GenerateTables()
U1[b][0]=U2[b][1]=U3[b][2]=U4[b][3]=T5[i][0]=T6[i][1]=T7[i][2]=T8[i][3]=FFmul0e(b);
}
}
diff --git a/archivers/libunrar5/files/patch-rijndael.hpp b/archivers/libunrar5/files/patch-rijndael.hpp
index 8cf2a821ed90..e85656700db5 100644
--- a/archivers/libunrar5/files/patch-rijndael.hpp
+++ b/archivers/libunrar5/files/patch-rijndael.hpp
@@ -1,16 +1,20 @@
---- rijndael.hpp.orig 2017-04-28 17:28:47 UTC
+--- rijndael.hpp.orig 2018-06-24 15:10:31 UTC
+++ rijndael.hpp
-@@ -16,6 +16,9 @@
+@@ -16,6 +16,13 @@
class Rijndael
{
private:
+#ifdef OPENSSL_AES
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_CIPHER_CTX ctx;
++#else
++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
++#endif
+#else // OPENSSL_AES
#ifdef USE_SSE
void blockEncryptSSE(const byte *input,size_t numBlocks,byte *outBuffer);
void blockDecryptSSE(const byte *input, size_t numBlocks, byte *outBuffer);
-@@ -25,6 +28,7 @@ class Rijndael
+@@ -25,6 +32,7 @@ class Rijndael
void keySched(byte key[_MAX_KEY_COLUMNS][4]);
void keyEncToDec();
void GenerateTables();