From 29d64818420740d3a0cf8e9b39656eafa3109492 Mon Sep 17 00:00:00 2001 From: Kegsay Date: Wed, 26 Aug 2020 15:38:21 +0100 Subject: [PATCH] Wait for 8h between device list updates for blacklisted servers (#1344) --- 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 3fbf31f1..4d1b1107 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