From c8f73732b8f20b5b12682eb5e95f7a1c54fe74f0 Mon Sep 17 00:00:00 2001 From: Till Faelligen <2353100+S7evinK@users.noreply.github.com> Date: Fri, 10 Nov 2023 16:59:13 +0100 Subject: [PATCH] Avoid logging issues which possibly aren't issues --- keyring.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/keyring.go b/keyring.go index 7d3a59fb..be0d5c87 100644 --- a/keyring.go +++ b/keyring.go @@ -10,6 +10,7 @@ import ( "github.com/matrix-org/gomatrixserverlib/spec" "github.com/matrix-org/util" + "github.com/sirupsen/logrus" "golang.org/x/crypto/ed25519" ) @@ -271,12 +272,10 @@ func (k KeyRing) VerifyJSONs(ctx context.Context, requests []VerifyJSONRequest) fetched, err := fetcher.FetchKeys(ctx, keyRequests) if err != nil { - fetcherLogger.WithError(err).Warn("Failed to request keys from fetcher") continue } if len(fetched) == 0 { - fetcherLogger.Warn("Failed to retrieve any keys") continue } @@ -290,6 +289,19 @@ func (k KeyRing) VerifyJSONs(ctx context.Context, requests []VerifyJSONRequest) } } + // We for some reason failed to fetch keys for some servers + if len(keyRequests) > 0 { + requestedServers := make([]string, 0, len(keyRequests)) + for reqs := range keyRequests { + requestedServers = append(requestedServers, string(reqs.ServerName)) + } + + logger.WithFields(logrus.Fields{ + "servers": requestedServers, + "fetchers": len(k.KeyFetchers), + }).Warn("failed to fetch keys for some servers") + } + // Now that we've fetched all of the keys we need, try to check // if the requests are valid. k.checkUsingKeys(requests, results, keyIDs, keysFetched)