Commit graph

73 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
7353af1e3d
[NTDLL:CSR][CSRSRV] Start to deprecate CSR functions removed on Windows 2003.
The server-side CsrSrvIdentifyAlertableThread and CsrSrvSetPriorityClass
functions are completely removed in Win2k3+, and are since stubbed by
CsrSrvUnusedFunction instead. They however were present up to Windows XP,
albeit with an extremely minimal implementation.

The corresponding client-side CsrIdentifyAlertableThread and CsrSetPriorityClass
now become just stubs that either trivially succeed or fail, respectively.

See https://www.geoffchappell.com/studies/windows/win32/csrsrv/api/srvinit/apidispatch.htm
for more information.

- Fix typo "al*T*ertable" --> "alertable".
- Remove ROS-specific CSRSS_IDENTIFY_ALERTABLE_THREAD that was
  deprecated since ages (at least before 2005)!
2021-11-22 00:13:34 +01:00
Victor Perevertkin
8e1fa03456
[CMAKE] Replace custom scripts in compilerflags with standard ones
- add_target_link_flags changed to target_link_options
- add_target_property changed to set_property(... APPEND ...)
2021-09-14 17:56:22 +03:00
Hermès Bélusca-Maïto
9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Stanislav Motylkov
3f4c98a425
[ARM] Fix some compilation errors for ARM
CORE-17634 CORE-17604
2021-09-09 19:40:20 +03:00
Joachim Henze
4cc2c350ef [LDR] Disable Logging when images overlap CORE-17635
We found out what we wanted to find out:
the remaining TODOs for the Python script.

So we can silence the DPRINTs again for the time being
to reduce spam from 3rd party dlls.
Paying tribute to Mark Jansen ;)
2021-08-06 19:25:14 +02:00
Serge Gautherie
513f3d179c [NTDLL] LdrpWalkImportDescriptor(): Fix 'Status' copypasta
Addendum to f6cd52a (r70646).
2021-07-06 08:26:26 +02:00
Joachim Henze
d042f51838 [LDR] Restore Logging when images overlap CORE-17635
This reverts
0.4.13-dev-284-g 74be88ac47

The logging is helpful to alert us when we should really
recalculate the base addresses for performance reasons.
Spams a bit sometimes, sure, but it's worth it!
2021-06-16 13:38:51 +02:00
Serge Gautherie
249f2388bd
[REACTOS] Fix parameter types on some exports (#3217)
Fix some wrong parameter types on some exports in NTDLL, KERNEL32, WTSAPI32, and NTOSKRNL.
2021-05-01 21:11:34 +02:00
Hervé Poussineau
ae4ce99e00 [ASM x64] Fix usage of macro .allocstack
.allocstack only accepts one 'size' parameter."
2021-01-28 20:31:16 +01:00
Hervé Poussineau
ff7035d940 [ASM x64] Change ; by /* */ for comments
Syntax with semi-colon is not supported by gas.
2021-01-07 21:12:11 +01:00
Jérôme Gardou
c8d07514c8 [CMAKE] Fix GCC -fstack-protector usage 2021-01-05 13:38:57 +01:00
Timo Kreuzer
2a8c680dbe [NTOS:KE:X64][NTDLL:X64] Implement KiUserExceptionDispatcher and fix KiDispatchExceptionToUser 2020-10-31 14:23:16 +01:00
Timo Kreuzer
fdc1261fb7 [NTOS:KE:X64][NTDLL:X64] Implement x64 version of user callback code 2020-10-31 14:23:16 +01:00
Hermès Bélusca-Maïto
d86301f72b
[NTDLL:CSR] Perform more thorough validation of the parameters in CsrAllocateCaptureBuffer().
Complements commit 7e2db773.

- Validate the argument count.

- Validate the total buffer size: the total size of the header plus
  the pointer-offset array and the provided buffer, together with
  the alignment padding for each argument, must be less than MAXLONG
  aligned to 4-byte boundary.
2020-10-05 02:22:45 +02:00
Hermès Bélusca-Maïto
b3fa53f818
[NTDLL:CSR] Fix a bug in the calculation of the capture buffer size in CsrAllocateCaptureBuffer().
Take the alignment padding for each argument into account, **BEFORE**
doing the final size alignment on a 4-byte boundary. Thus, the capture
buffer size value is properly aligned, and passes the validation tests
on the server side (in CSRSRV!CsrCaptureArguments), see commit 7e2db773.

This bug was put in evidence in x64 builds where the memory alignments
were more tight than in the x86 builds.
2020-10-05 02:22:43 +02:00
Thomas Faber
1c404d838a
[NTDLL:LDR] Fail if section creation fails in LdrpCreateDllSection. CORE-17284
Otherwise we'd call ZwQuerySection on an invalid handle and get:
(ntoskrnl/mm/section.c:4320) Failed to reference section: 0xc0000008

Also correctly check DllCharacteristics: If the argument is missing, the
file is _not_ a system file, i.e. we should check for restrictions.
2020-10-03 13:10:09 +02:00
William Kent
427ea67b9c
[RTL] Add code to SxS manifest parser to parse XML namespaces (#2512)
* [XDK] Typo fix
* [XDK] Add missing ACTIVATION_CONTEXT_SECTION values
* [RTL] Merge changes from Wine
* [ROSTESTS] Fix typo
* [NTDLL] Typo fix
* Add test for new functionality
* [ROSTESTS] Fix path
* [ROSTESTS] Add test to testlist.c
2020-09-20 22:56:42 +02:00
Serge Gautherie
889b077b23
[REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
Timo Kreuzer
61192390cf
[KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista (#3149)
* Move RtlRunOnce functions from kernel32_vista to rtl_vista and export them from ntdll_vista
* Move condvar.c and srw.c from ntdll_vista to rtl_vista
* Move ntdll_vista build script to a subfolder of ntdll

The RtlRunOnce functions are taken from wine, completely unmodified.
The code that was in kernel32_vista had change that used a global keyed_event handle, but was never initialized, so we were still passing NULL thus using the global ExpCritSecOutOfMemoryEvent.
2020-09-12 15:04:02 +02:00
Timo Kreuzer
92f4746845 [NTDLL] Add Vista exports 2020-09-09 19:33:29 +02:00
Timo Kreuzer
aaa7dda945 [NTDLL] Mark 2k3 only functions and improve some arch specific definitions 2020-09-09 19:33:29 +02:00
Amine Khaldi
139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905 2020-06-06 21:58:41 +03:00
Timo Kreuzer
cb99761bc1 [NTDLL] Use lowest OS version GUID in the application manifest, instead of highest 2020-05-31 13:14:01 +02:00
Timo Kreuzer
f323778b0b [NTDLL] Rename ExportEntry to ExportDirectory to better represent what it is 2020-05-23 17:30:52 +02:00
Katayama Hirofumi MZ
612729b092
[SYSSETUP][BOOTDATA] Make Server default again and write Service Pack (#2749)
- Make "ReactOS Server" the default product option again instead of "ReactOS Workstation".
- Write "Service Pack" info onto registry.
- Add ProductOption option to bootcd unattend.inf.
- Delete IDC_PRODUCT_SUITE and IDC_PRODUCT_TYPE controls.
CORE-17028
2020-05-19 15:41:26 +09:00
Mark Jansen
d5f0b2b160
[RTL] Implement LdrpRecordUnloadEvent 2020-04-26 14:35:51 +02:00
Serge Gautherie
f44cb6de96
[NDK][NTDLL] RtlGetNtProductType(): Update it with SAL2 annotations 2020-04-26 14:08:58 +02:00
Mark Jansen
1e0f359fa7
[LDR] Add initial LOAD_CONFIG support 2020-04-17 17:47:24 +02:00
Mark Jansen
177ae91bf6
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857
2020-03-29 21:27:38 +02:00
Mark Jansen
2801a8272d
[LDR] Include source dll in static snap failure dprint 2020-03-29 21:02:31 +02:00
Oleg Dubinskiy
6f232770d3
[NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671 2020-02-09 08:37:58 +01:00
Mark Jansen
8381e29467
[NTDLL] Add policy kill-switch for manifest based automatic shimming
CORE-16631
2020-01-25 13:23:54 +01:00
Timo Kreuzer
ff29d18002 [NTDLL] Architecture specific spec file improvements 2020-01-03 13:00:45 +01:00
Timo Kreuzer
e92f96bd38 [NTDLL] Remove redundant Zw* -> Nt* forwarders 2020-01-03 13:00:45 +01:00
Timo Kreuzer
2ae394e474 [NTDLL] Add some more stub exports 2020-01-03 13:00:45 +01:00
Timo Kreuzer
5fa4fd7bef [RTL][NTDLL] Add some function stubs
- LdrSetAppCompatDllRedirectionCallback
- RtlCancelTimer
- RtlCreateServiceSid
- RtlQueryProcessHeapInformation
- RtlQueueApcWow64Thread
- RtlSetTimer
- RtlUnhandledExceptionFilter2
- RtlpNotOwnerCriticalSection
2020-01-03 13:00:45 +01:00
Timo Kreuzer
150353ebf3 [NTDLL] Export some more existing functions 2020-01-03 13:00:45 +01:00
Timo Kreuzer
d1c55af4ea [NTDLL] Ordinals -> @ 2020-01-03 13:00:45 +01:00
Thomas Faber
8d3f52a2ca
[NTDLL:LDR] Add a print on illegal DLL relocation. 2019-12-27 17:02:26 +01:00
Mark Jansen
029b8f2cf9
[NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
Mark Jansen
419d7e96ad
[NTDLL][ARM] Export pow 2019-08-20 22:31:55 +02:00
Mark Jansen
343442cc3f
[LDR][APPHELP] Add a shim that disables manifest compatibility version parsing 2019-08-19 12:08:06 +02:00
Timo Kreuzer
7611cc2b12 [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
Hervé Poussineau
74be88ac47 [LDR] Silence some debug logs when images overlap 2019-05-27 13:24:28 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Mark Jansen
a1f6a6bdc3
[LDR] Do not call module entrypoints while loading the shim engine.
Manually call the shim engine entrypoint
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
27cc4c6a08
[LDR] Check forwarded imports against the manifest before trying to load them
CORE-15729
2019-02-08 21:24:01 +01:00
Mark Jansen
d93e516747
[LDR] Add support for .local files
CORE-187
2019-02-07 18:48:49 +01:00
Mark Jansen
6d89d19f39
[LDR] Ensure we start with a valid pointer 2019-01-03 22:52:18 +01:00
Mark Jansen
aa912422e5
[LDR] Actually allocate what is asked for 2019-01-03 22:52:18 +01:00