s4-dsdb: added dsdb_module_am_system()
authorAndrew Tridgell <tridge@samba.org>
Thu, 7 Jan 2010 22:29:01 +0000 (09:29 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 8 Jan 2010 02:03:06 +0000 (13:03 +1100)
better than each module inventing their own

source4/dsdb/samdb/ldb_modules/util.c

index b4f81978d3a9100c525989cefe66354494e7fe9f..46252cb279989c96444beeb5649fd7b05e84bb66 100644 (file)
@@ -26,6 +26,7 @@
 #include "dsdb/samdb/ldb_modules/util.h"
 #include "dsdb/samdb/samdb.h"
 #include "util.h"
+#include "libcli/security/security.h"
 
 /*
   add a set of controls to a ldb_request structure based on a set of
@@ -629,3 +630,11 @@ int dsdb_module_set_integer(struct ldb_module *module, struct ldb_dn *dn,
        talloc_free(msg);
        return ret;
 }
+
+bool dsdb_module_am_system(struct ldb_module *module)
+{
+       struct ldb_context *ldb = ldb_module_get_ctx(module);
+       struct auth_session_info *session_info
+               = (struct auth_session_info *)ldb_get_opaque(ldb, "sessionInfo");
+       return security_session_user_level(session_info) == SECURITY_SYSTEM;
+}