summaryrefslogtreecommitdiff
path: root/python/samba/tests/dcerpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2018-11-26 11:41:26 +0100
committerJeremy Allison <jra@samba.org>2018-12-23 18:15:22 +0100
commit7fb5c575fbecc4f7ab9703946fe64911d610c847 (patch)
tree39ada261d87bcfe6abc2f9152a79c23fb1f9d806 /python/samba/tests/dcerpc
parent7a83cb02a1c5eb61624e53b127134ccd6f9b3fc8 (diff)
downloadsamba-7fb5c575fbecc4f7ab9703946fe64911d610c847.tar.gz
py:dcerpc/raw_testcase: support DCERPC_AUTH_LEVEL_CONNECT in do_single_request()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113 BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'python/samba/tests/dcerpc')
-rw-r--r--python/samba/tests/dcerpc/raw_testcase.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/python/samba/tests/dcerpc/raw_testcase.py b/python/samba/tests/dcerpc/raw_testcase.py
index bda13d8d4cc..ea3565fc6c3 100644
--- a/python/samba/tests/dcerpc/raw_testcase.py
+++ b/python/samba/tests/dcerpc/raw_testcase.py
@@ -412,8 +412,13 @@ class RawDCERPCTest(TestCase):
self.assertEquals(len(rep.u.error_and_verifier), 0)
return
+ expected_auth_length = 0
+ if auth_context is not None and \
+ auth_context["auth_level"] >= dcerpc.DCERPC_AUTH_LEVEL_PACKET:
+ expected_auth_length = req.auth_length
+
self.verify_pdu(rep, samba.dcerpc.dcerpc.DCERPC_PKT_RESPONSE, req.call_id,
- auth_length=req.auth_length)
+ auth_length=expected_auth_length)
self.assertNotEquals(rep.u.alloc_hint, 0)
self.assertEquals(rep.u.context_id, req.u.context_id & 0xff)
self.assertEquals(rep.u.cancel_count, 0)
@@ -650,6 +655,12 @@ class RawDCERPCTest(TestCase):
self.assertEquals(rep.auth_length, 0)
return rep.u.stub_and_verifier
+ if auth_context["auth_level"] == dcerpc.DCERPC_AUTH_LEVEL_CONNECT:
+ self.assertEquals(rep.auth_length, 0)
+ return rep.u.stub_and_verifier
+
+ self.assertGreater(rep.auth_length, 0)
+
ofs_stub = dcerpc.DCERPC_REQUEST_LENGTH
ofs_sig = rep.frag_length - rep.auth_length
ofs_trailer = ofs_sig - dcerpc.DCERPC_AUTH_TRAILER_LENGTH
@@ -768,6 +779,10 @@ class RawDCERPCTest(TestCase):
self.assertTrue(False)
elif auth_context["auth_level"] >= dcerpc.DCERPC_AUTH_LEVEL_PACKET:
req_sig = auth_context["gensec"].sign_packet(req_data, req_whole)
+ elif auth_context["auth_level"] >= dcerpc.DCERPC_AUTH_LEVEL_CONNECT:
+ self.assertEquals(auth_context["auth_type"],
+ dcerpc.DCERPC_AUTH_TYPE_NTLMSSP)
+ req_sig = b"\x01" +b"\x00" *15
else:
return req
self.assertEquals(len(req_sig), req.auth_length)