From: Gregory P. Smith Date: Thu, 22 May 2025 03:38:44 +0000 (-0400) Subject: gh-127840: Revert "gh-127840: pass flags and address from send_fds (GH-127841)" ... X-Git-Tag: v3.15.0a1~1585 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=296a66051ede5cc112ca38d17304e518ffb02e23;p=thirdparty%2FPython%2Fcpython.git gh-127840: Revert "gh-127840: pass flags and address from send_fds (GH-127841)" (#134482) Revert "gh-127840: pass flags and address from send_fds (GH-127841)" This reverts commit 518c95b5529ed3379b5a3065b09f71411efe72fb. --- diff --git a/Lib/socket.py b/Lib/socket.py index 2cbaf221a59d..727b0e75f035 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -563,7 +563,7 @@ if hasattr(_socket.socket, "sendmsg"): import array return sock.sendmsg(buffers, [(_socket.SOL_SOCKET, - _socket.SCM_RIGHTS, array.array("i", fds))], flags, address) + _socket.SCM_RIGHTS, array.array("i", fds))]) __all__.append("send_fds") if hasattr(_socket.socket, "recvmsg"): diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 04dfb682ec68..03c54151a221 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -7366,30 +7366,6 @@ class SendRecvFdsTests(unittest.TestCase): data = os.read(rfd, 100) self.assertEqual(data, str(index).encode()) - def testSendAndRecvFdsByAddress(self): - rfd, wfd = os.pipe() - self.addCleanup(os.close, rfd) - self.addCleanup(os.close, wfd) - - sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM) - address = socket_helper.create_unix_domain_name() - self.addCleanup(os_helper.unlink, address) - socket_helper.bind_unix_socket(sock, address) - - socket.send_fds(sock, [MSG], [rfd], 0, address) - - # request more data and file descriptors than expected - msg, (rfd2,), flags, addr = socket.recv_fds(sock, len(MSG) * 2, 2) - self.addCleanup(os.close, rfd2) - self.assertEqual(msg, MSG) - self.assertEqual(flags, 0) - self.assertEqual(addr, address) - - # test that the file descriptor is connected - os.write(wfd, b'data') - data = os.read(rfd2, 100) - self.assertEqual(data, b'data') - class FreeThreadingTests(unittest.TestCase): diff --git a/Misc/NEWS.d/next/Library/2024-12-11-20-15-00.gh-issue-127840.pt8fiQ.rst b/Misc/NEWS.d/next/Library/2024-12-11-20-15-00.gh-issue-127840.pt8fiQ.rst deleted file mode 100644 index 51eaaa96ebaa..000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-11-20-15-00.gh-issue-127840.pt8fiQ.rst +++ /dev/null @@ -1 +0,0 @@ -Fix :func:`socket.send_fds` ignoring flags and address parameters.