git: ad3bef286df6 - main - archivers/libunrar: Update to 7.0.9
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 14 Jun 2024 01:45:59 UTC
The branch main has been updated by jhale:
URL: https://cgit.FreeBSD.org/ports/commit/?id=ad3bef286df69674ccf4e199c2f5363c20c632d6
commit ad3bef286df69674ccf4e199c2f5363c20c632d6
Author: Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-06-14 01:15:52 +0000
Commit: Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-06-14 01:45:53 +0000
archivers/libunrar: Update to 7.0.9
---
archivers/libunrar/Makefile | 4 +-
archivers/libunrar/distinfo | 6 +--
archivers/libunrar/files/patch-os.hpp | 10 ++--
archivers/libunrar/files/patch-rijndael.cpp | 84 ++++++++++++++++++-----------
archivers/libunrar/files/patch-rijndael.hpp | 16 +++---
5 files changed, 72 insertions(+), 48 deletions(-)
diff --git a/archivers/libunrar/Makefile b/archivers/libunrar/Makefile
index d25f713b0212..ce4f45219d21 100644
--- a/archivers/libunrar/Makefile
+++ b/archivers/libunrar/Makefile
@@ -1,5 +1,5 @@
PORTNAME= libunrar
-PORTVERSION= 6.2.12
+PORTVERSION= 7.0.9
PORTEPOCH= 1
CATEGORIES= archivers
MASTER_SITES= http://www.rarlab.com/rar/
@@ -24,7 +24,7 @@ MAKE_ARGS= AR="${AR}" \
CXXFLAGS="${CXXFLAGS} -fPIC" \
LDFLAGS="-Wl,-soname,${SONAME} -pthread ${LDFLAGS}" \
STRIP="${STRIP_CMD}"
-SONAME= libunrar.so.6
+SONAME= libunrar.so.${PORTVERSION:R:R}
WRKSRC= ${WRKDIR}/unrar
OPTIONS_DEFINE= OPENSSL_AES
diff --git a/archivers/libunrar/distinfo b/archivers/libunrar/distinfo
index 0c053b59197c..9e79fd04e174 100644
--- a/archivers/libunrar/distinfo
+++ b/archivers/libunrar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1696565467
-SHA256 (unrarsrc-6.2.12.tar.gz) = a008b5f949bca9bb4ffa1bebbfc8b3c14b89df10a10354809b845232d5f582e5
-SIZE (unrarsrc-6.2.12.tar.gz) = 246918
+TIMESTAMP = 1718185508
+SHA256 (unrarsrc-7.0.9.tar.gz) = 505c13f9e4c54c01546f2e29b2fcc2d7fabc856a060b81e5cdfe6012a9198326
+SIZE (unrarsrc-7.0.9.tar.gz) = 258287
diff --git a/archivers/libunrar/files/patch-os.hpp b/archivers/libunrar/files/patch-os.hpp
index ef633fb42257..900ac20f3c86 100644
--- a/archivers/libunrar/files/patch-os.hpp
+++ b/archivers/libunrar/files/patch-os.hpp
@@ -1,10 +1,10 @@
---- os.hpp.orig 2023-01-17 16:25:54 UTC
+--- os.hpp.orig 2024-05-12 10:19:01 UTC
+++ os.hpp
-@@ -173,6 +173,10 @@
- #include <locale.h>
-
+@@ -166,6 +166,10 @@
+ #endif
+ #endif
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
+#include <openssl/evp.h>
+#endif // OPENSSL_AES
+
diff --git a/archivers/libunrar/files/patch-rijndael.cpp b/archivers/libunrar/files/patch-rijndael.cpp
index 92b411d99b5c..87a02086af3c 100644
--- a/archivers/libunrar/files/patch-rijndael.cpp
+++ b/archivers/libunrar/files/patch-rijndael.cpp
@@ -1,37 +1,45 @@
---- rijndael.cpp.orig 2023-01-17 16:25:54 UTC
+--- rijndael.cpp.orig 2024-05-12 10:19:02 UTC
+++ rijndael.cpp
-@@ -3,6 +3,8 @@
+@@ -3,6 +3,7 @@
**************************************************************************/
#include "rar.hpp"
-+#ifndef OPENSSL_AES
-+
++#if !defined(OPENSSL_AES)
#ifdef USE_SSE
#include <wmmintrin.h>
#endif
-@@ -75,6 +77,7 @@ inline void Copy128(byte *dest,const byte *src)
+@@ -74,6 +75,7 @@ inline void Copy128(byte *dest,const byte *src)
+ dest[I]=src[I];
#endif
}
-
+#endif // OPENSSL_AES
+
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // API
-@@ -82,14 +85,41 @@ inline void Copy128(byte *dest,const byte *src)
+@@ -82,21 +84,50 @@ Rijndael::Rijndael()
Rijndael::Rijndael()
{
-+#ifndef OPENSSL_AES
++#if !defined(OPENSSL_AES)
if (S5[0]==0)
GenerateTables();
+#endif // OPENSSL_AES
+ m_uRounds = 0;
CBCMode = true; // Always true for RAR.
++#if !defined(OPENSSL_AES)
+ #ifdef USE_SSE
+ AES_NI=false;
+ #endif
+ #ifdef USE_NEON_AES
+ AES_Neon=false;
+ #endif
++#endif // OPENSSL_AES
}
void Rijndael::Init(bool Encrypt,const byte *key,uint keyLen,const byte * initVector)
{
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
+ const EVP_CIPHER *cipher;
+ switch(keyLen)
+ {
@@ -50,16 +58,16 @@
+ EVP_CIPHER_CTX_init(&ctx);
+ EVP_CipherInit_ex(&ctx, cipher, NULL, key, initVector, Encrypt);
+ EVP_CIPHER_CTX_set_padding(&ctx, 0);
-+#else
++#else // OPENSSL_VERSION_NUMBER
+ EVP_CIPHER_CTX_init(ctx);
+ EVP_CipherInit_ex(ctx, cipher, NULL, key, initVector, Encrypt);
+ EVP_CIPHER_CTX_set_padding(ctx, 0);
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
+#else // OPENSSL_AES
// Check SIMD here instead of constructor, so if object is a part of some
// structure memset'ed before use, these variables are not lost.
#if defined(USE_SSE)
-@@ -141,6 +171,7 @@ void Rijndael::Init(bool Encrypt,const byte *key,uint
+@@ -166,6 +197,7 @@ void Rijndael::Init(bool Encrypt,const byte *key,uint
if(!Encrypt)
keyEncToDec();
@@ -67,23 +75,23 @@
}
-@@ -149,6 +180,15 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
+@@ -174,6 +206,15 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
if (inputLen <= 0)
return;
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
+ int outLen;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_CipherUpdate(&ctx, outBuffer, &outLen, input, inputLen);
-+#else
++#else // OPENSSL_VERSION_NUMBER
+ EVP_CipherUpdate(ctx, outBuffer, &outLen, input, inputLen);
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
+ return;
+#else // OPENSSL_AES
size_t numBlocks = inputLen/16;
#if defined(USE_SSE)
if (AES_NI)
-@@ -213,6 +253,7 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
+@@ -238,9 +279,11 @@ void Rijndael::blockEncrypt(const byte *input,size_t i
input += 16;
}
Copy128(m_initVector,prevBlock);
@@ -91,46 +99,62 @@
}
-@@ -288,6 +329,15 @@ void Rijndael::blockDecrypt(const byte *input, size_t
++#if !defined(OPENSSL_AES)
+ #ifdef USE_SSE
+ void Rijndael::blockEncryptSSE(const byte *input,size_t numBlocks,byte *outBuffer)
+ {
+@@ -306,6 +349,7 @@ void Rijndael::blockEncryptNeon(const byte *input,size
+ return;
+ }
+ #endif
++#endif // OPENSSL_AES
+
+
+ void Rijndael::blockDecrypt(const byte *input, size_t inputLen, byte *outBuffer)
+@@ -313,6 +357,15 @@ void Rijndael::blockDecrypt(const byte *input, size_t
if (inputLen <= 0)
return;
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
+ int outLen;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_CipherUpdate(&ctx, outBuffer, &outLen, input, inputLen);
-+#else
++#else // OPENSSL_VERSION_NUMBER
+ EVP_CipherUpdate(ctx, outBuffer, &outLen, input, inputLen);
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
+ return;
+#else // OPENSSL_AES
size_t numBlocks=inputLen/16;
#if defined(USE_SSE)
if (AES_NI)
-@@ -356,6 +406,8 @@ void Rijndael::blockDecrypt(const byte *input, size_t
+@@ -381,9 +434,11 @@ void Rijndael::blockDecrypt(const byte *input, size_t
}
memcpy(m_initVector,iv,16);
-+
+#endif // OPENSSL_AES
}
-@@ -426,7 +478,7 @@ void Rijndael::blockDecryptNeon(const byte *input, siz
++#if !defined(OPENSSL_AES)
+ #ifdef USE_SSE
+ void Rijndael::blockDecryptSSE(const byte *input, size_t numBlocks, byte *outBuffer)
+ {
+@@ -450,8 +505,10 @@ void Rijndael::blockDecryptNeon(const byte *input, siz
+ memcpy(m_initVector,iv,16);
}
#endif
++#endif // OPENSSL_AES
--
-+#ifndef OPENSSL_AES
+
++#if !defined(OPENSSL_AES)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ALGORITHM
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-@@ -555,7 +607,7 @@ void Rijndael::GenerateTables()
+@@ -580,6 +637,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]=gmul(b,0xe);
}
}
--
+#endif // OPENSSL_AES
+
#if 0
- static void TestRijndael();
diff --git a/archivers/libunrar/files/patch-rijndael.hpp b/archivers/libunrar/files/patch-rijndael.hpp
index 0e1ccbfbd379..09ab2a798f94 100644
--- a/archivers/libunrar/files/patch-rijndael.hpp
+++ b/archivers/libunrar/files/patch-rijndael.hpp
@@ -1,20 +1,20 @@
---- rijndael.hpp.orig 2023-01-17 16:25:54 UTC
+--- rijndael.hpp.orig 2024-02-26 09:03:53 UTC
+++ rijndael.hpp
-@@ -12,6 +12,13 @@
+@@ -12,6 +12,13 @@ class Rijndael
class Rijndael
{
private:
-+#ifdef OPENSSL_AES
++#if defined(OPENSSL_AES)
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ EVP_CIPHER_CTX ctx;
-+#else
++#else // OPENSSL_VERSION_NUMBER
+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
-+#endif
++#endif // OPENSSL_VERSION_NUMBER
+#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);
-@@ -31,6 +38,7 @@ class Rijndael
+ #ifdef __GNUC__
+@@ -40,6 +47,7 @@ class Rijndael
void keySched(byte key[_MAX_KEY_COLUMNS][4]);
void keyEncToDec();
void GenerateTables();