diff --git a/Lib/BaseHTTPServer.py b/Lib/BaseHTTPServer.py index ea5095a4c28..49f89844e2a 100644 --- a/Lib/BaseHTTPServer.py +++ b/Lib/BaseHTTPServer.py @@ -93,19 +93,7 @@ class HTTPServer(SocketServer.TCPServer): """Override server_bind to store the server name.""" SocketServer.TCPServer.server_bind(self) host, port = self.socket.getsockname() - if not host or host == '0.0.0.0': - host = socket.gethostname() - try: - hostname, hostnames, hostaddrs = socket.gethostbyaddr(host) - except socket.error: - hostname = host - else: - if '.' not in hostname: - for host in hostnames: - if '.' in host: - hostname = host - break - self.server_name = hostname + self.server_name = socket.getfqdn(host) self.server_port = port @@ -418,16 +406,8 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler): """ - (host, port) = self.client_address - try: - name, names, addresses = socket.gethostbyaddr(host) - except socket.error, msg: - return host - names.insert(0, name) - for name in names: - if '.' in name: return name - return names[0] - + host, port = self.client_address + return socket.getfqdn(host) # Essentially static class variables diff --git a/Lib/ftplib.py b/Lib/ftplib.py index fd9127bff15..41c3b33ed23 100644 --- a/Lib/ftplib.py +++ b/Lib/ftplib.py @@ -41,7 +41,8 @@ import string # Import SOCKS module if it exists, else standard socket module socket try: - import SOCKS; socket = SOCKS + import SOCKS; socket = SOCKS; del SOCKS # import SOCKS as socket + from socket import getfqdn; socket.getfqdn = getfqdn; del getfqdn except ImportError: import socket @@ -291,17 +292,8 @@ class FTP: if not passwd: passwd = '' if not acct: acct = '' if user == 'anonymous' and passwd in ('', '-'): - thishost = socket.gethostname() - # Make sure it is fully qualified - if not '.' in thishost: - thisaddr = socket.gethostbyname(thishost) - firstname, names, unused = \ - socket.gethostbyaddr(thisaddr) - names.insert(0, firstname) - for name in names: - if '.' in name: - thishost = name - break + # get fully qualified domain name of local host + thishost = socket.getfqdn() try: if os.environ.has_key('LOGNAME'): realuser = os.environ['LOGNAME'] diff --git a/Lib/socket.py b/Lib/socket.py index 3cc8d911875..e5180b5611c 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -85,7 +85,7 @@ def getfqdn(name=''): is returned. """ name = name.strip() - if len(name) == 0: + if not name or name == '0.0.0.0': name = gethostname() try: hostname, aliases, ipaddrs = gethostbyaddr(name)