diff options
Diffstat (limited to 'src/providers/ldap/sdap_async.c')
-rw-r--r-- | src/providers/ldap/sdap_async.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/providers/ldap/sdap_async.c b/src/providers/ldap/sdap_async.c index 84497b75e..ae1611524 100644 --- a/src/providers/ldap/sdap_async.c +++ b/src/providers/ldap/sdap_async.c @@ -1111,6 +1111,7 @@ struct sdap_get_generic_ext_state { void *cb_data; bool allow_paging; + int old_ldap_debug; }; static errno_t sdap_get_generic_ext_step(struct tevent_req *req); @@ -1274,6 +1275,13 @@ static errno_t sdap_get_generic_ext_step(struct tevent_req *req) state->serverctrls[state->nserverctrls+1] = NULL; } + ret = sss_ldap_set_debug(&state->old_ldap_debug); + if (ret != EOK) { + DEBUG(SSSDBG_MINOR_FAILURE, + ("Could not set extra LDAP debugging\n")); + /* Not fatal, carry on */ + } + lret = ldap_search_ext(state->sh->ldap, state->search_base, state->scope, state->filter, discard_const(state->attrs), @@ -1314,6 +1322,9 @@ static errno_t sdap_get_generic_ext_step(struct tevent_req *req) } done: + if (ret != EOK) { + sss_ldap_reset_debug(state->old_ldap_debug); + } return ret; } @@ -1333,6 +1344,8 @@ static void sdap_get_generic_ext_done(struct sdap_op *op, LDAPControl **returned_controls = NULL; LDAPControl *page_control; + sss_ldap_reset_debug(state->old_ldap_debug); + if (error) { tevent_req_error(req, error); return; |