From 7905e89259b00158e825ad38d799378d099f0cc7 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Wed, 26 Aug 2020 13:13:02 +0100 Subject: [PATCH] Wait for 8h between device list updates for blacklisted servers --- keyserver/internal/device_list_update.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/keyserver/internal/device_list_update.go b/keyserver/internal/device_list_update.go index 3fbf31f1e..4d1b1107c 100644 --- a/keyserver/internal/device_list_update.go +++ b/keyserver/internal/device_list_update.go @@ -341,8 +341,12 @@ func (u *DeviceListUpdater) processServer(serverName gomatrixserverlib.ServerNam if err != nil { logger.WithError(err).WithField("user_id", userID).Error("failed to query device keys for user") fcerr, ok := err.(*fedsenderapi.FederationClientError) - if ok && fcerr.RetryAfter > 0 { - waitTime = fcerr.RetryAfter + if ok { + if fcerr.RetryAfter > 0 { + waitTime = fcerr.RetryAfter + } else if fcerr.Blacklisted { + waitTime = time.Hour * 8 + } } hasFailures = true continue