if found:
try:
m = ldb.Message()
- m.dn = msg[0]['dn']
+ m.dn = msg[0]['dn'].copy(m.ldb)
m['xidNumber'] = ldb.MessageElement(
str(xid), ldb.FLAG_MOD_REPLACE, 'xidNumber')
m['type'] = ldb.MessageElement(
if len(current) == 0:
# No modules present
delta = secrets_ldb.msg_diff(ldb.Message(), reference[0])
- delta.dn = reference[0].dn
+ delta.dn = reference[0].dn.copy(delta.ldb)
secrets_ldb.add(reference[0])
else:
delta = secrets_ldb.msg_diff(current[0], reference[0])
reference[0].dn)
for att in delta:
messagefunc(CHANGE, " Adding attribute %s" % att)
- delta.dn = reference[0].dn
+ delta.dn = reference[0].dn.copy(delta.ldb)
secrets_ldb.add(delta)
for entry in listPresent:
if str(refentry.dn) == "@PROVISION" and\
delta.get(samba.provision.LAST_PROVISION_USN_ATTRIBUTE):
delta.remove(samba.provision.LAST_PROVISION_USN_ATTRIBUTE)
- delta.dn = refentry.dn
+ delta.dn = refentry.dn.copy(delta.ldb)
sam.add(delta)
else:
delta = sam.msg_diff(entry[0], refentry)
delta.get(samba.provision.LAST_PROVISION_USN_ATTRIBUTE):
delta.remove(samba.provision.LAST_PROVISION_USN_ATTRIBUTE)
if len(delta.items()) > 1:
- delta.dn = refentry.dn
+ delta.dn = refentry.dn.copy(delta.ldb)
sam.modify(delta)
return deltaattr
current, hash_attr_usn,
basedn, usns, samdb)
- delta.dn = dn
+ delta.dn = dn.copy(delta.ldb)
if len(delta) >1:
list_wellknown_dns.append(dn)
if dn in dnToRecalculate:
delta = Message()
- delta.dn = dn
+ delta.dn = dn.copy(samdb)
descr = descriptor_fn(names.domainsid, name_map=names.name_map)
delta["nTSecurityDescriptor"] = MessageElement(descr, FLAG_MOD_REPLACE,
"nTSecurityDescriptor" )
if dn in listWellknown:
continue
delta = Message()
- delta.dn = dn
+ delta.dn = dn.copy(samdb)
sd_flags = SECINFO_OWNER | SECINFO_GROUP | SECINFO_DACL | SECINFO_SACL
try:
descr = get_empty_descriptor(names.domainsid)