summaryrefslogtreecommitdiff
diff options
Diffstat (limited to 'dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch')
-rw-r--r--dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch151
1 files changed, 151 insertions, 0 deletions
diff --git a/dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch b/dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch
new file mode 100644
index 000000000000..fa3752a2b516
--- /dev/null
+++ b/dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch
@@ -0,0 +1,151 @@
+From 58168139adcaa4bf12448904137cd77812636b18 Mon Sep 17 00:00:00 2001
+From: Ron Frederick <ronf@timeheart.net>
+Date: Sat, 23 Dec 2023 10:25:14 -0800
+Subject: [PATCH] Guard against possible UNIX domain socket cleanup in Python
+ 3.13
+
+This commit adds guards around code which cleans up UNIX domain
+sockets, to protect against a change proposed at
+https://github.com/python/cpython/issues/111246
+which would cause the socket to clean itself up on close.
+---
+ tests/test_agent.py | 5 ++++-
+ tests/test_forward.py | 50 +++++++++++++++++++++++++++++++++----------
+ 2 files changed, 43 insertions(+), 12 deletions(-)
+
+diff --git a/tests/test_agent.py b/tests/test_agent.py
+index 28ca730..2f0b83c 100644
+--- a/tests/test_agent.py
++++ b/tests/test_agent.py
+@@ -85,7 +85,10 @@ async def stop(self):
+ self._server.close()
+ await self._server.wait_closed()
+
+- os.remove(self._path)
++ try:
++ os.remove(self._path)
++ except OSError:
++ pass
+
+
+ class _TestAgent(AsyncTestCase):
+diff --git a/tests/test_forward.py b/tests/test_forward.py
+index cae199d..4d30eda 100644
+--- a/tests/test_forward.py
++++ b/tests/test_forward.py
+@@ -651,7 +651,10 @@ async def test_forward_local_path_to_port(self):
+ async with conn.forward_local_path_to_port('local', '', 7):
+ await self._check_local_unix_connection('local')
+
+- os.remove('local')
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @unittest.skipIf(sys.platform == 'win32',
+ 'skip UNIX domain socket tests on Windows')
+@@ -665,7 +668,10 @@ async def test_forward_local_path_to_port_failure(self):
+ with self.assertRaises(OSError):
+ await conn.forward_local_path_to_port('local', '', 7)
+
+- os.remove('local')
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_local_port_pause(self):
+@@ -798,7 +804,11 @@ async def test_forward_remote_port_to_path(self):
+
+ server.close()
+ await server.wait_closed()
+- os.remove('local')
++
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_remote_specific_port(self):
+@@ -1020,7 +1030,10 @@ async def test_unix_server(self):
+ await listener.wait_closed()
+ listener.close()
+
+- os.remove('echo')
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_unix_server_open(self):
+@@ -1053,7 +1066,10 @@ async def test_unix_server_non_async(self):
+ async with conn.start_unix_server(_unix_listener_non_async, path):
+ await self._check_local_unix_connection('echo')
+
+- os.remove('echo')
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_unix_server_failure(self):
+@@ -1071,7 +1087,10 @@ async def test_forward_local_path(self):
+ async with conn.forward_local_path('local', '/echo'):
+ await self._check_local_unix_connection('local')
+
+- os.remove('local')
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_local_port_to_path_accept_handler(self):
+@@ -1149,8 +1168,11 @@ async def test_forward_remote_path(self):
+ server.close()
+ await server.wait_closed()
+
+- os.remove('echo')
+- os.remove('local')
++ try:
++ os.remove('echo')
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_remote_path_to_port(self):
+@@ -1167,11 +1189,14 @@ async def test_forward_remote_path_to_port(self):
+ path, '127.0.0.1', server_port):
+ await self._check_local_unix_connection('echo')
+
+- os.remove('echo')
+-
+ server.close()
+ await server.wait_closed()
+
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
++
+ @asynctest
+ async def test_forward_remote_path_failure(self):
+ """Test failure of forwarding a remote UNIX domain path"""
+@@ -1184,7 +1209,10 @@ async def test_forward_remote_path_failure(self):
+ with self.assertRaises(asyncssh.ChannelListenError):
+ await conn.forward_remote_path(path, 'local')
+
+- os.remove('echo')
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_remote_path_not_permitted(self):