From 4cdc223ed6e4a31daccfa51937afe6ae5e641880 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Tue, 29 Sep 2020 10:20:09 +0100 Subject: [PATCH] Send auth events as outliers --- federationapi/routing/send.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/federationapi/routing/send.go b/federationapi/routing/send.go index 2c1e1091d..6866cfb27 100644 --- a/federationapi/routing/send.go +++ b/federationapi/routing/send.go @@ -393,10 +393,21 @@ func (t *txnReq) processEvent(ctx context.Context, e gomatrixserverlib.Event, is logger.WithError(err).Errorf("Failed to unmarshal auth event %q", missingAuthEventID) continue // try the next server } - if err = t.processEvent(ctx, ev, false); err != nil { - logger.WithError(err).Errorf("Failed to process auth event %q", missingAuthEventID) + if err = api.SendInputRoomEvents( + context.Background(), + t.rsAPI, + []api.InputRoomEvent{ + { + Kind: api.KindOutlier, + Event: ev.Headered(stateResp.RoomVersion), + AuthEventIDs: ev.AuthEventIDs(), + SendAsServer: api.DoNotSendToOtherServers, + }, + }, + ); err != nil { + logger.WithError(err).Errorf("Failed to send auth event %q to roomserver", missingAuthEventID) + continue getAuthEvent // move onto the next event } - continue getAuthEvent // move onto the next event } } }