for nc in self.ncs:
try:
- dn = self.samdb.get_wellknown_dn(ldb.Dn(self.samdb, nc),
+ dn = self.samdb.get_wellknown_dn(ldb.Dn(self.samdb, nc.decode('utf8')),
dsdb.DS_GUID_DELETED_OBJECTS_CONTAINER)
self.deleted_objects_containers.append(dn)
except KeyError:
- self.ncs_lacking_deleted_containers.append(ldb.Dn(self.samdb, nc))
+ self.ncs_lacking_deleted_containers.append(ldb.Dn(self.samdb, nc.decode('utf8')))
domaindns_zone = 'DC=DomainDnsZones,%s' % self.samdb.get_default_basedn()
forestdns_zone = 'DC=ForestDnsZones,%s' % self.samdb.get_root_basedn()
res = self.samdb.search(base=ldb.Dn(self.samdb, self.samdb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- self.server_ref_dn = ldb.Dn(self.samdb, res[0]['serverReference'][0])
+ self.server_ref_dn = ldb.Dn(self.samdb, res[0]['serverReference'][0].decode('utf8'))
# 3. Get RID Set
res = self.samdb.search(base=self.server_ref_dn,
scope=ldb.SCOPE_BASE, attrs=['rIDSetReferences'])
if "rIDSetReferences" in res[0]:
- self.rid_set_dn = ldb.Dn(self.samdb, res[0]['rIDSetReferences'][0])
+ self.rid_set_dn = ldb.Dn(self.samdb, res[0]['rIDSetReferences'][0].decode('utf8'))
else:
self.rid_set_dn = None
error_count += 1
if not self.confirm('Change dsServiceName to GUID form?'):
return error_count
- res = self.samdb.search(base=ldb.Dn(self.samdb, obj['dsServiceName'][0]),
+ res = self.samdb.search(base=ldb.Dn(self.samdb, obj['dsServiceName'][0].decode('utf8')),
scope=ldb.SCOPE_BASE, attrs=['objectGUID'])
guid_str = str(ndr_unpack(misc.GUID, res[0]['objectGUID'][0]))
m = ldb.Message()
for nc in current[0]["namingContexts"]:
dnsforestdn = ldb.Dn(samdb, "DC=ForestDnsZones,%s" % (str(samdb.get_root_basedn())))
- if ldb.Dn(samdb, nc) == dnsforestdn:
+ if ldb.Dn(samdb, nc.decode('utf8')) == dnsforestdn:
c = (ldb.Dn(samdb, "%s" % str(dnsforestdn)), get_dns_partition_descriptor)
subcontainers.append(c)
c = (ldb.Dn(samdb, "CN=Infrastructure,%s" % str(dnsforestdn)),
continue
dnsdomaindn = ldb.Dn(samdb, "DC=DomainDnsZones,%s" % (str(samdb.domain_dn())))
- if ldb.Dn(samdb, nc) == dnsdomaindn:
+ if ldb.Dn(samdb, nc.decode('utf8')) == dnsdomaindn:
c = (ldb.Dn(samdb, "%s" % str(dnsdomaindn)), get_dns_partition_descriptor)
subcontainers.append(c)
c = (ldb.Dn(samdb, "CN=Infrastructure,%s" % str(dnsdomaindn)),
if not 'fSMORoleOwner' in res[0]:
raise DCJoinException("Can't find naming master on partition DN %s in %s" % (ctx.partition_dn, ctx.samdb.url))
try:
- master_guid = str(misc.GUID(ldb.Dn(ctx.samdb, res[0]['fSMORoleOwner'][0]).get_extended_component('GUID')))
+ master_guid = str(misc.GUID(ldb.Dn(ctx.samdb, res[0]['fSMORoleOwner'][0].decode('utf8')).get_extended_component('GUID')))
except KeyError:
raise DCJoinException("Can't find GUID in naming master on partition DN %s" % res[0]['fSMORoleOwner'][0])
raise DCJoinException("Can't find naming context on partition DN %s in %s" % (ctx.partition_dn, ctx.samdb.url))
try:
- ctx.names.domainguid = str(misc.GUID(ldb.Dn(ctx.samdb, res[0]['ncName'][0]).get_extended_component('GUID')))
+ ctx.names.domainguid = str(misc.GUID(ldb.Dn(ctx.samdb, res[0]['ncName'][0].decode('utf8')).get_extended_component('GUID')))
except KeyError:
raise DCJoinException("Can't find GUID in naming master on partition DN %s" % res[0]['ncName'][0])
scope=ldb.SCOPE_BASE,
attrs=["dsServiceName"])
dn = ldb.Dn(self.samdb,
- service_name_res[0]["dsServiceName"][0])
+ service_name_res[0]["dsServiceName"][0].decode('utf8'))
res = self.samdb.search(base=dn, scope=ldb.SCOPE_BASE,
attrs=["objectGUID"])
raise
if 'fSMORoleOwner' in res[0]:
- master_owner = (ldb.Dn(samdb, res[0]["fSMORoleOwner"][0]))
+ master_owner = (ldb.Dn(samdb, res[0]["fSMORoleOwner"][0].decode('utf8')))
else:
master_owner = None
if 'fSMORoleOwner' in res[0]:
try:
master_guid = str(misc.GUID(ldb.Dn(samdb,
- res[0]['fSMORoleOwner'][0])
+ res[0]['fSMORoleOwner'][0].decode('utf8'))
.get_extended_component('GUID')))
- master_owner = str(ldb.Dn(samdb, res[0]['fSMORoleOwner'][0]))
+ master_owner = str(ldb.Dn(samdb, res[0]['fSMORoleOwner'][0].decode('utf8')))
except LdbError as e3:
(num, msg) = e3.args
raise CommandError("No GUID found in naming master DN %s : %s \n" %
names.configdn = current[0]["configurationNamingContext"][0]
names.schemadn = current[0]["schemaNamingContext"][0]
if not (ldb.Dn(samdb, basedn) == (ldb.Dn(samdb,
- current[0]["defaultNamingContext"][0]))):
+ current[0]["defaultNamingContext"][0].decode('utf8')))):
raise ProvisioningError(("basedn in %s (%s) and from %s (%s)"
"is not the same ..." % (paths.samdb,
- str(current[0]["defaultNamingContext"][0]),
+ str(current[0]["defaultNamingContext"][0].decode('utf8')),
paths.smbconf, basedn)))
names.domaindn=current[0]["defaultNamingContext"][0]
msg = ldb.Message(ldb.Dn(samdb,
samdb.searchone("distinguishedName",
expression="samAccountName=%s$" % names.netbiosname,
- scope=ldb.SCOPE_SUBTREE)))
+ scope=ldb.SCOPE_SUBTREE).decode('utf8')))
msg["msDS-SupportedEncryptionTypes"] = ldb.MessageElement(
elements=kerberos_enctypes, flags=ldb.FLAG_MOD_REPLACE,
name="msDS-SupportedEncryptionTypes")
dc_name = str(msgs[0]["cn"][0])
try:
- computer_dn = ldb.Dn(samdb, msgs[0]["serverReference"][0])
+ computer_dn = ldb.Dn(samdb, msgs[0]["serverReference"][0].decode('utf8'))
except KeyError:
computer_dn = None
res = samdb.search("",
scope=ldb.SCOPE_BASE, attrs=["dsServiceName"])
assert len(res) == 1
- my_serviceName = ldb.Dn(samdb, res[0]["dsServiceName"][0])
+ my_serviceName = ldb.Dn(samdb, res[0]["dsServiceName"][0].decode('utf8'))
server_dn = ntds_dn.parent()
if my_serviceName == ntds_dn:
scope=ldb.SCOPE_BASE,
attrs=["dsServiceName"])
dn = ldb.Dn(samdb,
- service_name_res[0]["dsServiceName"][0])
+ service_name_res[0]["dsServiceName"][0].decode('utf8'))
self.assertEqual(dn, ldb.Dn(samdb, "CN=NTDS Settings," + dsa))
self.remove_files(dburl)
scope=ldb.SCOPE_BASE,
attrs=["dsServiceName"])
dn = ldb.Dn(samdb,
- service_name_res[0]["dsServiceName"][0])
+ service_name_res[0]["dsServiceName"][0].decode('utf8'))
self.assertEqual(dn, ldb.Dn(samdb, "CN=NTDS Settings," + dsa))
self.remove_files(dburl)
scope=ldb.SCOPE_BASE,
attrs=['msDS-RevealOnDemandGroup'])
- group = res[0]['msDS-RevealOnDemandGroup'][0]
+ group = res[0]['msDS-RevealOnDemandGroup'][0].decode('utf8')
m = ldb.Message()
m.dn = ldb.Dn(self.rwdc_db, group)
scope=ldb.SCOPE_BASE,
attrs=['msDS-RevealOnDemandGroup'])
- group = res[0]['msDS-RevealOnDemandGroup'][0]
+ group = res[0]['msDS-RevealOnDemandGroup'][0].decode('utf8')
m = ldb.Message()
m.dn = ldb.Dn(self.rwdc_db, group)
scope=ldb.SCOPE_BASE,
attrs=['msDS-RevealOnDemandGroup'])
- group = res[0]['msDS-RevealOnDemandGroup'][0]
+ group = res[0]['msDS-RevealOnDemandGroup'][0].decode('utf8')
user_dn, username, password = self._new_user()
creds1 = make_creds(username, password)
if "memberOf" in obj:
for dn in obj["memberOf"]:
first = obj.dn.get_casefold()
- second = ldb.Dn(self.admin_ldb, dn).get_casefold()
+ second = ldb.Dn(self.admin_ldb, dn.decode('utf8')).get_casefold()
aSet.add((first, second))
aSetR.add((second, first))
vSet.add(first)
if "memberOf" in obj:
for dn in obj["memberOf"]:
first = obj.dn.get_casefold()
- second = ldb.Dn(self.admin_ldb, dn).get_casefold()
+ second = ldb.Dn(self.admin_ldb, dn.decode('utf8')).get_casefold()
aSet.add((first, second))
aSetR.add((second, first))
vSet.add(first)
"server_dn": self.ldb_dc2.get_serverName()}
msgs = self.ldb_dc1.search(scope=ldb.SCOPE_BASE, base=fsmo_info_1["server_dn"], attrs=["serverReference"])
- fsmo_info_1["server_acct_dn"] = ldb.Dn(self.ldb_dc1, msgs[0]["serverReference"][0])
+ fsmo_info_1["server_acct_dn"] = ldb.Dn(self.ldb_dc1, msgs[0]["serverReference"][0].decode('utf8'))
fsmo_info_1["rid_set_dn"] = ldb.Dn(self.ldb_dc1, "CN=RID Set") + fsmo_info_1["server_acct_dn"]
msgs = self.ldb_dc2.search(scope=ldb.SCOPE_BASE, base=fsmo_info_2["server_dn"], attrs=["serverReference"])
- fsmo_info_2["server_acct_dn"] = ldb.Dn(self.ldb_dc2, msgs[0]["serverReference"][0])
+ fsmo_info_2["server_acct_dn"] = ldb.Dn(self.ldb_dc2, msgs[0]["serverReference"][0].decode('utf8'))
fsmo_info_2["rid_set_dn"] = ldb.Dn(self.ldb_dc2, "CN=RID Set") + fsmo_info_2["server_acct_dn"]
# determine the owner dc
"server_dn": self.ldb_dc2.get_serverName()}
msgs = self.ldb_dc1.search(scope=ldb.SCOPE_BASE, base=fsmo_info_1["server_dn"], attrs=["serverReference"])
- fsmo_info_1["server_acct_dn"] = ldb.Dn(self.ldb_dc1, msgs[0]["serverReference"][0])
+ fsmo_info_1["server_acct_dn"] = ldb.Dn(self.ldb_dc1, msgs[0]["serverReference"][0].decode('utf8'))
fsmo_info_1["rid_set_dn"] = ldb.Dn(self.ldb_dc1, "CN=RID Set") + fsmo_info_1["server_acct_dn"]
msgs = self.ldb_dc2.search(scope=ldb.SCOPE_BASE, base=fsmo_info_2["server_dn"], attrs=["serverReference"])
- fsmo_info_2["server_acct_dn"] = ldb.Dn(self.ldb_dc2, msgs[0]["serverReference"][0])
+ fsmo_info_2["server_acct_dn"] = ldb.Dn(self.ldb_dc2, msgs[0]["serverReference"][0].decode('utf8'))
fsmo_info_2["rid_set_dn"] = ldb.Dn(self.ldb_dc2, "CN=RID Set") + fsmo_info_2["server_acct_dn"]
# determine the owner dc
res = new_ldb.search(base=ldb.Dn(new_ldb, new_ldb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0])
+ server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0].decode('utf8'))
# Assert that no RID Set has been set
res = new_ldb.search(base=server_ref_dn,
res = new_ldb.search(base=ldb.Dn(new_ldb, new_ldb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0])
+ server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0].decode('utf8'))
# Assert that no RID Set has been set
res = new_ldb.search(base=server_ref_dn,
res = new_ldb.search(base=ldb.Dn(new_ldb, new_ldb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0])
+ server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0].decode('utf8'))
# Assert that no RID Set has been set
res = new_ldb.search(base=server_ref_dn,
res = new_ldb.search(base=ldb.Dn(new_ldb, new_ldb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0])
+ server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0].decode('utf8'))
# Assert that no RID Set has been set
res = new_ldb.search(base=server_ref_dn,
res = new_ldb.search(base=ldb.Dn(new_ldb, new_ldb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0])
+ server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0].decode('utf8'))
# 3. Assert we get the RID Set
res = new_ldb.search(base=server_ref_dn,
res = new_ldb.search(base=ldb.Dn(new_ldb, new_ldb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0])
+ server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0].decode('utf8'))
# 3. Assert we get the RID Set
res = new_ldb.search(base=server_ref_dn,
scope=ldb.SCOPE_BASE, attrs=['rIDSetReferences'])
self.assertTrue("rIDSetReferences" in res[0])
- rid_set_dn = ldb.Dn(new_ldb, res[0]["rIDSetReferences"][0])
+ rid_set_dn = ldb.Dn(new_ldb, res[0]["rIDSetReferences"][0].decode('utf8'))
# 4. Add a new user (triggers RID set work)
new_ldb.newuser("ridalloctestuser", "P@ssword!")
res = new_ldb.search(base=ldb.Dn(new_ldb, new_ldb.get_serverName()),
scope=ldb.SCOPE_BASE, attrs=["serverReference"])
# 2. Get server reference
- server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0])
+ server_ref_dn = ldb.Dn(new_ldb, res[0]['serverReference'][0].decode('utf8'))
# 3. Assert we get the RID Set
res = new_ldb.search(base=server_ref_dn,
scope=ldb.SCOPE_BASE, attrs=['rIDSetReferences'])
self.assertTrue("rIDSetReferences" in res[0])
- rid_set_dn = ldb.Dn(new_ldb, res[0]["rIDSetReferences"][0])
-
+ rid_set_dn = ldb.Dn(new_ldb, res[0]["rIDSetReferences"][0].decode('utf8'))
# 4. Seize the RID Manager role
(result, out, err) = self.runsubcmd("fsmo", "seize", "--role", "rid", "-H", ldb_url, "-s", smbconf, "--force")
self.assertCmdSuccess(result, out, err)