1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-17 04:23:50 +03:00

samba_kcc: use dsdb_dn_guess()

We also remove a bit of .decode()ing, which now happens automatically.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
This commit is contained in:
Douglas Bagnall
2025-06-26 12:46:14 +12:00
committed by Douglas Bagnall
parent c9e814b3a4
commit aeaa9a8f72
2 changed files with 12 additions and 12 deletions

View File

@@ -29,7 +29,7 @@ from samba.dcerpc import (
drsuapi,
misc,
)
from samba.samdb import dsdb_Dn
from samba.samdb import dsdb_dn_guess
from samba.ndr import ndr_unpack, ndr_pack
from collections import Counter
@@ -743,9 +743,9 @@ class DirectoryServiceAgent(object):
# listed. For instance DCs normally have 3 hasMasterNCs
# listed.
for value in res[0][k]:
# Turn dn into a dsdb_Dn so we can use
# its methods to parse a binary DN
dsdn = dsdb_Dn(samdb, value.decode('utf8'))
# msDS-HasInstantiatedNCs is a BinaryDN, but the
# others are plain DNs.
dsdn = dsdb_dn_guess(samdb, value)
flags = dsdn.get_binary_integer()
dnstr = str(dsdn.dn)
@@ -991,7 +991,7 @@ class NTDSConnection(object):
"for (%s)" % (self.dnstr))
if "transportType" in msg:
dsdn = dsdb_Dn(samdb, msg["transportType"][0].decode('utf8'))
dsdn = dsdb_dn_guess(samdb, msg["transportType"][0])
self.load_connection_transport(samdb, str(dsdn.dn))
if "schedule" in msg:
@@ -1001,7 +1001,7 @@ class NTDSConnection(object):
self.whenCreated = ldb.string_to_time(str(msg["whenCreated"][0]))
if "fromServer" in msg:
dsdn = dsdb_Dn(samdb, msg["fromServer"][0].decode('utf8'))
dsdn = dsdb_dn_guess(samdb, msg["fromServer"][0])
self.from_dnstr = str(dsdn.dn)
assert self.from_dnstr is not None
@@ -1368,7 +1368,7 @@ class Partition(NamingContext):
continue
for value in msg[k]:
dsdn = dsdb_Dn(samdb, value.decode('utf8'))
dsdn = dsdb_dn_guess(samdb, value)
dnstr = str(dsdn.dn)
if k == "nCName":
@@ -1928,7 +1928,7 @@ class Transport(object):
if "bridgeheadServerListBL" in msg:
for value in msg["bridgeheadServerListBL"]:
dsdn = dsdb_Dn(samdb, value.decode('utf8'))
dsdn = dsdb_dn_guess(samdb, value)
dnstr = str(dsdn.dn)
if dnstr not in self.bridgehead_list:
self.bridgehead_list.append(dnstr)
@@ -2188,7 +2188,7 @@ class SiteLink(object):
if "siteList" in msg:
for value in msg["siteList"]:
dsdn = dsdb_Dn(samdb, value.decode('utf8'))
dsdn = dsdb_dn_guess(samdb, value)
guid = misc.GUID(dsdn.dn.get_extended_component('GUID'))
dnstr = str(dsdn.dn)
if (guid, dnstr) not in self.site_list: