summaryrefslogtreecommitdiff
path: root/source4/dsdb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2011-01-13 12:26:24 +1100
committerAndrew Tridgell <tridge@samba.org>2011-01-14 16:39:33 +1100
commita38854f74b9ab0e54647e1fe28fd85be345766dc (patch)
treed1dec8dfe7f2b838f1db5c4e065ca3966b62501a /source4/dsdb
parent504a3cc6b36056f8240dae70a2445be1ad8cc6de (diff)
downloadsamba-a38854f74b9ab0e54647e1fe28fd85be345766dc.tar.gz
samba-a38854f74b9ab0e54647e1fe28fd85be345766dc.tar.bz2
samba-a38854f74b9ab0e54647e1fe28fd85be345766dc.zip
s4-dsdb: minimise the DN in group expansion
this DN we have came from an extended DN search, which means it may have multiple extended components. We need to minimise the DN before AD will accept it Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dsdb')
-rw-r--r--source4/dsdb/common/util_groups.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source4/dsdb/common/util_groups.c b/source4/dsdb/common/util_groups.c
index 07d761167d..d41305577c 100644
--- a/source4/dsdb/common/util_groups.c
+++ b/source4/dsdb/common/util_groups.c
@@ -104,6 +104,11 @@ NTSTATUS dsdb_expand_nested_groups(struct ldb_context *sam_ctx,
return status;
}
+ if (!ldb_dn_minimise(dn)) {
+ talloc_free(tmp_ctx);
+ return NT_STATUS_INTERNAL_DB_CORRUPTION;
+ }
+
if (only_childs) {
ret = dsdb_search_dn(sam_ctx, tmp_ctx, &res, dn, attrs,
DSDB_SEARCH_SHOW_EXTENDED_DN);