From 460a9d379ff7fb857535520f28cdcc4e49102c13 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 11 Dec 2018 19:56:58 +0100 Subject: [PATCH] py:dcerpc/raw_testcase: add assertPadding() that allows IGNORE_RANDOM_PAD=1 Sometimes Windows returns non zero bytes in padding fields, we won't allow that by default, but IGNORE_RANDOM_PAD=1 will will only do the length check. 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 Reviewed-by: Jeremy Allison --- python/samba/tests/dcerpc/raw_testcase.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/python/samba/tests/dcerpc/raw_testcase.py b/python/samba/tests/dcerpc/raw_testcase.py index d14966e8a82..6802b9b4046 100644 --- a/python/samba/tests/dcerpc/raw_testcase.py +++ b/python/samba/tests/dcerpc/raw_testcase.py @@ -64,6 +64,8 @@ class RawDCERPCTest(TestCase): self.do_ndr_print = False self.do_hexdump = False + self.ignore_random_pad = samba.tests.env_get_var_value('IGNORE_RANDOM_PAD', + allow_missing=True) self.host = samba.tests.env_get_var_value('SERVER') self.target_hostname = samba.tests.env_get_var_value('TARGET_HOSTNAME', allow_missing=True) if self.target_hostname is None: @@ -87,6 +89,7 @@ class RawDCERPCTest(TestCase): c = RawDCERPCTest(methodName='noop') c.do_ndr_print = self.do_ndr_print c.do_hexdump = self.do_hexdump + c.ignore_random_pad = self.ignore_random_pad c.host = self.host c.target_hostname = self.target_hostname @@ -868,3 +871,16 @@ class RawDCERPCTest(TestCase): self.assertEqual(s1.uuid, s2.uuid) self.assertEqual(s1.if_version, s2.if_version) return + + def assertPadding(self, pad, length): + self.assertEquals(len(pad), length) + # + # sometimes windows sends random bytes + # + # we have IGNORE_RANDOM_PAD=1 to + # disable the check + # + if self.ignore_random_pad: + return + zero_pad = b'\0' * length + self.assertEquals(pad, zero_pad) -- 2.11.4.GIT