Author: ion Date: Fri Aug 30 19:54:44 2013 New Revision: 59909
URL: http://svn.reactos.org/svn/reactos?rev=59909&view=rev Log: [NTOSKRNL]: Forcefully set IMAGE_DLLCHARACTERISTICS_NO_ISOLATION on all images. See comment for more information. Windows' kernel32.dll now beautifully loads to the ReactOS winlogon screen (which nobody should ever see -- it's being shown because RtlDefaultNpAcl is not implemented in ReactOS, and thus all named pipes die (SCM, etc...)
Modified: trunk/reactos/ntoskrnl/mm/section.c
Modified: trunk/reactos/ntoskrnl/mm/section.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/section.c?rev=5... ============================================================================== --- trunk/reactos/ntoskrnl/mm/section.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/section.c [iso-8859-1] Fri Aug 30 19:54:44 2013 @@ -437,7 +437,22 @@ ImageSectionObject->ImageInformation.LoaderFlags = piohOptHeader->LoaderFlags;
if (RTL_CONTAINS_FIELD(piohOptHeader, cbOptHeaderSize, DllCharacteristics)) + { ImageSectionObject->ImageInformation.DllCharacteristics = piohOptHeader->DllCharacteristics; + + /* + * Since we don't really implement SxS yet and LD doesn't supoprt /ALLOWISOLATION:NO, hard-code + * this flag here, which will prevent the loader and other code from doing any .manifest or SxS + * magic to any binary. + * + * This will break applications that depend on SxS when running with real Windows Kernel32/SxS/etc + * but honestly that's not tested. It will also break them when running no ReactOS once we implement + * the SxS support -- at which point, duh, this should be removed. + * + * But right now, any app depending on SxS is already broken anyway, so this flag only helps. + */ + ImageSectionObject->ImageInformation.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_NO_ISOLATION; + }
break; }