<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ed1a07d8dc4c37d8aae633ef934a1242a1e6f0e9">https://github.com/macports/macports-ports/commit/ed1a07d8dc4c37d8aae633ef934a1242a1e6f0e9</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit ed1a07d8dc4c37d8aae633ef934a1242a1e6f0e9
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Tue May 30 16:24:28 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    openssl3: Update to 3.1.1, CVE-2023-2650
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See https://www.openssl.org/news/secadv/20230530.txt for the advisory.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also drop old patches that have been incorporated upstream.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    CVE: CVE-2023-2650
</span>---
 devel/openssl3/Portfile                            |  22 +--
 .../2017771e2db3e2b96f89bbe8766c3209f6a99545.patch | 220 ---------------------
 devel/openssl3/files/avx512.patch                  |  72 -------
 .../bc2f61ad70971869b242fc1cb445b98bad50074a.patch |  47 -----
 .../facfb1ab745646e97a1920977ae4a9965ea61d5c.patch |  54 -----
 .../fc814a30fc4f0bc54fcea7d9a7462f5457aab061.patch |  48 -----
 devel/openssl3/files/patch-openssl3-ppc-asm.diff   |  58 ------
 7 files changed, 8 insertions(+), 513 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/Portfile b/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 46fcdcfd270..dce943ea65c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/openssl3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,8 +10,8 @@ legacysupport.newest_darwin_requires_legacy 8
</span> 
 set major_v         3
 name                openssl$major_v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             ${major_v}.1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             ${major_v}.1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 # Please revbump these ports when updating the openssl3 version/revision
 #  - freeradius (#43461)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,18 +48,12 @@ master_sites        ${homepage}/source \
</span>                     ftp://ftp.linux.hr/pub/openssl/source/ \
                     ftp://guest.kuria.katowice.pl/pub/openssl/source/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  203ebe676bbdde1a869fc14c6c4e21983ce4b810 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    15525381
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          avx512.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-openssl3-ppc-asm.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    2017771e2db3e2b96f89bbe8766c3209f6a99545.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    d79bb5316e1318bd776d6b2d6723a36778e07f9d.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    52a38144b019cfda6b0e5eaa0aca88ae11661a26.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    facfb1ab745646e97a1920977ae4a9965ea61d5c.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    fc814a30fc4f0bc54fcea7d9a7462f5457aab061.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    bc2f61ad70971869b242fc1cb445b98bad50074a.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  b88142ed021e735c402ae6f0fb2d49846d9d5b34 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    15544757
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          d79bb5316e1318bd776d6b2d6723a36778e07f9d.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    52a38144b019cfda6b0e5eaa0aca88ae11661a26.patch
</span> 
 if {${os.platform} eq "darwin" && ${os.major} < 11} {
     # Having the stdlib set to libc++ on 10.6 causes a dependency on a
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/2017771e2db3e2b96f89bbe8766c3209f6a99545.patch b/devel/openssl3/files/2017771e2db3e2b96f89bbe8766c3209f6a99545.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 2065476e958..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/2017771e2db3e2b96f89bbe8766c3209f6a99545.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,220 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 2017771e2db3e2b96f89bbe8766c3209f6a99545 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Pauli <pauli@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 8 Mar 2023 15:28:20 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] x509: excessive resource use verifying policy constraints
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-A security vulnerability has been identified in all supported versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of OpenSSL related to the verification of X.509 certificate chains
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that include policy constraints.  Attackers may be able to exploit this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-vulnerability by creating a malicious certificate chain that triggers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-exponential use of computational resources, leading to a denial-of-service
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(DoS) attack on affected systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes CVE-2023-0464
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Tomas Mraz <tomas@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(Merged from https://github.com/openssl/openssl/pull/20570)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Upstream-Status: Backport [https://github.com/openssl/openssl/commit/2017771e2db3e2b96f89bbe8766c3209f6a99545]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/x509/pcy_local.h |  8 +++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/x509/pcy_node.c  | 12 +++++++++---
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/x509/pcy_tree.c  | 36 ++++++++++++++++++++++++++----------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 42 insertions(+), 14 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/x509/pcy_local.h b/crypto/x509/pcy_local.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 18b53cc09ebf..cba107ca0358 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/x509/pcy_local.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/x509/pcy_local.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -111,6 +111,11 @@ struct X509_POLICY_LEVEL_st {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct X509_POLICY_TREE_st {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* The number of nodes in the tree */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    size_t node_count;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* The maximum number of nodes in the tree */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    size_t node_maximum;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* This is the tree 'level' data */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     X509_POLICY_LEVEL *levels;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int nlevel;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -157,7 +162,8 @@ X509_POLICY_NODE *ossl_policy_tree_find_sk(STACK_OF(X509_POLICY_NODE) *sk,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                              X509_POLICY_DATA *data,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                              X509_POLICY_NODE *parent,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                             X509_POLICY_TREE *tree);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                             X509_POLICY_TREE *tree,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                             int extra_data);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void ossl_policy_node_free(X509_POLICY_NODE *node);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int ossl_policy_node_match(const X509_POLICY_LEVEL *lvl,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            const X509_POLICY_NODE *node, const ASN1_OBJECT *oid);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/x509/pcy_node.c b/crypto/x509/pcy_node.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9d9a7ea1799c..450f95a655fb 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/x509/pcy_node.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/x509/pcy_node.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -59,10 +59,15 @@ X509_POLICY_NODE *ossl_policy_level_find_node(const X509_POLICY_LEVEL *level,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                              X509_POLICY_DATA *data,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                              X509_POLICY_NODE *parent,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                             X509_POLICY_TREE *tree)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                             X509_POLICY_TREE *tree,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                             int extra_data)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     X509_POLICY_NODE *node;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* Verify that the tree isn't too large.  This mitigates CVE-2023-0464 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (tree->node_maximum > 0 && tree->node_count >= tree->node_maximum)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     node = OPENSSL_zalloc(sizeof(*node));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (node == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ERR_raise(ERR_LIB_X509V3, ERR_R_MALLOC_FAILURE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -70,7 +75,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     node->data = data;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     node->parent = parent;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (level) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (level != NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if (level->anyPolicy)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 goto node_error;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -90,7 +95,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (tree) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (extra_data) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (tree->extra_data == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             tree->extra_data = sk_X509_POLICY_DATA_new_null();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (tree->extra_data == NULL){
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -103,6 +108,7 @@ X509_POLICY_NODE *ossl_policy_level_add_node(X509_POLICY_LEVEL *level,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    tree->node_count++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (parent)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         parent->nchild++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/x509/pcy_tree.c b/crypto/x509/pcy_tree.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fa45da5117a1..f953a05a41a6 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/x509/pcy_tree.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/x509/pcy_tree.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,6 +14,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "pcy_local.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * If the maximum number of nodes in the policy tree isn't defined, set it to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * a generous default of 1000 nodes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Defining this to be zero means unlimited policy tree growth which opens the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * door on CVE-2023-0464.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef OPENSSL_POLICY_TREE_NODES_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# define OPENSSL_POLICY_TREE_NODES_MAX 1000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void expected_print(BIO *channel,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            X509_POLICY_LEVEL *lev, X509_POLICY_NODE *node,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            int indent)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -163,6 +174,9 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return X509_PCY_TREE_INTERNAL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    /* Limit the growth of the tree to mitigate CVE-2023-0464 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    tree->node_maximum = OPENSSL_POLICY_TREE_NODES_MAX;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      * http://tools.ietf.org/html/rfc5280#section-6.1.2, figure 3.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -180,7 +194,7 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if ((data = ossl_policy_data_new(NULL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                      OBJ_nid2obj(NID_any_policy), 0)) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         goto bad_tree;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (ossl_policy_level_add_node(level, data, NULL, tree) == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (ossl_policy_level_add_node(level, data, NULL, tree, 1) == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ossl_policy_data_free(data);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         goto bad_tree;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -239,7 +253,8 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * Return value: 1 on success, 0 otherwise
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                    X509_POLICY_DATA *data)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                    X509_POLICY_DATA *data,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                    X509_POLICY_TREE *tree)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     X509_POLICY_LEVEL *last = curr - 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int i, matched = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -249,13 +264,13 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(last->nodes, i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (ossl_policy_node_match(last, node, data->valid_policy)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            if (ossl_policy_level_add_node(curr, data, node, NULL) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (ossl_policy_level_add_node(curr, data, node, tree, 0) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             matched = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (!matched && last->anyPolicy) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if (ossl_policy_level_add_node(curr, data, last->anyPolicy, NULL) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (ossl_policy_level_add_node(curr, data, last->anyPolicy, tree, 0) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -268,7 +283,8 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  * Return value: 1 on success, 0 otherwise.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static int tree_link_nodes(X509_POLICY_LEVEL *curr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                           const X509_POLICY_CACHE *cache)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           const X509_POLICY_CACHE *cache,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                           X509_POLICY_TREE *tree)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     int i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -276,7 +292,7 @@ static int tree_link_nodes(X509_POLICY_LEVEL *curr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         X509_POLICY_DATA *data = sk_X509_POLICY_DATA_value(cache->data, i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         /* Look for matching nodes in previous level */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if (!tree_link_matching_nodes(curr, data))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (!tree_link_matching_nodes(curr, data, tree))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -307,7 +323,7 @@ static int tree_add_unmatched(X509_POLICY_LEVEL *curr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* Curr may not have anyPolicy */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     data->qualifier_set = cache->anyPolicy->qualifier_set;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (ossl_policy_level_add_node(curr, data, node, tree) == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (ossl_policy_level_add_node(curr, data, node, tree, 1) == NULL) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ossl_policy_data_free(data);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -370,7 +386,7 @@ static int tree_link_any(X509_POLICY_LEVEL *curr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* Finally add link to anyPolicy */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (last->anyPolicy &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             ossl_policy_level_add_node(curr, cache->anyPolicy,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                       last->anyPolicy, NULL) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                       last->anyPolicy, tree, 0) == NULL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -553,7 +569,7 @@ static int tree_calculate_user_set(X509_POLICY_TREE *tree,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             extra->flags = POLICY_DATA_FLAG_SHARED_QUALIFIERS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 | POLICY_DATA_FLAG_EXTRA_NODE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             node = ossl_policy_level_add_node(NULL, extra, anyPolicy->parent,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                              tree);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                              tree, 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (!tree->user_policies) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             tree->user_policies = sk_X509_POLICY_NODE_new_null();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -580,7 +596,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     for (i = 1; i < tree->nlevel; i++, curr++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         cache = ossl_policy_cache_set(curr->cert);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if (!tree_link_nodes(curr, cache))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (!tree_link_nodes(curr, cache, tree))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return X509_PCY_TREE_INTERNAL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/avx512.patch b/devel/openssl3/files/avx512.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e511778388e..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/avx512.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,72 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix detection of avx512 capability on Apple Clang 7.0.0 through 10.0.0.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This includes the patches for rsaz-3k-avx512.pl and rsaz-4k-avx512.pl from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-openssl/openssl@523e0577 that were omitted when the fix was backported to the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-3.0 branch in openssl/openssl@c95e2030 and an equivalent fix for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-aes-gcm-avx512.pl; see https://github.com/openssl/openssl/issues/20518.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- crypto/bn/asm/rsaz-3k-avx512.pl.orig   2023-03-14 07:59:07.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ crypto/bn/asm/rsaz-3k-avx512.pl        2023-03-15 09:33:05.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -48,8 +48,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     $avx512ifma = ($1==2.11 && $2>=8) + ($1>=2.12);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if (!$avx512 && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    $avx512ifma = ($2>=7.0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (!$avx512 && `$ENV{CC} -v 2>&1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    =~ /(Apple)?\s*((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)\.([0-9]+)?/) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    my $ver = $3 + $4/100.0 + $5/10000.0; # 3.1.0->3.01, 3.10.1->3.1001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if ($1) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # Apple conditions, they use a different version series, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # https://en.wikipedia.org/wiki/Xcode#Xcode_7.0_-_10.x_(since_Free_On-Device_Development)_2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # clang 7.0.0 is Apple clang 10.0.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        $avx512ifma = ($ver>=10.0001)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        $avx512ifma = ($ver>=7.0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- crypto/bn/asm/rsaz-4k-avx512.pl.orig   2023-03-14 07:59:07.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ crypto/bn/asm/rsaz-4k-avx512.pl        2023-03-15 09:33:05.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -48,8 +48,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     $avx512ifma = ($1==2.11 && $2>=8) + ($1>=2.12);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if (!$avx512 && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    $avx512ifma = ($2>=7.0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (!$avx512 && `$ENV{CC} -v 2>&1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    =~ /(Apple)?\s*((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)\.([0-9]+)?/) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    my $ver = $3 + $4/100.0 + $5/10000.0; # 3.1.0->3.01, 3.10.1->3.1001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if ($1) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # Apple conditions, they use a different version series, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # https://en.wikipedia.org/wiki/Xcode#Xcode_7.0_-_10.x_(since_Free_On-Device_Development)_2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # clang 7.0.0 is Apple clang 10.0.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        $avx512ifma = ($ver>=10.0001)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        $avx512ifma = ($ver>=7.0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- crypto/modes/asm/aes-gcm-avx512.pl.orig        2023-03-14 07:59:07.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ crypto/modes/asm/aes-gcm-avx512.pl     2023-03-15 09:33:05.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -59,8 +59,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $avx512vaes = ($1 == 2.13 && $2 >= 3) + ($1 >= 2.14);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if (!$avx512vaes && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  $avx512vaes = ($2 >= 7.0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (!$avx512vaes && `$ENV{CC} -v 2>&1`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    =~ /(Apple)?\s*((?:clang|LLVM) version|.*based on LLVM) ([0-9]+)\.([0-9]+)\.([0-9]+)?/) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    my $ver = $3 + $4/100.0 + $5/10000.0; # 3.1.0->3.01, 3.10.1->3.1001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if ($1) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # Apple conditions, they use a different version series, see
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # https://en.wikipedia.org/wiki/Xcode#Xcode_7.0_-_10.x_(since_Free_On-Device_Development)_2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # clang 7.0.0 is Apple clang 10.0.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        $avx512vaes = ($ver>=10.0001)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        $avx512vaes = ($ver>=7.0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\""
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/bc2f61ad70971869b242fc1cb445b98bad50074a.patch b/devel/openssl3/files/bc2f61ad70971869b242fc1cb445b98bad50074a.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 05ddd92f79f..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/bc2f61ad70971869b242fc1cb445b98bad50074a.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,47 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From bc2f61ad70971869b242fc1cb445b98bad50074a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Tomas Mraz <tomas@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 17 Apr 2023 16:51:20 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] aesv8-armx.pl: Avoid buffer overrread in AES-XTS decryption
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Original author: Nevine Ebeid (Amazon)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes: CVE-2023-1255
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The buffer overread happens on decrypts of 4 mod 5 sizes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Unless the memory just after the buffer is unmapped this is harmless.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Paul Dale <pauli@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(Merged from https://github.com/openssl/openssl/pull/20759)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 72dfe46550ee1f1bbfacd49f071419365bc23304)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Upstream-Status: Backport [bc2f61ad70971869b242fc1cb445b98bad50074a]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/aes/asm/aesv8-armx.pl |  4 +++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 16 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ea74217317..efd3ccd1a4 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/aes/asm/aesv8-armx.pl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/aes/asm/aesv8-armx.pl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3367,7 +3367,7 @@ $code.=<<___   if ($flavour =~ /64/);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .align    4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .Lxts_dec_tail4x:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   add     $inp,$inp,#16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  vld1.32 {$dat0},[$inp],#16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  tst     $tailcnt,#0xf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   veor    $tmp1,$dat1,$tmp0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   vst1.8  {$tmp1},[$out],#16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   veor    $tmp2,$dat2,$tmp2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3376,6 +3376,8 @@ $code.=<<___   if ($flavour =~ /64/);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   veor    $tmp4,$dat4,$tmp4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   vst1.8  {$tmp3-$tmp4},[$out],#32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  b.eq    .Lxts_dec_abort
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  vld1.32 {$dat0},[$inp],#16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   b       .Lxts_done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .align    4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- .Lxts_outer_dec_tail:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.40.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/facfb1ab745646e97a1920977ae4a9965ea61d5c.patch b/devel/openssl3/files/facfb1ab745646e97a1920977ae4a9965ea61d5c.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e41a884dd1f..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/facfb1ab745646e97a1920977ae4a9965ea61d5c.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,54 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From facfb1ab745646e97a1920977ae4a9965ea61d5c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Matt Caswell <matt@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 7 Mar 2023 16:52:55 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Ensure that EXFLAG_INVALID_POLICY is checked even in leaf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- certs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Even though we check the leaf cert to confirm it is valid, we
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-later ignored the invalid flag and did not notice that the leaf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-cert was bad.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes: CVE-2023-0465
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Hugo Landau <hlandau@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Tomas Mraz <tomas@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(Merged from https://github.com/openssl/openssl/pull/20586)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Upstream-Status: Backport [https://github.com/openssl/openssl/commit/facfb1ab]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- crypto/x509/x509_vfy.c | 12 ++++++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 10 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9384f1da9b..a0282c3ef1 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./crypto/x509/x509_vfy.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./crypto/x509/x509_vfy.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1654,15 +1654,23 @@ static int check_policy(X509_STORE_CTX *ctx)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         goto memerr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     /* Invalid or inconsistent extensions */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (ret == X509_PCY_TREE_INVALID) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        int i;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        int i, cbcalled = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         /* Locate certificates with bad extensions and notify callback. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        for (i = 1; i < sk_X509_num(ctx->chain); i++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        for (i = 0; i < sk_X509_num(ctx->chain); i++) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             X509 *x = sk_X509_value(ctx->chain, i);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if ((x->ex_flags & EXFLAG_INVALID_POLICY) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                cbcalled = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             CB_FAIL_IF((x->ex_flags & EXFLAG_INVALID_POLICY) != 0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        ctx, x, i, X509_V_ERR_INVALID_POLICY_EXTENSION);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (!cbcalled) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            /* Should not be able to get here */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            ERR_raise(ERR_LIB_X509, ERR_R_INTERNAL_ERROR);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        /* The callback ignored the error so we return success */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (ret == X509_PCY_TREE_FAILURE) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.40.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/fc814a30fc4f0bc54fcea7d9a7462f5457aab061.patch b/devel/openssl3/files/fc814a30fc4f0bc54fcea7d9a7462f5457aab061.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6c2bf23850c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/fc814a30fc4f0bc54fcea7d9a7462f5457aab061.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,48 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From fc814a30fc4f0bc54fcea7d9a7462f5457aab061 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Tomas Mraz <tomas@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 21 Mar 2023 16:15:47 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Fix documentation of X509_VERIFY_PARAM_add0_policy()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The function was incorrectly documented as enabling policy checking.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fixes: CVE-2023-0466
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Paul Dale <pauli@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Reviewed-by: Matt Caswell <matt@openssl.org>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(Merged from https://github.com/openssl/openssl/pull/20562)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Upstream-Status: Backport [https://github.com/openssl/openssl/commit/fc814a30fc]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- doc/man3/X509_VERIFY_PARAM_set_flags.pod | 9 +++++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 3 files changed, 17 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 20aea99b5b..fcbbfc4c30 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./doc/man3/X509_VERIFY_PARAM_set_flags.pod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./doc/man3/X509_VERIFY_PARAM_set_flags.pod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -98,8 +98,9 @@ B<trust>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- X509_VERIFY_PARAM_set_time() sets the verification time in B<param> to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- B<t>. Normally the current time is used.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--X509_VERIFY_PARAM_add0_policy() enables policy checking (it is disabled
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--by default) and adds B<policy> to the acceptable policy set.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+X509_VERIFY_PARAM_add0_policy() adds B<policy> to the acceptable policy set.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+Contrary to preexisting documentation of this function it does not enable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+policy checking.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- X509_VERIFY_PARAM_set1_policies() enables policy checking (it is disabled
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- by default) and sets the acceptable policy set to B<policies>. Any existing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -400,6 +401,10 @@ The X509_VERIFY_PARAM_get_hostflags() function was added in OpenSSL 1.1.0i.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- The X509_VERIFY_PARAM_get0_host(), X509_VERIFY_PARAM_get0_email(),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- and X509_VERIFY_PARAM_get1_ip_asc() functions were added in OpenSSL 3.0.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+The function X509_VERIFY_PARAM_add0_policy() was historically documented as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enabling policy checking however the implementation has never done this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+The documentation was changed to align with the implementation.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- =head1 COPYRIGHT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Copyright 2009-2023 The OpenSSL Project Authors. All Rights Reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.40.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl3/files/patch-openssl3-ppc-asm.diff b/devel/openssl3/files/patch-openssl3-ppc-asm.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4cda722eee3..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl3/files/patch-openssl3-ppc-asm.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,58 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The new AES GCM assembler is written for IBM POWER9 and later
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-and won't build on OSX PPC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Upstream PR: https://github.com/openssl/openssl/pull/20543
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- crypto/chacha/build.info.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ crypto/chacha/build.info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13,7 +13,7 @@ IF[{- !$disabled{asm} -}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $CHACHAASM_aarch64=chacha-armv8.S chacha-armv8-sve.S
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $CHACHAASM_ppc32=chacha_ppc.c chacha-ppc.s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  IF[{- $target{sys_id} ne "AIX" -}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     $CHACHAASM_ppc32=chacha_ppc.c chacha-ppc.s chachap10-ppc.s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ENDIF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $CHACHAASM_ppc64=$CHACHAASM_ppc32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- crypto/chacha/chacha_ppc.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ crypto/chacha/chacha_ppc.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -30,7 +30,7 @@ void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     size_t len, const unsigned int key[8],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     const unsigned int counter[4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef OPENSSL_SYS_AIX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     OPENSSL_ppccap_P & PPC_BRD31
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ? ChaCha20_ctr32_vsx_p10(out, inp, len, key, counter) :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- crypto/modes/build.info.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ crypto/modes/build.info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -33,7 +33,7 @@ IF[{- !$disabled{asm} -}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $MODESDEF_parisc20_64=$MODESDEF_parisc11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $MODESASM_ppc32=ghashp8-ppc.s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  IF[{- $target{sys_id} ne "AIX" -}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     $MODESASM_ppc32=ghashp8-ppc.s aes-gcm-ppc.s
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ENDIF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $MODESDEF_ppc32=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- include/crypto/aes_platform.h.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ include/crypto/aes_platform.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -74,7 +74,7 @@ void AES_xts_decrypt(const unsigned char *inp, unsigned char *out, size_t len,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #   define HWAES_ctr32_encrypt_blocks aes_p8_ctr32_encrypt_blocks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #   define HWAES_xts_encrypt aes_p8_xts_encrypt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #   define HWAES_xts_decrypt aes_p8_xts_decrypt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#   ifndef OPENSSL_SYS_AIX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#   if !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #    define PPC_AES_GCM_CAPABLE (OPENSSL_ppccap_P & PPC_MADD300)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #    define AES_GCM_ENC_BYTES 128
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #    define AES_GCM_DEC_BYTES 128
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -87,7 +87,7 @@ size_t ppc_aes_gcm_decrypt(const unsigned char *in, unsigned char *out,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #    define AES_GCM_ASM_PPC(gctx) ((gctx)->ctr==aes_p8_ctr32_encrypt_blocks && \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                    (gctx)->gcm.funcs.ghash==gcm_ghash_p8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void gcm_ghash_p8(u64 Xi[2],const u128 Htable[16],const u8 *inp, size_t len);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#   endif /* OPENSSL_SYS_AIX */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#   endif /* OPENSSL_SYS_AIX || OPENSSL_SYS_MACOSX */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  endif /* PPC */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  if (defined(__arm__) || defined(__arm) || defined(__aarch64__))
</span></pre><pre style='margin:0'>

</pre>