diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2022-03-28 22:15:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 22:15:05 (GMT) |
commit | 2bcbc3113dee6c35631595ec0d5ee3a8dd2a2ddd (patch) | |
tree | d5aa79b79e3dd998dbb20a5348d9706f0cb60674 | |
parent | 5944807b09717d43bb017f700e8c451dd07199ed (diff) | |
download | cpython-2bcbc3113dee6c35631595ec0d5ee3a8dd2a2ddd.zip cpython-2bcbc3113dee6c35631595ec0d5ee3a8dd2a2ddd.tar.gz cpython-2bcbc3113dee6c35631595ec0d5ee3a8dd2a2ddd.tar.bz2 |
bpo-27929: resolve names only for AF_INET/AF_INET6 with asyncio (GH-32131)
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
(cherry picked from commit 5c30388f3c586ba2f33e349e22e5949cb92de621)
Co-authored-by: Vincent Bernat <vincent@bernat.ch>
-rw-r--r-- | Lib/asyncio/selector_events.py | 3 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2022-03-28-13-35-50.bpo-27929.j5mAmV.rst | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py index 71080b8ad..572d4a8 100644 --- a/Lib/asyncio/selector_events.py +++ b/Lib/asyncio/selector_events.py @@ -487,7 +487,8 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop): if self._debug and sock.gettimeout() != 0: raise ValueError("the socket must be non-blocking") - if not hasattr(socket, 'AF_UNIX') or sock.family != socket.AF_UNIX: + if sock.family == socket.AF_INET or ( + base_events._HAS_IPv6 and sock.family == socket.AF_INET6): resolved = await self._ensure_resolved( address, family=sock.family, type=sock.type, proto=sock.proto, loop=self, diff --git a/Misc/NEWS.d/next/Library/2022-03-28-13-35-50.bpo-27929.j5mAmV.rst b/Misc/NEWS.d/next/Library/2022-03-28-13-35-50.bpo-27929.j5mAmV.rst new file mode 100644 index 0000000..4c80a10 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-03-28-13-35-50.bpo-27929.j5mAmV.rst @@ -0,0 +1,3 @@ +Fix :meth:`asyncio.loop.sock_connect` to only resolve names for :const:`socket.AF_INET` or +:const:`socket.AF_INET6` families. Resolution may not make sense for other families, +like :const:`socket.AF_BLUETOOTH` and :const:`socket.AF_UNIX`. |