summary refs log tree commit diff
path: root/synapse/crypto
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-03-11 10:29:05 +0000
committerErik Johnston <erik@matrix.org>2016-03-11 10:29:05 +0000
commit2e2be463f87871cf36f5b72e7cf32e8c67caa67f (patch)
treebc20eaaa71edbf9a3c21e00c7239725fd6aea0ca /synapse/crypto
parentMerge pull request #637 from blide/develop (diff)
downloadsynapse-2e2be463f87871cf36f5b72e7cf32e8c67caa67f.tar.xz
Make key client send a Host header
Diffstat (limited to 'synapse/crypto')
-rw-r--r--synapse/crypto/keyclient.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/synapse/crypto/keyclient.py b/synapse/crypto/keyclient.py
index 784d02f122..54b83da9d8 100644
--- a/synapse/crypto/keyclient.py
+++ b/synapse/crypto/keyclient.py
@@ -36,6 +36,7 @@ def fetch_server_key(server_name, ssl_context_factory, path=KEY_API_V1):
 
     factory = SynapseKeyClientFactory()
     factory.path = path
+    factory.host = server_name
     endpoint = matrix_federation_endpoint(
         reactor, server_name, ssl_context_factory, timeout=30
     )
@@ -81,6 +82,8 @@ class SynapseKeyClientProtocol(HTTPClient):
         self.host = self.transport.getHost()
         logger.debug("Connected to %s", self.host)
         self.sendCommand(b"GET", self.path)
+        if self.host:
+            self.sendHeader(b"Host", self.host)
         self.endHeaders()
         self.timer = reactor.callLater(
             self.timeout,