s4:dsdb python stuff - introduce also here the "show_recycled" control
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Sun, 19 Sep 2010 20:36:12 +0000 (22:36 +0200)
committerMatthias Dieter Wallnöfer <mdw@sn-devel-104.sn.samba.org>
Sun, 3 Oct 2010 15:23:18 +0000 (15:23 +0000)
But also here beside "show_deleted" to not loose compatibility with older
provisions.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
source4/scripting/bin/upgradeprovision
source4/scripting/python/samba/__init__.py

index c7dd4f8ec313741dc6ea93397255fedd94055dc6..37c66b61a57f45bab0cecfd5be794e836760713c 100755 (executable)
@@ -633,15 +633,18 @@ def add_deletedobj_containers(ref_samdb, samdb, names):
         ref_delObjCnt = ref_samdb.search(expression="(cn=Deleted Objects)",
                                             base=part, scope=SCOPE_SUBTREE,
                                             attrs=["dn"],
-                                            controls=["show_deleted:0"])
+                                            controls=["show_deleted:0",
+                                                      "show_recycled:0"])
         delObjCnt = samdb.search(expression="(cn=Deleted Objects)",
                                     base=part, scope=SCOPE_SUBTREE,
                                     attrs=["dn"],
-                                    controls=["show_deleted:0"])
+                                    controls=["show_deleted:0",
+                                              "show_recycled:0"])
         if len(ref_delObjCnt) > len(delObjCnt):
             reference = ref_samdb.search(expression="cn=Deleted Objects",
                                             base=part, scope=SCOPE_SUBTREE,
-                                            controls=["show_deleted:0"])
+                                            controls=["show_deleted:0",
+                                                      "show_recycled:0"])
             empty = Message()
             delta = samdb.msg_diff(empty, reference[0])
 
index f249708ea2c595204f5be4b75058f1af8b8abe3e..5299e074668606549a5f0161d2f5a5ba694286cf 100644 (file)
@@ -166,7 +166,7 @@ class Ldb(_Ldb):
         # Delete the 'visible' records, and the invisble 'deleted' records (if this DB supports it)
         for msg in self.search(basedn, ldb.SCOPE_SUBTREE,
                        "(&(|(objectclass=*)(distinguishedName=*))(!(distinguishedName=@BASEINFO)))",
-                       [], controls=["show_deleted:0"]):
+                       [], controls=["show_deleted:0", "show_recycled:0"]):
             try:
                 self.delete(msg.dn, ["relax:0"])
             except ldb.LdbError, (errno, _):
@@ -175,7 +175,7 @@ class Ldb(_Ldb):
                     raise
 
         res = self.search(basedn, ldb.SCOPE_SUBTREE,
-            "(&(|(objectclass=*)(distinguishedName=*))(!(distinguishedName=@BASEINFO)))", [], controls=["show_deleted:0"])
+            "(&(|(objectclass=*)(distinguishedName=*))(!(distinguishedName=@BASEINFO)))", [], controls=["show_deleted:0", "show_recycled:0"])
         assert len(res) == 0
 
         # delete the specials