diff options
author | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-11-08 10:31:49 +0100 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-11-08 10:36:12 +0100 |
commit | bb2eef52950166bd50b7ea403097504faa5f720a (patch) | |
tree | 31eef24988b25fcea0bf8b99b42dd450709682ef /source4/dsdb/samdb/ldb_modules | |
parent | e2efb098ab5be25f3546c830313218c3f0b7af6e (diff) | |
download | samba-bb2eef52950166bd50b7ea403097504faa5f720a.tar.gz samba-bb2eef52950166bd50b7ea403097504faa5f720a.tar.bz2 samba-bb2eef52950166bd50b7ea403097504faa5f720a.zip |
s4:objectguid LDB module - make use of "dsdb_next_callback"
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/objectguid.c | 34 | ||||
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/wscript_build | 2 |
2 files changed, 6 insertions, 30 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/objectguid.c b/source4/dsdb/samdb/ldb_modules/objectguid.c index 623185fadb..f21660c4ae 100644 --- a/source4/dsdb/samdb/ldb_modules/objectguid.c +++ b/source4/dsdb/samdb/ldb_modules/objectguid.c @@ -32,6 +32,7 @@ #include "includes.h" #include "ldb_module.h" #include "dsdb/samdb/samdb.h" +#include "dsdb/samdb/ldb_modules/util.h" #include "librpc/gen_ndr/ndr_misc.h" #include "param/param.h" @@ -97,32 +98,7 @@ struct og_context { struct ldb_request *req; }; -static int og_op_callback(struct ldb_request *req, struct ldb_reply *ares) -{ - struct og_context *ac; - - ac = talloc_get_type(req->context, struct og_context); - - if (!ares) { - return ldb_module_done(ac->req, NULL, NULL, - LDB_ERR_OPERATIONS_ERROR); - } - if (ares->error != LDB_SUCCESS) { - return ldb_module_done(ac->req, ares->controls, - ares->response, ares->error); - } - - if (ares->type != LDB_REPLY_DONE) { - talloc_free(ares); - return ldb_module_done(ac->req, NULL, NULL, - LDB_ERR_OPERATIONS_ERROR); - } - - return ldb_module_done(ac->req, ares->controls, - ares->response, ares->error); -} - -/* add_record: add objectGUID attribute */ +/* add_record: add objectGUID and timestamp attributes */ static int objectguid_add(struct ldb_module *module, struct ldb_request *req) { struct ldb_context *ldb; @@ -192,7 +168,7 @@ static int objectguid_add(struct ldb_module *module, struct ldb_request *req) ret = ldb_build_add_req(&down_req, ldb, ac, msg, req->controls, - ac, og_op_callback, + req, dsdb_next_callback, req); LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { @@ -252,7 +228,7 @@ static int objectguid_modify(struct ldb_module *module, struct ldb_request *req) ret = ldb_build_mod_req(&down_req, ldb, ac, msg, req->controls, - ac, og_op_callback, + req, dsdb_next_callback, req); LDB_REQ_SET_LOCATION(down_req); if (ret != LDB_SUCCESS) { @@ -266,7 +242,7 @@ static int objectguid_modify(struct ldb_module *module, struct ldb_request *req) static const struct ldb_module_ops ldb_objectguid_module_ops = { .name = "objectguid", .add = objectguid_add, - .modify = objectguid_modify, + .modify = objectguid_modify }; int ldb_objectguid_module_init(const char *version) diff --git a/source4/dsdb/samdb/ldb_modules/wscript_build b/source4/dsdb/samdb/ldb_modules/wscript_build index 360f4a45b6..50ec9f25bb 100644 --- a/source4/dsdb/samdb/ldb_modules/wscript_build +++ b/source4/dsdb/samdb/ldb_modules/wscript_build @@ -50,7 +50,7 @@ bld.SAMBA_MODULE('ldb_objectguid', init_function='ldb_objectguid_module_init', module_init_name='ldb_init_module', internal_module=False, - deps='samdb talloc events ndr' + deps='samdb talloc events ndr DSDB_MODULE_HELPERS' ) |