diff --git a/Lib/socket.py b/Lib/socket.py index 437634cc3b..8c21d559b1 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -138,16 +138,14 @@ def getfqdn(name=''): if not name or name == '0.0.0.0': name = gethostname() try: - hostname, aliases, ipaddrs = gethostbyaddr(name) + addrs = getaddrinfo(name, None, 0, SOCK_DGRAM, 0, AI_CANONNAME) except error: pass else: - aliases.insert(0, hostname) - for name in aliases: - if '.' in name: + for addr in addrs: + if addr[3]: + name = addr[3] break - else: - name = hostname return name