summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeikki Vatiainen <hvn@radiatorsoftware.com>2023-06-12 01:15:40 +0300
committerGitHub <noreply@github.com>2023-06-12 01:15:40 +0300
commit936aca55ff32173af49264ce048108cc54a27054 (patch)
tree172782276aa4e98eda6bfd1a082aa936da575dea
parentbcd34fc3a53580099df11149edb200ca830865fe (diff)
parentbe44d2961cebbbd3185d1fff8b8a1dc3a5b2eca4 (diff)
Merge pull request #435 from radiator-software/libressl-3.8.0-support
SSLeay.xs: Disable Policy Tree API for LibreSSL 3.8 and later
-rw-r--r--Changes14
-rw-r--r--SSLeay.xs2
-rw-r--r--lib/Net/SSLeay.pod24
3 files changed, 38 insertions, 2 deletions
diff --git a/Changes b/Changes
index 7ae59eb..a301f50 100644
--- a/Changes
+++ b/Changes
@@ -12,6 +12,20 @@ Revision history for Perl extension Net::SSLeay.
Rocky Linux 9.2. Any Red Hat Enterprise Linux 9 and derived
system is likely to have similar behaviour. Thanks to Paul
Howarth for the investigation and patches.
+ - LibreSSL 3.8.0 release notes state: The POLICY_TREE and its
+ related structures and API were removed. The affected
+ Net::SSLeay functions are:
+ - X509_policy_level_get0_node
+ - X509_policy_level_node_count
+ - X509_policy_node_get0_parent
+ - X509_policy_node_get0_policy
+ - X509_policy_node_get0_qualifiers
+ - X509_policy_tree_free
+ - X509_policy_tree_get0_level
+ - X509_policy_tree_get0_policies
+ - X509_policy_tree_get0_user_policies
+ - X509_policy_tree_level_count
+ Patch by GitHub user orbea.
1.93_02 2023-02-22
- Update ppport.h to version 3.68. This eliminates thousands of
diff --git a/SSLeay.xs b/SSLeay.xs
index 102e89f..492a3a1 100644
--- a/SSLeay.xs
+++ b/SSLeay.xs
@@ -7157,6 +7157,7 @@ X509_VERIFY_PARAM_get0_peername(param)
#endif /* OpenSSL 1.0.2-beta2, LibreSSL 2.7.0 */
+#if !defined(LIBRESSL_VERSION_NUMBER) || (LIBRESSL_VERSION_NUMBER < 0x3080000fL) /* LibreSSL < 3.8.0 */
void
X509_policy_tree_free(tree)
X509_POLICY_TREE *tree
@@ -7199,6 +7200,7 @@ const X509_POLICY_NODE *
X509_policy_node_get0_parent(node)
const X509_POLICY_NODE *node
+#endif /* LibreSSL < 3.8.0 */
#endif
ASN1_OBJECT *
diff --git a/lib/Net/SSLeay.pod b/lib/Net/SSLeay.pod
index d11d2d6..348b954 100644
--- a/lib/Net/SSLeay.pod
+++ b/lib/Net/SSLeay.pod
@@ -6498,6 +6498,8 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_level_get0_node
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_level_get0_node($level, $i);
@@ -6508,6 +6510,8 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_level_node_count
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_level_node_count($level);
@@ -6517,6 +6521,8 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_node_get0_parent
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_node_get0_parent($node);
@@ -6526,6 +6532,8 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_node_get0_policy
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_node_get0_policy($node);
@@ -6535,6 +6543,8 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_node_get0_qualifiers
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_node_get0_qualifiers($node);
@@ -6544,6 +6554,8 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_tree_free
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
Net::SSLeay::X509_policy_tree_free($tree);
@@ -6553,6 +6565,8 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_tree_get0_level
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_tree_get0_level($tree, $i);
@@ -6563,24 +6577,30 @@ Loads/adds X509 CRL from $file to X509_LOOKUP structure
=item * X509_policy_tree_get0_policies
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_tree_get0_policies($tree);
# $tree - value corresponding to openssl's X509_POLICY_TREE structure
#
- # returns: value corresponding to openssl's X509_POLICY_NODE structure (0 on failure)
+ # returns: value corresponding to openssl's STACK_OF(X509_POLICY_NODE) structure (0 on failure)
=item * X509_policy_tree_get0_user_policies
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_tree_get0_user_policies($tree);
# $tree - value corresponding to openssl's X509_POLICY_TREE structure
#
- # returns: value corresponding to openssl's X509_POLICY_NODE structure (0 on failure)
+ # returns: value corresponding to openssl's STACK_OF(X509_POLICY_NODE) structure (0 on failure)
=item * X509_policy_tree_level_count
+B<COMPATIBILITY:> no longer available in LibreSSL 3.8.0 and later
+
??? (more info needed)
my $rv = Net::SSLeay::X509_policy_tree_level_count($tree);