reactos/ntoskrnl/include/internal
Hermès Bélusca-Maïto 4d494caf61
[NTOS:SE] Overhaul the token management code.
- Overhaul SepCreateToken() and SepDuplicateToken() so that they
  implement the "variable information area" of the token, where
  immutable lists of user & groups and privileges reside, and the
  "dynamic information area" (allocated separately in paged pool),
  where mutable data such as the token's default DACL is stored.
  Perform the necessary adaptations in SepDeleteToken() and in
  NtSetInformationToken().

- Actually dereference the token's logon session, when needed, in the
  'TokenSessionReference' case in NtSetInformationToken().

- Overhaul SepFindPrimaryGroupAndDefaultOwner() so that it returns
  the indices of candidate primary group and default owner within the
  token's user & groups array. This allows for fixing the 'TokenOwner'
  and 'TokenPrimaryGroup' cases of NtSetInformationToken(), since the
  owner or primary group being set *MUST* already exist in the token's
  user & groups array (as a by-product, memory corruptions that existed
  before due to the broken way of setting these properties disappear too).

- Lock tokens every time operations are performed on them (NOTE: we
  still use a global token lock!).

- Touch the ModifiedId LUID member of tokens everytime a write operation
  (property change, etc...) is made on them.

- Fix some group attributes in the SYSTEM process token, SepCreateSystemProcessToken().

- Make the SeCreateTokenPrivilege mandatory when calling NtCreateToken().

- Update the token pool tags.

- Explicitly use the Ex*ResourceLite() versions of the locking functions
  in the token locking macros.
2018-06-27 23:40:18 +02:00
..
amd64 [NTOS:MM] Make x64 address space layout more like Vista+ 2018-02-05 01:09:32 +01:00
arch
arm [NTOS:MM] Add support for NX page-faults 2018-01-06 18:20:24 +01:00
i386 [NTOSKRNL] Define the Mm global variables related to Cc on Mm init. 2018-02-06 13:41:23 +01:00
powerpc
cc.h [NTOSKRNL] Drop the VACB lock. 2018-04-15 22:52:53 +02:00
cm.h
cm_x.h
dbgk.h
ex.h [NDK] Replace the SYSTEMTIME fields StandardDate and DaylightDate in RTL_TIME_ZONE_INFORMATION by TIME_FIELDs and fix resulting errors 2018-05-31 17:48:29 +02:00
fsrtl.h
hal.h
hdl.h
inbv.h [NTOS:INBV] Simplify a little bit the BootLogoFadeIn() function 2018-01-03 02:57:28 +01:00
io.h [NTOSKRNL] Set the DRVO_BUILTIN_DRIVER DriverObject flag when a built-in driver is created using IoCreateDriver(). 2018-04-22 16:52:38 +02:00
io_i.h
io_x.h
kd.h [NTOS:KD] Pass PreviousMode down to KdpPrintString, since ExGetPreviousMode is not accurate. CORE-14103 2017-12-14 11:46:18 +01:00
kd64.h [NTOS] Add some header guards. 2017-12-12 12:42:13 +01:00
ke.h [NTOSKRNL] Implement KeQueryValuesProcess(). 2018-05-25 21:40:39 +02:00
ke_x.h
ldr.h
lpc.h
lpc_x.h
mm.h [NTOS:MM] Do not map two pages into hyperspace in MiCopyFromUserPage. CORE-14548 2018-04-15 20:07:21 +02:00
napi.h
ntoskrnl.h
ob.h [NTOSKRNL] Implement (with many FIXMEs) ObReferenceFileObjectForWrite() so that it can already do the job! 2017-11-12 22:39:40 +01:00
ob_x.h
po.h
probe.h
ps.h [NTOS:PS] Adjust the PsReferenceEffectiveToken() prototype in the header; add a comment about the fact that the ImpersonationLevel parameter can be left untouched on purpose in one special case. 2018-06-27 23:40:13 +02:00
ps_i.h
ps_x.h
rtl.h
se.h [NTOS:SE] Overhaul the token management code. 2018-06-27 23:40:18 +02:00
spinlock.h
tag.h [NTOS:SE] Overhaul the token management code. 2018-06-27 23:40:18 +02:00
test.h
vdm.h