summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2011-02-07 09:58:17 +0300
committerMatthieu Patou <mat@matws.net>2011-05-21 14:39:12 +0400
commitdf83e9c15e93502e77cfa877d6bdf1beb9b4048f (patch)
treea58951e00e17b1cfccf568d6245ec35701bdcb0b /source4/dsdb/samdb
parentfae229aa3df470cf9cd87b42d60aa6be4211d1ae (diff)
downloadsamba-df83e9c15e93502e77cfa877d6bdf1beb9b4048f.tar.gz
samba-df83e9c15e93502e77cfa877d6bdf1beb9b4048f.tar.bz2
samba-df83e9c15e93502e77cfa877d6bdf1beb9b4048f.zip
s4: do not change the critical flag when it's on a dirsync control
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'source4/dsdb/samdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/rootdse.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/rootdse.c b/source4/dsdb/samdb/ldb_modules/rootdse.c
index 7bc27b46b4..c584a11b2c 100644
--- a/source4/dsdb/samdb/ldb_modules/rootdse.c
+++ b/source4/dsdb/samdb/ldb_modules/rootdse.c
@@ -612,7 +612,11 @@ static int rootdse_filter_controls(struct ldb_module *module, struct ldb_request
continue;
}
- if (is_registered) {
+ /* If the control is DIRSYNC control then we keep the critical
+ * flag as the dirsync module will need to act upon it
+ */
+ if (is_registered && strcmp(req->controls[i]->oid,
+ LDB_CONTROL_DIRSYNC_OID)!= 0) {
req->controls[i]->critical = 0;
}
}