From efe01519a26dbcaf940c105c27f666c0c1439149 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Fri, 30 Jul 2021 10:50:49 +0100 Subject: [PATCH] Don't give up so quickly on errors --- keyserver/internal/cross_signing.go | 8 +++----- keyserver/internal/internal.go | 4 +--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/keyserver/internal/cross_signing.go b/keyserver/internal/cross_signing.go index 9766af0a..19731d2c 100644 --- a/keyserver/internal/cross_signing.go +++ b/keyserver/internal/cross_signing.go @@ -240,12 +240,12 @@ func (a *KeyInternalAPI) processOtherSignatures( func (a *KeyInternalAPI) crossSigningKeys( ctx context.Context, req *api.QueryKeysRequest, res *api.QueryKeysResponse, -) error { +) { for userID := range req.UserToDevices { keys, err := a.DB.CrossSigningKeysForUser(ctx, userID) if err != nil { logrus.WithError(err).Errorf("Failed to get cross-signing keys for user %q", userID) - return fmt.Errorf("a.DB.CrossSigningKeysForUser (%q): %w", userID, err) + continue } for keyType, keyData := range keys { @@ -264,7 +264,7 @@ func (a *KeyInternalAPI) crossSigningKeys( sigs, err := a.DB.CrossSigningSigsForTarget(ctx, userID, keyID) if err != nil { logrus.WithError(err).Errorf("Failed to get cross-signing signatures for user %q key %q", userID, keyID) - return fmt.Errorf("a.DB.CrossSigningSigsForTarget (%q key %q): %w", userID, keyID, err) + continue } appendSignature := func(originUserID string, originKeyID gomatrixserverlib.KeyID, signature gomatrixserverlib.Base64Bytes) { @@ -303,6 +303,4 @@ func (a *KeyInternalAPI) crossSigningKeys( } } } - - return nil } diff --git a/keyserver/internal/internal.go b/keyserver/internal/internal.go index 5fbaefb0..9ed5ca78 100644 --- a/keyserver/internal/internal.go +++ b/keyserver/internal/internal.go @@ -227,9 +227,7 @@ func (a *KeyInternalAPI) QueryKeys(ctx context.Context, req *api.QueryKeysReques res.Failures = make(map[string]interface{}) // get cross-signing keys from the database - if err := a.crossSigningKeys(ctx, req, res); err != nil { - util.GetLogger(ctx).WithError(err).Error("Failed to retrieve cross-signing keys from database") - } + a.crossSigningKeys(ctx, req, res) // make a map from domain to device keys domainToDeviceKeys := make(map[string]map[string][]string)