summaryrefslogtreecommitdiff
path: root/source4/dsdb/common
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mdw@samba.org>2010-10-23 16:15:51 +0200
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-10-23 16:37:29 +0200
commitf9a6ff482c8d03e7e46fd6925d58214b7a097e02 (patch)
tree36bf703986179f59947e6d380162109f87338563 /source4/dsdb/common
parent89c42a96fcaa43a7f2c9aef9e708276a639e0051 (diff)
downloadsamba-f9a6ff482c8d03e7e46fd6925d58214b7a097e02.tar.gz
samba-f9a6ff482c8d03e7e46fd6925d58214b7a097e02.tar.bz2
samba-f9a6ff482c8d03e7e46fd6925d58214b7a097e02.zip
s4/ldb:introduce the LDB_CONTROL_PROVISION_OID control
This control is exactly thought for the actions which previously were performed using the RELAX one. We agreed that the RELAX control will only remain for interactions with OpenLDAP.
Diffstat (limited to 'source4/dsdb/common')
-rw-r--r--source4/dsdb/common/util.c7
-rw-r--r--source4/dsdb/common/util.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c
index f56cd07f3a..9b813d1b52 100644
--- a/source4/dsdb/common/util.c
+++ b/source4/dsdb/common/util.c
@@ -3660,6 +3660,13 @@ int dsdb_request_add_controls(struct ldb_request *req, uint32_t dsdb_flags)
}
}
+ if (dsdb_flags & DSDB_PROVISION) {
+ ret = ldb_request_add_control(req, LDB_CONTROL_PROVISION_OID, false, NULL);
+ if (ret != LDB_SUCCESS) {
+ return ret;
+ }
+ }
+
return LDB_SUCCESS;
}
diff --git a/source4/dsdb/common/util.h b/source4/dsdb/common/util.h
index 7dabef8d87..fa876484cb 100644
--- a/source4/dsdb/common/util.h
+++ b/source4/dsdb/common/util.h
@@ -34,5 +34,6 @@
#define DSDB_TREE_DELETE 0x0100
#define DSDB_SEARCH_ONE_ONLY 0x0200 /* give an error unless 1 record */
#define DSDB_SEARCH_SHOW_RECYCLED 0x0400
+#define DSDB_PROVISION 0x0800
bool is_attr_in_list(const char * const * attrs, const char *attr);