From 1377cca5f4beb43cf67fcc65eed79f14178d6349 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 7 Oct 2005 11:31:45 +0000 Subject: r10810: This adds the hooks required to communicate the current user from the authenticated session down into LDB. This associates a session info structure with the open LDB, allowing a future ldb_ntacl module to allow/deny operations on that basis. Along the way, I cleaned up a few things, and added new helper functions to assist. In particular the LSA pipe uses simpler queries for some of the setup. In ldap_server, I have removed the 'ldasrv:hacked' module, which hasn't been worked on (other than making it continue to compile) since January, and I think the features of this module are being put into ldb anyway. I have also changed the partitions in ldap_server to be initialised after the connection, with the private pointer used to associate the ldb with the incoming session. Andrew Bartlett (This used to be commit fd7203789a2c0929eecea8125b57b833a67fed71) --- source4/libcli/security/security_token.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'source4/libcli/security') diff --git a/source4/libcli/security/security_token.c b/source4/libcli/security/security_token.c index a23aa92bf3..8e52759e70 100644 --- a/source4/libcli/security/security_token.c +++ b/source4/libcli/security/security_token.c @@ -165,3 +165,28 @@ void security_token_debug(int dbg_lev, const struct security_token *token) talloc_free(mem_ctx); } + +/* These really should be cheaper... */ + +BOOL is_system_token(struct security_token *token) +{ + TALLOC_CTX *mem_ctx = talloc_new(token); + if (dom_sid_equal(token->user_sid, dom_sid_parse_talloc(mem_ctx, SID_NT_SYSTEM))) { + talloc_free(mem_ctx); + return True; + } + talloc_free(mem_ctx); + return False; +} + +BOOL is_anonymous_token(struct security_token *token) +{ + TALLOC_CTX *mem_ctx = talloc_new(token); + if (dom_sid_equal(token->user_sid, dom_sid_parse_talloc(mem_ctx, SID_NT_ANONYMOUS))) { + talloc_free(mem_ctx); + return True; + } + talloc_free(mem_ctx); + return False; +} + -- cgit