diff --git a/matrix/event.cc b/matrix/event.cc index 48128a04f..8ba8f09a6 100644 --- a/matrix/event.cc +++ b/matrix/event.cc @@ -461,18 +461,29 @@ try return ret; } -catch(const m::NOT_FOUND &e) +catch(const ctx::interrupted &e) { - log::derror + log::error { - "Failed to verify %s because key %s for %s :%s", + log, "Failed to verify %s because key %s for %s :%s", string_view{event.event_id}, keyid, origin, - e.what() + e.what(), }; - return false; + throw; +} +catch(const std::exception &e) +{ + throw m::BAD_SIGNATURE + { + "%s key %s for %s :%s", + string_view{event.event_id}, + keyid, + origin, + e.what(), + }; } bool