mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
r20852: add a function to add a ldb control to a ldb_request
metze (This used to be commit f0bf86ed66f7f9995df35db55f2f3875e7dbacbe)
This commit is contained in:
parent
64e88a8ccf
commit
fb9dabe39e
@ -104,3 +104,31 @@ int check_critical_controls(struct ldb_control **controls)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ldb_request_add_control(struct ldb_request *req, const char *oid, bool critical, void *data)
|
||||
{
|
||||
unsigned n;
|
||||
struct ldb_control **ctrls;
|
||||
struct ldb_control *ctrl;
|
||||
|
||||
for (n=0; req->controls && req->controls[n];) { n++; }
|
||||
|
||||
ctrls = talloc_realloc(req, req->controls,
|
||||
struct ldb_control *,
|
||||
n + 2);
|
||||
if (!ctrls) return LDB_ERR_OPERATIONS_ERROR;
|
||||
req->controls = ctrls;
|
||||
ctrls[n] = NULL;
|
||||
ctrls[n+1] = NULL;
|
||||
|
||||
ctrl = talloc(ctrls, struct ldb_control);
|
||||
if (!ctrl) return LDB_ERR_OPERATIONS_ERROR;
|
||||
|
||||
ctrl->oid = talloc_strdup(ctrl, oid);
|
||||
if (!ctrl->oid) return LDB_ERR_OPERATIONS_ERROR;
|
||||
ctrl->critical = critical;
|
||||
ctrl->data = data;
|
||||
|
||||
ctrls[n] = ctrl;
|
||||
return LDB_SUCCESS;
|
||||
}
|
||||
|
@ -989,6 +989,18 @@ int ldb_build_rename_req(struct ldb_request **ret_req,
|
||||
void *context,
|
||||
ldb_request_callback_t callback);
|
||||
|
||||
/**
|
||||
Add a ldb_control to a ldb_request
|
||||
|
||||
\param req the request struct where to add the control
|
||||
\param oid the object identifier of the control as string
|
||||
\param ciritical whether the control should be critical or not
|
||||
\param data a talloc pointer to the control specific data
|
||||
|
||||
\return result code (LDB_SUCCESS on success, or a failure code)
|
||||
*/
|
||||
int ldb_request_add_control(struct ldb_request *req, const char *oid, bool critical, void *data);
|
||||
|
||||
/**
|
||||
Search the database
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user