/* Copyright (c) 2016-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "array.h"
#include "ldap-private.h"
#include <stdio.h>
struct ldap_search_ctx {
};
static void
{
}
{
}
static int
struct ldap_op_queue_entry *req,
{
if (msgtype != LDAP_RES_SEARCH_ENTRY &&
*finished_r = FALSE;
return LDAP_SUCCESS;
}
*finished_r = TRUE;
if (ret == LDAP_NO_RESULTS_RETURNED) {
/*ret = LDAP_SUCCESS;*/
} else if (ret != LDAP_SUCCESS) {
return ret;
} else if (result_err != LDAP_SUCCESS) {
"ldap_search_ext(base=%s, scope=%d, filter=%s) failed: %s",
return result_err;
}
}
if (msgtype == LDAP_RES_SEARCH_RESULT) {
return LDAP_SUCCESS;
}
*finished_r = FALSE;
return LDAP_SUCCESS;
}
static int
const char **error_r)
{
LDAP_CONTROL_MANAGEDSAIT, {0, 0}, 0
};
/* try to use ManageDSAIT if available */
};
.tv_usec = 0
};
(char**)input->attributes,
0,
NULL,
&tv,
if (ret != LDAP_SUCCESS) {
"ldap_search_ext(base=%s, scope=%d, filter=%s) failed: %s",
}
return ret;
}
const struct ldap_search_input *input,
void *context)
{
/* copy strings */
}
}
}