From c8032aec1794cb3ad79b4b61892917768b372bd6 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 14 Mar 2015 00:12:20 +0000 Subject: [PATCH] actually uphold the bind_host parameter. in theory should make ipv6 binds work like bind_host: 'fe80::1%lo0' --- synapse/app/homeserver.py | 9 +++++++-- synapse/http/server.py | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index aa7c722ef..15c454af7 100755 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -225,13 +225,18 @@ class SynapseHomeServer(HomeServer): if not config.no_tls and config.bind_port is not None: reactor.listenSSL( - config.bind_port, Site(self.root_resource), self.tls_context_factory + config.bind_port, + Site(self.root_resource), + self.tls_context_factory, + interface=config.bind_host ) logger.info("Synapse now listening on port %d", config.bind_port) if config.unsecure_port is not None: reactor.listenTCP( - config.unsecure_port, Site(self.root_resource) + config.unsecure_port, + Site(self.root_resource), + interface=config.bind_host ) logger.info("Synapse now listening on port %d", config.unsecure_port) diff --git a/synapse/http/server.py b/synapse/http/server.py index d77cb7779..f1376ee24 100644 --- a/synapse/http/server.py +++ b/synapse/http/server.py @@ -86,6 +86,7 @@ class JsonResource(HttpServer, resource.Resource): self.clock = hs.get_clock() self.path_regexs = {} self.version_string = hs.version_string + self.hs = hs def register_path(self, method, path_pattern, callback): self.path_regexs.setdefault(method, []).append( @@ -99,7 +100,11 @@ class JsonResource(HttpServer, resource.Resource): port (int): The port to listen on. """ - reactor.listenTCP(port, server.Site(self)) + reactor.listenTCP( + port, + server.Site(self), + interface=self.hs.config.bind_host + ) # Gets called by twisted def render(self, request):