From f20bba97d8146e830dbaeb761a05dcede1bdfee2 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 27 Aug 2010 08:56:15 +1000 Subject: s3-privs Move source3/ privileges implmentation into common Andrew Bartlett Signed-off-by: Andrew Tridgell --- libcli/security/privileges.h | 74 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 libcli/security/privileges.h (limited to 'libcli/security/privileges.h') diff --git a/libcli/security/privileges.h b/libcli/security/privileges.h new file mode 100644 index 0000000000..6c2a6bf219 --- /dev/null +++ b/libcli/security/privileges.h @@ -0,0 +1,74 @@ + +/* + Unix SMB/CIFS implementation. + SMB parameters and setup + Copyright (C) Andrew Tridgell 1992-1997 + Copyright (C) Luke Kenneth Casson Leighton 1996-1997 + Copyright (C) Paul Ashton 1997 + Copyright (C) Simo Sorce 2003 + Copyright (C) Gerald (Jerry) Carter 2005 + Copyright (C) Andrew Bartlett 2010 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef PRIVILEGES_H +#define PRIVILEGES_H + +#include "../librpc/gen_ndr/lsa.h" +#include "../librpc/gen_ndr/security.h" + +/* privilege bitmask */ + +/* common privilege defines */ + +#define SE_END 0x0 +#define SE_NONE 0x0 +#define SE_ALL_PRIVS (uint64_t)-1 + + +/* defined in lib/privilegs_basic.c */ + +extern const uint64_t se_priv_all; + +extern const uint64_t se_priv_none; +extern const uint64_t se_machine_account; +extern const uint64_t se_print_operator; +extern const uint64_t se_add_users; +extern const uint64_t se_disk_operators; +extern const uint64_t se_remote_shutdown; +extern const uint64_t se_restore; +extern const uint64_t se_take_ownership; + + +/* + * These are used in Lsa replies (srv_lsa_nt.c) + */ + +typedef struct { + TALLOC_CTX *mem_ctx; + bool ext_ctx; + uint32 count; + uint32 control; + struct lsa_LUIDAttribute *set; +} PRIVILEGE_SET; + +typedef struct { + uint64_t privilege_mask; + const char *name; + const char *description; + enum sec_privilege luid; +} PRIVS; + +#endif /* PRIVILEGES_H */ -- cgit