diff --git a/00457-ssl-raise-oserror-for-err_lib_sys.patch b/00457-ssl-raise-oserror-for-err_lib_sys.patch new file mode 100644 index 0000000..0f8c5f4 --- /dev/null +++ b/00457-ssl-raise-oserror-for-err_lib_sys.patch @@ -0,0 +1,43 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Victor Stinner +Date: Thu, 3 Apr 2025 18:26:17 +0200 +Subject: [PATCH] 00457: ssl: Raise OSError for ERR_LIB_SYS + +The patch resolves the flakiness of test_ftplib + +Backported from upstream 3.10+: +https://github.com/python/cpython/pull/127361 + +Co-authored-by: Petr Viktorin +--- + Modules/_ssl.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/Modules/_ssl.c b/Modules/_ssl.c +index 3375b2bf3f..ab8a327d10 100644 +--- a/Modules/_ssl.c ++++ b/Modules/_ssl.c +@@ -638,6 +638,11 @@ PySSL_SetError(PySSLSocket *obj, int ret, const char *filename, int lineno) + errstr = "Some I/O error occurred"; + } + } else { ++ 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; +@@ -648,6 +653,11 @@ PySSL_SetError(PySSLSocket *obj, int ret, const char *filename, int lineno) + if (e == 0) + /* possible? */ + errstr = "A failure in the SSL library occurred"; ++ 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: diff --git a/python3.6.spec b/python3.6.spec index 79e9e61..35c5489 100644 --- a/python3.6.spec +++ b/python3.6.spec @@ -17,7 +17,7 @@ URL: https://www.python.org/ #global prerel ... %global upstream_version %{general_version}%{?prerel} Version: %{general_version}%{?prerel:~%{prerel}} -Release: 44%{?dist} +Release: 45%{?dist} # Python is Python # pip MIT is and bundles: # appdirs: MIT @@ -816,6 +816,15 @@ Patch450: 00450-cve-2025-0938-disallow-square-brackets-and-in-domain-names-for-p # even when cross-compiling. Patch452: 00452-properly-apply-exported-cflags-for-dtrace-systemtap-builds.patch +# 00457 # da99203f07d380d50ec780323bbebda00f227797 +# ssl: Raise OSError for ERR_LIB_SYS +# +# The patch resolves the flakiness of test_ftplib +# +# Backported from upstream 3.10+: +# https://github.com/python/cpython/pull/127361 +Patch457: 00457-ssl-raise-oserror-for-err_lib_sys.patch + # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora, EL, etc., @@ -2085,6 +2094,9 @@ CheckPython optimized # ====================================================== %changelog +* Wed Apr 16 2025 Charalampos Stratakis - 3.6.15-45 +- Fix the flakiness of test_ftplib + * Tue Apr 01 2025 Charalampos Stratakis - 3.6.15-44 - Properly apply exported CFLAGS for dtrace/systemtap builds - Fixes: rhbz#2356306