mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-40121: Fixes audit event raised on creating a new socket (GH-19238)
This commit is contained in:
parent
ef67512b40
commit
63ba5cccf4
4 changed files with 39 additions and 3 deletions
|
@ -327,6 +327,28 @@ def test_winreg():
|
|||
CloseKey(kv)
|
||||
|
||||
|
||||
def test_socket():
|
||||
import socket
|
||||
|
||||
def hook(event, args):
|
||||
if event.startswith("socket."):
|
||||
print(event, *args)
|
||||
|
||||
sys.addaudithook(hook)
|
||||
|
||||
socket.gethostname()
|
||||
|
||||
# Don't care if this fails, we just want the audit message
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
try:
|
||||
# Don't care if this fails, we just want the audit message
|
||||
sock.bind(('127.0.0.1', 8080))
|
||||
except error:
|
||||
pass
|
||||
finally:
|
||||
sock.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
from test.libregrtest.setup import suppress_msvcrt_asserts
|
||||
|
||||
|
|
|
@ -118,6 +118,18 @@ class AuditTest(unittest.TestCase):
|
|||
self.assertSequenceEqual(["winreg.EnumKey", " ", f"{expected} 10000"], events[3])
|
||||
self.assertSequenceEqual(["winreg.PyHKEY.Detach", " ", expected], events[4])
|
||||
|
||||
def test_socket(self):
|
||||
support.import_module("socket")
|
||||
returncode, events, stderr = self.run_python("test_socket")
|
||||
if returncode:
|
||||
self.fail(stderr)
|
||||
|
||||
if support.verbose:
|
||||
print(*events, sep='\n')
|
||||
self.assertEqual(events[0][0], "socket.gethostname")
|
||||
self.assertEqual(events[1][0], "socket.__new__")
|
||||
self.assertEqual(events[2][0], "socket.bind")
|
||||
self.assertTrue(events[2][2].endswith("('127.0.0.1', 8080)"))
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue