summaryrefslogtreecommitdiff
path: root/synapse/crypto/keyring.py
diff options
context:
space:
mode:
authorAndrej Shadura <andrewsh@debian.org>2019-07-18 20:29:37 -0300
committerAndrej Shadura <andrewsh@debian.org>2019-07-18 20:29:37 -0300
commit2c2556601d5da4ffb4205200d95e77439dc5f560 (patch)
tree80ce469d12fb01d9bae03a0d7ce282a6444d2ecc /synapse/crypto/keyring.py
parent5aefda23f94b2bb2edadc20b6f596cced667b5de (diff)
New upstream version 1.1.0
Diffstat (limited to 'synapse/crypto/keyring.py')
-rw-r--r--synapse/crypto/keyring.py33
1 files changed, 11 insertions, 22 deletions
diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py
index 6f603f19..10c2eb7f 100644
--- a/synapse/crypto/keyring.py
+++ b/synapse/crypto/keyring.py
@@ -505,7 +505,7 @@ class BaseV2KeyFetcher(object):
Returns:
Deferred[dict[str, FetchKeyResult]]: map from key_id to result object
"""
- ts_valid_until_ms = response_json[u"valid_until_ts"]
+ ts_valid_until_ms = response_json["valid_until_ts"]
# start by extracting the keys from the response, since they may be required
# to validate the signature on the response.
@@ -614,10 +614,7 @@ class PerspectivesKeyFetcher(BaseV2KeyFetcher):
results = yield logcontext.make_deferred_yieldable(
defer.gatherResults(
- [
- run_in_background(get_key, server)
- for server in self.key_servers
- ],
+ [run_in_background(get_key, server) for server in self.key_servers],
consumeErrors=True,
).addErrback(unwrapFirstError)
)
@@ -630,9 +627,7 @@ class PerspectivesKeyFetcher(BaseV2KeyFetcher):
defer.returnValue(union_of_keys)
@defer.inlineCallbacks
- def get_server_verify_key_v2_indirect(
- self, keys_to_fetch, key_server
- ):
+ def get_server_verify_key_v2_indirect(self, keys_to_fetch, key_server):
"""
Args:
keys_to_fetch (dict[str, dict[str, int]]):
@@ -661,9 +656,9 @@ class PerspectivesKeyFetcher(BaseV2KeyFetcher):
destination=perspective_name,
path="/_matrix/key/v2/query",
data={
- u"server_keys": {
+ "server_keys": {
server_name: {
- key_id: {u"minimum_valid_until_ts": min_valid_ts}
+ key_id: {"minimum_valid_until_ts": min_valid_ts}
for key_id, min_valid_ts in server_keys.items()
}
for server_name, server_keys in keys_to_fetch.items()
@@ -690,10 +685,7 @@ class PerspectivesKeyFetcher(BaseV2KeyFetcher):
)
try:
- self._validate_perspectives_response(
- key_server,
- response,
- )
+ self._validate_perspectives_response(key_server, response)
processed_response = yield self.process_v2_response(
perspective_name, response, time_added_ms=time_now_ms
@@ -720,9 +712,7 @@ class PerspectivesKeyFetcher(BaseV2KeyFetcher):
defer.returnValue(keys)
- def _validate_perspectives_response(
- self, key_server, response,
- ):
+ def _validate_perspectives_response(self, key_server, response):
"""Optionally check the signature on the result of a /key/query request
Args:
@@ -739,13 +729,13 @@ class PerspectivesKeyFetcher(BaseV2KeyFetcher):
return
if (
- u"signatures" not in response
- or perspective_name not in response[u"signatures"]
+ "signatures" not in response
+ or perspective_name not in response["signatures"]
):
raise KeyLookupError("Response not signed by the notary server")
verified = False
- for key_id in response[u"signatures"][perspective_name]:
+ for key_id in response["signatures"][perspective_name]:
if key_id in perspective_keys:
verify_signed_json(response, perspective_name, perspective_keys[key_id])
verified = True
@@ -754,7 +744,7 @@ class PerspectivesKeyFetcher(BaseV2KeyFetcher):
raise KeyLookupError(
"Response not signed with a known key: signed with: %r, known keys: %r"
% (
- list(response[u"signatures"][perspective_name].keys()),
+ list(response["signatures"][perspective_name].keys()),
list(perspective_keys.keys()),
)
)
@@ -826,7 +816,6 @@ class ServerKeyFetcher(BaseV2KeyFetcher):
path="/_matrix/key/v2/server/"
+ urllib.parse.quote(requested_key_id),
ignore_backoff=True,
-
# we only give the remote server 10s to respond. It should be an
# easy request to handle, so if it doesn't reply within 10s, it's
# probably not going to.