aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo Buehler <tb@openbsd.org>2023-05-25 07:49:41 +0200
committerTheo Buehler <tb@openbsd.org>2023-05-25 09:14:41 +0200
commite8a3e3f85ade9cfdce5f7a232aec99fe37ac65d4 (patch)
treeb42c9905af5eb183d5e3a0ff7bd231357833acf3
parent505e1ca787ce14273bcc38207d9499e0b495ea56 (diff)
downloadportable-e8a3e3f85ade9cfdce5f7a232aec99fe37ac65d4.tar.gz
portable-e8a3e3f85ade9cfdce5f7a232aec99fe37ac65d4.tar.bz2
portable-e8a3e3f85ade9cfdce5f7a232aec99fe37ac65d4.zip
Fix urllib3 CN without SAN tests for LibreSSL 3.6
This is a port of a patch by Christian Heimes and fixes an issue flagged by Quentin Pradet: https://bugs.python.org/issue43522
-rw-r--r--ChangeLog6
-rw-r--r--patches/x509_vpm.c.patch21
2 files changed, 27 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 98cc5a0..483a679 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,12 @@ history is also available from Git.
28 28
29LibreSSL Portable Release Notes: 29LibreSSL Portable Release Notes:
30 30
313.6.3 - Stable release
32
33 * Bug fix
34 - Hostflags in the verify parameters would not propagate from an
35 SSL_CTX to newly created SSL.
36
313.6.2 - Stable release 373.6.2 - Stable release
32 38
33 * Security fix 39 * Security fix
diff --git a/patches/x509_vpm.c.patch b/patches/x509_vpm.c.patch
new file mode 100644
index 0000000..b0a3215
--- /dev/null
+++ b/patches/x509_vpm.c.patch
@@ -0,0 +1,21 @@
1--- crypto/x509/x509_vpm.c.orig Thu May 25 07:41:58 2023
2+++ crypto/x509/x509_vpm.c Thu May 25 07:47:42 2023
3@@ -328,7 +328,9 @@ X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *dest, con
4 return 0;
5 }
6
7- /* Copy the host flags if and only if we're copying the host list */
8+ if (test_x509_verify_param_copy_id(hostflags, 0))
9+ dest->id->hostflags = id->hostflags;
10+
11 if (test_x509_verify_param_copy_id(hosts, NULL)) {
12 if (dest->id->hosts) {
13 string_stack_free(dest->id->hosts);
14@@ -339,7 +341,6 @@ X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *dest, con
15 sk_deep_copy(id->hosts, strdup, str_free);
16 if (dest->id->hosts == NULL)
17 return 0;
18- dest->id->hostflags = id->hostflags;
19 }
20 }
21