summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-10-19 11:17:53 +1100
committerAndrew Tridgell <tridge@samba.org>2010-10-19 11:22:35 +1100
commitff456cd1007dc06a51c5e60394964bcf898b24d2 (patch)
treeea256206ec2ca8cc6f788d1debeb529367b9e276 /source4/lib/ldb/include
parent968381a4e2e7c8350b89104c17568259d35787a5 (diff)
downloadsamba-ff456cd1007dc06a51c5e60394964bcf898b24d2.tar.gz
samba-ff456cd1007dc06a51c5e60394964bcf898b24d2.tar.bz2
samba-ff456cd1007dc06a51c5e60394964bcf898b24d2.zip
s4-ldb: added ldb_req_mark_untrusted() and ldb_req_is_untrusted()
these will be used to determine if a ldb request comes from an untrusted source. We want requests over ldap:// to be marked untrusted so we can reject unregistered controls Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/lib/ldb/include')
-rw-r--r--source4/lib/ldb/include/ldb_module.h11
-rw-r--r--source4/lib/ldb/include/ldb_private.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/source4/lib/ldb/include/ldb_module.h b/source4/lib/ldb/include/ldb_module.h
index a708063ed8..c1d668222f 100644
--- a/source4/lib/ldb/include/ldb_module.h
+++ b/source4/lib/ldb/include/ldb_module.h
@@ -216,4 +216,15 @@ void ldb_set_default_dns(struct ldb_context *ldb);
*/
int ldb_reply_add_control(struct ldb_reply *ares, const char *oid, bool critical, void *data);
+/**
+ mark a request as untrusted. This tells the rootdse module to remove
+ unregistered controls
+ */
+void ldb_req_mark_untrusted(struct ldb_request *req);
+
+/**
+ return true is a request is untrusted
+ */
+bool ldb_req_is_untrusted(struct ldb_request *req);
+
#endif
diff --git a/source4/lib/ldb/include/ldb_private.h b/source4/lib/ldb/include/ldb_private.h
index c8efb6bbc5..ef8cd25030 100644
--- a/source4/lib/ldb/include/ldb_private.h
+++ b/source4/lib/ldb/include/ldb_private.h
@@ -48,6 +48,8 @@ struct ldb_module_ops;
struct ldb_backend_ops;
#define LDB_HANDLE_FLAG_DONE_CALLED 1
+/* call is from an untrusted source - eg. over ldap:// */
+#define LDB_HANDLE_FLAG_UNTRUSTED 2
struct ldb_handle {
int status;