From 00cbe75150cdeed263677a33be12c0c2df078bcb Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Fri, 4 Feb 2022 16:16:50 +0000 Subject: [PATCH] Fix CPU spin from key change consumer when an invalid message is supplied (#2146) --- keyserver/consumers/cross_signing.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/keyserver/consumers/cross_signing.go b/keyserver/consumers/cross_signing.go index a533006ff..aae69e960 100644 --- a/keyserver/consumers/cross_signing.go +++ b/keyserver/consumers/cross_signing.go @@ -114,7 +114,10 @@ func (s *OutputCrossSigningKeyUpdateConsumer) onCrossSigningMessage(m api.Device uploadRes := &api.PerformUploadDeviceKeysResponse{} s.keyAPI.PerformUploadDeviceKeys(context.TODO(), uploadReq, uploadRes) if uploadRes.Error != nil { - return false + // If the error is due to a missing or invalid parameter then we'd might + // as well just acknowledge the message, because otherwise otherwise we'll + // just keep getting delivered a faulty message over and over again. + return uploadRes.Error.IsMissingParam || uploadRes.Error.IsInvalidParam } return true }