From: Adrian Cochrane Date: Tue, 12 Jan 2016 00:11:03 +0000 (+1300) Subject: ldb-samba: Correct error reporting to match Windows X-Git-Url: http://git.samba.org/?p=obnox%2Fsamba%2Fsamba-obnox.git;a=commitdiff_plain;h=10e32377a41d66566d8860cd5f02243feff61ce0 ldb-samba: Correct error reporting to match Windows In some cases instead of replying with an error Windows instead returns 0 results. Signed-off-by: Adrian Cochrane Reviewed-by: Andrew Bartlett Reviewed-by: Garming Sam --- diff --git a/lib/ldb-samba/ldb_matching_rules.c b/lib/ldb-samba/ldb_matching_rules.c index cc69e442483..1692a73f534 100644 --- a/lib/ldb-samba/ldb_matching_rules.c +++ b/lib/ldb-samba/ldb_matching_rules.c @@ -228,7 +228,7 @@ static int ldb_eval_transitive_filter(TALLOC_CTX *mem_ctx, dn_to_match = dsdb_dn_parse(mem_ctx, ldb, value_to_match, dn_oid); if (dn_to_match == NULL) { *matched = false; - return LDB_ERR_INVALID_DN_SYNTAX; + return LDB_SUCCESS; } return ldb_eval_transitive_filter_helper(mem_ctx, ldb, attr, @@ -292,8 +292,9 @@ static int ldb_comparator_trans(struct ldb_context *ldb, * mailing list. */ if (schema_attr->linkID == 0) { + *matched = false; talloc_free(tmp_ctx); - return LDB_ERR_INAPPROPRIATE_MATCHING; + return LDB_SUCCESS; } /* Duplicate original msg dn as the msg must not be modified */ diff --git a/lib/ldb/common/ldb_match.c b/lib/ldb/common/ldb_match.c index 182c6ce5720..c4f5580c400 100644 --- a/lib/ldb/common/ldb_match.c +++ b/lib/ldb/common/ldb_match.c @@ -503,9 +503,10 @@ static int ldb_match_extended(struct ldb_context *ldb, rule = ldb_find_extended_match_rule(ldb, tree->u.extended.rule_id); if (rule == NULL) { + *matched = false; ldb_debug(ldb, LDB_DEBUG_ERROR, "ldb: unknown extended rule_id %s", tree->u.extended.rule_id); - return LDB_ERR_INAPPROPRIATE_MATCHING; + return LDB_SUCCESS; } return rule->callback(ldb, rule->oid, msg,