summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-03-04 14:16:57 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-03-04 14:16:57 +0100
commit5a5b50f3dd7d75214184f711c35a7536b64cbbe7 (patch)
tree489fa463e4e8a49aa485f4904fd8e7254206070d /source4/dsdb/samdb
parentf4f6f849402488e150e9c759e57bfced6e9dfaf0 (diff)
parent3ced8006a6a58b459fd68e9b02d7673b16b2df95 (diff)
downloadsamba-5a5b50f3dd7d75214184f711c35a7536b64cbbe7.tar.gz
samba-5a5b50f3dd7d75214184f711c35a7536b64cbbe7.tar.bz2
samba-5a5b50f3dd7d75214184f711c35a7536b64cbbe7.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-gmake3
Conflicts: source/build/smb_build/makefile.pm (This used to be commit 391fea450b2e6664fcd4e4419858997c6094cf3e)
Diffstat (limited to 'source4/dsdb/samdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/normalise.c4
-rw-r--r--source4/dsdb/samdb/ldb_modules/simple_ldap_map.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/normalise.c b/source4/dsdb/samdb/ldb_modules/normalise.c
index 695393d4e8..a0eff43534 100644
--- a/source4/dsdb/samdb/ldb_modules/normalise.c
+++ b/source4/dsdb/samdb/ldb_modules/normalise.c
@@ -106,8 +106,8 @@ static int normalise_search_callback(struct ldb_context *ldb, void *context, str
continue;
}
/* Look to see if this attributeSyntax is a DN */
- if ((strcmp(attribute->attributeSyntax_oid, "2.5.5.1") != 0) &&
- (strcmp(attribute->attributeSyntax_oid, "2.5.5.7") != 0)) {
+ if (!((strcmp(attribute->attributeSyntax_oid, "2.5.5.1") == 0) ||
+ (strcmp(attribute->attributeSyntax_oid, "2.5.5.7") == 0))) {
continue;
}
for (j = 0; j < ares->message->elements[i].num_values; j++) {
diff --git a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
index 3f4c19d285..91896d7247 100644
--- a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
+++ b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
@@ -153,9 +153,17 @@ static struct ldb_val sid_always_binary(struct ldb_module *module, TALLOC_CTX *c
/* Ensure we always convert objectCategory into a DN */
static struct ldb_val objectCategory_always_dn(struct ldb_module *module, TALLOC_CTX *ctx, const struct ldb_val *val)
{
+ struct ldb_dn *dn;
struct ldb_val out = data_blob(NULL, 0);
const struct ldb_schema_attribute *a = ldb_schema_attribute_by_name(module->ldb, "objectCategory");
+ dn = ldb_dn_new(ctx, module->ldb, val->data);
+ if (dn && ldb_dn_is_valid(dn)) {
+ talloc_free(dn);
+ return val_copy(module, ctx, val);
+ }
+ talloc_free(dn);
+
if (a->syntax->canonicalise_fn(module->ldb, ctx, val, &out) != LDB_SUCCESS) {
return data_blob(NULL, 0);
}