`_process_received_pdu`: Improve exception handling (#13145)

`_check_event_auth` is expected to raise `AuthError`s, so no need to log it
again.
pull/13159/head
Richard van der Hoff 2022-07-01 10:52:10 +01:00 committed by GitHub
parent 8c2825276f
commit 6da861ae69
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 7 deletions

1
changelog.d/13145.misc Normal file
View File

@ -0,0 +1 @@
Improve exception handling when processing events received over federation.

View File

@ -1092,20 +1092,19 @@ class FederationEventHandler:
logger.debug("Processing event: %s", event)
assert not event.internal_metadata.outlier
context = await self._state_handler.compute_event_context(
event,
state_ids_before_event=state_ids,
)
try:
context = await self._state_handler.compute_event_context(
event,
state_ids_before_event=state_ids,
)
context = await self._check_event_auth(
origin,
event,
context,
)
except AuthError as e:
# FIXME richvdh 2021/10/07 I don't think this is reachable. Let's log it
# for now
logger.exception("Unexpected AuthError from _check_event_auth")
# This happens only if we couldn't find the auth events. We'll already have
# logged a warning, so now we just convert to a FederationError.
raise FederationError("ERROR", e.code, e.msg, affected=event.event_id)
if not backfilled and not context.rejected: