Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Oct 2018 07:35:47 +0000 (UTC)
From:      "Jason E. Hale" <jhale@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r481881 - in head/archivers/libunrar5: . files
Message-ID:  <201810120735.w9C7ZlgE052626@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhale
Date: Fri Oct 12 07:35:46 2018
New Revision: 481881
URL: https://svnweb.freebsd.org/changeset/ports/481881

Log:
  Fix build with OpenSSL 1.1.x
  
  Reported by:	pkg-fallout (head)

Modified:
  head/archivers/libunrar5/Makefile
  head/archivers/libunrar5/files/patch-rijndael.cpp
  head/archivers/libunrar5/files/patch-rijndael.hpp

Modified: head/archivers/libunrar5/Makefile
==============================================================================
--- head/archivers/libunrar5/Makefile	Fri Oct 12 07:22:46 2018	(r481880)
+++ head/archivers/libunrar5/Makefile	Fri Oct 12 07:35:46 2018	(r481881)
@@ -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 \

Modified: head/archivers/libunrar5/files/patch-rijndael.cpp
==============================================================================
--- head/archivers/libunrar5/files/patch-rijndael.cpp	Fri Oct 12 07:22:46 2018	(r481880)
+++ head/archivers/libunrar5/files/patch-rijndael.cpp	Fri Oct 12 07:35:46 2018	(r481881)
@@ -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);
    }
  }

Modified: head/archivers/libunrar5/files/patch-rijndael.hpp
==============================================================================
--- head/archivers/libunrar5/files/patch-rijndael.hpp	Fri Oct 12 07:22:46 2018	(r481880)
+++ head/archivers/libunrar5/files/patch-rijndael.hpp	Fri Oct 12 07:35:46 2018	(r481881)
@@ -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();



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810120735.w9C7ZlgE052626>