gh-154291: Fix socket.has_dualstack_ipv6() on DragonFly BSD (GH-154292) · python/cpython@c7bbf04

GitHub

Original file line numberDiff line numberDiff line change@@ -900,7 +900,9 @@ def has_dualstack_ipv6():

900900try:

901901withsocket(AF_INET6, SOCK_STREAM) assock:

902902sock.setsockopt(IPPROTO_IPV6, IPV6_V6ONLY, 0)

903-returnTrue

903+# On some platforms (e.g. DragonFly BSD) setting IPV6_V6ONLY to 0

904+# silently has no effect, so check that it was actually cleared.

905+returnsock.getsockopt(IPPROTO_IPV6, IPV6_V6ONLY) ==0

904906excepterror:

905907returnFalse

906908