diff options
| author | Joseph Sutton <josephsutton@catalyst.net.nz> | 2022-05-10 12:49:50 +1200 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2022-05-10 23:05:31 +0000 |
| commit | 05a7092fdaf31b9264318208eeba3f306712f638 (patch) | |
| tree | a0cd699e80037dded0a7f731d2de99a329acd545 /python | |
| parent | a71c62404ab1e669841cc40f98a5f1b51aba2c65 (diff) | |
| download | samba-05a7092fdaf31b9264318208eeba3f306712f638.tar.gz samba-05a7092fdaf31b9264318208eeba3f306712f638.tar.bz2 samba-05a7092fdaf31b9264318208eeba3f306712f638.zip | |
tests/samba-tool user_wdigest: Fix flapping test
The randomly-generated password for the user account may be too weak,
causing account creation to fail. This leads to further problems, as the
result of the command is not checked, and connecting over LDAP means
transactions cannot be used, leading to a half-created account and
failing tests.
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'python')
| -rw-r--r-- | python/samba/tests/samba_tool/user_wdigest.py | 68 |
1 files changed, 31 insertions, 37 deletions
diff --git a/python/samba/tests/samba_tool/user_wdigest.py b/python/samba/tests/samba_tool/user_wdigest.py index f00da61192e..dd728e1f6be 100644 --- a/python/samba/tests/samba_tool/user_wdigest.py +++ b/python/samba/tests/samba_tool/user_wdigest.py @@ -21,16 +21,9 @@ import os import samba from samba.tests.samba_tool.base import SambaToolCmdTest from hashlib import md5 -import random -import string USER_NAME = "WdigestTestUser" -# Create a random 32 character password, containing only letters and -# digits to avoid issues when used on the command line. -USER_PASS = ''.join(random.choice(string.ascii_uppercase + - string.ascii_lowercase + - string.digits) for _ in range(32)) # Calculate the MD5 password digest from the supplied user, realm and password # @@ -67,10 +60,11 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): expression="ncName=%s" % self.samdb.get_default_basedn(), attrs=["nETBIOSName"]) self.netbios_domain = str(res[0]["nETBIOSName"][0]) + self.password = self.random_password() self.runsubcmd("user", "create", USER_NAME, - USER_PASS, + self.password, "-H", "ldap://%s" % os.environ["DC_SERVER"], "-U%s%%%s" % ( @@ -123,7 +117,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest01" expected = calc_digest(USER_NAME, self.netbios_domain, - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash02 MD5(LOWER(sAMAccountName), @@ -134,7 +128,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest02" expected = calc_digest(USER_NAME.lower(), self.netbios_domain.lower(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash03 MD5(UPPER(sAMAccountName), @@ -145,7 +139,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest03" expected = calc_digest(USER_NAME.upper(), self.netbios_domain.upper(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash04 MD5(sAMAccountName, @@ -156,7 +150,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest04" expected = calc_digest(USER_NAME, self.netbios_domain.upper(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash05 MD5(sAMAccountName, @@ -167,7 +161,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest05" expected = calc_digest(USER_NAME, self.netbios_domain.lower(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash06 MD5(UPPER(sAMAccountName), @@ -178,7 +172,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest06" expected = calc_digest(USER_NAME.upper(), self.netbios_domain.lower(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash07 MD5(LOWER(sAMAccountName), @@ -189,7 +183,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest07" expected = calc_digest(USER_NAME.lower(), self.netbios_domain.upper(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash08 MD5(sAMAccountName, @@ -204,7 +198,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest08" expected = calc_digest(USER_NAME, self.dns_domain, - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash09 MD5(LOWER(sAMAccountName), @@ -215,7 +209,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest09" expected = calc_digest(USER_NAME.lower(), self.dns_domain.lower(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash10 MD5(UPPER(sAMAccountName), @@ -226,7 +220,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest10" expected = calc_digest(USER_NAME.upper(), self.dns_domain.upper(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash11 MD5(sAMAccountName, @@ -237,7 +231,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest11" expected = calc_digest(USER_NAME, self.dns_domain.upper(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash12 MD5(sAMAccountName, @@ -248,7 +242,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest12" expected = calc_digest(USER_NAME, self.dns_domain.lower(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash13 MD5(UPPER(sAMAccountName), @@ -259,7 +253,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest13" expected = calc_digest(USER_NAME.upper(), self.dns_domain.lower(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash14 MD5(LOWER(sAMAccountName), @@ -271,7 +265,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest14" expected = calc_digest(USER_NAME.lower(), self.dns_domain.upper(), - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash15 MD5(userPrincipalName, @@ -282,7 +276,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s@%s" % (USER_NAME, self.dns_domain) expected = calc_digest(name, "", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash16 MD5(LOWER(userPrincipalName), @@ -293,7 +287,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s@%s" % (USER_NAME.lower(), self.dns_domain.lower()) expected = calc_digest(name, "", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash17 MD5(UPPER(userPrincipalName), @@ -304,7 +298,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s@%s" % (USER_NAME.upper(), self.dns_domain.upper()) expected = calc_digest(name, "", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash18 MD5(NETBIOSDomainName\sAMAccountName, @@ -315,7 +309,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s\\%s" % (self.netbios_domain, USER_NAME) expected = calc_digest(name, "", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash19 MD5(LOWER(NETBIOSDomainName\sAMAccountName), @@ -326,7 +320,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s\\%s" % (self.netbios_domain, USER_NAME) expected = calc_digest(name.lower(), "", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash20 MD5(UPPER(NETBIOSDomainName\sAMAccountName), @@ -337,7 +331,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s\\%s" % (self.netbios_domain, USER_NAME) expected = calc_digest(name.upper(), "", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash21 MD5(sAMAccountName, @@ -348,7 +342,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest21" expected = calc_digest(USER_NAME, "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash22 MD5(LOWER(sAMAccountName), @@ -359,7 +353,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest22" expected = calc_digest(USER_NAME.lower(), "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash23 MD5(UPPER(sAMAccountName), @@ -370,7 +364,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): attribute = "virtualWDigest23" expected = calc_digest(USER_NAME.upper(), "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash24 MD5(userPrincipalName), @@ -382,7 +376,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s@%s" % (USER_NAME, self.dns_domain) expected = calc_digest(name, "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash25 MD5(LOWER(userPrincipalName), @@ -394,7 +388,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s@%s" % (USER_NAME, self.dns_domain.lower()) expected = calc_digest(name.lower(), "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash26 MD5(UPPER(userPrincipalName), @@ -406,7 +400,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s@%s" % (USER_NAME, self.dns_domain.lower()) expected = calc_digest(name.upper(), "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash27 MD5(NETBIOSDomainName\sAMAccountName, # "Digest", @@ -418,7 +412,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s\\%s" % (self.netbios_domain, USER_NAME) expected = calc_digest(name, "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash28 MD5(LOWER(NETBIOSDomainName\sAMAccountName), @@ -430,7 +424,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s\\%s" % (self.netbios_domain.lower(), USER_NAME.lower()) expected = calc_digest(name, "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) # Hash29 MD5(UPPER(NETBIOSDomainName\sAMAccountName), @@ -442,7 +436,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest): name = "%s\\%s" % (self.netbios_domain.upper(), USER_NAME.upper()) expected = calc_digest(name, "Digest", - USER_PASS) + self.password) self._testWDigest(attribute, expected) def test_Wdigest30(self): |
