Fix /key/v2/server calls with URL-unsafe key IDs (#14490)
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
This commit is contained in:
@@ -469,6 +469,18 @@ class ServerKeyFetcherTestCase(unittest.HomeserverTestCase):
|
||||
keys = self.get_success(fetcher.get_keys(SERVER_NAME, ["key1"], 0))
|
||||
self.assertEqual(keys, {})
|
||||
|
||||
def test_keyid_containing_forward_slash(self) -> None:
|
||||
"""We should url-encode any url unsafe chars in key ids.
|
||||
|
||||
Detects https://github.com/matrix-org/synapse/issues/14488.
|
||||
"""
|
||||
fetcher = ServerKeyFetcher(self.hs)
|
||||
self.get_success(fetcher.get_keys("example.com", ["key/potato"], 0))
|
||||
|
||||
self.http_client.get_json.assert_called_once()
|
||||
args, kwargs = self.http_client.get_json.call_args
|
||||
self.assertEqual(kwargs["path"], "/_matrix/key/v2/server/key%2Fpotato")
|
||||
|
||||
|
||||
class PerspectivesKeyFetcherTestCase(unittest.HomeserverTestCase):
|
||||
def make_homeserver(self, reactor, clock):
|
||||
|
||||
Reference in New Issue
Block a user