summaryrefslogtreecommitdiffhomepage
path: root/tests/test_transport.py
diff options
context:
space:
mode:
authorJeff Forcier <jeff@bitprophet.org>2019-06-21 19:28:56 -0400
committerJeff Forcier <jeff@bitprophet.org>2019-06-21 19:28:56 -0400
commitb2cb9c1a2529381c15ffaba5ce275ad314e55539 (patch)
tree83ebfd4f78c06730d6f7621ee0cb3af2e3dba189 /tests/test_transport.py
parentdceaa61d44b9baf68e8f89f1890b424906446f38 (diff)
Basic impl of algorithm filtering
Not actually leveraged anywhere yet
Diffstat (limited to 'tests/test_transport.py')
-rw-r--r--tests/test_transport.py31
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 :(