From df83e9c15e93502e77cfa877d6bdf1beb9b4048f Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Mon, 7 Feb 2011 09:58:17 +0300 Subject: s4: do not change the critical flag when it's on a dirsync control Signed-off-by: Andrew Tridgell --- source4/dsdb/samdb/ldb_modules/rootdse.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source4/dsdb/samdb/ldb_modules') 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; } } -- cgit