diff options
author | Jeff Forcier <jeff@bitprophet.org> | 2019-06-21 19:28:56 -0400 |
---|---|---|
committer | Jeff Forcier <jeff@bitprophet.org> | 2019-06-21 19:28:56 -0400 |
commit | b2cb9c1a2529381c15ffaba5ce275ad314e55539 (patch) | |
tree | 83ebfd4f78c06730d6f7621ee0cb3af2e3dba189 /tests/test_transport.py | |
parent | dceaa61d44b9baf68e8f89f1890b424906446f38 (diff) |
Basic impl of algorithm filtering
Not actually leveraged anywhere yet
Diffstat (limited to 'tests/test_transport.py')
-rw-r--r-- | tests/test_transport.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test_transport.py b/tests/test_transport.py index ad267e28..f4e824d0 100644 --- a/tests/test_transport.py +++ b/tests/test_transport.py @@ -1102,3 +1102,34 @@ class TransportTest(unittest.TestCase): assert not self.ts.auth_handler.authenticated # Real fix's behavior self._expect_unimplemented() + + +class AlgorithmDisablingTests(unittest.TestCase): + def test_preferred_lists_default_to_private_attribute_contents(self): + t = Transport(sock=Mock()) + assert t.preferred_ciphers == t._preferred_ciphers + assert t.preferred_macs == t._preferred_macs + assert t.preferred_keys == t._preferred_keys + assert t.preferred_kex == t._preferred_kex + + def test_preferred_lists_filter_disabled_algorithms(self): + t = Transport( + sock=Mock(), + disable_algorithms={ + "ciphers": ["aes128-cbc"], + "macs": ["hmac-md5"], + "keys": ["ssh-dss"], + "kex": ["diffie-hellman-group14-sha256"], + }, + ) + assert "aes128-cbc" in t._preferred_ciphers + assert "aes128-cbc" not in t.preferred_ciphers + assert "hmac-md5" in t._preferred_macs + assert "hmac-md5" not in t.preferred_macs + assert "ssh-dss" in t._preferred_keys + assert "ssh-dss" not in t.preferred_keys + assert "diffie-hellman-group14-sha256" in t._preferred_kex + assert "diffie-hellman-group14-sha256" not in t.preferred_kex + + # TODO: a bunch of busywork proving all prior uses of ._preferred_x are now + # using .preferred_x :( |