s4-drsuapi: crackname search also for deleted objects
authorMatthieu Patou <matthieu.patou@matws.net>
Sat, 30 Jul 2011 20:54:01 +0000 (00:54 +0400)
committerMatthieu Patou <mat@matws.net>
Tue, 9 Aug 2011 21:44:43 +0000 (01:44 +0400)
source4/dsdb/samdb/cracknames.c

index d9224828cac5d5e0e3d3879ac0d94e71edc9aaaf..21a473da5cddd63416026d23a85a849fd2818ec3 100644 (file)
@@ -839,13 +839,16 @@ static WERROR DsCrackNameOneFilter(struct ldb_context *sam_ctx, TALLOC_CTX *mem_
                        dsdb_flags = DSDB_SEARCH_SEARCH_ALL_PARTITIONS;
                        search_dn = ldb_get_root_basedn(sam_ctx);
                }
+               if (format_desired == DRSUAPI_DS_NAME_FORMAT_GUID){
+                        dsdb_flags = dsdb_flags| DSDB_SEARCH_SHOW_DELETED;
+               }
 
                /* search with the 'phantom root' flag */
                ret = dsdb_search(sam_ctx, mem_ctx, &res,
                                  search_dn,
                                  LDB_SCOPE_SUBTREE,
                                  result_attrs,
-                                 DSDB_SEARCH_SEARCH_ALL_PARTITIONS,
+                                 dsdb_flags,
                                  "%s", result_filter);
                if (ret != LDB_SUCCESS) {
                        DEBUG(2, ("DsCrackNameOneFilter phantom root search failed: %s",