mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
asyncio: Only allow Unix Stream sockets for loop.create_unix_server/connection
This commit is contained in:
parent
95cdf364c8
commit
36e7e97d62
2 changed files with 19 additions and 3 deletions
|
@ -234,6 +234,11 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
|
|||
else:
|
||||
if sock is None:
|
||||
raise ValueError('no path and sock were specified')
|
||||
if (sock.family != socket.AF_UNIX or
|
||||
sock.type != socket.SOCK_STREAM):
|
||||
raise ValueError(
|
||||
'A UNIX Domain Stream Socket was expected, got {!r}'
|
||||
.format(sock))
|
||||
sock.setblocking(False)
|
||||
|
||||
transport, protocol = yield from self._create_connection_transport(
|
||||
|
@ -272,9 +277,11 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
|
|||
raise ValueError(
|
||||
'path was not specified, and no sock specified')
|
||||
|
||||
if sock.family != socket.AF_UNIX:
|
||||
if (sock.family != socket.AF_UNIX or
|
||||
sock.type != socket.SOCK_STREAM):
|
||||
raise ValueError(
|
||||
'A UNIX Domain Socket was expected, got {!r}'.format(sock))
|
||||
'A UNIX Domain Stream Socket was expected, got {!r}'
|
||||
.format(sock))
|
||||
|
||||
server = base_events.Server(self, [sock])
|
||||
sock.listen(backlog)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue