dbchecker: make the deleted objects container detection more generic
authorStefan Metzmacher <metze@samba.org>
Thu, 13 Mar 2014 22:12:39 +0000 (23:12 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 16 Apr 2014 22:57:49 +0000 (10:57 +1200)
Change-Id: I0a80bb4d2ef3381d835878b1f66f11b89b3455aa
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/dbchecker.py

index f276cc564305a318f3a9a459f0cfef2d5d240ade..26398cf3aab4b0017f4f7465d698a8147f96bdec 100644 (file)
@@ -1043,6 +1043,13 @@ newSuperior: %s""" % (str(from_dn), str(to_rdn), str(to_base)))
         got_repl_property_meta_data = False
         got_objectclass = False
 
+        nc_dn = self.samdb.get_nc_root(obj.dn)
+        try:
+            deleted_objects_dn = self.samdb.get_wellknown_dn(nc_dn,
+                                                 samba.dsdb.DS_GUID_DELETED_OBJECTS_CONTAINER)
+        except KeyError, e:
+            deleted_objects_dn = ldb.Dn(self.samdb, "CN=Deleted Objects,%s" % nc_dn)
+
         for attrname in obj:
             if attrname == 'dn':
                 continue
@@ -1143,8 +1150,7 @@ newSuperior: %s""" % (str(from_dn), str(to_rdn), str(to_base)))
 
         show_dn = True
         if got_repl_property_meta_data:
-            rdn = (str(dn).split(","))[0]
-            if rdn == "CN=Deleted Objects":
+            if obj.dn == deleted_objects_dn:
                 isDeletedAttId = 131120
                 # It's 29/12/9999 at 23:59:59 UTC as specified in MS-ADTS 7.1.1.4.2 Deleted Objects Container