<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>