import os
import tempfile
from samba.compat import text_type
+from samba.compat import get_string
class DCJoinException(Exception):
so only used for RODC join'''
res = ctx.samdb.search(base="", scope=ldb.SCOPE_BASE, attrs=["tokenGroups"])
binsid = res[0]["tokenGroups"][0]
- return ctx.samdb.schema_format_value("objectSID", binsid)
+ return get_string(ctx.samdb.schema_format_value("objectSID", binsid))
def dn_exists(ctx, dn):
'''check if a DN exists'''
"searchFlags"])
for r in res:
- ldap_display_name = r["lDAPDisplayName"][0]
+ ldap_display_name = str(r["lDAPDisplayName"][0])
if "systemFlags" in r:
- system_flags = r["systemFlags"][0]
+ system_flags = str(r["systemFlags"][0])
if (int(system_flags) & (samba.dsdb.DS_FLAG_ATTR_NOT_REPLICATED |
samba.dsdb.DS_FLAG_ATTR_IS_CONSTRUCTED)):
continue
if "searchFlags" in r:
- search_flags = r["searchFlags"][0]
+ search_flags = str(r["searchFlags"][0])
if (int(search_flags) & samba.dsdb.SEARCH_FLAG_RODC_ATTRIBUTE):
continue
try:
packed_attrs = []
unpacked_attrs = []
for attribute in revealed_users:
- dsdb_dn = dsdb_Dn(self.ldb_dc1, attribute.decode('utf8'))
+ attribute = attribute.decode('utf8')
+ dsdb_dn = dsdb_Dn(self.ldb_dc1, attribute)
metadata = ndr_unpack(drsblobs.replPropertyMetaData1, dsdb_dn.get_bytes())
if user_dn in attribute:
unpacked_attrs.append(metadata)