From b17760daeef8e66d8d868222a3f9467892acf175 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 27 Jan 2022 13:35:01 +0000 Subject: [PATCH] Remove `AuthEventIDs` from `InputRoomEvent` --- clientapi/routing/createroom.go | 1 - federationapi/routing/join.go | 1 - federationapi/routing/leave.go | 1 - roomserver/api/input.go | 6 ------ roomserver/api/wrapper.go | 9 +++------ roomserver/internal/input/input_missing.go | 9 +++------ roomserver/internal/perform/perform_invite.go | 1 - roomserver/internal/perform/perform_join.go | 1 - roomserver/internal/perform/perform_leave.go | 1 - setup/mscs/msc2836/msc2836.go | 5 ++--- 10 files changed, 8 insertions(+), 27 deletions(-) diff --git a/clientapi/routing/createroom.go b/clientapi/routing/createroom.go index b0c395d36..e89d8ff24 100644 --- a/clientapi/routing/createroom.go +++ b/clientapi/routing/createroom.go @@ -459,7 +459,6 @@ func createRoom( Kind: roomserverAPI.KindNew, Event: event, Origin: cfg.Matrix.ServerName, - AuthEventIDs: event.AuthEventIDs(), SendAsServer: roomserverAPI.DoNotSendToOtherServers, }) } diff --git a/federationapi/routing/join.go b/federationapi/routing/join.go index 7310a3053..7f8d31505 100644 --- a/federationapi/routing/join.go +++ b/federationapi/routing/join.go @@ -324,7 +324,6 @@ func SendJoin( { Kind: api.KindNew, Event: event.Headered(stateAndAuthChainResponse.RoomVersion), - AuthEventIDs: event.AuthEventIDs(), SendAsServer: string(cfg.Matrix.ServerName), TransactionID: nil, }, diff --git a/federationapi/routing/leave.go b/federationapi/routing/leave.go index 6312adfaa..0b83f04ae 100644 --- a/federationapi/routing/leave.go +++ b/federationapi/routing/leave.go @@ -275,7 +275,6 @@ func SendLeave( { Kind: api.KindNew, Event: event.Headered(verRes.RoomVersion), - AuthEventIDs: event.AuthEventIDs(), SendAsServer: string(cfg.Matrix.ServerName), TransactionID: nil, }, diff --git a/roomserver/api/input.go b/roomserver/api/input.go index db0d4f302..4b0704b9f 100644 --- a/roomserver/api/input.go +++ b/roomserver/api/input.go @@ -56,12 +56,6 @@ type InputRoomEvent struct { Event *gomatrixserverlib.HeaderedEvent `json:"event"` // Which server told us about this event. Origin gomatrixserverlib.ServerName `json:"origin"` - // List of state event IDs that authenticate this event. - // These are likely derived from the "auth_events" JSON key of the event. - // But can be different because the "auth_events" key can be incomplete or wrong. - // For example many matrix events forget to reference the m.room.create event even though it is needed for auth. - // (since synapse allows this to happen we have to allow it as well.) - AuthEventIDs []string `json:"auth_event_ids"` // Whether the state is supplied as a list of event IDs or whether it // should be derived from the state at the previous events. HasState bool `json:"has_state"` diff --git a/roomserver/api/wrapper.go b/roomserver/api/wrapper.go index 63526b7b1..e9b94e48c 100644 --- a/roomserver/api/wrapper.go +++ b/roomserver/api/wrapper.go @@ -36,7 +36,6 @@ func SendEvents( Kind: kind, Event: event, Origin: origin, - AuthEventIDs: event.AuthEventIDs(), SendAsServer: string(sendAsServer), TransactionID: txnID, } @@ -63,10 +62,9 @@ func SendEventWithState( continue } ires = append(ires, InputRoomEvent{ - Kind: KindOutlier, - Event: outlier.Headered(event.RoomVersion), - Origin: origin, - AuthEventIDs: outlier.AuthEventIDs(), + Kind: KindOutlier, + Event: outlier.Headered(event.RoomVersion), + Origin: origin, }) } @@ -79,7 +77,6 @@ func SendEventWithState( Kind: kind, Event: event, Origin: origin, - AuthEventIDs: event.AuthEventIDs(), HasState: true, StateEventIDs: stateEventIDs, }) diff --git a/roomserver/internal/input/input_missing.go b/roomserver/internal/input/input_missing.go index 5296d9213..51aac8905 100644 --- a/roomserver/internal/input/input_missing.go +++ b/roomserver/internal/input/input_missing.go @@ -154,10 +154,9 @@ func (t *missingStateReq) processEventWithMissingState( continue } outlierRoomEvents = append(outlierRoomEvents, api.InputRoomEvent{ - Kind: api.KindOutlier, - Event: outlier.Headered(roomVersion), - Origin: t.origin, - AuthEventIDs: outlier.AuthEventIDs(), + Kind: api.KindOutlier, + Event: outlier.Headered(roomVersion), + Origin: t.origin, }) } // TODO: we could do this concurrently? @@ -179,7 +178,6 @@ func (t *missingStateReq) processEventWithMissingState( Kind: api.KindOld, Event: backwardsExtremity.Headered(roomVersion), Origin: t.origin, - AuthEventIDs: backwardsExtremity.AuthEventIDs(), HasState: true, StateEventIDs: stateIDs, SendAsServer: api.DoNotSendToOtherServers, @@ -197,7 +195,6 @@ func (t *missingStateReq) processEventWithMissingState( Kind: api.KindOld, Event: newEvent.Headered(roomVersion), Origin: t.origin, - AuthEventIDs: backwardsExtremity.AuthEventIDs(), SendAsServer: api.DoNotSendToOtherServers, }) if err != nil { diff --git a/roomserver/internal/perform/perform_invite.go b/roomserver/internal/perform/perform_invite.go index 6aa2bf26d..85b2322fe 100644 --- a/roomserver/internal/perform/perform_invite.go +++ b/roomserver/internal/perform/perform_invite.go @@ -173,7 +173,6 @@ func (r *Inviter) PerformInvite( Kind: api.KindNew, Event: event, Origin: event.Origin(), - AuthEventIDs: event.AuthEventIDs(), SendAsServer: req.SendAsServer, }, }, diff --git a/roomserver/internal/perform/perform_join.go b/roomserver/internal/perform/perform_join.go index 75397eb60..a1ffab5dd 100644 --- a/roomserver/internal/perform/perform_join.go +++ b/roomserver/internal/perform/perform_join.go @@ -271,7 +271,6 @@ func (r *Joiner) performJoinRoomByID( { Kind: rsAPI.KindNew, Event: event.Headered(buildRes.RoomVersion), - AuthEventIDs: event.AuthEventIDs(), SendAsServer: string(r.Cfg.Matrix.ServerName), }, }, diff --git a/roomserver/internal/perform/perform_leave.go b/roomserver/internal/perform/perform_leave.go index 5720749f6..eac528eaf 100644 --- a/roomserver/internal/perform/perform_leave.go +++ b/roomserver/internal/perform/perform_leave.go @@ -140,7 +140,6 @@ func (r *Leaver) performLeaveRoomByID( Kind: api.KindNew, Event: event.Headered(buildRes.RoomVersion), Origin: event.Origin(), - AuthEventIDs: event.AuthEventIDs(), SendAsServer: string(r.Cfg.Matrix.ServerName), }, }, diff --git a/setup/mscs/msc2836/msc2836.go b/setup/mscs/msc2836/msc2836.go index e048d7360..8a35e4143 100644 --- a/setup/mscs/msc2836/msc2836.go +++ b/setup/mscs/msc2836/msc2836.go @@ -643,9 +643,8 @@ func (rc *reqCtx) injectResponseToRoomserver(res *gomatrixserverlib.MSC2836Event var ires []roomserver.InputRoomEvent for _, outlier := range append(eventsInOrder, messageEvents...) { ires = append(ires, roomserver.InputRoomEvent{ - Kind: roomserver.KindOutlier, - Event: outlier.Headered(outlier.Version()), - AuthEventIDs: outlier.AuthEventIDs(), + Kind: roomserver.KindOutlier, + Event: outlier.Headered(outlier.Version()), }) } // we've got the data by this point so use a background context