2020-03-19 15:40:50 +08:00
|
|
|
diff -ruN samba-4.12.0_orig/python/samba/dbchecker.py samba-4.12.0/python/samba/dbchecker.py
|
|
|
|
--- samba-4.12.0_orig/python/samba/dbchecker.py 2020-01-31 18:25:36.000000000 +0800
|
|
|
|
+++ samba-4.12.0/python/samba/dbchecker.py 2020-03-19 15:14:13.881649351 +0800
|
|
|
|
@@ -892,8 +892,10 @@
|
2019-10-08 20:50:11 +03:00
|
|
|
try:
|
|
|
|
nc_root = self.samdb.get_nc_root(obj.dn)
|
|
|
|
lost_and_found = self.samdb.get_wellknown_dn(nc_root, dsdb.DS_GUID_LOSTANDFOUND_CONTAINER)
|
|
|
|
- new_dn = ldb.Dn(self.samdb, str(obj.dn))
|
|
|
|
- new_dn.remove_base_components(len(new_dn) - 1)
|
|
|
|
+ new_dn = ldb.Dn(self.samdb, "RDN=RDN")
|
|
|
|
+ new_dn.set_component(0, obj.dn.get_rdn_name(),
|
|
|
|
+ obj.dn.get_rdn_val())
|
|
|
|
+
|
|
|
|
if self.do_rename(obj.dn, new_dn, lost_and_found, ["show_deleted:0", "relax:0"],
|
|
|
|
"Failed to rename object %s into lostAndFound at %s" % (obj.dn, new_dn + lost_and_found)):
|
|
|
|
self.report("Renamed object %s into lostAndFound at %s" % (obj.dn, new_dn + lost_and_found))
|
2020-03-19 15:40:50 +08:00
|
|
|
@@ -918,8 +920,10 @@
|
2019-10-08 20:50:11 +03:00
|
|
|
def err_wrong_dn(self, obj, new_dn, rdn_attr, rdn_val, name_val, controls):
|
|
|
|
'''handle a wrong dn'''
|
|
|
|
|
|
|
|
- new_rdn = ldb.Dn(self.samdb, str(new_dn))
|
|
|
|
- new_rdn.remove_base_components(len(new_rdn) - 1)
|
|
|
|
+ new_rdn = ldb.Dn(self.samdb, "RDN=RDN")
|
|
|
|
+ new_rdn.set_component(0, new_dn.get_rdn_name(),
|
|
|
|
+ new_dn.get_rdn_val())
|
|
|
|
+
|
|
|
|
new_parent = new_dn.parent()
|
|
|
|
|
|
|
|
attributes = ""
|