mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
python: backport patches to support openssl 3.4.0
https://github.com/python/cpython/pull/127331 https://github.com/python/cpython/pull/127361 (From OE-Core rev: e5f3a1793e34fb4cd1e53ca60b67f9a9f084b7a6) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
5c35805fd4
commit
cdea0085a3
+1452
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,51 @@
|
|||||||
|
From 11e0523eb363b7def4bc64d24a04e88d8670a691 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Viktorin <encukou@gmail.com>
|
||||||
|
Date: Thu, 28 Nov 2024 13:32:30 +0100
|
||||||
|
Subject: [PATCH] ssl: Raise OSError for ERR_LIB_SYS
|
||||||
|
|
||||||
|
From the ERR_raise manpage:
|
||||||
|
|
||||||
|
ERR_LIB_SYS
|
||||||
|
|
||||||
|
This "library code" indicates that a system error is
|
||||||
|
being reported. In this case, the reason code given
|
||||||
|
to `ERR_raise()` and `ERR_raise_data()` *must* be
|
||||||
|
`errno(3)`.
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [https://github.com/python/cpython/pull/127361]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
Modules/_ssl.c | 10 ++++++++++
|
||||||
|
1 file changed, 10 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
|
||||||
|
index e5b8bf21002..a243ba4b9bc 100644
|
||||||
|
--- a/Modules/_ssl.c
|
||||||
|
+++ b/Modules/_ssl.c
|
||||||
|
@@ -667,6 +667,11 @@ PySSL_SetError(PySSLSocket *sslsock, const char *filename, int lineno)
|
||||||
|
ERR_GET_REASON(e) == SSL_R_CERTIFICATE_VERIFY_FAILED) {
|
||||||
|
type = state->PySSLCertVerificationErrorObject;
|
||||||
|
}
|
||||||
|
+ if (ERR_GET_LIB(e) == ERR_LIB_SYS) {
|
||||||
|
+ // A system error is being reported; reason is set to errno
|
||||||
|
+ errno = ERR_GET_REASON(e);
|
||||||
|
+ return PyErr_SetFromErrno(PyExc_OSError);
|
||||||
|
+ }
|
||||||
|
p = PY_SSL_ERROR_SYSCALL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
@@ -692,6 +697,11 @@ PySSL_SetError(PySSLSocket *sslsock, const char *filename, int lineno)
|
||||||
|
errstr = "EOF occurred in violation of protocol";
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
+ if (ERR_GET_LIB(e) == ERR_LIB_SYS) {
|
||||||
|
+ // A system error is being reported; reason is set to errno
|
||||||
|
+ errno = ERR_GET_REASON(e);
|
||||||
|
+ return PyErr_SetFromErrno(PyExc_OSError);
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
@@ -31,6 +31,8 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
|
|||||||
file://0001-test_active_children-skip-problematic-test.patch \
|
file://0001-test_active_children-skip-problematic-test.patch \
|
||||||
file://0001-test_readline-skip-limited-history-test.patch \
|
file://0001-test_readline-skip-limited-history-test.patch \
|
||||||
file://fix-armv5.patch \
|
file://fix-armv5.patch \
|
||||||
|
file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \
|
||||||
|
file://0001-ssl-Raise-OSError-for-ERR_LIB_SYS.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI:append:class-native = " \
|
SRC_URI:append:class-native = " \
|
||||||
|
|||||||
Reference in New Issue
Block a user