Commit 825c5163 authored by Andreas Jung's avatar Andreas Jung

Workaround for Collector #1507: Zope binds only to 127.0.0.1

instead to all network addresses by default.
parent 1efc4d4e
...@@ -28,13 +28,19 @@ def get_default_host_info(): ...@@ -28,13 +28,19 @@ def get_default_host_info():
try: try:
ip = socket.gethostbyname(hostname) ip = socket.gethostbyname(hostname)
except socket.error: except socket.error:
hostname = 'localhost' hostname = ''
ip = socket.gethostbyname(hostname) ip = socket.gethostbyname(hostname)
try: try:
hostname = socket.gethostbyaddr(ip)[0] hostname = socket.gethostbyaddr(ip)[0]
except socket.error: except socket.error:
hostname = ip 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 _default_host_info = hostname, ip
return _default_host_info return _default_host_info
...@@ -98,7 +104,7 @@ class HTTPServerFactory(ServerFactory): ...@@ -98,7 +104,7 @@ class HTTPServerFactory(ServerFactory):
handler._force_connection_close = self.force_connection_close handler._force_connection_close = self.force_connection_close
if self.webdav_source_clients: if self.webdav_source_clients:
handler.set_webdav_source_clients(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, resolver=self.dnsresolver,
logger_object=access_logger) logger_object=access_logger)
server.install_handler(handler) server.install_handler(handler)
...@@ -125,7 +131,7 @@ class FTPServerFactory(ServerFactory): ...@@ -125,7 +131,7 @@ class FTPServerFactory(ServerFactory):
def create(self): def create(self):
from ZServer.AccessLogger import access_logger from ZServer.AccessLogger import access_logger
from ZServer.FTPServer import FTPServer 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, module=self.module, resolver=self.dnsresolver,
logger_object=access_logger) logger_object=access_logger)
...@@ -163,7 +169,7 @@ class FCGIServerFactory(ServerFactory): ...@@ -163,7 +169,7 @@ class FCGIServerFactory(ServerFactory):
def create(self): def create(self):
from ZServer.AccessLogger import access_logger from ZServer.AccessLogger import access_logger
from ZServer.FCGIServer import FCGIServer 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, socket_file=self.path,
module=self.module, resolver=self.dnsresolver, module=self.module, resolver=self.dnsresolver,
logger_object=access_logger) logger_object=access_logger)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment