Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-requests for openSUSE:Factory 
checked in at 2026-04-01 19:54:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-requests (Old)
 and      /work/SRC/openSUSE:Factory/.python-requests.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-requests"

Wed Apr  1 19:54:56 2026 rev:92 rq:1343939 version:2.33.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-requests/python-requests.changes  
2026-03-28 20:15:16.494186897 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-requests.new.21863/python-requests.changes   
    2026-04-01 19:55:28.889216998 +0200
@@ -1,0 +2,9 @@
+Tue Mar 31 12:46:09 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 2.33.1:
+  * Fixed test cleanup for CVE-2026-25645 to avoid leaving
+    unnecessary files in the tmp directory.
+  * Fixed Content-Type header parsing for malformed values.
+  * Improved error consistency for malformed header values.
+
+-------------------------------------------------------------------

Old:
----
  requests-2.33.0.tar.gz

New:
----
  requests-2.33.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-requests.spec ++++++
--- /var/tmp/diff_new_pack.mpLE3c/_old  2026-04-01 19:55:30.137268515 +0200
+++ /var/tmp/diff_new_pack.mpLE3c/_new  2026-04-01 19:55:30.161269506 +0200
@@ -26,7 +26,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-requests%{psuffix}
-Version:        2.33.0
+Version:        2.33.1
 Release:        0
 Summary:        Python HTTP Library
 License:        Apache-2.0

++++++ requests-2.33.0.tar.gz -> requests-2.33.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/HISTORY.md 
new/requests-2.33.1/HISTORY.md
--- old/requests-2.33.0/HISTORY.md      2026-03-25 16:09:51.000000000 +0100
+++ new/requests-2.33.1/HISTORY.md      2026-03-30 18:08:04.000000000 +0200
@@ -6,8 +6,17 @@
 
 - \[Short description of non-trivial change.\]
 
+2.33.1 (2026-03-30)
+-------------------
+
+**Bugfixes**
+- Fixed test cleanup for CVE-2026-25645 to avoid leaving unnecessary
+  files in the tmp directory. (#7305)
+- Fixed Content-Type header parsing for malformed values. (#7309)
+- Improved error consistency for malformed header values. (#7308)
+
 2.33.0 (2026-03-25)
---------------------
+-------------------
 
 **Announcements**
 - 📣 Requests is adding inline types. If you have a typed code base that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/PKG-INFO new/requests-2.33.1/PKG-INFO
--- old/requests-2.33.0/PKG-INFO        2026-03-25 16:09:55.191899000 +0100
+++ new/requests-2.33.1/PKG-INFO        2026-03-30 18:08:10.206858200 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: requests
-Version: 2.33.0
+Version: 2.33.1
 Summary: Python HTTP for Humans.
 Author-email: Kenneth Reitz <[email protected]>
 Maintainer-email: Ian Stapleton Cordasco <[email protected]>, Nate 
Prewitt <[email protected]>
@@ -38,13 +38,6 @@
 Requires-Dist: PySocks!=1.5.7,>=1.5.6; extra == "socks"
 Provides-Extra: use-chardet-on-py3
 Requires-Dist: chardet<8,>=3.0.2; extra == "use-chardet-on-py3"
-Provides-Extra: test
-Requires-Dist: pytest-httpbin==2.1.0; extra == "test"
-Requires-Dist: pytest-cov; extra == "test"
-Requires-Dist: pytest-mock; extra == "test"
-Requires-Dist: pytest-xdist; extra == "test"
-Requires-Dist: PySocks!=1.5.7,>=1.5.6; extra == "test"
-Requires-Dist: pytest>=3; extra == "test"
 Dynamic: license-file
 
 # Requests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/pyproject.toml 
new/requests-2.33.1/pyproject.toml
--- old/requests-2.33.0/pyproject.toml  2026-03-25 16:09:51.000000000 +0100
+++ new/requests-2.33.1/pyproject.toml  2026-03-30 18:08:04.000000000 +0200
@@ -52,13 +52,17 @@
 security = []
 socks = ["PySocks>=1.5.6, !=1.5.7"]
 use_chardet_on_py3 = ["chardet>=3.0.2,<8"]
+
+[dependency-groups]
 test = [
+    "requests[socks]",
     "pytest-httpbin==2.1.0",
+    "httpbin~=0.10.0",
     "pytest-cov",
     "pytest-mock",
     "pytest-xdist",
-    "PySocks>=1.5.6, !=1.5.7",
-    "pytest>=3"
+    "pytest>=3",
+    "trustme",
 ]
 
 [tool.setuptools]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/src/requests/__version__.py 
new/requests-2.33.1/src/requests/__version__.py
--- old/requests-2.33.0/src/requests/__version__.py     2026-03-25 
16:09:51.000000000 +0100
+++ new/requests-2.33.1/src/requests/__version__.py     2026-03-30 
18:08:04.000000000 +0200
@@ -5,8 +5,8 @@
 __title__ = "requests"
 __description__ = "Python HTTP for Humans."
 __url__ = "https://requests.readthedocs.io";
-__version__ = "2.33.0"
-__build__ = 0x023300
+__version__ = "2.33.1"
+__build__ = 0x023301
 __author__ = "Kenneth Reitz"
 __author_email__ = "[email protected]"
 __license__ = "Apache-2.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/src/requests/_internal_utils.py 
new/requests-2.33.1/src/requests/_internal_utils.py
--- old/requests-2.33.0/src/requests/_internal_utils.py 2026-03-25 
16:09:51.000000000 +0100
+++ new/requests-2.33.1/src/requests/_internal_utils.py 2026-03-30 
18:08:04.000000000 +0200
@@ -10,10 +10,10 @@
 
 from .compat import builtin_str
 
-_VALID_HEADER_NAME_RE_BYTE = re.compile(rb"^[^:\s][^:\r\n]*$")
-_VALID_HEADER_NAME_RE_STR = re.compile(r"^[^:\s][^:\r\n]*$")
-_VALID_HEADER_VALUE_RE_BYTE = re.compile(rb"^\S[^\r\n]*$|^$")
-_VALID_HEADER_VALUE_RE_STR = re.compile(r"^\S[^\r\n]*$|^$")
+_VALID_HEADER_NAME_RE_BYTE = re.compile(rb"^[^:\s][^:\r\n]*\Z")
+_VALID_HEADER_NAME_RE_STR = re.compile(r"^[^:\s][^:\r\n]*\Z")
+_VALID_HEADER_VALUE_RE_BYTE = re.compile(rb"^\S[^\r\n]*\Z|^\Z")
+_VALID_HEADER_VALUE_RE_STR = re.compile(r"^\S[^\r\n]*\Z|^\Z")
 
 _HEADER_VALIDATORS_STR = (_VALID_HEADER_NAME_RE_STR, 
_VALID_HEADER_VALUE_RE_STR)
 _HEADER_VALIDATORS_BYTE = (_VALID_HEADER_NAME_RE_BYTE, 
_VALID_HEADER_VALUE_RE_BYTE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/src/requests/utils.py 
new/requests-2.33.1/src/requests/utils.py
--- old/requests-2.33.0/src/requests/utils.py   2026-03-25 16:09:51.000000000 
+0100
+++ new/requests-2.33.1/src/requests/utils.py   2026-03-30 18:08:04.000000000 
+0200
@@ -502,26 +502,23 @@
 
 
 def _parse_content_type_header(header):
-    """Returns content type and parameters from given header
+    """Returns content type and parameters from given header.
 
     :param header: string
     :return: tuple containing content type and dictionary of
-         parameters
+         parameters.
     """
 
     tokens = header.split(";")
     content_type, params = tokens[0].strip(), tokens[1:]
     params_dict = {}
-    items_to_strip = "\"' "
+    strip_chars = "\"' "
 
     for param in params:
         param = param.strip()
-        if param:
-            key, value = param, True
-            index_of_equals = param.find("=")
-            if index_of_equals != -1:
-                key = param[:index_of_equals].strip(items_to_strip)
-                value = param[index_of_equals + 1 :].strip(items_to_strip)
+        if param and (idx := param.find("=")) != -1:
+            key = param[:idx].strip(strip_chars)
+            value = param[idx + 1 :].strip(strip_chars)
             params_dict[key.lower()] = value
     return content_type, params_dict
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/src/requests.egg-info/PKG-INFO 
new/requests-2.33.1/src/requests.egg-info/PKG-INFO
--- old/requests-2.33.0/src/requests.egg-info/PKG-INFO  2026-03-25 
16:09:55.000000000 +0100
+++ new/requests-2.33.1/src/requests.egg-info/PKG-INFO  2026-03-30 
18:08:10.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: requests
-Version: 2.33.0
+Version: 2.33.1
 Summary: Python HTTP for Humans.
 Author-email: Kenneth Reitz <[email protected]>
 Maintainer-email: Ian Stapleton Cordasco <[email protected]>, Nate 
Prewitt <[email protected]>
@@ -38,13 +38,6 @@
 Requires-Dist: PySocks!=1.5.7,>=1.5.6; extra == "socks"
 Provides-Extra: use-chardet-on-py3
 Requires-Dist: chardet<8,>=3.0.2; extra == "use-chardet-on-py3"
-Provides-Extra: test
-Requires-Dist: pytest-httpbin==2.1.0; extra == "test"
-Requires-Dist: pytest-cov; extra == "test"
-Requires-Dist: pytest-mock; extra == "test"
-Requires-Dist: pytest-xdist; extra == "test"
-Requires-Dist: PySocks!=1.5.7,>=1.5.6; extra == "test"
-Requires-Dist: pytest>=3; extra == "test"
 Dynamic: license-file
 
 # Requests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/src/requests.egg-info/requires.txt 
new/requests-2.33.1/src/requests.egg-info/requires.txt
--- old/requests-2.33.0/src/requests.egg-info/requires.txt      2026-03-25 
16:09:55.000000000 +0100
+++ new/requests-2.33.1/src/requests.egg-info/requires.txt      2026-03-30 
18:08:10.000000000 +0200
@@ -8,13 +8,5 @@
 [socks]
 PySocks!=1.5.7,>=1.5.6
 
-[test]
-pytest-httpbin==2.1.0
-pytest-cov
-pytest-mock
-pytest-xdist
-PySocks!=1.5.7,>=1.5.6
-pytest>=3
-
 [use_chardet_on_py3]
 chardet<8,>=3.0.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/tests/test_requests.py 
new/requests-2.33.1/tests/test_requests.py
--- old/requests-2.33.0/tests/test_requests.py  2026-03-25 16:09:51.000000000 
+0100
+++ new/requests-2.33.1/tests/test_requests.py  2026-03-30 18:08:04.000000000 
+0200
@@ -1791,6 +1791,11 @@
             {"fo\r\no": "bar"},
             {"fo\n\ro": "bar"},
             {"fo\no": "bar"},
+            {"foo": "bar\n"},
+            {"foo\n": "bar"},
+            {"foo": "bar\r\n"},
+            {"foo": "\n"},
+            {"foo": "\r\n"},
         ),
     )
     def test_header_no_return_chars(self, httpbin, invalid_header):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/requests-2.33.0/tests/test_utils.py 
new/requests-2.33.1/tests/test_utils.py
--- old/requests-2.33.0/tests/test_utils.py     2026-03-25 16:09:51.000000000 
+0100
+++ new/requests-2.33.1/tests/test_utils.py     2026-03-30 18:08:04.000000000 
+0200
@@ -361,9 +361,12 @@
         zipped_path = os.path.join(zipped_py.strpath, name.lstrip(r"\/"))
         extracted_path = extract_zipped_paths(zipped_path)
 
-        assert extracted_path != zipped_path
-        assert os.path.exists(extracted_path)
-        assert filecmp.cmp(extracted_path, __file__)
+        try:
+            assert extracted_path != zipped_path
+            assert os.path.exists(extracted_path)
+            assert filecmp.cmp(extracted_path, __file__)
+        finally:
+            os.remove(extracted_path)
 
     def test_invalid_unc_path(self):
         path = r"\\localhost\invalid\location"
@@ -593,7 +596,6 @@
                 {
                     "boundary": "something",
                     "boundary2": "something_else",
-                    "no_equals": True,
                 },
             ),
         ),
@@ -604,7 +606,6 @@
                 {
                     "boundary": "something",
                     "boundary2": "something_else",
-                    "no_equals": True,
                 },
             ),
         ),
@@ -615,7 +616,6 @@
                 {
                     "boundary": "something",
                     "boundary2": "something_else",
-                    "no_equals": True,
                 },
             ),
         ),
@@ -626,7 +626,6 @@
                 {
                     "boundary": "something",
                     "boundary2": "something_else",
-                    "no_equals": True,
                 },
             ),
         ),
@@ -646,6 +645,10 @@
             "utf-8",
         ),
         (CaseInsensitiveDict({"content-type": "text/plain"}), "ISO-8859-1"),
+        (
+            CaseInsensitiveDict({"content-type": "text/html; charset"}),
+            "ISO-8859-1",
+        ),
     ),
 )
 def test_get_encoding_from_headers(value, expected):

Reply via email to