diff --git a/ntoskrnl/include/internal/tag.h b/ntoskrnl/include/internal/tag.h index 9f86c7cb623..3e838c81abe 100644 --- a/ntoskrnl/include/internal/tag.h +++ b/ntoskrnl/include/internal/tag.h @@ -180,6 +180,7 @@ #define TAG_TOKEN_DYNAMIC 'dTeS' #define TAG_SE_HANDLES_TAB 'aHeS' #define TAG_SE_DIR_BUFFER 'bDeS' +#define TAG_SE_PROXY_DATA 'dPoT' /* LPC Tags */ #define TAG_LPC_MESSAGE 'McpL' diff --git a/sdk/include/ndk/setypes.h b/sdk/include/ndk/setypes.h index 10a500ce041..55e0d8fdab6 100644 --- a/sdk/include/ndk/setypes.h +++ b/sdk/include/ndk/setypes.h @@ -108,6 +108,17 @@ typedef struct _TOKEN_ACCESS_INFORMATION SE_GROUP_INTEGRITY | \ SE_GROUP_INTEGRITY_ENABLED) +// +// Proxy Class enumeration +// +typedef enum _PROXY_CLASS +{ + ProxyFull = 0, + ProxyService, + ProxyTree, + ProxyDirectory +} PROXY_CLASS; + // // Audit and Policy Structures // @@ -145,6 +156,28 @@ typedef struct _SE_AUDIT_PROCESS_CREATION_INFO POBJECT_NAME_INFORMATION ImageFileName; } SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO; +// +// Token Audit Data +// +typedef struct _SECURITY_TOKEN_AUDIT_DATA +{ + ULONG Length; + ULONG GrantMask; + ULONG DenyMask; +} SECURITY_TOKEN_AUDIT_DATA, *PSECURITY_TOKEN_AUDIT_DATA; + +// +// Token Proxy Data +// +typedef struct _SECURITY_TOKEN_PROXY_DATA +{ + ULONG Length; + PROXY_CLASS ProxyClass; + UNICODE_STRING PathInfo; + ULONG ContainerMask; + ULONG ObjectMask; +} SECURITY_TOKEN_PROXY_DATA, *PSECURITY_TOKEN_PROXY_DATA; + // // Token and auxiliary data // @@ -176,8 +209,8 @@ typedef struct _TOKEN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x84 */ ULONG TokenFlags; /* 0x88 */ BOOLEAN TokenInUse; /* 0x8C */ - PVOID ProxyData; /* 0x90 */ - PVOID AuditData; /* 0x94 */ + PSECURITY_TOKEN_PROXY_DATA ProxyData; /* 0x90 */ + PSECURITY_TOKEN_AUDIT_DATA AuditData; /* 0x94 */ LUID OriginatingLogonSession; /* 0x98 */ ULONG VariablePart; /* 0xA0 */ } TOKEN, *PTOKEN;