summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/providers/ldap/sdap_async.c')
-rw-r--r--src/providers/ldap/sdap_async.c13
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;