summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-07-18 15:04:28 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-08-05 12:52:40 +0200
commitf47a1a7add1bcf78f26e9be457ff1a771e7377df (patch)
treea36bfbd7a3c7714f36cce0df2318c21666452d01 /src
parentff4b603cc14ea6ea15caaf89a03e927920124af4 (diff)
downloadsssd-f47a1a7add1bcf78f26e9be457ff1a771e7377df.tar.gz
sssd-f47a1a7add1bcf78f26e9be457ff1a771e7377df.tar.xz
sssd-f47a1a7add1bcf78f26e9be457ff1a771e7377df.zip
LDAP: Print referrals for debugging purposes
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/providers/ldap/sdap_async.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_async.c b/src/providers/ldap/sdap_async.c
index 2959862dd..0ce874707 100644
--- a/src/providers/ldap/sdap_async.c
+++ b/src/providers/ldap/sdap_async.c
@@ -1335,6 +1335,8 @@ static void sdap_get_generic_ext_done(struct sdap_op *op,
struct sdap_get_generic_ext_state *state = tevent_req_data(req,
struct sdap_get_generic_ext_state);
char *errmsg = NULL;
+ int i;
+ char **refs = NULL;
int result;
int ret;
int lret;
@@ -1370,7 +1372,7 @@ static void sdap_get_generic_ext_done(struct sdap_op *op,
case LDAP_RES_SEARCH_RESULT:
ret = ldap_parse_result(state->sh->ldap, reply->msg,
- &result, NULL, &errmsg, NULL,
+ &result, NULL, &errmsg, &refs,
&returned_controls, 0);
if (ret != LDAP_SUCCESS) {
DEBUG(SSSDBG_OP_FAILURE,
@@ -1383,6 +1385,13 @@ static void sdap_get_generic_ext_done(struct sdap_op *op,
sss_ldap_err2string(result), result,
errmsg ? errmsg : "no errmsg set");
+ if (refs != NULL) {
+ for (i = 0; refs[i]; i++) {
+ DEBUG(SSSDBG_TRACE_LIBS, "Ref: %s\n", refs[i]);
+ }
+ ldap_memvfree((void **) refs);
+ }
+
if (result == LDAP_SIZELIMIT_EXCEEDED) {
/* Try to return what we've got */
DEBUG(SSSDBG_MINOR_FAILURE,