mirror of
https://github.com/samba-team/samba.git
synced 2025-12-12 12:23:50 +03:00
port sec_desc headers reordering from HEAD.
Thanks to Andrew Brtlet for the diff :-)
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
#define SEC_RIGHTS_READ 0x00020019
|
||||
#define SEC_RIGHTS_FULL_CONTROL 0x000f003f
|
||||
#define SEC_RIGHTS_MAXIMUM_ALLOWED 0x02000000
|
||||
|
||||
/* for ADS */
|
||||
#define SEC_RIGHTS_LIST_CONTENTS 0x4
|
||||
#define SEC_RIGHTS_LIST_OBJECT 0x80
|
||||
@@ -211,4 +212,250 @@ typedef struct standard_mapping {
|
||||
uint32 std_all;
|
||||
} STANDARD_MAPPING;
|
||||
|
||||
|
||||
/* Security Access Masks Rights */
|
||||
|
||||
#define SPECIFIC_RIGHTS_MASK 0x0000FFFF
|
||||
#define STANDARD_RIGHTS_MASK 0x00FF0000
|
||||
#define GENERIC_RIGHTS_MASK 0xF0000000
|
||||
|
||||
#define SEC_RIGHT_SYSTEM_SECURITY 0x01000000
|
||||
#define SEC_RIGHT_MAXIMUM_ALLOWED 0x02000000
|
||||
|
||||
/* Generic access rights */
|
||||
|
||||
#define GENERIC_RIGHT_ALL_ACCESS 0x10000000
|
||||
#define GENERIC_RIGHT_EXECUTE_ACCESS 0x20000000
|
||||
#define GENERIC_RIGHT_WRITE_ACCESS 0x40000000
|
||||
#define GENERIC_RIGHT_READ_ACCESS 0x80000000
|
||||
|
||||
/* Standard access rights. */
|
||||
|
||||
#define STD_RIGHT_DELETE_ACCESS 0x00010000
|
||||
#define STD_RIGHT_READ_CONTROL_ACCESS 0x00020000
|
||||
#define STD_RIGHT_WRITE_DAC_ACCESS 0x00040000
|
||||
#define STD_RIGHT_WRITE_OWNER_ACCESS 0x00080000
|
||||
#define STD_RIGHT_SYNCHRONIZE_ACCESS 0x00100000
|
||||
|
||||
#define STD_RIGHT_ALL_ACCESS 0x001F0000
|
||||
|
||||
/* Combinations of standard masks. */
|
||||
#define STANDARD_RIGHTS_ALL_ACCESS STD_RIGHT_ALL_ACCESS /* 0x001f0000 */
|
||||
#define STANDARD_RIGHTS_EXECUTE_ACCESS STD_RIGHT_READ_CONTROL_ACCESS /* 0x00020000 */
|
||||
#define STANDARD_RIGHTS_READ_ACCESS STD_RIGHT_READ_CONTROL_ACCESS /* 0x00020000 */
|
||||
#define STANDARD_RIGHTS_WRITE_ACCESS STD_RIGHT_READ_CONTROL_ACCESS /* 0x00020000 */
|
||||
#define STANDARD_RIGHTS_REQUIRED_ACCESS \
|
||||
(STD_RIGHT_DELETE_ACCESS | \
|
||||
STD_RIGHT_READ_CONTROL_ACCESS | \
|
||||
STD_RIGHT_WRITE_DAC_ACCESS | \
|
||||
STD_RIGHT_WRITE_OWNER_ACCESS) /* 0x000f0000 */
|
||||
|
||||
/* File Object specific access rights */
|
||||
|
||||
#define SA_RIGHT_FILE_READ_DATA 0x00000001
|
||||
#define SA_RIGHT_FILE_WRITE_DATA 0x00000002
|
||||
#define SA_RIGHT_FILE_APPEND_DATA 0x00000004
|
||||
#define SA_RIGHT_FILE_READ_EA 0x00000008
|
||||
#define SA_RIGHT_FILE_WRITE_EA 0x00000010
|
||||
#define SA_RIGHT_FILE_EXECUTE 0x00000020
|
||||
#define SA_RIGHT_FILE_DELETE_CHILD 0x00000040
|
||||
#define SA_RIGHT_FILE_READ_ATTRIBUTES 0x00000080
|
||||
#define SA_RIGHT_FILE_WRITE_ATTRIBUTES 0x00000100
|
||||
|
||||
#define SA_RIGHT_FILE_ALL_ACCESS 0x000001FF
|
||||
|
||||
#define GENERIC_RIGHTS_FILE_ALL_ACCESS \
|
||||
(STANDARD_RIGHTS_REQUIRED_ACCESS| \
|
||||
STD_RIGHT_SYNCHRONIZE_ACCESS | \
|
||||
SA_RIGHT_FILE_ALL_ACCESS)
|
||||
|
||||
#define GENERIC_RIGHTS_FILE_READ \
|
||||
(STANDARD_RIGHTS_READ_ACCESS | \
|
||||
STD_RIGHT_SYNCHRONIZE_ACCESS | \
|
||||
SA_RIGHT_FILE_READ_DATA | \
|
||||
SA_RIGHT_FILE_READ_ATTRIBUTES | \
|
||||
SA_RIGHT_FILE_READ_EA)
|
||||
|
||||
#define GENERIC_RIGHTS_FILE_WRITE \
|
||||
(STANDARD_RIGHTS_WRITE_ACCESS | \
|
||||
STD_RIGHT_SYNCHRONIZE_ACCESS | \
|
||||
SA_RIGHT_FILE_WRITE_DATA | \
|
||||
SA_RIGHT_FILE_WRITE_ATTRIBUTES | \
|
||||
SA_RIGHT_FILE_WRITE_EA | \
|
||||
SA_RIGHT_FILE_APPEND_DATA)
|
||||
|
||||
#define GENERIC_RIGHTS_FILE_EXECUTE \
|
||||
(STANDARD_RIGHTS_EXECUTE_ACCESS | \
|
||||
SA_RIGHT_FILE_READ_ATTRIBUTES | \
|
||||
SA_RIGHT_FILE_EXECUTE)
|
||||
|
||||
|
||||
/* SAM Object specific access rights */
|
||||
|
||||
#define SA_RIGHT_SAM_UNKNOWN_1 0x00000001
|
||||
#define SA_RIGHT_SAM_SHUTDOWN_SERVER 0x00000002
|
||||
#define SA_RIGHT_SAM_UNKNOWN_4 0x00000004
|
||||
#define SA_RIGHT_SAM_UNKNOWN_8 0x00000008
|
||||
#define SA_RIGHT_SAM_ENUM_DOMAINS 0x00000010
|
||||
#define SA_RIGHT_SAM_OPEN_DOMAIN 0x00000020
|
||||
|
||||
#define SA_RIGHT_SAM_ALL_ACCESS 0x0000003F
|
||||
|
||||
#define GENERIC_RIGHTS_SAM_ALL_ACCESS \
|
||||
(STANDARD_RIGHTS_REQUIRED_ACCESS| \
|
||||
SA_RIGHT_SAM_ALL_ACCESS)
|
||||
|
||||
#define GENERIC_RIGHTS_SAM_READ \
|
||||
(STANDARD_RIGHTS_READ_ACCESS | \
|
||||
SA_RIGHT_SAM_ENUM_DOMAINS)
|
||||
|
||||
#define GENERIC_RIGHTS_SAM_WRITE \
|
||||
(STANDARD_RIGHTS_WRITE_ACCESS | \
|
||||
SA_RIGHT_SAM_UNKNOWN_8 | \
|
||||
SA_RIGHT_SAM_UNKNOWN_4 | \
|
||||
SA_RIGHT_SAM_SHUTDOWN_SERVER)
|
||||
|
||||
#define GENERIC_RIGHTS_SAM_EXECUTE \
|
||||
(STANDARD_RIGHTS_EXECUTE_ACCESS | \
|
||||
SA_RIGHT_SAM_OPEN_DOMAIN | \
|
||||
SA_RIGHT_SAM_UNKNOWN_1)
|
||||
|
||||
|
||||
/* Domain Object specific access rights */
|
||||
|
||||
#define SA_RIGHT_DOMAIN_LOOKUP_INFO_1 0x00000001
|
||||
#define SA_RIGHT_DOMAIN_SET_INFO_1 0x00000002
|
||||
#define SA_RIGHT_DOMAIN_LOOKUP_INFO_2 0x00000004
|
||||
#define SA_RIGHT_DOMAIN_SET_INFO_2 0x00000008
|
||||
#define SA_RIGHT_DOMAIN_CREATE_USER 0x00000010
|
||||
#define SA_RIGHT_DOMAIN_CREATE_GROUP 0x00000020
|
||||
#define SA_RIGHT_DOMAIN_CREATE_ALIAS 0x00000040
|
||||
#define SA_RIGHT_DOMAIN_LOOKUP_ALIAS_BY_MEM 0x00000080
|
||||
#define SA_RIGHT_DOMAIN_ENUM_ACCOUNTS 0x00000100
|
||||
#define SA_RIGHT_DOMAIN_OPEN_ACCOUNT 0x00000200
|
||||
#define SA_RIGHT_DOMAIN_SET_INFO_3 0x00000400
|
||||
|
||||
#define SA_RIGHT_DOMAIN_ALL_ACCESS 0x000007FF
|
||||
|
||||
#define GENERIC_RIGHTS_DOMAIN_ALL_ACCESS \
|
||||
(STANDARD_RIGHTS_REQUIRED_ACCESS| \
|
||||
SA_RIGHT_DOMAIN_ALL_ACCESS)
|
||||
|
||||
#define GENERIC_RIGHTS_DOMAIN_READ \
|
||||
(STANDARD_RIGHTS_READ_ACCESS | \
|
||||
SA_RIGHT_DOMAIN_LOOKUP_ALIAS_BY_MEM | \
|
||||
SA_RIGHT_DOMAIN_LOOKUP_INFO_2)
|
||||
|
||||
#define GENERIC_RIGHTS_DOMAIN_WRITE \
|
||||
(STANDARD_RIGHTS_WRITE_ACCESS | \
|
||||
SA_RIGHT_DOMAIN_SET_INFO_3 | \
|
||||
SA_RIGHT_DOMAIN_CREATE_ALIAS | \
|
||||
SA_RIGHT_DOMAIN_CREATE_GROUP | \
|
||||
SA_RIGHT_DOMAIN_CREATE_USER | \
|
||||
SA_RIGHT_DOMAIN_SET_INFO_2 | \
|
||||
SA_RIGHT_DOMAIN_SET_INFO_1)
|
||||
|
||||
#define GENERIC_RIGHTS_DOMAIN_EXECUTE \
|
||||
(STANDARD_RIGHTS_EXECUTE_ACCESS | \
|
||||
SA_RIGHT_DOMAIN_OPEN_ACCOUNT | \
|
||||
SA_RIGHT_DOMAIN_ENUM_ACCOUNTS | \
|
||||
SA_RIGHT_DOMAIN_LOOKUP_INFO_1)
|
||||
|
||||
|
||||
/* User Object specific access rights */
|
||||
|
||||
#define SA_RIGHT_USER_GET_NAME_ETC 0x00000001
|
||||
#define SA_RIGHT_USER_GET_LOCALE 0x00000002
|
||||
#define SA_RIGHT_USER_SET_LOC_COM 0x00000004
|
||||
#define SA_RIGHT_USER_GET_LOGONINFO 0x00000008
|
||||
#define SA_RIGHT_USER_ACCT_FLAGS_EXPIRY 0x00000010
|
||||
#define SA_RIGHT_USER_SET_ATTRIBUTES 0x00000020
|
||||
#define SA_RIGHT_USER_CHANGE_PASSWORD 0x00000040
|
||||
#define SA_RIGHT_USER_SET_PASSWORD 0x00000080
|
||||
#define SA_RIGHT_USER_GET_GROUPS 0x00000100
|
||||
#define SA_RIGHT_USER_UNKNOWN_200 0x00000200
|
||||
#define SA_RIGHT_USER_UNKNOWN_400 0x00000400
|
||||
|
||||
#define SA_RIGHT_USER_ALL_ACCESS 0x000007FF
|
||||
|
||||
#define GENERIC_RIGHTS_USER_ALL_ACCESS \
|
||||
(STANDARD_RIGHTS_REQUIRED_ACCESS| \
|
||||
SA_RIGHT_USER_ALL_ACCESS) /* 0x000f07ff */
|
||||
|
||||
#define GENERIC_RIGHTS_USER_READ \
|
||||
(STANDARD_RIGHTS_READ_ACCESS | \
|
||||
SA_RIGHT_USER_UNKNOWN_200 | \
|
||||
SA_RIGHT_USER_GET_GROUPS | \
|
||||
SA_RIGHT_USER_ACCT_FLAGS_EXPIRY | \
|
||||
SA_RIGHT_USER_GET_LOGONINFO | \
|
||||
SA_RIGHT_USER_GET_LOCALE) /* 0x0002031a */
|
||||
|
||||
#define GENERIC_RIGHTS_USER_WRITE \
|
||||
(STANDARD_RIGHTS_WRITE_ACCESS | \
|
||||
SA_RIGHT_USER_CHANGE_PASSWORD | \
|
||||
SA_RIGHT_USER_SET_LOC_COM) /* 0x00020044 */
|
||||
|
||||
#define GENERIC_RIGHTS_USER_EXECUTE \
|
||||
(STANDARD_RIGHTS_EXECUTE_ACCESS | \
|
||||
SA_RIGHT_USER_CHANGE_PASSWORD | \
|
||||
SA_RIGHT_USER_GET_NAME_ETC ) /* 0x00020041 */
|
||||
|
||||
|
||||
/* Group Object specific access rights */
|
||||
|
||||
#define SA_RIGHT_GROUP_LOOKUP_INFO 0x00000001
|
||||
#define SA_RIGHT_GROUP_SET_INFO 0x00000002
|
||||
#define SA_RIGHT_GROUP_ADD_MEMBER 0x00000004
|
||||
#define SA_RIGHT_GROUP_REMOVE_MEMBER 0x00000008
|
||||
#define SA_RIGHT_GROUP_GET_MEMBERS 0x00000010
|
||||
|
||||
#define SA_RIGHT_GROUP_ALL_ACCESS 0x0000001F
|
||||
|
||||
#define GENERIC_RIGHTS_GROUP_ALL_ACCESS \
|
||||
(STANDARD_RIGHTS_REQUIRED_ACCESS| \
|
||||
SA_RIGHT_GROUP_ALL_ACCESS) /* 0x000f001f */
|
||||
|
||||
#define GENERIC_RIGHTS_GROUP_READ \
|
||||
(STANDARD_RIGHTS_READ_ACCESS | \
|
||||
SA_RIGHT_GROUP_GET_MEMBERS) /* 0x00020010 */
|
||||
|
||||
#define GENERIC_RIGHTS_GROUP_WRITE \
|
||||
(STANDARD_RIGHTS_WRITE_ACCESS | \
|
||||
SA_RIGHT_GROUP_REMOVE_MEMBER | \
|
||||
SA_RIGHT_GROUP_ADD_MEMBER | \
|
||||
SA_RIGHT_GROUP_SET_INFO ) /* 0x0002000e */
|
||||
|
||||
#define GENERIC_RIGHTS_GROUP_EXECUTE \
|
||||
(STANDARD_RIGHTS_EXECUTE_ACCESS | \
|
||||
SA_RIGHT_GROUP_LOOKUP_INFO) /* 0x00020001 */
|
||||
|
||||
|
||||
/* Alias Object specific access rights */
|
||||
|
||||
#define SA_RIGHT_ALIAS_ADD_MEMBER 0x00000001
|
||||
#define SA_RIGHT_ALIAS_REMOVE_MEMBER 0x00000002
|
||||
#define SA_RIGHT_ALIAS_GET_MEMBERS 0x00000004
|
||||
#define SA_RIGHT_ALIAS_LOOKUP_INFO 0x00000008
|
||||
#define SA_RIGHT_ALIAS_SET_INFO 0x00000010
|
||||
|
||||
#define SA_RIGHT_ALIAS_ALL_ACCESS 0x0000001F
|
||||
|
||||
#define GENERIC_RIGHTS_ALIAS_ALL_ACCESS \
|
||||
(STANDARD_RIGHTS_REQUIRED_ACCESS| \
|
||||
SA_RIGHT_ALIAS_ALL_ACCESS) /* 0x000f001f */
|
||||
|
||||
#define GENERIC_RIGHTS_ALIAS_READ \
|
||||
(STANDARD_RIGHTS_READ_ACCESS | \
|
||||
SA_RIGHT_ALIAS_GET_MEMBERS ) /* 0x00020004 */
|
||||
|
||||
#define GENERIC_RIGHTS_ALIAS_WRITE \
|
||||
(STANDARD_RIGHTS_WRITE_ACCESS | \
|
||||
SA_RIGHT_ALIAS_REMOVE_MEMBER | \
|
||||
SA_RIGHT_ALIAS_ADD_MEMBER | \
|
||||
SA_RIGHT_ALIAS_SET_INFO ) /* 0x00020013 */
|
||||
|
||||
#define GENERIC_RIGHTS_ALIAS_EXECUTE \
|
||||
(STANDARD_RIGHTS_EXECUTE_ACCESS | \
|
||||
SA_RIGHT_ALIAS_LOOKUP_INFO ) /* 0x00020008 */
|
||||
|
||||
#endif /* _RPC_SECDES_H */
|
||||
|
||||
Reference in New Issue
Block a user