Backport upstream patch to fix TypeError for http connection if the PoolManager

is instantiated with server_hostname

Resolves: RHEL-39285
This commit is contained in:
Tomáš Hrnčiar 2024-06-18 13:27:17 +02:00
parent 04ea4b1e6c
commit ddc7ccb43d
2 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,38 @@
From f1d40fd07f7b5d9cf846a18fb5a920b4be07dfc5 Mon Sep 17 00:00:00 2001
From: Hasan Ramezani <hasan.r67@gmail.com>
Date: Thu, 20 Jan 2022 15:56:02 +0100
Subject: [PATCH] [1.26] Add server_hostname to SSL_KEYWORDS
---
src/urllib3/poolmanager.py | 1 +
test/with_dummyserver/test_poolmanager.py | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/src/urllib3/poolmanager.py b/src/urllib3/poolmanager.py
index 3a31a285bf..ca4ec34118 100644
--- a/src/urllib3/poolmanager.py
+++ b/src/urllib3/poolmanager.py
@@ -34,6 +34,7 @@
"ca_cert_dir",
"ssl_context",
"key_password",
+ "server_hostname",
)
# All known keyword arguments that could be provided to the pool manager, its
diff --git a/test/with_dummyserver/test_poolmanager.py b/test/with_dummyserver/test_poolmanager.py
index d877cc99ac..fa07a372a9 100644
--- a/test/with_dummyserver/test_poolmanager.py
+++ b/test/with_dummyserver/test_poolmanager.py
@@ -346,6 +346,11 @@ def test_http_with_ssl_keywords(self):
r = http.request("GET", "http://%s:%s/" % (self.host, self.port))
assert r.status == 200
+ def test_http_with_server_hostname(self):
+ with PoolManager(server_hostname="example.com") as http:
+ r = http.request("GET", "http://%s:%s/" % (self.host, self.port))
+ assert r.status == 200
+
def test_http_with_ca_cert_dir(self):
with PoolManager(ca_certs="REQUIRED", ca_cert_dir="/nosuchdir") as http:
r = http.request("GET", "http://%s:%s/" % (self.host, self.port))

View File

@ -6,7 +6,7 @@
Name: python-%{srcname}
Version: 1.26.5
Release: 5%{?dist}
Release: 6%{?dist}
Summary: Python HTTP library with thread-safe connection pooling and file post
License: MIT
@ -32,6 +32,11 @@ Patch1: CVE-2023-43804.patch
# Upstream fix: https://github.com/urllib3/urllib3/commit/4e98d57809dacab1cbe625fddeec1a290c478ea9
Patch2: CVE-2023-45803.patch
# PoolManager.urlopen fails with TypeError for http connection if the PoolManager is instantiated with server_hostname
# Tracking bug: https://issues.redhat.com/browse/RHEL-39285
# Upstream fix: https://github.com/urllib3/urllib3/commit/f1d40fd07f7b5d9cf846a18fb5a920b4be07dfc5
Patch3: Add-server_hostname-to-SSL_KEYWORDS.patch
%description
Python HTTP module with connection pooling and file POST abilities.
@ -134,6 +139,11 @@ ln -s %{python3_sitelib}/__pycache__/six.cpython-%{python3_version_nodots}.pyc \
%changelog
* Tue Jun 18 2024 Tomáš Hrnčiar <thrnciar@redhat.com> - 1.26.5-6
- Backport upstream patch to fix TypeError for http connection if the PoolManager
- is instantiated with server_hostname
Resolves: RHEL-39285
* Tue Dec 12 2023 Lumír Balhar <lbalhar@redhat.com> - 1.26.5-5
- Security fix for CVE-2023-45803
Resolves: RHEL-16874