aboutsummaryrefslogtreecommitdiff
path: root/roomserver/internal
diff options
context:
space:
mode:
Diffstat (limited to 'roomserver/internal')
-rw-r--r--roomserver/internal/alias.go2
-rw-r--r--roomserver/internal/helpers/auth.go12
-rw-r--r--roomserver/internal/helpers/helpers.go8
-rw-r--r--roomserver/internal/input/input.go2
-rw-r--r--roomserver/internal/input/input_events.go6
-rw-r--r--roomserver/internal/input/input_latest_events.go10
-rw-r--r--roomserver/internal/input/input_membership.go4
-rw-r--r--roomserver/internal/perform/perform_backfill.go30
-rw-r--r--roomserver/internal/perform/perform_invite.go6
-rw-r--r--roomserver/internal/query/query.go10
-rw-r--r--roomserver/internal/query/query_test.go4
11 files changed, 47 insertions, 47 deletions
diff --git a/roomserver/internal/alias.go b/roomserver/internal/alias.go
index 3e023d2a..97b2ddf5 100644
--- a/roomserver/internal/alias.go
+++ b/roomserver/internal/alias.go
@@ -229,7 +229,7 @@ func (r *RoomserverInternalAPI) sendUpdatedAliasesEvent(
// Add auth events
authEvents := gomatrixserverlib.NewAuthEvents(nil)
for i := range res.StateEvents {
- err = authEvents.AddEvent(&res.StateEvents[i].Event)
+ err = authEvents.AddEvent(res.StateEvents[i].Event)
if err != nil {
return err
}
diff --git a/roomserver/internal/helpers/auth.go b/roomserver/internal/helpers/auth.go
index 0fa89d9c..1f4215e7 100644
--- a/roomserver/internal/helpers/auth.go
+++ b/roomserver/internal/helpers/auth.go
@@ -31,7 +31,7 @@ import (
func CheckForSoftFail(
ctx context.Context,
db storage.Database,
- event gomatrixserverlib.HeaderedEvent,
+ event *gomatrixserverlib.HeaderedEvent,
stateEventIDs []string,
) (bool, error) {
rewritesState := len(stateEventIDs) > 1
@@ -72,7 +72,7 @@ func CheckForSoftFail(
}
// Work out which of the state events we actually need.
- stateNeeded := gomatrixserverlib.StateNeededForAuth([]gomatrixserverlib.Event{event.Unwrap()})
+ stateNeeded := gomatrixserverlib.StateNeededForAuth([]*gomatrixserverlib.Event{event.Unwrap()})
// Load the actual auth events from the database.
authEvents, err := loadAuthEvents(ctx, db, stateNeeded, authStateEntries)
@@ -93,7 +93,7 @@ func CheckForSoftFail(
func CheckAuthEvents(
ctx context.Context,
db storage.Database,
- event gomatrixserverlib.HeaderedEvent,
+ event *gomatrixserverlib.HeaderedEvent,
authEventIDs []string,
) ([]types.EventNID, error) {
// Grab the numeric IDs for the supplied auth state events from the database.
@@ -104,7 +104,7 @@ func CheckAuthEvents(
authStateEntries = types.DeduplicateStateEntries(authStateEntries)
// Work out which of the state events we actually need.
- stateNeeded := gomatrixserverlib.StateNeededForAuth([]gomatrixserverlib.Event{event.Unwrap()})
+ stateNeeded := gomatrixserverlib.StateNeededForAuth([]*gomatrixserverlib.Event{event.Unwrap()})
// Load the actual auth events from the database.
authEvents, err := loadAuthEvents(ctx, db, stateNeeded, authStateEntries)
@@ -168,7 +168,7 @@ func (ae *authEvents) lookupEventWithEmptyStateKey(typeNID types.EventTypeNID) *
if !ok {
return nil
}
- return &event.Event
+ return event.Event
}
func (ae *authEvents) lookupEvent(typeNID types.EventTypeNID, stateKey string) *gomatrixserverlib.Event {
@@ -187,7 +187,7 @@ func (ae *authEvents) lookupEvent(typeNID types.EventTypeNID, stateKey string) *
if !ok {
return nil
}
- return &event.Event
+ return event.Event
}
// loadAuthEvents loads the events needed for authentication from the supplied room state.
diff --git a/roomserver/internal/helpers/helpers.go b/roomserver/internal/helpers/helpers.go
index 4c072e44..e4de878e 100644
--- a/roomserver/internal/helpers/helpers.go
+++ b/roomserver/internal/helpers/helpers.go
@@ -67,7 +67,7 @@ func IsServerCurrentlyInRoom(ctx context.Context, db storage.Database, serverNam
if err != nil {
return false, err
}
- gmslEvents := make([]gomatrixserverlib.Event, len(events))
+ gmslEvents := make([]*gomatrixserverlib.Event, len(events))
for i := range events {
gmslEvents[i] = events[i].Event
}
@@ -190,13 +190,13 @@ func StateBeforeEvent(ctx context.Context, db storage.Database, info types.RoomI
func LoadEvents(
ctx context.Context, db storage.Database, eventNIDs []types.EventNID,
-) ([]gomatrixserverlib.Event, error) {
+) ([]*gomatrixserverlib.Event, error) {
stateEvents, err := db.Events(ctx, eventNIDs)
if err != nil {
return nil, err
}
- result := make([]gomatrixserverlib.Event, len(stateEvents))
+ result := make([]*gomatrixserverlib.Event, len(stateEvents))
for i := range stateEvents {
result[i] = stateEvents[i].Event
}
@@ -205,7 +205,7 @@ func LoadEvents(
func LoadStateEvents(
ctx context.Context, db storage.Database, stateEntries []types.StateEntry,
-) ([]gomatrixserverlib.Event, error) {
+) ([]*gomatrixserverlib.Event, error) {
eventNIDs := make([]types.EventNID, len(stateEntries))
for i := range stateEntries {
eventNIDs[i] = stateEntries[i].EventNID
diff --git a/roomserver/internal/input/input.go b/roomserver/internal/input/input.go
index 99c15f77..d7257539 100644
--- a/roomserver/internal/input/input.go
+++ b/roomserver/internal/input/input.go
@@ -92,7 +92,7 @@ func (r *Inputer) WriteOutputEvents(roomID string, updates []api.OutputEvent) er
})
if updates[i].NewRoomEvent.Event.Type() == "m.room.server_acl" && updates[i].NewRoomEvent.Event.StateKeyEquals("") {
ev := updates[i].NewRoomEvent.Event.Unwrap()
- defer r.ACLs.OnServerACLUpdate(&ev)
+ defer r.ACLs.OnServerACLUpdate(ev)
}
}
logger.Infof("Producing to topic '%s'", r.OutputRoomEventTopic)
diff --git a/roomserver/internal/input/input_events.go b/roomserver/internal/input/input_events.go
index c055289c..d62621c2 100644
--- a/roomserver/internal/input/input_events.go
+++ b/roomserver/internal/input/input_events.go
@@ -111,11 +111,11 @@ func (r *Inputer) processRoomEvent(
// if storing this event results in it being redacted then do so.
if !isRejected && redactedEventID == event.EventID() {
- r, rerr := eventutil.RedactEvent(redactionEvent, &event)
+ r, rerr := eventutil.RedactEvent(redactionEvent, event)
if rerr != nil {
return "", fmt.Errorf("eventutil.RedactEvent: %w", rerr)
}
- event = *r
+ event = r
}
// For outliers we can stop after we've stored the event itself as it
@@ -215,7 +215,7 @@ func (r *Inputer) calculateAndSetState(
input *api.InputRoomEvent,
roomInfo types.RoomInfo,
stateAtEvent *types.StateAtEvent,
- event gomatrixserverlib.Event,
+ event *gomatrixserverlib.Event,
isRejected bool,
) error {
var err error
diff --git a/roomserver/internal/input/input_latest_events.go b/roomserver/internal/input/input_latest_events.go
index 2bf6b9f8..3608ef4b 100644
--- a/roomserver/internal/input/input_latest_events.go
+++ b/roomserver/internal/input/input_latest_events.go
@@ -50,7 +50,7 @@ func (r *Inputer) updateLatestEvents(
ctx context.Context,
roomInfo *types.RoomInfo,
stateAtEvent types.StateAtEvent,
- event gomatrixserverlib.Event,
+ event *gomatrixserverlib.Event,
sendAsServer string,
transactionID *api.TransactionID,
rewritesState bool,
@@ -92,7 +92,7 @@ type latestEventsUpdater struct {
updater *shared.LatestEventsUpdater
roomInfo *types.RoomInfo
stateAtEvent types.StateAtEvent
- event gomatrixserverlib.Event
+ event *gomatrixserverlib.Event
transactionID *api.TransactionID
rewritesState bool
// Which server to send this event as.
@@ -140,7 +140,7 @@ func (u *latestEventsUpdater) doUpdateLatestEvents() error {
// Work out what the latest events are. This will include the new
// event if it is not already referenced.
extremitiesChanged, err := u.calculateLatest(
- oldLatest, &u.event,
+ oldLatest, u.event,
types.StateAtEventAndReference{
EventReference: u.event.EventReference(),
StateAtEvent: u.stateAtEvent,
@@ -373,7 +373,7 @@ func (u *latestEventsUpdater) makeOutputNewRoomEvent() (*api.OutputEvent, error)
// extraEventsForIDs returns the full events for the event IDs given, but does not include the current event being
// updated.
-func (u *latestEventsUpdater) extraEventsForIDs(roomVersion gomatrixserverlib.RoomVersion, eventIDs []string) ([]gomatrixserverlib.HeaderedEvent, error) {
+func (u *latestEventsUpdater) extraEventsForIDs(roomVersion gomatrixserverlib.RoomVersion, eventIDs []string) ([]*gomatrixserverlib.HeaderedEvent, error) {
var extraEventIDs []string
for _, e := range eventIDs {
if e == u.event.EventID() {
@@ -388,7 +388,7 @@ func (u *latestEventsUpdater) extraEventsForIDs(roomVersion gomatrixserverlib.Ro
if err != nil {
return nil, err
}
- var h []gomatrixserverlib.HeaderedEvent
+ var h []*gomatrixserverlib.HeaderedEvent
for _, e := range extraEvents {
h = append(h, e.Headered(roomVersion))
}
diff --git a/roomserver/internal/input/input_membership.go b/roomserver/internal/input/input_membership.go
index 8befcd64..692d8147 100644
--- a/roomserver/internal/input/input_membership.go
+++ b/roomserver/internal/input/input_membership.go
@@ -62,13 +62,13 @@ func (r *Inputer) updateMemberships(
if change.removedEventNID != 0 {
ev, _ := helpers.EventMap(events).Lookup(change.removedEventNID)
if ev != nil {
- re = &ev.Event
+ re = ev.Event
}
}
if change.addedEventNID != 0 {
ev, _ := helpers.EventMap(events).Lookup(change.addedEventNID)
if ev != nil {
- ae = &ev.Event
+ ae = ev.Event
}
}
if updates, err = r.updateMembership(updater, targetUserNID, re, ae, updates); err != nil {
diff --git a/roomserver/internal/perform/perform_backfill.go b/roomserver/internal/perform/perform_backfill.go
index 6c05b3b8..eb47ac21 100644
--- a/roomserver/internal/perform/perform_backfill.go
+++ b/roomserver/internal/perform/perform_backfill.go
@@ -83,7 +83,7 @@ func (r *Backfiller) PerformBackfill(
}
// Retrieve events from the list that was filled previously.
- var loadedEvents []gomatrixserverlib.Event
+ var loadedEvents []*gomatrixserverlib.Event
loadedEvents, err = helpers.LoadEvents(ctx, r.DB, resultNIDs)
if err != nil {
return err
@@ -211,10 +211,10 @@ func (r *Backfiller) fetchAndStoreMissingEvents(ctx context.Context, roomVer gom
}
}
- var newEvents []gomatrixserverlib.HeaderedEvent
+ var newEvents []*gomatrixserverlib.HeaderedEvent
for _, ev := range missingMap {
if ev != nil {
- newEvents = append(newEvents, *ev)
+ newEvents = append(newEvents, ev)
}
}
util.GetLogger(ctx).Infof("Persisting %d new events", len(newEvents))
@@ -232,7 +232,7 @@ type backfillRequester struct {
// per-request state
servers []gomatrixserverlib.ServerName
eventIDToBeforeStateIDs map[string][]string
- eventIDMap map[string]gomatrixserverlib.Event
+ eventIDMap map[string]*gomatrixserverlib.Event
}
func newBackfillRequester(
@@ -248,13 +248,13 @@ func newBackfillRequester(
fsAPI: fsAPI,
thisServer: thisServer,
eventIDToBeforeStateIDs: make(map[string][]string),
- eventIDMap: make(map[string]gomatrixserverlib.Event),
+ eventIDMap: make(map[string]*gomatrixserverlib.Event),
bwExtrems: bwExtrems,
preferServer: preferServer,
}
}
-func (b *backfillRequester) StateIDsBeforeEvent(ctx context.Context, targetEvent gomatrixserverlib.HeaderedEvent) ([]string, error) {
+func (b *backfillRequester) StateIDsBeforeEvent(ctx context.Context, targetEvent *gomatrixserverlib.HeaderedEvent) ([]string, error) {
b.eventIDMap[targetEvent.EventID()] = targetEvent.Unwrap()
if ids, ok := b.eventIDToBeforeStateIDs[targetEvent.EventID()]; ok {
return ids, nil
@@ -305,7 +305,7 @@ FederationHit:
return nil, lastErr
}
-func (b *backfillRequester) calculateNewStateIDs(targetEvent, prevEvent gomatrixserverlib.Event, prevEventStateIDs []string) []string {
+func (b *backfillRequester) calculateNewStateIDs(targetEvent, prevEvent *gomatrixserverlib.Event, prevEventStateIDs []string) []string {
newStateIDs := prevEventStateIDs[:]
if prevEvent.StateKey() == nil {
// state is the same as the previous event
@@ -343,7 +343,7 @@ func (b *backfillRequester) calculateNewStateIDs(targetEvent, prevEvent gomatrix
}
func (b *backfillRequester) StateBeforeEvent(ctx context.Context, roomVer gomatrixserverlib.RoomVersion,
- event gomatrixserverlib.HeaderedEvent, eventIDs []string) (map[string]*gomatrixserverlib.Event, error) {
+ event *gomatrixserverlib.HeaderedEvent, eventIDs []string) (map[string]*gomatrixserverlib.Event, error) {
// try to fetch the events from the database first
events, err := b.ProvideEvents(roomVer, eventIDs)
@@ -355,7 +355,7 @@ func (b *backfillRequester) StateBeforeEvent(ctx context.Context, roomVer gomatr
if len(events) == len(eventIDs) {
result := make(map[string]*gomatrixserverlib.Event)
for i := range events {
- result[events[i].EventID()] = &events[i]
+ result[events[i].EventID()] = events[i]
b.eventIDMap[events[i].EventID()] = events[i]
}
return result, nil
@@ -372,7 +372,7 @@ func (b *backfillRequester) StateBeforeEvent(ctx context.Context, roomVer gomatr
return nil, err
}
for eventID, ev := range result {
- b.eventIDMap[eventID] = *ev
+ b.eventIDMap[eventID] = ev
}
return result, nil
}
@@ -476,7 +476,7 @@ func (b *backfillRequester) Backfill(ctx context.Context, server gomatrixserverl
return tx, err
}
-func (b *backfillRequester) ProvideEvents(roomVer gomatrixserverlib.RoomVersion, eventIDs []string) ([]gomatrixserverlib.Event, error) {
+func (b *backfillRequester) ProvideEvents(roomVer gomatrixserverlib.RoomVersion, eventIDs []string) ([]*gomatrixserverlib.Event, error) {
ctx := context.Background()
nidMap, err := b.db.EventNIDs(ctx, eventIDs)
if err != nil {
@@ -494,7 +494,7 @@ func (b *backfillRequester) ProvideEvents(roomVer gomatrixserverlib.RoomVersion,
logrus.WithError(err).WithField("event_nids", eventNIDs).Error("Failed to load events")
return nil, err
}
- events := make([]gomatrixserverlib.Event, len(eventsWithNids))
+ events := make([]*gomatrixserverlib.Event, len(eventsWithNids))
for i := range eventsWithNids {
events[i] = eventsWithNids[i].Event
}
@@ -522,7 +522,7 @@ func joinEventsFromHistoryVisibility(
if err != nil {
return nil, err
}
- events := make([]gomatrixserverlib.Event, len(stateEvents))
+ events := make([]*gomatrixserverlib.Event, len(stateEvents))
for i := range stateEvents {
events[i] = stateEvents[i].Event
}
@@ -545,7 +545,7 @@ func joinEventsFromHistoryVisibility(
return db.Events(ctx, joinEventNIDs)
}
-func persistEvents(ctx context.Context, db storage.Database, events []gomatrixserverlib.HeaderedEvent) (types.RoomNID, map[string]types.Event) {
+func persistEvents(ctx context.Context, db storage.Database, events []*gomatrixserverlib.HeaderedEvent) (types.RoomNID, map[string]types.Event) {
var roomNID types.RoomNID
backfilledEventMap := make(map[string]types.Event)
for j, ev := range events {
@@ -573,7 +573,7 @@ func persistEvents(ctx context.Context, db storage.Database, events []gomatrixse
// redacted, which we don't care about since we aren't returning it in this backfill.
if redactedEventID == ev.EventID() {
eventToRedact := ev.Unwrap()
- redactedEvent, err := eventutil.RedactEvent(redactionEvent, &eventToRedact)
+ redactedEvent, err := eventutil.RedactEvent(redactionEvent, eventToRedact)
if err != nil {
logrus.WithError(err).WithField("event_id", ev.EventID()).Error("Failed to redact event")
continue
diff --git a/roomserver/internal/perform/perform_invite.go b/roomserver/internal/perform/perform_invite.go
index 0630ed45..0fb6ddd4 100644
--- a/roomserver/internal/perform/perform_invite.go
+++ b/roomserver/internal/perform/perform_invite.go
@@ -198,7 +198,7 @@ func (r *Inviter) PerformInvite(
}
unwrapped := event.Unwrap()
- outputUpdates, err := helpers.UpdateToInviteMembership(updater, &unwrapped, nil, req.Event.RoomVersion)
+ outputUpdates, err := helpers.UpdateToInviteMembership(updater, unwrapped, nil, req.Event.RoomVersion)
if err != nil {
return nil, fmt.Errorf("updateToInviteMembership: %w", err)
}
@@ -248,11 +248,11 @@ func buildInviteStrippedState(
return nil, err
}
inviteState := []gomatrixserverlib.InviteV2StrippedState{
- gomatrixserverlib.NewInviteV2StrippedState(&input.Event.Event),
+ gomatrixserverlib.NewInviteV2StrippedState(input.Event.Event),
}
stateEvents = append(stateEvents, types.Event{Event: input.Event.Unwrap()})
for _, event := range stateEvents {
- inviteState = append(inviteState, gomatrixserverlib.NewInviteV2StrippedState(&event.Event))
+ inviteState = append(inviteState, gomatrixserverlib.NewInviteV2StrippedState(event.Event))
}
return inviteState, nil
}
diff --git a/roomserver/internal/query/query.go b/roomserver/internal/query/query.go
index 64ece4eb..c9940c3c 100644
--- a/roomserver/internal/query/query.go
+++ b/roomserver/internal/query/query.go
@@ -416,7 +416,7 @@ func (r *Queryer) QueryMissingEvents(
return err
}
- response.Events = make([]gomatrixserverlib.HeaderedEvent, 0, len(loadedEvents)-len(eventsToFilter))
+ response.Events = make([]*gomatrixserverlib.HeaderedEvent, 0, len(loadedEvents)-len(eventsToFilter))
for _, event := range loadedEvents {
if !eventsToFilter[event.EventID()] {
roomVersion, verr := r.roomVersion(event.RoomID())
@@ -485,7 +485,7 @@ func (r *Queryer) QueryStateAndAuthChain(
return err
}
-func (r *Queryer) loadStateAtEventIDs(ctx context.Context, roomInfo types.RoomInfo, eventIDs []string) ([]gomatrixserverlib.Event, error) {
+func (r *Queryer) loadStateAtEventIDs(ctx context.Context, roomInfo types.RoomInfo, eventIDs []string) ([]*gomatrixserverlib.Event, error) {
roomState := state.NewStateResolution(r.DB, roomInfo)
prevStates, err := r.DB.StateAtEventIDs(ctx, eventIDs)
if err != nil {
@@ -516,13 +516,13 @@ type eventsFromIDs func(context.Context, []string) ([]types.Event, error)
// given events. Will *not* error if we don't have all auth events.
func getAuthChain(
ctx context.Context, fn eventsFromIDs, authEventIDs []string,
-) ([]gomatrixserverlib.Event, error) {
+) ([]*gomatrixserverlib.Event, error) {
// List of event IDs to fetch. On each pass, these events will be requested
// from the database and the `eventsToFetch` will be updated with any new
// events that we have learned about and need to find. When `eventsToFetch`
// is eventually empty, we should have reached the end of the chain.
eventsToFetch := authEventIDs
- authEventsMap := make(map[string]gomatrixserverlib.Event)
+ authEventsMap := make(map[string]*gomatrixserverlib.Event)
for len(eventsToFetch) > 0 {
// Try to retrieve the events from the database.
@@ -553,7 +553,7 @@ func getAuthChain(
// We've now retrieved all of the events we can. Flatten them down into an
// array and return them.
- var authEvents []gomatrixserverlib.Event
+ var authEvents []*gomatrixserverlib.Event
for _, event := range authEventsMap {
authEvents = append(authEvents, event)
}
diff --git a/roomserver/internal/query/query_test.go b/roomserver/internal/query/query_test.go
index b4cb99b8..4e761d8e 100644
--- a/roomserver/internal/query/query_test.go
+++ b/roomserver/internal/query/query_test.go
@@ -26,12 +26,12 @@ import (
// used to implement RoomserverInternalAPIEventDB to test getAuthChain
type getEventDB struct {
- eventMap map[string]gomatrixserverlib.Event
+ eventMap map[string]*gomatrixserverlib.Event
}
func createEventDB() *getEventDB {
return &getEventDB{
- eventMap: make(map[string]gomatrixserverlib.Event),
+ eventMap: make(map[string]*gomatrixserverlib.Event),
}
}