diff options
author | Erik Johnston <erik@matrix.org> | 2017-05-05 10:34:53 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-05-05 10:34:53 +0100 |
commit | db7d0c31272954f01d89b2dbd653d54db0cbb040 (patch) | |
tree | fced1b5891bf1cbf0bbb2e3c2ffd6a9ab9a262ee /synapse | |
parent | Merge pull request #2147 from matrix-org/dbkr/http_request_propagate_error (diff) | |
download | synapse-db7d0c31272954f01d89b2dbd653d54db0cbb040.tar.xz |
Always mark remotes as up if we receive a signed request from them
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/federation/transport/server.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/synapse/federation/transport/server.py b/synapse/federation/transport/server.py index c840da834c..828dcd01a7 100644 --- a/synapse/federation/transport/server.py +++ b/synapse/federation/transport/server.py @@ -79,6 +79,7 @@ class Authenticator(object): def __init__(self, hs): self.keyring = hs.get_keyring() self.server_name = hs.hostname + self.store = hs.get_datastore() # A method just so we can pass 'self' as the authenticator to the Servlets @defer.inlineCallbacks @@ -138,6 +139,12 @@ class Authenticator(object): logger.info("Request from %s", origin) request.authenticated_entity = origin + # If we get a valid signed request from the other side, its probably + # alive + retry_timings = yield self.store.get_destination_retry_timings(origin) + if retry_timings and retry_timings["retry_last_ts"]: + self.store.set_destination_retry_timings(origin, 0, 0) + defer.returnValue(origin) |