Author: abartlet Date: 2006-01-06 21:20:09 +0000 (Fri, 06 Jan 2006) New Revision: 12747
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12747 Log: Add a couple more token tests, used by the kludge ACL module. Andrew Bartlett Modified: branches/SAMBA_4_0/source/libcli/security/security_token.c Changeset: Modified: branches/SAMBA_4_0/source/libcli/security/security_token.c =================================================================== --- branches/SAMBA_4_0/source/libcli/security/security_token.c 2006-01-06 21:04:32 UTC (rev 12746) +++ branches/SAMBA_4_0/source/libcli/security/security_token.c 2006-01-06 21:20:09 UTC (rev 12747) @@ -190,3 +190,33 @@ return False; } +BOOL is_authenticated_token(struct security_token *token) +{ + TALLOC_CTX *mem_ctx = talloc_new(token); + int i; + struct dom_sid *authenticated = dom_sid_parse_talloc(mem_ctx, SID_NT_ANONYMOUS); + for (i = 0; i < token->num_sids; i++) { + if (dom_sid_equal(token->sids[i], authenticated)) { + talloc_free(mem_ctx); + return True; + } + } + talloc_free(mem_ctx); + return False; +} + +BOOL is_administrator_token(struct security_token *token) +{ + TALLOC_CTX *mem_ctx = talloc_new(token); + int i; + struct dom_sid *administrators = dom_sid_parse_talloc(mem_ctx, SID_BUILTIN_ADMINISTRATORS); + for (i = 0; i < token->num_sids; i++) { + if (dom_sid_equal(token->sids[i], administrators)) { + talloc_free(mem_ctx); + return True; + } + } + talloc_free(mem_ctx); + return False; +} +