https://github.com/agronholm/anyio/issues/692 --- anyio-4.11.0/src/anyio/_core/_sockets.py.orig +++ anyio-4.11.0/src/anyio/_core/_sockets.py @@ -351,9 +351,9 @@ # https://github.com/MagicStack/uvloop/issues/539 gai_res = await getaddrinfo( local_host, - local_port, + local_port or None, family=family, - type=socket.SOCK_STREAM if sys.platform == "win32" else 0, + type=socket.SOCK_STREAM, flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, ) --- anyio-4.11.0/tests/test_sockets.py.orig +++ anyio-4.11.0/tests/test_sockets.py @@ -935,7 +935,6 @@ @pytest.mark.parametrize( "local_host,family,expected_listeners,local_port", [ - (None, AddressFamily.AF_UNSPEC, 1 if socket.has_dualstack_ipv6() else 2, 0), ("localhost", AddressFamily.AF_UNSPEC, 2, 0), ("localhost", AddressFamily.AF_INET, 1, 0), ("::", AddressFamily.AF_UNSPEC, 1, 0), @@ -972,6 +971,7 @@ assert len(multi.listeners) == expected_listeners @skip_ipv6_mark + @pytest.mark.skip("https://github.com/agronholm/anyio/issues/692") async def test_tcp_listener_dualstack_disabled( self, monkeypatch: MonkeyPatch ) -> None: @@ -1034,6 +1034,7 @@ isinstance(listener, SocketListener) for listener in multi.listeners ) + @pytest.mark.skip("https://github.com/agronholm/anyio/issues/692") async def test_tcp_listener_total_bind_failure(self) -> None: """ Test for a situation where bind() always fails when other listeners are being @@ -2352,8 +2353,8 @@ @pytest.mark.network async def test_getaddrinfo() -> None: # IDNA 2003 gets this wrong - correct = await getaddrinfo("faß.de", 0) - wrong = await getaddrinfo("fass.de", 0) + correct = await getaddrinfo("faß.de", None) + wrong = await getaddrinfo("fass.de", None) assert correct != wrong