[Zope-Checkins] SVN: Zope/trunk/lib/python/ZServer/datatypes.py Workaround for Collector #1507: Zope binds only to 127.0.0.1

Andreas Jung andreas at andreas-jung.com
Thu Oct 14 15:26:54 EDT 2004


Log message for revision 28192:
  Workaround for Collector #1507: Zope binds only to 127.0.0.1
  instead to all network addresses by default.
  
  

Changed:
  U   Zope/trunk/lib/python/ZServer/datatypes.py

-=-
Modified: Zope/trunk/lib/python/ZServer/datatypes.py
===================================================================
--- Zope/trunk/lib/python/ZServer/datatypes.py	2004-10-14 14:51:26 UTC (rev 28191)
+++ Zope/trunk/lib/python/ZServer/datatypes.py	2004-10-14 19:26:53 UTC (rev 28192)
@@ -28,13 +28,19 @@
         try:
             ip = socket.gethostbyname(hostname)
         except socket.error:
-            hostname = 'localhost'
+            hostname = ''
             ip = socket.gethostbyname(hostname)
         try:
             hostname = socket.gethostbyaddr(ip)[0]
         except socket.error:
             hostname = ip
+        ## AJ: We change 'localhost' to '' to force Medusa to use
+        ## any network interface instead of using only 127.0.0.1. This is 
+        ## a not totally clean solution :-/ See also Collector #1507.
+        if 'localhost' in hostname.lower(): 
+            hostname = ''
         _default_host_info = hostname, ip
+
     return _default_host_info
 
 
@@ -98,7 +104,7 @@
         handler._force_connection_close = self.force_connection_close
         if self.webdav_source_clients:
             handler.set_webdav_source_clients(self.webdav_source_clients)
-        server = HTTPServer.zhttp_server(ip=self.ip, port=self.port,
+        server = HTTPServer.zhttp_server(ip=self.host, port=self.port,
                                          resolver=self.dnsresolver,
                                          logger_object=access_logger)
         server.install_handler(handler)
@@ -125,7 +131,7 @@
     def create(self):
         from ZServer.AccessLogger import access_logger
         from ZServer.FTPServer import FTPServer
-        return FTPServer(ip=self.ip, hostname=self.host, port=self.port,
+        return FTPServer(ip=self.host, hostname=self.host, port=self.port,
                          module=self.module, resolver=self.dnsresolver,
                          logger_object=access_logger)
 
@@ -163,7 +169,7 @@
     def create(self):
         from ZServer.AccessLogger import access_logger
         from ZServer.FCGIServer import FCGIServer
-        return FCGIServer(ip=self.ip, port=self.port,
+        return FCGIServer(ip=self.host, port=self.port,
                           socket_file=self.path,
                           module=self.module, resolver=self.dnsresolver,
                           logger_object=access_logger)



More information about the Zope-Checkins mailing list