Update to 3.10.18
This commit is contained in:
parent
75538d3684
commit
6c238008d1
3 changed files with 7 additions and 99 deletions
|
|
@ -1,80 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Miss Islington (bot)"
|
||||
<31488909+miss-islington@users.noreply.github.com>
|
||||
Date: Mon, 11 Nov 2024 15:26:10 +0100
|
||||
Subject: 00458: test_ssl: Don't stop ThreadedEchoServer on OSError in
|
||||
ConnectionHandler
|
||||
|
||||
If `read()` in the ConnectionHandler thread raises `OSError` (except `ConnectionError`),
|
||||
the ConnectionHandler shuts down the entire ThreadedEchoServer,
|
||||
preventing further connections.
|
||||
It also does that for `EPROTOTYPE` in `wrap_conn`.
|
||||
|
||||
Make sure that the context manager *is* used, and remove the `server.stop()`
|
||||
calls from ConnectionHandler.
|
||||
|
||||
Backported from 3.12+:
|
||||
https://github.com/python/cpython/pull/126503
|
||||
|
||||
Co-authored-by: Petr Viktorin <encukou@gmail.com>
|
||||
---
|
||||
Lib/test/test_ssl.py | 17 ++++++++++++-----
|
||||
1 file changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
|
||||
index a1a581a907..0f1397de73 100644
|
||||
--- a/Lib/test/test_ssl.py
|
||||
+++ b/Lib/test/test_ssl.py
|
||||
@@ -2488,7 +2488,6 @@ def wrap_conn(self):
|
||||
# See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/
|
||||
if e.errno != errno.EPROTOTYPE and sys.platform != "darwin":
|
||||
self.running = False
|
||||
- self.server.stop()
|
||||
self.close()
|
||||
return False
|
||||
else:
|
||||
@@ -2623,10 +2622,6 @@ def run(self):
|
||||
self.close()
|
||||
self.running = False
|
||||
|
||||
- # normally, we'd just stop here, but for the test
|
||||
- # harness, we want to stop the server
|
||||
- self.server.stop()
|
||||
-
|
||||
def __init__(self, certificate=None, ssl_version=None,
|
||||
certreqs=None, cacerts=None,
|
||||
chatty=True, connectionchatty=False, starttls_server=False,
|
||||
@@ -2660,21 +2655,33 @@ def __init__(self, certificate=None, ssl_version=None,
|
||||
self.conn_errors = []
|
||||
threading.Thread.__init__(self)
|
||||
self.daemon = True
|
||||
+ self._in_context = False
|
||||
|
||||
def __enter__(self):
|
||||
+ if self._in_context:
|
||||
+ raise ValueError('Re-entering ThreadedEchoServer context')
|
||||
+ self._in_context = True
|
||||
self.start(threading.Event())
|
||||
self.flag.wait()
|
||||
return self
|
||||
|
||||
def __exit__(self, *args):
|
||||
+ assert self._in_context
|
||||
+ self._in_context = False
|
||||
self.stop()
|
||||
self.join()
|
||||
|
||||
def start(self, flag=None):
|
||||
+ if not self._in_context:
|
||||
+ raise ValueError(
|
||||
+ 'ThreadedEchoServer must be used as a context manager')
|
||||
self.flag = flag
|
||||
threading.Thread.start(self)
|
||||
|
||||
def run(self):
|
||||
+ if not self._in_context:
|
||||
+ raise ValueError(
|
||||
+ 'ThreadedEchoServer must be used as a context manager')
|
||||
self.sock.settimeout(1.0)
|
||||
self.sock.listen(5)
|
||||
self.active = True
|
||||
|
|
@ -13,11 +13,11 @@ URL: https://www.python.org/
|
|||
|
||||
# WARNING When rebasing to a new Python version,
|
||||
# remember to update the python3-docs package as well
|
||||
%global general_version %{pybasever}.17
|
||||
%global general_version %{pybasever}.18
|
||||
#global prerel ...
|
||||
%global upstream_version %{general_version}%{?prerel}
|
||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||
Release: 3%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: Python-2.0.1
|
||||
|
||||
|
||||
|
|
@ -333,21 +333,6 @@ Patch371: 00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-g
|
|||
# even when cross-compiling.
|
||||
Patch452: 00452-properly-apply-exported-cflags-for-dtrace-systemtap-builds.patch
|
||||
|
||||
# 00458 # ee47b2530c18d1e0b414f5a0738ddce28e7510f4
|
||||
# test_ssl: Don't stop ThreadedEchoServer on OSError in ConnectionHandler
|
||||
#
|
||||
# If `read()` in the ConnectionHandler thread raises `OSError` (except `ConnectionError`),
|
||||
# the ConnectionHandler shuts down the entire ThreadedEchoServer,
|
||||
# preventing further connections.
|
||||
# It also does that for `EPROTOTYPE` in `wrap_conn`.
|
||||
#
|
||||
# Make sure that the context manager *is* used, and remove the `server.stop()`
|
||||
# calls from ConnectionHandler.
|
||||
#
|
||||
# Backported from 3.12+:
|
||||
# https://github.com/python/cpython/pull/126503
|
||||
Patch458: 00458-test_ssl-don-t-stop-threadedechoserver-on-oserror-in-connectionhandler.patch
|
||||
|
||||
# 00462 # f0db87ee65704fa5545ea25f2cca8c43fc639fab
|
||||
# Fix PySSL_SetError handling SSL_ERROR_SYSCALL
|
||||
#
|
||||
|
|
@ -1647,6 +1632,9 @@ CheckPython optimized
|
|||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Wed Jun 04 2025 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.10.18-1
|
||||
- Update to 3.10.18
|
||||
|
||||
* Tue May 13 2025 Charalampos Stratakis <cstratak@redhat.com> - 3.10.17-3
|
||||
- Fix PySSL_SetError handling SSL_ERROR_SYSCALL
|
||||
- This fixes random flakiness of test_ssl on stressed machines
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (Python-3.10.17.tar.xz) = 11b1e647f8db05041bcafe110698af8bf5e9f7c8d23c0e9eb568a60544bb9a9e9c3ac94b34f0898f0d4e6c23da3cb81f844ae9d9c8b750058763502eaba39880
|
||||
SHA512 (Python-3.10.17.tar.xz.asc) = f5fea78e2ea413c9befb6181787b3a5ea3bc0f5dbf808a94465b558c09353482cd34631a4c505f72aa343a2f4fae291453324cd8e6b18df214baaf4680fc17cf
|
||||
SHA512 (Python-3.10.18.tar.xz) = 2c444f024cd15babd156964b50aa0245020a17c0c600250ffcf112e91594a3d6e1fb87c9b87a57cb7a802dae90004d801ed95a3103d79aefb8ed714279997708
|
||||
SHA512 (Python-3.10.18.tar.xz.asc) = dbe1426b1b8371bf390b53595d2c656fbd311fed55ad3c705e175fa0c72d51a022f286877ec55ad74547a3b57ae945c9af7ece4dacc7132e21b9b7eb4421add6
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue