From 2a0c160148184d7ba7e83d0d79f9ce38a4ba4bcd Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Wed, 5 Aug 2020 13:00:21 +0100 Subject: [PATCH] Linting --- federationapi/routing/send.go | 28 ++++++++++++++++------------ keyserver/internal/internal.go | 7 ++++++- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/federationapi/routing/send.go b/federationapi/routing/send.go index a07334f96..903a2f22c 100644 --- a/federationapi/routing/send.go +++ b/federationapi/routing/send.go @@ -313,24 +313,28 @@ func (t *txnReq) processEDUs(edus []gomatrixserverlib.EDU) { } } case gomatrixserverlib.MDeviceListUpdate: - var payload gomatrixserverlib.DeviceListUpdateEvent - if err := json.Unmarshal(e.Content, &payload); err != nil { - util.GetLogger(t.context).WithError(err).Error("Failed to unmarshal device list update event") - continue - } - var inputRes keyapi.InputDeviceListUpdateResponse - t.keyAPI.InputDeviceListUpdate(context.Background(), &keyapi.InputDeviceListUpdateRequest{ - Event: payload, - }, &inputRes) - if inputRes.Error != nil { - util.GetLogger(t.context).WithError(inputRes.Error).WithField("user_id", payload.UserID).Error("failed to InputDeviceListUpdate") - } + t.processDeviceListUpdate(e) default: util.GetLogger(t.context).WithField("type", e.Type).Warn("unhandled edu") } } } +func (t *txnReq) processDeviceListUpdate(e gomatrixserverlib.EDU) { + var payload gomatrixserverlib.DeviceListUpdateEvent + if err := json.Unmarshal(e.Content, &payload); err != nil { + util.GetLogger(t.context).WithError(err).Error("Failed to unmarshal device list update event") + return + } + var inputRes keyapi.InputDeviceListUpdateResponse + t.keyAPI.InputDeviceListUpdate(context.Background(), &keyapi.InputDeviceListUpdateRequest{ + Event: payload, + }, &inputRes) + if inputRes.Error != nil { + util.GetLogger(t.context).WithError(inputRes.Error).WithField("user_id", payload.UserID).Error("failed to InputDeviceListUpdate") + } +} + func (t *txnReq) processEvent(e gomatrixserverlib.Event, isInboundTxn bool) error { prevEventIDs := e.PrevEventIDs() diff --git a/keyserver/internal/internal.go b/keyserver/internal/internal.go index 0bd40f651..d6e24566f 100644 --- a/keyserver/internal/internal.go +++ b/keyserver/internal/internal.go @@ -95,7 +95,12 @@ func (a *KeyInternalAPI) InputDeviceListUpdate( } // ALWAYS emit key changes when we've been poked over federation just in case // this poke is important for something. - a.Producer.ProduceKeyChanges(keys) + err = a.Producer.ProduceKeyChanges(keys) + if err != nil { + res.Error = &api.KeyError{ + Err: fmt.Sprintf("failed to emit remote device key changes: %s", err), + } + } return }