diff options
author | jhale <jhale@FreeBSD.org> | 2018-10-12 15:35:46 +0800 |
---|---|---|
committer | jhale <jhale@FreeBSD.org> | 2018-10-12 15:35:46 +0800 |
commit | 609b218154c6b425e862193222c6d65cc746e3ab (patch) | |
tree | e055994a0a10c38e7b20d7d01fc7705364015524 /archivers | |
parent | 7aaa712e2466359b12fd9469d68e478af4155933 (diff) | |
download | freebsd-ports-gnome-609b218154c6b425e862193222c6d65cc746e3ab.tar.gz freebsd-ports-gnome-609b218154c6b425e862193222c6d65cc746e3ab.tar.zst freebsd-ports-gnome-609b218154c6b425e862193222c6d65cc746e3ab.zip |
Fix build with OpenSSL 1.1.x
Reported by: pkg-fallout (head)
Diffstat (limited to 'archivers')
-rw-r--r-- | archivers/libunrar5/Makefile | 1 | ||||
-rw-r--r-- | archivers/libunrar5/files/patch-rijndael.cpp | 32 | ||||
-rw-r--r-- | archivers/libunrar5/files/patch-rijndael.hpp | 10 |
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(); |