<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/adfad5adc6d25514a3e51549c4ea6dd324881783">https://github.com/macports/macports-ports/commit/adfad5adc6d25514a3e51549c4ea6dd324881783</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new adfad5adc6d retdec-devel: update to 20211107
</span>adfad5adc6d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit adfad5adc6d25514a3e51549c4ea6dd324881783
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Tue Nov 9 19:02:10 2021 +0100

<span style='display:block; white-space:pre;color:#404040;'>    retdec-devel: update to 20211107
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This changes also enabled support of OpenSSL 3 via `openssl` PortGroup
</span><span style='display:block; white-space:pre;color:#404040;'>    for `retdec-devel`.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Anyway, `v4.0` is shipped with OpenSSL 1.1.1 and should be build against
</span><span style='display:block; white-space:pre;color:#404040;'>    OpenSSL 1.1 branch.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/63882
</span>---
 devel/retdec/Portfile                     | 33 +++++++++----
 devel/retdec/files/patch-openssl-3.0.diff | 80 +++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+), 8 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/retdec/Portfile b/devel/retdec/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 24968a9407f..c3c3198c045 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/retdec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/retdec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,9 +3,10 @@
</span> PortSystem          1.0
 PortGroup           cmake 1.1
 PortGroup           github 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           openssl 1.0
</span> 
 github.setup        avast retdec 4.0 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            2
</span> conflicts           ${name}-devel
 
 categories          devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,6 +30,19 @@ post-patch {
</span>     reinplace "s|\${CMAKE_INSTALL_PREFIX}|${destroot}\${CMAKE_INSTALL_PREFIX}|" ${worksrcpath}/CMakeLists.txt
     reinplace "s|\${CMAKE_INSTALL_PREFIX}|${destroot}\${CMAKE_INSTALL_PREFIX}|" ${worksrcpath}/support/CMakeLists.txt
     reinplace "s|DESTINATION \${SUPPORT_TARGET_DIR}/|DESTINATION \${RETDEC_INSTALL_SUPPORT_DIR}|" ${worksrcpath}/support/CMakeLists.txt
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${name} eq ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # v4.0 requires stricly to use AppleClang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # anyway, it can be build by macports clang at old system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|\"AppleClang\"|\"AppleClang\" AND NOT \"\${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"Clang\"|" ${worksrcpath}/deps/openssl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} eq ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # v4.0 includes OpenSSL 1.1.1c => use the same version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See https://github.com/avast/retdec/pull/807
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    openssl.branch  1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> }
 
 compiler.cxx_standard   2017
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +61,6 @@ depends_build-append \
</span>                     port:automake \
                     port:git \
                     port:libtool \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:openssl \
</span>                     port:pkgconfig
 
 depends_lib-append  port:python39 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,15 +72,19 @@ depends_run-append  path:bin/dot:graphviz \
</span> subport retdec-devel {
     conflicts       $name
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version         20211026
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    github.setup    avast retdec 59deef2049b8e5118402c7c86b44f9d6bbc5a437
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision        1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version         20211107
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.setup    avast retdec f49ecb6ff6b8b220f3f2fa4b6b6354eeb59921e8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision        0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       rmd160  e441f2b9c724d11d6d6f67392c6b28baccb51f0e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  c476bc92651c061fce3f1dd7913bfb9ff2e78fcf9e76d00ceb7dc75db7bb0041 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    12138375
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums       rmd160  fcb1da52fd605e36c573e3dde7f9043eedcc2b83 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  550bcfb33e655fce1238f7c204191429433b9ad3423cf251c18e40177142b363 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    12132198
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-openssl-3.0.diff
</span> 
     patchfiles-delete \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-openssl-3.0-v40.diff \
</span>                     patch-python3.diff \
                     patch-yara-syntax-error.diff
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/retdec/files/patch-openssl-3.0.diff b/devel/retdec/files/patch-openssl-3.0.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..577567ccf08
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/retdec/files/patch-openssl-3.0.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,80 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit 3dbe9deaf35ad423769104db70dd062dba2973cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date:   Mon Nov 8 11:48:09 2021 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Update API for OpenSSL 3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Fixes: https://github.com/avast/retdec/issues/1040
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deps/authenticode-parser/src/authenticode.c b/deps/authenticode-parser/src/authenticode.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bd860fe3..724b64f9 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/deps/authenticode-parser/src/authenticode.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/deps/authenticode-parser/src/authenticode.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -581,7 +581,11 @@ AuthenticodeArray* parse_authenticode(const uint8_t* pe_data, long pe_len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             continue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OPENSSL_VERSION_NUMBER >= 0x3000000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        int mdlen = EVP_MD_get_size(md);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         int mdlen = EVP_MD_size(md);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         sig->file_digest.len = mdlen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         sig->file_digest.data = (uint8_t*)malloc(mdlen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (!sig->file_digest.data)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deps/authenticode-parser/src/certificate.c b/deps/authenticode-parser/src/certificate.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7686c516..2f1a4f0c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/deps/authenticode-parser/src/certificate.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/deps/authenticode-parser/src/certificate.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -287,7 +287,11 @@ Certificate* certificate_new(X509* x509)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     EVP_PKEY* pkey = X509_get0_pubkey(x509);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (pkey) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         result->key = pubkey_to_pem(pkey);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OPENSSL_VERSION_NUMBER >= 0x3000000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        result->key_alg = strdup(OBJ_nid2sn(EVP_PKEY_get_base_id(pkey)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         result->key_alg = strdup(OBJ_nid2sn(EVP_PKEY_base_id(pkey)));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deps/authenticode-parser/src/countersignature.c b/deps/authenticode-parser/src/countersignature.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5bc2c108..59ca8038 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/deps/authenticode-parser/src/countersignature.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/deps/authenticode-parser/src/countersignature.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -137,7 +137,11 @@ Countersignature* pkcs9_countersig_new(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      * but other times it is just purely and I didn't find another way to  distinguish it but only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      * based on the length of data we get. Found mention of this in openssl mailing list:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      * https://mta.openssl.org/pipermail/openssl-users/2015-September/002054.html */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OPENSSL_VERSION_NUMBER >= 0x3000000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    size_t mdLen = EVP_MD_get_size(md);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     size_t mdLen = EVP_MD_size(md);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (mdLen == decLen) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         isValid = !memcmp(calc_digest, decData, mdLen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -238,7 +242,11 @@ Countersignature* ms_countersig_new(const uint8_t* data, long size, ASN1_STRING*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     uint8_t calc_digest[EVP_MAX_MD_SIZE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     calculate_digest(md, enc_digest->data, enc_digest->length, calc_digest);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OPENSSL_VERSION_NUMBER >= 0x3000000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    int mdLen = EVP_MD_get_size(md);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     int mdLen = EVP_MD_size(md);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (digestLen != mdLen || memcmp(calc_digest, digestData, mdLen) != 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         result->verify_flags = COUNTERSIGNATURE_VFY_DOESNT_MATCH_SIGNATURE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -251,7 +259,11 @@ Countersignature* ms_countersig_new(const uint8_t* data, long size, ASN1_STRING*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     TS_VERIFY_CTX_set_flags(ctx, TS_VFY_VERSION | TS_VFY_IMPRINT);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     TS_VERIFY_CTX_set_store(ctx, store);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OPENSSL_VERSION_NUMBER >= 0x3000000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    TS_VERIFY_CTX_set_store(ctx, p7->d.sign->cert);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     TS_VERIFY_CTS_set_certs(ctx, p7->d.sign->cert);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     TS_VERIFY_CTX_set_imprint(ctx, calc_digest, mdLen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     bool isValid = TS_RESP_verify_token(ctx, p7) == 1;
</span></pre><pre style='margin:0'>

</pre>