From: Douglas Bagnall Date: Wed, 14 Feb 2024 05:09:30 +0000 (+0000) Subject: samba-tool domain level: avoid using assert X-Git-Tag: tdb-1.4.11~1664 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=29abab6a460aa61699c4a1811c148552874c1236;p=thirdparty%2Fsamba.git samba-tool domain level: avoid using assert Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/netcmd/domain/level.py b/python/samba/netcmd/domain/level.py index eefe360563d..f4d257ac324 100644 --- a/python/samba/netcmd/domain/level.py +++ b/python/samba/netcmd/domain/level.py @@ -81,22 +81,26 @@ class cmd_domain_level(Command): try: res_forest = samdb.search("CN=Partitions,%s" % samdb.get_config_basedn(), scope=ldb.SCOPE_BASE, attrs=["msDS-Behavior-Version"]) - assert len(res_forest) == 1 + if len(res_forest) != 1: + raise CommandError("Forest not found") res_domain = samdb.search(domain_dn, scope=ldb.SCOPE_BASE, attrs=["msDS-Behavior-Version", "nTMixedDomain"]) - assert len(res_domain) == 1 + if len(res_domain) != 1: + raise CommandError("domain not found") res_domain_cross = samdb.search("CN=Partitions,%s" % samdb.get_config_basedn(), scope=ldb.SCOPE_SUBTREE, expression="(&(objectClass=crossRef)(nCName=%s))" % domain_dn, attrs=["msDS-Behavior-Version"]) - assert len(res_domain_cross) == 1 + if len(res_domain_cross) != 1: + raise CommandError("no crossRef objects found") res_dc_s = samdb.search("CN=Sites,%s" % samdb.get_config_basedn(), scope=ldb.SCOPE_SUBTREE, expression="(objectClass=nTDSDSA)", attrs=["msDS-Behavior-Version"]) - assert len(res_dc_s) >= 1 + if len(res_dc_s) == 0: + raise CommandError("no nTDSDSA objects found") # default values, since "msDS-Behavior-Version" does not exist on Windows 2000 AD level_forest = DS_DOMAIN_FUNCTION_2000