Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python311 for openSUSE:Factory checked in at 2026-07-02 20:06:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python311 (Old) and /work/SRC/openSUSE:Factory/.python311.new.1982 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python311" Thu Jul 2 20:06:45 2026 rev:70 rq:1362558 version:3.11.15 Changes: -------- --- /work/SRC/openSUSE:Factory/python311/python311.changes 2026-06-19 17:22:07.987636642 +0200 +++ /work/SRC/openSUSE:Factory/.python311.new.1982/python311.changes 2026-07-02 20:07:51.738071173 +0200 @@ -1,0 +2,7 @@ +Mon Jun 29 06:37:10 UTC 2026 - Jiri Slaby <[email protected]> + +- Add test_UDPLITE_support.patch which improves testing for the + support of IPPROTO_UDPLITE, which could be not present although + header files are (bsc#1268375). + +------------------------------------------------------------------- New: ---- test_UDPLITE_support.patch ----------(New B)---------- New: - Add test_UDPLITE_support.patch which improves testing for the support of IPPROTO_UDPLITE, which could be not present although ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python311.spec ++++++ --- /var/tmp/diff_new_pack.uPx2EX/_old 2026-07-02 20:07:53.794142239 +0200 +++ /var/tmp/diff_new_pack.uPx2EX/_new 2026-07-02 20:07:53.794142239 +0200 @@ -190,6 +190,9 @@ # PATCH-FIX-UPSTREAM CVE-2025-15366-imap-ctrl-chars.patch bsc#1257044 [email protected] # Reject control characters in wsgiref.headers.Headers Patch33: CVE-2025-15366-imap-ctrl-chars.patch +# PATCH-FIX-OPENSUSE test_UDPLITE_support.patch [email protected] +# improve testing of the presence of IPPROTO_UDPLITE support +Patch34: test_UDPLITE_support.patch # PATCH-FIX-UPSTREAM CVE-2025-15367-poplib-ctrl-chars.patch bsc#1257041 [email protected] # Reject control characters in poplib Patch35: CVE-2025-15367-poplib-ctrl-chars.patch ++++++ CVE-2025-13462-tarinfo-header-parse.patch ++++++ --- /var/tmp/diff_new_pack.uPx2EX/_old 2026-07-02 20:07:53.890145557 +0200 +++ /var/tmp/diff_new_pack.uPx2EX/_new 2026-07-02 20:07:53.910146249 +0200 @@ -8,18 +8,18 @@ Co-authored-by: Seth Michael Larson <[email protected]> Co-authored-by: Eashwar Ranganathan <[email protected]> --- - Lib/tarfile.py | 29 ++++++++++++++++--- - Lib/test/test_tarfile.py | 19 ++++++++++++ - Misc/ACKS | 1 + - ...-11-18-06-35-53.gh-issue-141707.DBmQIy.rst | 2 ++ + Lib/tarfile.py | 29 ++++++++-- + Lib/test/test_tarfile.py | 19 ++++++ + Misc/ACKS | 1 + Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst | 2 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst -diff --git a/Lib/tarfile.py b/Lib/tarfile.py -index c04c576ea22d2d..e2d9f9e6c61b31 100755 ---- a/Lib/tarfile.py -+++ b/Lib/tarfile.py -@@ -1245,6 +1245,20 @@ def _create_pax_generic_header(cls, pax_headers, type, encoding): +Index: Python-3.11.15/Lib/tarfile.py +=================================================================== +--- Python-3.11.15.orig/Lib/tarfile.py 2026-06-29 17:39:12.586198443 +0200 ++++ Python-3.11.15/Lib/tarfile.py 2026-06-29 17:39:23.342401172 +0200 +@@ -1244,6 +1244,20 @@ @classmethod def frombuf(cls, buf, encoding, errors): """Construct a TarInfo object from a 512 byte bytes object. @@ -40,7 +40,7 @@ """ if len(buf) == 0: raise EmptyHeaderError("empty header") -@@ -1275,7 +1289,7 @@ def frombuf(cls, buf, encoding, errors): +@@ -1274,7 +1288,7 @@ # Old V7 tar format represents a directory as a regular # file with a trailing slash. @@ -49,7 +49,7 @@ obj.type = DIRTYPE # The old GNU sparse format occupies some of the unused -@@ -1310,8 +1324,15 @@ def fromtarfile(cls, tarfile): +@@ -1309,8 +1323,15 @@ """Return the next TarInfo object from TarFile object tarfile. """ @@ -66,7 +66,7 @@ obj.offset = tarfile.fileobj.tell() - BLOCKSIZE return obj._proc_member(tarfile) -@@ -1369,7 +1390,7 @@ def _proc_gnulong(self, tarfile): +@@ -1368,7 +1389,7 @@ # Fetch the next header and process it. try: @@ -75,7 +75,7 @@ except HeaderError as e: raise SubsequentHeaderError(str(e)) from None -@@ -1504,7 +1525,7 @@ def _proc_pax(self, tarfile): +@@ -1503,7 +1524,7 @@ # Fetch the next header. try: @@ -84,11 +84,11 @@ except HeaderError as e: raise SubsequentHeaderError(str(e)) from None -diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py -index 366aac781df1e7..11066c005629c2 100644 ---- a/Lib/test/test_tarfile.py -+++ b/Lib/test/test_tarfile.py -@@ -1105,6 +1105,25 @@ def test_longname_directory(self): +Index: Python-3.11.15/Lib/test/test_tarfile.py +=================================================================== +--- Python-3.11.15.orig/Lib/test/test_tarfile.py 2026-06-29 17:39:12.586198443 +0200 ++++ Python-3.11.15/Lib/test/test_tarfile.py 2026-06-29 17:39:23.344304018 +0200 +@@ -1105,6 +1105,25 @@ self.assertIsNotNone(tar.getmember(longdir)) self.assertIsNotNone(tar.getmember(longdir.removesuffix('/'))) @@ -114,11 +114,11 @@ class GNUReadTest(LongnameTest, ReadTest, unittest.TestCase): subdir = "gnu" -diff --git a/Misc/ACKS b/Misc/ACKS -index 89474408a6bbd4..1c0f5d7f782fd3 100644 ---- a/Misc/ACKS -+++ b/Misc/ACKS -@@ -1462,6 +1462,7 @@ Dhushyanth Ramasamy +Index: Python-3.11.15/Misc/ACKS +=================================================================== +--- Python-3.11.15.orig/Misc/ACKS 2026-06-29 17:39:12.586198443 +0200 ++++ Python-3.11.15/Misc/ACKS 2026-06-29 17:39:23.344820622 +0200 +@@ -1462,6 +1462,7 @@ Ashwin Ramaswami Jeff Ramnani Bayard Randel @@ -126,11 +126,10 @@ Varpu Rantala Brodie Rao Rémi Rampin -diff --git a/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst b/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst -new file mode 100644 -index 00000000000000..1f5b8ed90b8a90 ---- /dev/null -+++ b/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst +Index: Python-3.11.15/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ Python-3.11.15/Misc/NEWS.d/next/Library/2025-11-18-06-35-53.gh-issue-141707.DBmQIy.rst 2026-06-29 17:39:23.344986104 +0200 @@ -0,0 +1,2 @@ +Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` to ``DIRTYPE`` when parsing +GNU long name or link headers. ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.uPx2EX/_old 2026-07-02 20:07:54.142154267 +0200 +++ /var/tmp/diff_new_pack.uPx2EX/_new 2026-07-02 20:07:54.162154959 +0200 @@ -1,6 +1,6 @@ -mtime: 1780778098 -commit: 40ae616787d508cbe0e1213b14035fad0a6bc7a89e895ab247b215e6cb3dd4cb +mtime: 1782747647 +commit: e85e11209106302e9a4192762dcad6b7c564ca6eb3b622aac50cd4afc91e9a16 url: https://src.opensuse.org/python-interpreters/python311 -revision: 40ae616787d508cbe0e1213b14035fad0a6bc7a89e895ab247b215e6cb3dd4cb +revision: e85e11209106302e9a4192762dcad6b7c564ca6eb3b622aac50cd4afc91e9a16 projectscmsync: https://src.opensuse.org/python-interpreters/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-06-29 17:40:47.000000000 +0200 @@ -0,0 +1,7 @@ +_build.* +*.obscpio +*.osc +.osc +.pbuild +python311-*-build/ +*.rej ++++++ test_UDPLITE_support.patch ++++++ --- Lib/test/test_socket.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) Index: Python-3.11.15/Lib/test/test_socket.py =================================================================== --- Python-3.11.15.orig/Lib/test/test_socket.py 2026-06-29 17:36:41.094343156 +0200 +++ Python-3.11.15/Lib/test/test_socket.py 2026-06-29 17:38:44.155662592 +0200 @@ -132,6 +132,22 @@ return (cid is not None) +def _have_socket_udplite(): + """Check whether UDPLITE sockets are supported on this host.""" + if not hasattr(socket, "IPPROTO_UDPLITE"): + return False + # Older Android versions block UDPLITE with SELinux. + if support.is_android and platform.android_ver().api_level < 29: + return False + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDPLITE) + except (AttributeError, OSError): + return False + else: + s.close() + return True + + def _have_socket_bluetooth(): """Check whether AF_BLUETOOTH sockets are supported on this host.""" try: @@ -169,7 +185,7 @@ HAVE_SOCKET_VSOCK = _have_socket_vsock() -HAVE_SOCKET_UDPLITE = hasattr(socket, "IPPROTO_UDPLITE") +HAVE_SOCKET_UDPLITE = _have_socket_udplite() HAVE_SOCKET_BLUETOOTH = _have_socket_bluetooth()
