diff options
author | Erik Johnston <erikj@jki.re> | 2016-07-28 10:46:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-28 10:46:36 +0100 |
commit | 78cac3e5949270f874525e50489112030ec2aae8 (patch) | |
tree | a1f980b036084ee00becc798fd1ee7c30d4c086a /synapse/crypto/keyclient.py | |
parent | Merge pull request #961 from matrix-org/dbkr/fix_push_invite_name (diff) | |
parent | Cache getPeer (diff) | |
download | synapse-78cac3e5949270f874525e50489112030ec2aae8.tar.xz |
Merge pull request #941 from matrix-org/erikj/key_client_fix
Send the correct host header when fetching keys
Diffstat (limited to 'synapse/crypto/keyclient.py')
-rw-r--r-- | synapse/crypto/keyclient.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/synapse/crypto/keyclient.py b/synapse/crypto/keyclient.py index 54b83da9d8..c2bd64d6c2 100644 --- a/synapse/crypto/keyclient.py +++ b/synapse/crypto/keyclient.py @@ -77,10 +77,12 @@ class SynapseKeyClientProtocol(HTTPClient): def __init__(self): self.remote_key = defer.Deferred() self.host = None + self._peer = None def connectionMade(self): - self.host = self.transport.getHost() - logger.debug("Connected to %s", self.host) + self._peer = self.transport.getPeer() + logger.debug("Connected to %s", self._peer) + self.sendCommand(b"GET", self.path) if self.host: self.sendHeader(b"Host", self.host) @@ -124,7 +126,10 @@ class SynapseKeyClientProtocol(HTTPClient): self.timer.cancel() def on_timeout(self): - logger.debug("Timeout waiting for response from %s", self.host) + logger.debug( + "Timeout waiting for response from %s: %s", + self.host, self._peer, + ) self.errback(IOError("Timeout waiting for response")) self.transport.abortConnection() @@ -133,4 +138,5 @@ class SynapseKeyClientFactory(Factory): def protocol(self): protocol = SynapseKeyClientProtocol() protocol.path = self.path + protocol.host = self.host return protocol |