From 5c625eae3f54e8de434de26e9f6a0f2fde557c18 Mon Sep 17 00:00:00 2001 From: Garming Sam Date: Mon, 8 Jan 2018 13:36:59 +1300 Subject: [PATCH] tests/py_creds: Add a SamLogonEx test with an empty string domain This test passes against 4.6, but failed against 4.7.5 and master. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13206 Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett Reviewed-by: Stefan Metzmacher --- python/samba/tests/py_credentials.py | 27 ++++++++++++++++++++++ selftest/knownfail.d/empty-domain-samlogon | 1 + 2 files changed, 28 insertions(+) create mode 100644 selftest/knownfail.d/empty-domain-samlogon diff --git a/python/samba/tests/py_credentials.py b/python/samba/tests/py_credentials.py index ff017ec7b7b..2f5a7d61a12 100644 --- a/python/samba/tests/py_credentials.py +++ b/python/samba/tests/py_credentials.py @@ -129,6 +129,33 @@ class PyCredentialsTests(TestCase): else: raise + def test_SamLogonEx_no_domain(self): + c = self.get_netlogon_connection() + + self.user_creds.set_domain('') + + logon = samlogon_logon_info(self.domain, + self.machine_name, + self.user_creds) + + logon_level = netlogon.NetlogonNetworkTransitiveInformation + validation_level = netlogon.NetlogonValidationSamInfo4 + netr_flags = 0 + + try: + c.netr_LogonSamLogonEx(self.server, + self.user_creds.get_workstation(), + logon_level, + logon, + validation_level, + netr_flags) + except NTSTATUSError as e: + enum = ctypes.c_uint32(e[0]).value + if enum == ntstatus.NT_STATUS_WRONG_PASSWORD: + self.fail("got wrong password error") + else: + self.fail("got unexpected error" + str(e)) + def test_SamLogonExNTLM(self): c = self.get_netlogon_connection() diff --git a/selftest/knownfail.d/empty-domain-samlogon b/selftest/knownfail.d/empty-domain-samlogon new file mode 100644 index 00000000000..925a03ad40f --- /dev/null +++ b/selftest/knownfail.d/empty-domain-samlogon @@ -0,0 +1 @@ +^samba.tests.py_credentials.samba.tests.py_credentials.PyCredentialsTests.test_SamLogonEx_no_domain