From 8c5067609cb68f2f00a4b1d9011ea278608adcd1 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Fri, 24 Feb 2023 00:00:11 +0000 Subject: Use new KeyFetcher --- synapse/crypto/keyring.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py index 278afb591f..de9a256bf9 100644 --- a/synapse/crypto/keyring.py +++ b/synapse/crypto/keyring.py @@ -140,14 +140,22 @@ class Keyring: self.clock = hs.get_clock() if key_fetchers is None: - key_fetchers = ( - # Fetch keys from the database. - StoreKeyFetcher(hs), - # Fetch keys from a configured Perspectives server. - PerspectivesKeyFetcher(hs), - # Fetch keys from the origin server directly. - ServerKeyFetcher(hs), - ) + if hs.config.worker.send_federation: + key_fetchers = ( + # Fetch keys from the database. + StoreKeyFetcher(hs), + # Fetch keys from a configured Perspectives server. + PerspectivesKeyFetcher(hs), + # Fetch keys from the origin server directly. + ServerKeyFetcher(hs), + ) + else: + key_fetchers = ( + # Fetch keys from the database. + StoreKeyFetcher(hs), + # Ask a federation sender to fetch the keys for us. + InternalWorkerRequestKeyFetcher(hs), + ) self._key_fetchers = key_fetchers self._fetch_keys_queue: BatchingQueue[ -- cgit 1.5.1