summaryrefslogtreecommitdiff
path: root/python/samba
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2023-06-21 11:57:12 +0200
committerAndrew Bartlett <abartlet@samba.org>2023-06-21 19:08:37 +0000
commitea2712336b28ffda938b4d0b1b17d8eaafb7714d (patch)
tree3853a4f266e61521f1229f07b5b4710b4969ed77 /python/samba
parentf9f9771a55ffa5cd99b8c3d9228bae6f73938b5d (diff)
downloadsamba-ea2712336b28ffda938b4d0b1b17d8eaafb7714d.tar.gz
samba-ea2712336b28ffda938b4d0b1b17d8eaafb7714d.tar.bz2
samba-ea2712336b28ffda938b4d0b1b17d8eaafb7714d.zip
samba-tool: let 'domain level raise --domain-level' use the correct crossRef dn
We should not rely on lp.get('workgroup')... Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'python/samba')
-rw-r--r--python/samba/netcmd/domain/level.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/python/samba/netcmd/domain/level.py b/python/samba/netcmd/domain/level.py
index 8b0e8014dba..48701376f51 100644
--- a/python/samba/netcmd/domain/level.py
+++ b/python/samba/netcmd/domain/level.py
@@ -76,6 +76,12 @@ class cmd_domain_level(Command):
attrs=["msDS-Behavior-Version", "nTMixedDomain"])
assert len(res_domain) == 1
+ 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
+
res_dc_s = samdb.search("CN=Sites,%s" % samdb.get_config_basedn(),
scope=ldb.SCOPE_SUBTREE, expression="(objectClass=nTDSDSA)",
attrs=["msDS-Behavior-Version"])
@@ -157,7 +163,7 @@ class cmd_domain_level(Command):
samdb.modify(m)
# Under partitions
m = ldb.Message()
- m.dn = ldb.Dn(samdb, "CN=" + lp.get("workgroup") + ",CN=Partitions,%s" % samdb.get_config_basedn())
+ m.dn = res_domain_cross[0].dn
m["nTMixedDomain"] = ldb.MessageElement("0",
ldb.FLAG_MOD_REPLACE, "nTMixedDomain")
try:
@@ -176,8 +182,7 @@ class cmd_domain_level(Command):
samdb.modify(m)
# Under partitions
m = ldb.Message()
- m.dn = ldb.Dn(samdb, "CN=" + lp.get("workgroup")
- + ",CN=Partitions,%s" % samdb.get_config_basedn())
+ m.dn = res_domain_cross[0].dn
m["msDS-Behavior-Version"] = ldb.MessageElement(
str(new_level_domain), ldb.FLAG_MOD_REPLACE,
"msDS-Behavior-Version")