diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-08-27 09:35:55 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-09-11 18:46:07 +1000 |
commit | dbee98d30fc9c7db6693170215b8c1819b3e2f3d (patch) | |
tree | 416b01e118de9d0b409b878b09754fb226233d4c /libcli/security/privileges.h | |
parent | 0d25212cc161dee2f38c8ad60e50543596000f18 (diff) | |
download | samba-dbee98d30fc9c7db6693170215b8c1819b3e2f3d.tar.gz samba-dbee98d30fc9c7db6693170215b8c1819b3e2f3d.tar.bz2 samba-dbee98d30fc9c7db6693170215b8c1819b3e2f3d.zip |
libcli/security Move source4/ privileges code into the common libcli/security
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'libcli/security/privileges.h')
-rw-r--r-- | libcli/security/privileges.h | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/libcli/security/privileges.h b/libcli/security/privileges.h index 905645906f..69c7dbcec3 100644 --- a/libcli/security/privileges.h +++ b/libcli/security/privileges.h @@ -1,4 +1,3 @@ - /* Unix SMB/CIFS implementation. SMB parameters and setup @@ -59,8 +58,8 @@ extern const uint64_t se_take_ownership; typedef struct { TALLOC_CTX *mem_ctx; bool ext_ctx; - uint32 count; - uint32 control; + uint32_t count; + uint32_t control; struct lsa_LUIDAttribute *set; } PRIVILEGE_SET; @@ -159,4 +158,43 @@ const char *luid_to_privilege_name(const struct lsa_LUID *set); bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t *privilege_mask ); bool privilege_set_to_se_priv( uint64_t *privilege_mask, struct lsa_PrivilegeSet *privset ); +/* + map a privilege id to the wire string constant +*/ +const char *sec_privilege_name(enum sec_privilege privilege); + +/* + map a privilege id to a privilege display name. Return NULL if not found + + TODO: this should use language mappings +*/ +const char *sec_privilege_display_name(enum sec_privilege privilege, uint16_t *language); + +/* + map a privilege name to a privilege id. Return -1 if not found +*/ +enum sec_privilege sec_privilege_id(const char *name); + +/* + map a privilege name to a privilege id. Return -1 if not found +*/ +enum sec_privilege sec_privilege_from_mask(uint64_t mask); + +/* + map a privilege name to a privilege id. Return -1 if not found +*/ +enum sec_privilege sec_privilege_from_index(int idx); + +/* + return true if a security_token has a particular privilege bit set +*/ +bool security_token_has_privilege(const struct security_token *token, enum sec_privilege privilege); + +/* + set a bit in the privilege mask +*/ +void security_token_set_privilege(struct security_token *token, enum sec_privilege privilege); + +void security_token_debug_privileges(int dbg_lev, const struct security_token *token); + #endif /* PRIVILEGES_H */ |