diff options
Diffstat (limited to 'source4/cldap_server')
-rw-r--r-- | source4/cldap_server/cldap_server.c | 5 | ||||
-rw-r--r-- | source4/cldap_server/netlogon.c | 8 |
2 files changed, 4 insertions, 9 deletions
diff --git a/source4/cldap_server/cldap_server.c b/source4/cldap_server/cldap_server.c index a15b93f91c..c6eaf6395a 100644 --- a/source4/cldap_server/cldap_server.c +++ b/source4/cldap_server/cldap_server.c @@ -46,10 +46,11 @@ static void cldapd_request_handler(struct cldap_socket *cldap, if (search->num_attributes == 1 && strcasecmp(search->attributes[0], "netlogon") == 0) { cldapd_netlogon_request(cldap, ldap_msg->messageid, - search->filter, src_address, src_port); + search->tree, src_address, src_port); } else { DEBUG(0,("Unknown CLDAP search for '%s'\n", - ldap_msg->r.SearchRequest.filter)); + ldb_filter_from_tree(ldap_msg, + ldap_msg->r.SearchRequest.tree))); cldap_empty_reply(cldap, ldap_msg->messageid, src_address, src_port); } } diff --git a/source4/cldap_server/netlogon.c b/source4/cldap_server/netlogon.c index f4f1c226af..4ccec27d01 100644 --- a/source4/cldap_server/netlogon.c +++ b/source4/cldap_server/netlogon.c @@ -177,11 +177,10 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd, */ void cldapd_netlogon_request(struct cldap_socket *cldap, uint32_t message_id, - const char *filter, + struct ldb_parse_tree *tree, const char *src_address, int src_port) { struct cldapd_server *cldapd = talloc_get_type(cldap->incoming.private, struct cldapd_server); - struct ldb_parse_tree *tree; int i; const char *domain = NULL; const char *host = NULL; @@ -195,11 +194,6 @@ void cldapd_netlogon_request(struct cldap_socket *cldap, TALLOC_CTX *tmp_ctx = talloc_new(cldap); - DEBUG(5,("cldap filter='%s'\n", filter)); - - tree = ldb_parse_tree(tmp_ctx, filter); - if (tree == NULL) goto failed; - if (tree->operation != LDB_OP_AND) goto failed; /* extract the query elements */ |