From: Samuel Cabrero Date: Fri, 31 Aug 2018 17:06:18 +0000 (+0200) Subject: tests/ntlm_auth: Port ntlm_auth tests to python: ntlm_auth ntlm-server-1 with incorre... X-Git-Tag: tdb-1.3.17~234 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7c0c683b2eafc6f5c8474a4547d970ad3ce5a759;p=thirdparty%2Fsamba.git tests/ntlm_auth: Port ntlm_auth tests to python: ntlm_auth ntlm-server-1 with incorrect fixed password Port ntlm_auth bash script tests to python Signed-off-by: Samuel Cabrero Reviewed-by: Noel Power Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/tests/ntlm_auth.py b/python/samba/tests/ntlm_auth.py index 1b407021dd9..ff8310d08d4 100644 --- a/python/samba/tests/ntlm_auth.py +++ b/python/samba/tests/ntlm_auth.py @@ -233,3 +233,18 @@ class NTLMAuthHelpersTests(NTLMAuthTestCase): lines[1], b"User-Session-Key: 3F373EA8E4AF954F14FAA506F8EEBDC4") self.assertEquals(lines[2], b".") self.assertEquals(lines[3], b"") + + # Break the password with a leading A on the challenge + ntlm_cmds[0] = "LANMAN-Challenge: A123456789abcdef" + + proc = Popen([self.ntlm_auth_path, + "--password", "SecREt01", + "--helper-protocol", "ntlm-server-1"], + stdout=PIPE, stdin=PIPE, stderr=PIPE) + buf = "\n".join(ntlm_cmds) + (out, err) = proc.communicate(input=buf.encode('utf-8')) + self.assertEqual(proc.returncode, 0) + + lines = out.split(b"\n") + self.assertEqual(len(lines), 5) + self.assertEquals(lines[0], b"Authenticated: No") diff --git a/source3/script/tests/test_ntlm_auth_s3.sh b/source3/script/tests/test_ntlm_auth_s3.sh index 82aebfef39c..b41368c4e3b 100755 --- a/source3/script/tests/test_ntlm_auth_s3.sh +++ b/source3/script/tests/test_ntlm_auth_s3.sh @@ -24,43 +24,6 @@ BADSID=`eval $BINDIR/wbinfo -n $USERNAME | cut -d ' ' -f1 | sed 's/..$//'` failed=0 -test_ntlm_server_1_check_output_fail() -{ - tmpfile=$PREFIX/ntlm_commands - - # Break the password with a leading A on the challenge - cat > $tmpfile </dev/null 2>&1 - - if [ $? = 0 ] ; then - # failed to authenticate .. success - true - else - echo "incorrectly gave a successful authentication" - false - fi -} - test_ntlm_server_1_check_winbind_output() { tmpfile=$PREFIX/ntlm_commands @@ -171,7 +134,6 @@ EOF } # This should work even with NTLMv2 -testit "ntlm_auth ntlm-server-1 with incorrect fixed password" test_ntlm_server_1_check_output_fail || failed=`expr $failed + 1` testit "ntlm_auth ntlm-server-1 with plaintext password against winbind" test_ntlm_server_1_check_winbind_output || failed=`expr $failed + 1` testit "ntlm_auth ntlm-server-1 with plaintext password against winbind but wrong sid" test_ntlm_server_1_check_winbind_output_wrong_sid || failed=`expr $failed + 1` testit "ntlm_auth ntlm-server-1 with incorrect fixed password against winbind" test_ntlm_server_1_check_winbind_output_fail || failed=`expr $failed + 1`