From d6cb8cc24232015a7d70aadc7bb0f2e78dda83c7 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Mon, 21 Jun 2021 15:54:40 +0100 Subject: [PATCH] Redact event if signature check fails --- federationapi/routing/send.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/federationapi/routing/send.go b/federationapi/routing/send.go index 708ba38e..02b68d8a 100644 --- a/federationapi/routing/send.go +++ b/federationapi/routing/send.go @@ -235,13 +235,16 @@ func (t *txnReq) processTransaction(ctx context.Context) (*gomatrixserverlib.Res continue } if err = gomatrixserverlib.VerifyAllEventSignatures(ctx, []*gomatrixserverlib.Event{event}, t.keys); err != nil { - util.GetLogger(ctx).WithError(err).Warnf("Transaction: Couldn't validate signature of event %q", event.EventID()) - results[event.EventID()] = gomatrixserverlib.PDUResult{ - Error: err.Error(), - } - continue + event = event.Redact() + /* + util.GetLogger(ctx).WithError(err).Warnf("Transaction: Couldn't validate signature of event %q", event.EventID()) + results[event.EventID()] = gomatrixserverlib.PDUResult{ + Error: err.Error(), + } + continue + */ } - pdus = append(pdus, event.Headered(verRes.RoomVersion)) + pdus = append(pdus, event.Redact().Headered(verRes.RoomVersion)) } // Process the events.