diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-09-21 15:24:14 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-09-21 15:27:05 -0700 |
commit | 97ffb912c164e94728e5d3f82d602bb086bf65a4 (patch) | |
tree | dabedef7d3f6d8da633d9321ee07806f5c63e20f /source4/lib/ldb/common/ldb_modules.c | |
parent | 5b684bbfd761924360c08a32d657a33bc92b8f9c (diff) | |
download | samba-97ffb912c164e94728e5d3f82d602bb086bf65a4.tar.gz samba-97ffb912c164e94728e5d3f82d602bb086bf65a4.tar.bz2 samba-97ffb912c164e94728e5d3f82d602bb086bf65a4.zip |
s4-ldb: add a LDB_FLG_ENABLE_TRACING for full ldb tracing
When LDB_FLG_ENABLE_TRACING is set ldb will send full traces
of all operations and results
Diffstat (limited to 'source4/lib/ldb/common/ldb_modules.c')
-rw-r--r-- | source4/lib/ldb/common/ldb_modules.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source4/lib/ldb/common/ldb_modules.c b/source4/lib/ldb/common/ldb_modules.c index 206b225ca8..c57d0e407d 100644 --- a/source4/lib/ldb/common/ldb_modules.c +++ b/source4/lib/ldb/common/ldb_modules.c @@ -672,6 +672,14 @@ int ldb_module_send_entry(struct ldb_request *req, ares->controls = talloc_steal(ares, ctrls); ares->error = LDB_SUCCESS; + if (req->handle->ldb->flags & LDB_FLG_ENABLE_TRACING) { + char *s; + ldb_debug(req->handle->ldb, LDB_DEBUG_TRACE, "ldb_trace_response: ENTRY"); + s = ldb_ldif_message_string(req->handle->ldb, msg, LDB_CHANGETYPE_NONE, msg); + ldb_debug(req->handle->ldb, LDB_DEBUG_TRACE, "%s", s); + talloc_free(s); + } + return req->callback(req, ares); } @@ -697,6 +705,11 @@ int ldb_module_send_referral(struct ldb_request *req, ares->referral = talloc_steal(ares, ref); ares->error = LDB_SUCCESS; + if (req->handle->ldb->flags & LDB_FLG_ENABLE_TRACING) { + ldb_debug(req->handle->ldb, LDB_DEBUG_TRACE, "ldb_trace_response: REFERRAL"); + ldb_debug(req->handle->ldb, LDB_DEBUG_TRACE, "ref: %s", ref); + } + return req->callback(req, ares); } @@ -729,6 +742,15 @@ int ldb_module_done(struct ldb_request *req, req->handle->flags |= LDB_HANDLE_FLAG_DONE_CALLED; + if (req->handle->ldb->flags & LDB_FLG_ENABLE_TRACING) { + ldb_debug(req->handle->ldb, LDB_DEBUG_TRACE, "ldb_trace_response: DONE"); + ldb_debug(req->handle->ldb, LDB_DEBUG_TRACE, "error: %u", error); + if (ldb_errstring(req->handle->ldb)) { + ldb_debug(req->handle->ldb, LDB_DEBUG_TRACE, "msg: %s", + ldb_errstring(req->handle->ldb)); + } + } + req->callback(req, ares); return error; } |