Update to 3.11.13
This commit is contained in:
parent
2b6b498d77
commit
1a753370c4
3 changed files with 4 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 203351bd60..0b169c37d5 100644
|
||||
--- a/Lib/test/test_ssl.py
|
||||
+++ b/Lib/test/test_ssl.py
|
||||
@@ -2516,7 +2516,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:
|
||||
@@ -2651,10 +2650,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,
|
||||
@@ -2688,21 +2683,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}.12
|
||||
%global general_version %{pybasever}.13
|
||||
#global prerel ...
|
||||
%global upstream_version %{general_version}%{?prerel}
|
||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||
Release: 3%{?dist}
|
||||
Release: 1%{?dist}
|
||||
License: Python-2.0.1
|
||||
|
||||
|
||||
|
|
@ -331,21 +331,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 # c9db492d8924b2d1a0991e36f3c2b4f9c2ec8942
|
||||
# Fix PySSL_SetError handling SSL_ERROR_SYSCALL
|
||||
#
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (Python-3.11.12.tar.xz) = 5c95900de73cd187f5d7a89a05314ef85f4d680308d0d5fff5e6ada81f8ecf030018bef0f1a819d007e8b6d01b52e50395572c2d1a56d2c164492e13a69a9926
|
||||
SHA512 (Python-3.11.12.tar.xz.asc) = cb1f82d44be6de67182747f8ad1054e85cca22753c0c86ff12b95ec7044c5c6c37f40a876e5707a6c422d58f483257b8ddbb3ea87893679f81b9299c48373f20
|
||||
SHA512 (Python-3.11.13.tar.xz) = 70f57464d548eac4fe0d0c7f85a14b0e549a4e25ef66de4fc36b06ce72a3efe87dadfcd56ee275c10483cf802fbc9d73b61f9fb2941a46e2f92f075aeb1afe85
|
||||
SHA512 (Python-3.11.13.tar.xz.asc) = 6e261490bc7777f0bcebd0464867df98b7955b32f13a445aab3cb6a1a1d3fb804817638f67a8586910fb97291a805b64f130909c06257903f431f8634c691c3b
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue