summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
e3d50e8)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
break;
case LDAP_TAG_SearchRequest:
break;
case LDAP_TAG_SearchRequest:
+ /* check if we are already processing this request */
+ if (req->in_dispatch_replies) {
+ return;
+ }
+
+ req->in_dispatch_replies = true;
+
/* loop over all messages */
for (i = 0; i < req->num_replies; i++) {
/* loop over all messages */
for (i = 0; i < req->num_replies; i++) {
if (ret != LDB_SUCCESS) {
callback_failed = true;
}
if (ret != LDB_SUCCESS) {
callback_failed = true;
}
break;
case LDAP_TAG_SearchResultReference:
break;
case LDAP_TAG_SearchResultReference:
if (ret != LDB_SUCCESS) {
callback_failed = true;
}
if (ret != LDB_SUCCESS) {
callback_failed = true;
}
+ req->in_dispatch_replies = false;
+
talloc_free(req->replies);
req->replies = NULL;
req->num_replies = 0;
talloc_free(req->replies);
req->replies = NULL;
req->num_replies = 0;
int num_replies;
struct ldap_message **replies;
int num_replies;
struct ldap_message **replies;
+ /* mark while we are processing replies
+ * in request of type LDAP_TAG_SearchRequest */
+ bool in_dispatch_replies;
+
NTSTATUS status;
DATA_BLOB data;
struct {
NTSTATUS status;
DATA_BLOB data;
struct {