Detlef Riekenberg : ntdll: Support TokenIntegrityLevel.
Alexandre Julliard
julliard at winehq.org
Tue Jul 31 12:04:14 CDT 2012
Module: wine
Branch: master
Commit: 5c3e919b1080ad3f988467f49b530d9331ac3890
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5c3e919b1080ad3f988467f49b530d9331ac3890
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Mon Jul 30 18:08:34 2012 +0200
ntdll: Support TokenIntegrityLevel.
---
dlls/ntdll/nt.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index cc35815..775b6f1 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -276,7 +276,7 @@ NTSTATUS WINAPI NtQueryInformationToken(
0, /* TokenAccessInformation */
0, /* TokenVirtualizationAllowed */
0, /* TokenVirtualizationEnabled */
- 0, /* TokenIntegrityLevel */
+ sizeof(TOKEN_MANDATORY_LABEL) + sizeof(SID), /* TokenIntegrityLevel [sizeof(SID) includes one SubAuthority] */
0, /* TokenUIAccess */
0, /* TokenMandatoryPolicy */
0 /* TokenLogonSid */
@@ -507,6 +507,20 @@ NTSTATUS WINAPI NtQueryInformationToken(
FIXME("QueryInformationToken( ..., TokenSessionId, ...) semi-stub\n");
}
break;
+ case TokenIntegrityLevel:
+ {
+ /* report always "S-1-16-12288" (high mandatory level) for now */
+ static const SID high_level = {SID_REVISION, 1, {SECURITY_MANDATORY_LABEL_AUTHORITY},
+ {SECURITY_MANDATORY_HIGH_RID}};
+
+ TOKEN_MANDATORY_LABEL *tml = tokeninfo;
+ PSID psid = tml + 1;
+
+ tml->Label.Sid = psid;
+ tml->Label.Attributes = SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED;
+ memcpy(psid, &high_level, sizeof(SID));
+ }
+ break;
default:
{
ERR("Unhandled Token Information class %d!\n", tokeninfoclass);
More information about the wine-cvs
mailing list