From: Vadim Kazakov xipster@etersoft.ru
--- dlls/ntdll/unix/security.c | 62 +++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/unix/security.c b/dlls/ntdll/unix/security.c index 03cf26c1555..2e5d6eca8d3 100644 --- a/dlls/ntdll/unix/security.c +++ b/dlls/ntdll/unix/security.c @@ -258,6 +258,66 @@ NTSTATUS WINAPI NtDuplicateToken( HANDLE token, ACCESS_MASK access, OBJECT_ATTRI return status; }
+static const char *debugstr_TokenInformationClass( TOKEN_INFORMATION_CLASS class ) +{ + static const char * const names[] = + { + NULL, + "TokenUser", + "TokenGroups", + "TokenPrivileges", + "TokenOwner", + "TokenPrimaryGroup", + "TokenDefaultDacl", + "TokenSource", + "TokenType", + "TokenImpersonationLevel", + "TokenStatistics", + "TokenRestrictedSids", + "TokenSessionId", + "TokenGroupsAndPrivileges", + "TokenSessionReference", + "TokenSandBoxInert", + "TokenAuditPolicy", + "TokenOrigin", + "TokenElevationType", + "TokenLinkedToken", + "TokenElevation", + "TokenHasRestrictions", + "TokenAccessInformation", + "TokenVirtualizationAllowed", + "TokenVirtualizationEnabled", + "TokenIntegrityLevel", + "TokenUIAccess", + "TokenMandatoryPolicy", + "TokenLogonSid", + "TokenIsAppContainer", + "TokenCapabilities", + "TokenAppContainerSid", + "TokenAppContainerNumber", + "TokenUserClaimAttributes", + "TokenDeviceClaimAttributes", + "TokenRestrictedUserClaimAttributes", + "TokenRestrictedDeviceClaimAttributes", + "TokenDeviceGroups", + "TokenRestrictedDeviceGroups", + "TokenSecurityAttributes", + "TokenIsRestricted", + "TokenProcessTrustLevel", + "TokenPrivateNameSpace", + "TokenSingletonAttributes", + "TokenBnoIsolation", + "TokenChildProcessFlags", + "TokenIsLessPrivilegedAppContainer", + "TokenIsSandboxed", + "TokenIsAppSilo", + "TokenLoggingInformation", + "MaxTokenInfoClass" + }; + + if(class < ARRAY_SIZE(names) && names[class]) return names[class]; + return wine_dbg_sprintf( "%u", class ); +}
/*********************************************************************** * NtQueryInformationToken (NTDLL.@) @@ -598,7 +658,7 @@ NTSTATUS WINAPI NtQueryInformationToken( HANDLE token, TOKEN_INFORMATION_CLASS c break;
default: - ERR( "Unhandled token information class %u\n", class ); + ERR( "Unhandled token information class %u: %s\n", class, debugstr_TokenInformationClass(class) ); return STATUS_NOT_IMPLEMENTED; } return status;