summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/python/python3-docker
diff options
context:
space:
mode:
authorChristian Ege <christian.ege@ifm.com>2025-04-16 20:58:05 +0800
committerBruce Ashfield <bruce.ashfield@gmail.com>2025-04-19 22:49:36 +0000
commit227cefa1261daf20b7d9737541994ec2bba629fc (patch)
tree2ec25848368a4b8661c376d65032def1136f38dd /recipes-devtools/python/python3-docker
parent55ed2134a4b0225e7cb74777a5775d910dc3f065 (diff)
downloadmeta-virtualization-227cefa1261daf20b7d9737541994ec2bba629fc.tar.gz
python3-docker: Fix for requests 2.32.0: CVE-2024-35195 backportkirkstone
After backporting the CVE-2024-35195 in poky, parts of python3-requests got updated to 2.32.0 which is incompatible with the current docker-compose command. This patch will fix the following error message: During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/docker-compose", line 8, in <module> sys.exit(main()) File "/usr/lib/python3.10/site-packages/compose/cli/main.py", line 81, in main command_func() File "/usr/lib/python3.10/site-packages/compose/cli/main.py", line 200, in perform_command project = project_from_options('.', options) File "/usr/lib/python3.10/site-packages/compose/cli/command.py", line 60, in project_from_options return get_project( File "/usr/lib/python3.10/site-packages/compose/cli/command.py", line 152, in get_project client = get_client( File "/usr/lib/python3.10/site-packages/compose/cli/docker_client.py", line 41, in get_client client = docker_client( File "/usr/lib/python3.10/site-packages/compose/cli/docker_client.py", line 170, in docker_client client = APIClient(use_ssh_client=not use_paramiko_ssh, **kwargs) File "/usr/lib/python3.10/site-packages/docker/api/client.py", line 197, in __init__ self._version = self._retrieve_server_version() File "/usr/lib/python3.10/site-packages/docker/api/client.py", line 221, in _retrieve_server_version raise DockerException( docker.errors.DockerException: Error while fetching server API version: Not supported URL scheme http+docker Signed-off-by: Christian Ege <christian.ege@ifm.com> Reference: https://github.com/graugans/meta-virtualization/commit/4149812ca9581a313de27c45a0f2dfa7bd8f53df Signed-off-by: Libo Chen <libo.chen.cn@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-devtools/python/python3-docker')
-rw-r--r--recipes-devtools/python/python3-docker/0001-hotfix-requests-issue.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/recipes-devtools/python/python3-docker/0001-hotfix-requests-issue.patch b/recipes-devtools/python/python3-docker/0001-hotfix-requests-issue.patch
new file mode 100644
index 00000000..70ad8f49
--- /dev/null
+++ b/recipes-devtools/python/python3-docker/0001-hotfix-requests-issue.patch
@@ -0,0 +1,31 @@
1From 2efec099ad80c18136dc38d9dafd1bb868bf4c90 Mon Sep 17 00:00:00 2001
2From: Felix Fontein <felix@fontein.de>
3Date: Mon, 20 May 2024 21:08:25 +0200
4Subject: [PATCH] Add hotfix for requests 2.32.0. (#861)
5
6Upstream-Status: Backport
7[https://github.com/ansible-collections/community.docker/commit/ab8b6662c28a2c7b0473d43fcf0b26adb2877ede]
8
9Signed-off-by: Libo Chen <libo.chen.cn@windriver.com>
10---
11 docker/transport/basehttpadapter.py | 7 +++++++
12 1 file changed, 7 insertions(+)
13
14diff --git a/docker/transport/basehttpadapter.py b/docker/transport/basehttpadapter.py
15index 4d819b6..3ffe78b 100644
16--- a/docker/transport/basehttpadapter.py
17+++ b/docker/transport/basehttpadapter.py
18@@ -6,3 +6,10 @@ class BaseHTTPAdapter(requests.adapters.HTTPAdapter):
19 super(BaseHTTPAdapter, self).close()
20 if hasattr(self, 'pools'):
21 self.pools.clear()
22+
23+ # Hotfix for requests 2.32.0: its commit
24+ # https://github.com/psf/requests/commit/c0813a2d910ea6b4f8438b91d315b8d181302356
25+ # changes requests.adapters.HTTPAdapter to no longer call get_connection() from
26+ # send(), but instead call _get_connection().
27+ def _get_connection(self, request, *args, **kwargs):
28+ return self.get_connection(request.url, kwargs.get('proxies'))
29--
302.35.5
31