]> granicus.if.org Git - python/commitdiff
updated occurences of fqdn algorithm (closes patch #101197)
authorPeter Schneider-Kamp <nowonder@nowonder.de>
Wed, 16 Aug 2000 20:30:21 +0000 (20:30 +0000)
committerPeter Schneider-Kamp <nowonder@nowonder.de>
Wed, 16 Aug 2000 20:30:21 +0000 (20:30 +0000)
Lib/BaseHTTPServer.py
Lib/ftplib.py
Lib/socket.py

index ea5095a4c285257d49c238439307865677e32238..49f89844e2affd3eb48d639cf0176d007e5a35d8 100644 (file)
@@ -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
 
index fd9127bff152c7d335a47e90a4572403151b7536..41c3b33ed23c3ba86520f4735ecebc094144eaa9 100644 (file)
@@ -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']
index 3cc8d91187595dd23383a2a4937b975b3bb7759e..e5180b5611c7dd053e9c7cfef86f918dfc83155c 100644 (file)
@@ -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)