|
@@ -19,7 +19,8 @@ from synapse.api.errors import SynapseError, Codes
|
|
|
from synapse.util import unwrapFirstError, logcontext
|
|
|
from synapse.util.logcontext import (
|
|
|
PreserveLoggingContext,
|
|
|
- preserve_fn
|
|
|
+ preserve_fn,
|
|
|
+ run_in_background,
|
|
|
)
|
|
|
from synapse.util.metrics import Measure
|
|
|
|
|
@@ -127,7 +128,7 @@ class Keyring(object):
|
|
|
|
|
|
verify_requests.append(verify_request)
|
|
|
|
|
|
- preserve_fn(self._start_key_lookups)(verify_requests)
|
|
|
+ run_in_background(self._start_key_lookups, verify_requests)
|
|
|
|
|
|
# Pass those keys to handle_key_deferred so that the json object
|
|
|
# signatures can be verified
|
|
@@ -313,7 +314,7 @@ class Keyring(object):
|
|
|
if not verify_request.deferred.called:
|
|
|
verify_request.deferred.errback(err)
|
|
|
|
|
|
- preserve_fn(do_iterations)().addErrback(on_err)
|
|
|
+ run_in_background(do_iterations).addErrback(on_err)
|
|
|
|
|
|
@defer.inlineCallbacks
|
|
|
def get_keys_from_store(self, server_name_and_key_ids):
|
|
@@ -329,8 +330,9 @@ class Keyring(object):
|
|
|
"""
|
|
|
res = yield logcontext.make_deferred_yieldable(defer.gatherResults(
|
|
|
[
|
|
|
- preserve_fn(self.store.get_server_verify_keys)(
|
|
|
- server_name, key_ids
|
|
|
+ run_in_background(
|
|
|
+ self.store.get_server_verify_keys,
|
|
|
+ server_name, key_ids,
|
|
|
).addCallback(lambda ks, server: (server, ks), server_name)
|
|
|
for server_name, key_ids in server_name_and_key_ids
|
|
|
],
|
|
@@ -358,7 +360,7 @@ class Keyring(object):
|
|
|
|
|
|
results = yield logcontext.make_deferred_yieldable(defer.gatherResults(
|
|
|
[
|
|
|
- preserve_fn(get_key)(p_name, p_keys)
|
|
|
+ run_in_background(get_key, p_name, p_keys)
|
|
|
for p_name, p_keys in self.perspective_servers.items()
|
|
|
],
|
|
|
consumeErrors=True,
|
|
@@ -398,7 +400,7 @@ class Keyring(object):
|
|
|
|
|
|
results = yield logcontext.make_deferred_yieldable(defer.gatherResults(
|
|
|
[
|
|
|
- preserve_fn(get_key)(server_name, key_ids)
|
|
|
+ run_in_background(get_key, server_name, key_ids)
|
|
|
for server_name, key_ids in server_name_and_key_ids
|
|
|
],
|
|
|
consumeErrors=True,
|
|
@@ -481,7 +483,8 @@ class Keyring(object):
|
|
|
|
|
|
yield logcontext.make_deferred_yieldable(defer.gatherResults(
|
|
|
[
|
|
|
- preserve_fn(self.store_keys)(
|
|
|
+ run_in_background(
|
|
|
+ self.store_keys,
|
|
|
server_name=server_name,
|
|
|
from_server=perspective_name,
|
|
|
verify_keys=response_keys,
|
|
@@ -539,7 +542,8 @@ class Keyring(object):
|
|
|
|
|
|
yield logcontext.make_deferred_yieldable(defer.gatherResults(
|
|
|
[
|
|
|
- preserve_fn(self.store_keys)(
|
|
|
+ run_in_background(
|
|
|
+ self.store_keys,
|
|
|
server_name=key_server_name,
|
|
|
from_server=server_name,
|
|
|
verify_keys=verify_keys,
|
|
@@ -615,7 +619,8 @@ class Keyring(object):
|
|
|
|
|
|
yield logcontext.make_deferred_yieldable(defer.gatherResults(
|
|
|
[
|
|
|
- preserve_fn(self.store.store_server_keys_json)(
|
|
|
+ run_in_background(
|
|
|
+ self.store.store_server_keys_json,
|
|
|
server_name=server_name,
|
|
|
key_id=key_id,
|
|
|
from_server=server_name,
|
|
@@ -716,7 +721,8 @@ class Keyring(object):
|
|
|
# TODO(markjh): Store whether the keys have expired.
|
|
|
return logcontext.make_deferred_yieldable(defer.gatherResults(
|
|
|
[
|
|
|
- preserve_fn(self.store.store_server_verify_key)(
|
|
|
+ run_in_background(
|
|
|
+ self.store.store_server_verify_key,
|
|
|
server_name, server_name, key.time_added, key
|
|
|
)
|
|
|
for key_id, key in verify_keys.items()
|