diff options
author | Adrian Cochrane <adrianc@catalyst.net.nz> | 2016-01-07 10:28:12 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2016-01-18 04:42:21 +0100 |
commit | 1d05f3bae722fe82db8160b76ec6e49771d687cc (patch) | |
tree | 7ce63ba099a7bd07a1265360ed50f3aef4b496e6 /source4/dsdb | |
parent | a52bcaaf2062e5e48695032e25b68aeff33ea301 (diff) | |
download | samba-1d05f3bae722fe82db8160b76ec6e49771d687cc.tar.gz |
ldb-samba: Reenable recursive search
In order for the recursive search module to work, we first
must stop asserting that any extended match rule is a DN (to be modified
per the extended DN munging), as this is not the case for this particular rule.
This reverts commit 8cacd5b8113fa30fb4ccaaf3193839660feb285f.
Signed-off-by: Adrian Cochrane <adrianc@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Diffstat (limited to 'source4/dsdb')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/extended_dn_in.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/extended_dn_in.c b/source4/dsdb/samdb/ldb_modules/extended_dn_in.c index 41270361e72..b7ca636598f 100644 --- a/source4/dsdb/samdb/ldb_modules/extended_dn_in.c +++ b/source4/dsdb/samdb/ldb_modules/extended_dn_in.c @@ -35,6 +35,7 @@ #include <ldb_module.h> #include "dsdb/samdb/samdb.h" #include "dsdb/samdb/ldb_modules/util.h" +#include "lib/ldb-samba/ldb_matching_rules.h" /* TODO: if relax is not set then we need to reject the fancy RMD_* and @@ -406,7 +407,8 @@ static int extended_dn_filter_callback(struct ldb_parse_tree *tree, void *privat if (tree->operation == LDB_OP_EQUALITY) { dn = ldb_dn_from_ldb_val(filter_ctx, ldb_module_get_ctx(filter_ctx->module), &tree->u.equality.value); - } else if (tree->operation == LDB_OP_EXTENDED) { + } else if (tree->operation == LDB_OP_EXTENDED + && (strcmp(tree->u.extended.rule_id, SAMBA_LDAP_MATCH_RULE_TRANSITIVE_EVAL) == 0)) { dn = ldb_dn_from_ldb_val(filter_ctx, ldb_module_get_ctx(filter_ctx->module), &tree->u.extended.value); } if (dn == NULL) { |