Commit graph

100 commits

Author SHA1 Message Date
Jérôme Gardou
073ec9b0d4 [NTOSKRNL][NDK] Get rid of SECTION_OBJECT typedef
We will use the more recent SECTION (already used in ARM3) and this will avoid confusions
2021-02-03 09:41:21 +01:00
George Bișoc
1903b568b6
[NTOS:SE] Implement SECURITY_TOKEN_PROXY_DATA, SECURITY_TOKEN_AUDIT_D… (#3432)
ProxyData and AuditData are pointers to an arbitrary data, which instead, they should point to their respective data structures. This serves as preparation for SepFreeProxyData and SepCopyProxyData functions implementations in the future (regarding the proxy data stuff specifically).

For further details:
https://www.vergiliusproject.com/kernels/x86/Windows%202003/SP2/_TOKEN
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_AUDIT_DATA.html
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_PROXY_DATA.html
https://www.nirsoft.net/kernel_struct/vista/PROXY_CLASS.html
2021-02-02 01:55:42 +03:00
Jérôme Gardou
6a4c6ea5d0 [RTL] Implement RtlTryAcquireSRWLockExclusive & RtlTryAcquireSRWLockShared 2021-01-29 18:42:54 +01:00
Victor Perevertkin
798fc13b48
[NTOS:PNP] Implement NT5.2-like DEVICE_NODE state management
- Use DeviceNode->State field and its values, instead of
  DeviceNode->Flags for tracking current node state
- Change DNF_* flags to the ones compatible with Windows XP+
- Simplify state changes for device nodes and encapsulate all the logic
  inside the PiDevNodeStateMachine routine. This makes the ground for
  future improvements in the device removal sequence and
  resource management
- Now values inside DeviceNode->State and ->Flags are compatible with
  the windbg !devnode macro and can be tracked using it
- BUGFIX: fixed cases where IRP_MN_START_DEVICE or
  IRP_MN_QUERY_DEVICE_RELATIONS may be sent to a device after a
  IRP_MN_REMOVE_DEVICE

CORE-7826
2021-01-27 05:15:15 +03:00
Alex Henrie
35f3034879
[NDK] "Reserved" member in SYSTEM_PROCESSOR_INFORMATION is "MaximumProcessors" for Windows 8+ (#3421)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-01-09 23:15:36 +01:00
Hermès Bélusca-Maïto
de16ef3da0
[NDK] Add missing nop NEC definitions if not X86 (for consistency with what's done in the kernel-mode headers). Addendum to 9feab8e9. 2020-11-26 02:05:59 +01:00
Hermès Bélusca-Maïto
9feab8e95a
[NDK][XDK] Add some missing macros for run-time checks of X86 system architecture (NEC support). 2020-11-26 00:29:34 +01:00
Victor Perevertkin
5c7ce4475e
[REACTOS] Cleanup INIT and some PAGE section allocations
- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes
- Remove alloc_text pragma calls as they are not needed anymore
2020-11-02 21:45:31 +03:00
Victor Perevertkin
658f742c2d
[NDK][CMAKE] Introduce DATA_SEG and CODE_SEG macro
These are for putting code and data to non-default sections
At the same time, move INIT section attributes declaration to cmake files
2020-11-02 21:27:06 +03:00
Timo Kreuzer
2a8c680dbe [NTOS:KE:X64][NTDLL:X64] Implement KiUserExceptionDispatcher and fix KiDispatchExceptionToUser 2020-10-31 14:23:16 +01:00
Timo Kreuzer
0e5a4d5afe [PSDK] Import some SAL headers from MS
Taken from https://github.com/microsoft/ChakraCore/tree/master/pal/inc/rt

* Move _Check_return_opt_ and _Check_return_wat_ to crtdefs.h
* Update sal.h from https://github.com/microsoft/ChakraCore/blob/master/pal/inc/rt/sal.h
* Import no_sal2.h from MS and remove the one in NDK
* Import specstrings.h from MS
* Import specstrings_strict.h from MS
* Add specstrings_undef.h (based on defines in specstrings_strict.h)
* Remove __REACTOS__ hacks from cdfs
2020-10-29 06:51:28 +01:00
Jérôme Gardou
15dd31377a Revert "[NTOS/MM] Initialize process Working set and start implementing adding entries to it"
This reverts commit 5abc016401.
Not ready for prime time
2020-10-20 15:56:53 +02:00
Jérôme Gardou
5abc016401 [NTOS/MM] Initialize process Working set and start implementing adding entries to it 2020-10-20 15:20:59 +02:00
Victor Perevertkin
d01518da7c
[XDK] Add definitions required for newer storage class drivers (cdrom)
That introduced some warnings in the current code which were corrected as well

CORE-17129
2020-09-24 22:30:52 +03:00
Joachim Henze
abbe656407 [SDK][NDK][PSTYPES] Fix regressions CORE-17247 & CORE-17248
By reverting the guilty rev 0.4.14-dev-1239-g
7481bda679

and placing a C_ASSERT() to protect us from doing the
same fault again in the future. (proposed by Mark Jansen)

This will allow again to use kernel32.dll from 2k3sp2 to
reach desktop and it will allow Google Earth to run again.

Unfortunately it will break CORE-16757 again,
but we did not ship that improvement yet
and we believe that revert to be correct.

When approaching CORE-16757 later, make sure to double-check
also CORE-17247 & CORE-17248 with your fix.

We did excessive testing here, see
https://jira.reactos.org/browse/CORE-17247?focusedCommentId=125166&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-125166
2020-09-07 20:32:00 +02:00
George Bișoc
f87fb4e3df
[NTOS:RTL] Implement the kernel-mode version of RtlGetNtProductType (#3029)
RtlGetNtProductType comes into two variants: one in user-mode that is exported for use from NTDLL layer and the kernel-mode that is used exclusively by the NT kernel. The kernel-mode variant of the function is not exported.
2020-08-26 17:40:45 +03:00
Thomas Faber
2c4a554d72
[NDK] Complete range list function & structure declarations. CORE-6372
* Add the remaining functions & annotate.
* Add the RTLP_RANGE_LIST_ENTRY structure, which is present in symbols

Note: range list declarations should really be !NTOS_MODE_USER, since ntdll
doesn't export these functions; however, our RTL itself is built with
NTOS_MODE_USER, so that's not an option at this point.
2020-08-15 21:31:29 +02:00
Thomas Faber
db180c29c7
[NTOS:SE] Implement job case in PsImpersonateClient. CORE-8787 2020-05-17 16:05:00 +02:00
Serge Gautherie
aa6e11b549
[NDK][XDK] Add 3 CM_RESOURCE_INTERRUPT_* defines (#2755) 2020-05-14 14:31:53 +02:00
Mark Jansen
362f4b5915
[NDK] Fix RTL_UNLOAD_EVENT_TRACE_NUMBER 2020-04-26 14:35:45 +02:00
Serge Gautherie
f44cb6de96
[NDK][NTDLL] RtlGetNtProductType(): Update it with SAL2 annotations 2020-04-26 14:08:58 +02:00
Mark Jansen
234dfd4f2e
[NDK] Fix RTL_DEBUG_INFORMATION definition 2020-04-26 13:44:01 +02:00
Mark Jansen
de6e160841
[NDK] Fix BackTrace size in RTL_PROCESS_BACKTRACE_INFORMATION 2020-04-26 13:44:01 +02:00
Mark Jansen
01dc54056f
[NDK] Add STACK_TRACE_DATABASE definition 2020-04-26 13:44:01 +02:00
Katayama Hirofumi MZ
774ef4e80e
[SDK][RTL][NTDLL_APITEST] Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap (#2641)
- Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap functions (2k3+).
- Add a testcase for two functions.
CORE-12026
2020-04-24 17:45:43 +09:00
Hermès Bélusca-Maïto
7e0927a39f
[FLTMGR][NDK] Fix typos. 2020-04-09 16:05:26 +02:00
Vadim Galyant
3c585d0e38
[NTOS:MM] Since the _MMPTE_SUBSECTION structure for x86 (without PAE) uses the SubsectionAddressLow truncated by the least significant three bits, the _CONTROL_AREA, _LARGE_CONTROL_AREA, _SUBSECTION, _MSUBSECTION structures must be 8-byte aligned.
Corresponding checks in MmArmInitSystem() have been removed.
2020-04-06 11:16:34 +02:00
Mark Jansen
4b2665046d
[NDK] Ensure RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK is available regardless of NTOS_MODE_USER being defined.
CORE-14857
2020-03-29 21:27:38 +02:00
Andreas Maier
782ff23261
[MSV1_0] LsaApLogonUserEx2: use RtlRunDecodeUnicodeString to decode password 2020-03-28 23:27:34 +01:00
Bișoc George
7481bda679
[SDK][NDK][PSTYPES] Align the PROCESS_PRIORITY_CLASS structure during compile time (#2478)
CORE-16757

After doing investigations on the priority class structure alignment, it's been revealed that in Windows XP and Server 2003 this PROCESS_PRIORITY_CLASS structure is aligned as a 4-bytes of size hence NtQueryInformationProcess() probes the alignment of user mode arguments buffer output and buffer length with requirement of a ULONG.

As PROCESS_PRIORITY_CLASS was initially aligned as a 1-byte size because both BOOLEAN and UCHAR are just unsigned characters, the compiler may not align such structure and gracefully let the default alignment of such structure as is, 1-byte because an unsigned char has a size of 1 byte. Setting an align attribute to this structure fixes the problem of a potential datatype misalignment which caused GetPriorityClass() to not retrieve the process' priority class properly.
2020-03-28 19:17:10 +01:00
Vadim Galyant
ae0e0569d5
[SDK][NDK] MMPTE for PAE (#2453)
This not only makes PAE possible, but also allows to make the definitions and macros in the memory manager header files more human-readable.

CORE-16702

* [SDK][NDK] Make the _MMPTE_HARDWARE structure more compact and more human-readable.

* [SDK][NDK] Add definitions a struct _MMPTE for PAE mode.
2020-03-28 13:45:51 +01:00
Hervé Poussineau
ff045b2dbe [NDK] Fix RTL_PAGED_CODE macro in user mode
NOP_FUNCTION is defined to "(void)0". Calling :
	RTL_PAGED_CODE();
in user mode was changed to:
	(void)0();

As "0" is not callable, this was leading to a compilation error.
2020-03-26 16:39:16 +01:00
Timo Kreuzer
a22ab61a87 [SDK] Improve x64 definition of DISPATCHER_CONTEXT 2020-02-09 15:56:30 +01:00
Oleg Dubinskiy
6f232770d3
[NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671 2020-02-09 08:37:58 +01:00
Timo Kreuzer
fb0ebac349 [NDK][XDK][RTL] Fix definition of RtlFillMemoryUlong on x64 2020-01-03 13:00:45 +01:00
Thomas Faber
053510467f
[NDK] RtlFindCharInUnicodeString is only available in user mode. 2019-12-31 15:17:53 +01:00
Hermès Bélusca-Maïto
28b77a40ca
[NDK][NTOS:INBV] Remove non-exported INBV functions from NDK; do some cleanup in INBV headers; label both InbvSetProgressBarSubset() and InbvSetProgressBarCoordinates() as INIT_FUNCTION since they are used only for the boot splash. And fix MSVC build. 2019-11-25 15:54:45 +01:00
Hermès Bélusca-Maïto
04c8ed493d
[NDK] Addendum to 592f01a5, fix build. 2019-11-25 02:28:08 +01:00
Hermès Bélusca-Maïto
54c03f6965
[NTOS:KD64] Some code formatting + add SAL2 annotations to the functions that are going to be involved in the next commit.
+ s/ReturnStatus/Status/ , and get rid of Win32 LPSTR and replace by
  PCHAR (since the concerned code deals with counted strings).
2019-11-17 23:21:53 +01:00
Hermès Bélusca-Maïto
6c1aac6948
[NTOS] Complete the support of Debug Filters. CORE-13529
- KD64: Update the list of supported Debug Filter Masks (KdComponentTable)
  with the more up-to-date one from KDBG, that includes some components
  that have been added in Vista+, but some of which we also use in ReactOS.

- NtQueryDebugFilterState(), NtSetDebugFilterState() and KdpPrint():
  Add the Vista+ behaviour or falling back to the DEFAULT component ID
  settings for unknown Components (compiled in only wheen NTDDI_VERSION >= NTDDI_VISTA).
  + Remove redundant comments and update these functions with SAL2 annotations.

- KDBG: Add extra documentation for the debug filter components list.

- CONFIG: Load all the supported Debug Filter Masks settings from the
  registry.
2019-11-17 23:21:53 +01:00
Eric Kohl
13bb5e2317 [umpnpmgr][ndk] Implement PNP_RequestDeviceEject() and update unknown type in PLUGPLAY_CONTROL_QUERY_REMOVE_DATA 2019-10-15 22:40:06 +02:00
Mark Harmstone
43a8d871bf
[FREELDR] Set LDRP_IMAGE_INTEGRITY_FORCED if necessary. (Part of PR #1905)
+ Add extra information.
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2019-10-14 00:49:00 +02:00
Eric Kohl
e83b256f65 [NDK] Fix coding style and indentation. No code changes! 2019-10-13 23:50:22 +02:00
Hermès Bélusca-Maïto
7d5577c21e
[SDK][NDK] Add two missing documented GDT selector names.
Add KGDT_NULL and KGDT_VDM_TILE to the list of known GDT name defines.
See https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/dg--display-selector-
2019-10-13 19:57:54 +02:00
Eric Kohl
7633ebcfde [NDK] Add PLUGPLAY_CONTROL_QUERY_REMOVE_DATA type 2019-10-13 15:25:47 +02:00
Pierre Schweitzer
8c7b84bb5c
[SDK] Define RtlGetNativeSystemInformation() 2019-10-02 10:50:59 +02:00
Pierre Schweitzer
3f63f236ba
[SDK] Make our MEMORY_SECTION_NAME definitions consistent.
I choose the definition which is also used by Wine & Chromium.

CORE-12043
2019-09-29 14:18:11 +02:00
Mark Jansen
8a86264f14
[NDK][ARM] Stub a few required types for bootlib 2019-08-20 22:28:11 +02:00
Mark Jansen
b5dc79c963
[CMAKE] Some arm cmake fixes 2019-08-20 22:27:59 +02:00
Timo Kreuzer
f18958ffa2 [NDK] Add BIOS call API for amd64 2019-08-15 14:13:54 +02:00