From f52d8ca0238ee5fef643bbc0b3c249b0397a61b5 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 28 Sep 2011 09:29:09 +1000 Subject: s4-dsdb: allow uninstantiated NC heads this allows INSTANCE_TYPE_WRITE to be not set if INSTANCE_TYPE_UNINSTANT is set --- source4/dsdb/samdb/ldb_modules/instancetype.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source4/dsdb/samdb') diff --git a/source4/dsdb/samdb/ldb_modules/instancetype.c b/source4/dsdb/samdb/ldb_modules/instancetype.c index e008deb02b..d743d4fb30 100644 --- a/source4/dsdb/samdb/ldb_modules/instancetype.c +++ b/source4/dsdb/samdb/ldb_modules/instancetype.c @@ -77,9 +77,11 @@ static int instancetype_add(struct ldb_module *module, struct ldb_request *req) } else { /* * If we have a NC add operation then we need also the - * "TYPE_WRITE" flag in order to succeed. + * "TYPE_WRITE" flag in order to succeed, + * unless this NC is not instantiated */ - if (!(instanceType & INSTANCE_TYPE_WRITE)) { + if (!(instanceType & INSTANCE_TYPE_UNINSTANT) && + !(instanceType & INSTANCE_TYPE_WRITE)) { ldb_set_errstring(ldb, "instancetype: if TYPE_IS_NC_HEAD was set, then also TYPE_WRITE is requested!"); return LDB_ERR_UNWILLING_TO_PERFORM; } -- cgit