tests/dcerpc/raw_protocol: split test_spnego_integrity_request into 2 parts
authorStefan Metzmacher <metze@samba.org>
Thu, 1 Aug 2019 11:04:16 +0000 (13:04 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Thu, 1 Aug 2019 15:40:17 +0000 (15:40 +0000)
This can be a generic test that can be used for more auth_levels.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
python/samba/tests/dcerpc/raw_protocol.py

index a1ca66d0458ce1adc93a4273a6192a86ed8624da..f287d71c8c6d325029b55c1dd1a1d61359ba0792 100755 (executable)
@@ -2762,7 +2762,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
         return self._test_spnego_connect_upgrade_request(
                                         dcerpc.DCERPC_AUTH_LEVEL_INTEGRITY)
 
-    def test_spnego_integrity_request(self):
+    def _test_spnego_connect_downgrade_request(self, initial_auth_level):
         ndr32 = base.transfer_syntax_ndr()
 
         tsf1_list = [ndr32]
@@ -2778,7 +2778,7 @@ class TestDCERPC_BIND(RawDCERPCTest):
         g.set_credentials(c)
         g.want_feature(gensec.FEATURE_DCE_STYLE)
         auth_type = dcerpc.DCERPC_AUTH_TYPE_SPNEGO
-        auth_level = dcerpc.DCERPC_AUTH_LEVEL_INTEGRITY
+        auth_level = initial_auth_level
         auth_context_id = 2
         g.start_mech_by_authtype(auth_type, auth_level)
         from_server = b""
@@ -2875,6 +2875,10 @@ class TestDCERPC_BIND(RawDCERPCTest):
         self.assertIsNone(rep)
         self.assertNotConnected()
 
+    def test_spnego_integrity_downgrade_connect(self):
+        return self._test_spnego_connect_upgrade_request(
+                                        dcerpc.DCERPC_AUTH_LEVEL_INTEGRITY)
+
     def test_spnego_unfinished_request(self):
         ndr32 = base.transfer_syntax_ndr()