mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
r24793: The subtree_rename module is a work of fiction. An resemblance to a
working module, live or dead, is purely co-incidental. Andrew Bartlett
This commit is contained in:
parent
31993cf67b
commit
64cc31642f
@ -44,16 +44,6 @@ struct subtree_rename_context {
|
|||||||
int finished_requests;
|
int finished_requests;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct subtree_rename_search_context {
|
|
||||||
struct ldb_module *module;
|
|
||||||
struct ldb_request *orig_req;
|
|
||||||
struct ldb_handle *handle;
|
|
||||||
|
|
||||||
struct ldb_request **down_req;
|
|
||||||
int num_requests;
|
|
||||||
int finished_requests;
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct subtree_rename_context *subtree_rename_init_handle(struct ldb_request *req,
|
static struct subtree_rename_context *subtree_rename_init_handle(struct ldb_request *req,
|
||||||
struct ldb_module *module)
|
struct ldb_module *module)
|
||||||
{
|
{
|
||||||
@ -127,7 +117,9 @@ static int subtree_rename_search_callback(struct ldb_context *ldb, void *context
|
|||||||
|
|
||||||
talloc_steal(req, newdn);
|
talloc_steal(req, newdn);
|
||||||
|
|
||||||
req->handle = ac->handle;
|
talloc_steal(req, ares->message->dn);
|
||||||
|
|
||||||
|
talloc_free(ares);
|
||||||
|
|
||||||
ac->down_req = talloc_realloc(ac, ac->down_req,
|
ac->down_req = talloc_realloc(ac, ac->down_req,
|
||||||
struct ldb_request *, ac->num_requests + 1);
|
struct ldb_request *, ac->num_requests + 1);
|
||||||
@ -136,6 +128,7 @@ static int subtree_rename_search_callback(struct ldb_context *ldb, void *context
|
|||||||
return LDB_ERR_OPERATIONS_ERROR;
|
return LDB_ERR_OPERATIONS_ERROR;
|
||||||
}
|
}
|
||||||
ac->down_req[ac->num_requests] = req;
|
ac->down_req[ac->num_requests] = req;
|
||||||
|
ac->num_requests++;
|
||||||
|
|
||||||
return ldb_next_request(ac->module, req);
|
return ldb_next_request(ac->module, req);
|
||||||
|
|
||||||
@ -176,7 +169,7 @@ static int subtree_rename(struct ldb_module *module, struct ldb_request *req)
|
|||||||
ret = ldb_build_search_req(&new_req, module->ldb, req,
|
ret = ldb_build_search_req(&new_req, module->ldb, req,
|
||||||
req->op.rename.olddn,
|
req->op.rename.olddn,
|
||||||
LDB_SCOPE_SUBTREE,
|
LDB_SCOPE_SUBTREE,
|
||||||
"objectClass=*",
|
"(objectClass=*)",
|
||||||
attrs,
|
attrs,
|
||||||
req->controls,
|
req->controls,
|
||||||
ac,
|
ac,
|
||||||
@ -197,8 +190,6 @@ static int subtree_rename(struct ldb_module *module, struct ldb_request *req)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
new_req->handle = req->handle;
|
|
||||||
|
|
||||||
ac->down_req = talloc_realloc(ac, ac->down_req,
|
ac->down_req = talloc_realloc(ac, ac->down_req,
|
||||||
struct ldb_request *, ac->num_requests + 1);
|
struct ldb_request *, ac->num_requests + 1);
|
||||||
if (!ac->down_req) {
|
if (!ac->down_req) {
|
||||||
@ -210,8 +201,8 @@ static int subtree_rename(struct ldb_module *module, struct ldb_request *req)
|
|||||||
ldb_oom(ac->module->ldb);
|
ldb_oom(ac->module->ldb);
|
||||||
return LDB_ERR_OPERATIONS_ERROR;
|
return LDB_ERR_OPERATIONS_ERROR;
|
||||||
}
|
}
|
||||||
|
ac->num_requests++;
|
||||||
return ldb_next_request(module, req);
|
return ldb_next_request(module, new_req);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int subtree_rename_wait_none(struct ldb_handle *handle) {
|
static int subtree_rename_wait_none(struct ldb_handle *handle) {
|
||||||
|
@ -935,7 +935,6 @@ function provision_guess()
|
|||||||
"objectclass",
|
"objectclass",
|
||||||
"rdn_name",
|
"rdn_name",
|
||||||
"show_deleted",
|
"show_deleted",
|
||||||
"subtree_rename",
|
|
||||||
"partition");
|
"partition");
|
||||||
subobj.MODULES_LIST = join(",", modules_list);
|
subobj.MODULES_LIST = join(",", modules_list);
|
||||||
subobj.DOMAINDN_LDB = "users.ldb";
|
subobj.DOMAINDN_LDB = "users.ldb";
|
||||||
|
Loading…
Reference in New Issue
Block a user