reactos/sdk/include
Hermès Bélusca-Maïto d8cc88ca80
[KERNEL32][BASESRV] Fix interoperability with Win2k3 regarding NLS section security. (#4828)
Partially revert some aspects of commits 5696e4ba4 and bf40c7a31.
(See PR #4340.)

In order for Win2k3 kernel32.dll to operate with our basesrv.dll (or our
kernel32.dll to operate with Win2k3 basesrv.dll), we need in particular
to have the CreateNlsSecurityDescriptor() helper to exactly take the
expected parameters. Namely, a pointer to a **user-allocated**
SECURITY_DESCRIPTOR buffer, its size (and an access mask).

The function expects its caller to provide all this, and the caller expects
the function to initialize the security descriptor buffer. Note that the
function does *NOT* allocate a new descriptor buffer to be returned!

Indeed, with the way it currently is in master, using Win2k3 kernel32
with our basesrv is now failing with the errors:
```
NLSAPI: Could NOT Create ACL - c0000023.
(subsystems/win/basesrv/nls.c:279) NLS: CreateNlsSecurityDescriptor FAILED!: c0000023
NLSAPI: Could NOT initialize Server - c0000023.
(dll/ntdll/ldr/ldrinit.c:867) LDR: DLL_PROCESS_ATTACH for dll "kernel32.dll" (InitRoutine: 77E40D95) failed
```
(and, if we ever attempted to increase the so-claimed "dummy parameter"
descriptor size in the basesrv call, we would end up with its stack
corrupted and a crash).
Conversely, using our kernel32 with Win2k3 basesrv, would end up with
basesrv receiving a wrongly-initialized descriptor that would not work
(the buffer not being initialized with the contents of a descriptor, but
instead receiving some address to a descriptor allocated somewhere else).
2022-11-01 02:34:04 +01:00
..
asm [NTOS] Add MxCsr handling to trap handlers 2022-08-22 11:22:08 +02:00
c++ [GITHUB] Add MSVC ARM64 builder 2022-05-25 21:10:17 +03:00
crt [CRT] Fix amd64 floating point control functions 2022-08-22 11:22:08 +02:00
ddk [INCLUDE] immdev.h: Adapt INPUTCONTEXTDX to C++ 2022-10-15 08:13:22 +09:00
dxsdk [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
GL [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
host [SDK] Fix definition of IMAGE_NT_HEADERS64 in host tools 2021-04-28 13:10:23 +02:00
ndk [RTL][NTDLL_APITEST] Implement RtlRemovePrivileges (#4614) 2022-10-05 14:31:39 +02:00
psdk [PSDK] Formatting for COPY_FILE_* and FILE_FLAG_* defines. 2022-11-01 02:29:23 +01:00
reactos [KERNEL32][BASESRV] Fix interoperability with Win2k3 regarding NLS section security. (#4828) 2022-11-01 02:34:04 +01:00
wdf/kmdf/1.17
xdk [REACTOS] Finally get some ARM64 applications building (#4517) 2022-05-25 17:06:32 +03:00