Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit fe79b5e

Browse files
authored
Merge pull request #5300 from matrix-org/rav/server_keys/06-fix-serverkeys-handling
Remove some pointless exception handling
2 parents 2ae3cc2 + 8ea2f75 commit fe79b5e

File tree

2 files changed

+9
-25
lines changed

2 files changed

+9
-25
lines changed

changelog.d/5300.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix noisy 'no key for server' logs.

synapse/crypto/keyring.py

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,19 @@ class VerifyKeyRequest(object):
6464
6565
Attributes:
6666
server_name(str): The name of the server to verify against.
67+
6768
key_ids(set[str]): The set of key_ids to that could be used to verify the
6869
JSON object
70+
6971
json_object(dict): The JSON object to verify.
72+
7073
deferred(Deferred[str, str, nacl.signing.VerifyKey]):
7174
A deferred (server_name, key_id, verify_key) tuple that resolves when
7275
a verify key has been fetched. The deferreds' callbacks are run with no
7376
logcontext.
77+
78+
If we are unable to find a key which satisfies the request, the deferred
79+
errbacks with an M_UNAUTHORIZED SynapseError.
7480
"""
7581

7682
server_name = attr.ib()
@@ -771,31 +777,8 @@ def _handle_key_deferred(verify_request):
771777
SynapseError if there was a problem performing the verification
772778
"""
773779
server_name = verify_request.server_name
774-
try:
775-
with PreserveLoggingContext():
776-
_, key_id, verify_key = yield verify_request.deferred
777-
except KeyLookupError as e:
778-
logger.warn(
779-
"Failed to download keys for %s: %s %s",
780-
server_name,
781-
type(e).__name__,
782-
str(e),
783-
)
784-
raise SynapseError(
785-
502, "Error downloading keys for %s" % (server_name,), Codes.UNAUTHORIZED
786-
)
787-
except Exception as e:
788-
logger.exception(
789-
"Got Exception when downloading keys for %s: %s %s",
790-
server_name,
791-
type(e).__name__,
792-
str(e),
793-
)
794-
raise SynapseError(
795-
401,
796-
"No key for %s with id %s" % (server_name, verify_request.key_ids),
797-
Codes.UNAUTHORIZED,
798-
)
780+
with PreserveLoggingContext():
781+
_, key_id, verify_key = yield verify_request.deferred
799782

800783
json_object = verify_request.json_object
801784

0 commit comments

Comments
 (0)