Timo Kreuzer
d58a040eb2
[RTL] Move ReactOS specific actctx init code into it's own function
2024-11-05 10:54:21 +02:00
Mark Jansen
24a56f89ab
Rework apisets to use a table
...
This removes all fake apiset forwarders,
and handles apisets inside ntdll.
This is not 100% compatible with how windows does it, but it should be good enough for us.
2024-04-27 22:51:34 +02:00
Katayama Hirofumi MZ
1cc721e6d5
[NTDLL][NTDLL_APITEST] Add LdrLoadDll testcase ( #6563 )
...
JIRA issue: CORE-6585
- Add one comment into LdrpLoadDll function.
- Add LdrLoadDll testcase.
2024-03-06 07:58:07 +09:00
Elliot Killick
932aef40f7
[LDR][NDK] Fix inconsistent Cookie type ( #6188 )
...
Make LdrUnlockLoaderLock Cookie type consistent with LdrLockLoaderLock
and LdrpMakeCookie functions.
In addition:
* Adjustment of the formatting string for ULONG_PTR;
* ntdll.spec: specify ptr for 2nd parameter of LdrUnlockLoaderLock:
This is a parameter whose length is pointer-like, platform-dependent.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-12-23 22:13:47 +01:00
Timo Kreuzer
86f2d4cd4e
[NTDLL] Initialize keyed event for condition variables
2023-12-16 13:52:15 +02:00
Ratin Gao
bd0a5498b0
[NTDLL:LDR] Little fixes about SAL annotation and behavior ( #5793 )
...
- Uniform function declarations in .c and .h with fixes and SAL2 improvements.
- Use LDR_[UN]LOCK_LOADER_LOCK_FLAG_XXX correctly.
- Fix incorrect UsedSize calculation in LdrQueryProcessModuleInformationEx (caught by ThFabba).
- Whatever the callback request stop the enumeration or not in LdrEnumerateLoadedModules, the following operations should be the same.
- Fix 2 incorrect DPRINT1 that printed incorrect parameter.
- Return error if RtlAllocateHeap failed in LdrpGetProcedureAddress, and add comments about NT6.2 new changes.
2023-11-15 20:59:32 +01:00
Ratin Gao
be5c889cdf
[NTDLL:LDR] SAL improvements and fixes
...
- Convert some notations to SAL2
- "Name" parameter in LdrGetProcedureAddress/LdrpGetProcedureAddress should be optional
- "DllCharacteristics" parameter in LdrGetDllHandle should be optional
2023-10-04 12:26:18 +03:00
Hermès Bélusca-Maïto
dff55c9d33
[NTDLL][RTL] Move RtlpTimeoutDisable definition to the RTL ( #4089 )
2023-09-21 13:33:27 +02:00
Hermès Bélusca-Maïto
6f89a48349
[NTDLL:LDR] Fix process LoadConfig CS timeout conversion from ms to 100ns units ( #4089 )
...
For more details, see
https://forums.codeguru.com/showthread.php?370731-EnterCriticalSection-locking&p=1302399#post1302399
2023-09-21 13:33:26 +02:00
Hermès Bélusca-Maïto
903a3dc622
[NTDLL][RTL] Fix english typo in (internal) function name.
2023-09-21 13:33:18 +02:00
Mark Jansen
15d491fb29
[NTDLL] Implement LdrInitShimEngineDynamic.
...
This is the final step required to properly support SE_DynamicShim
CORE-13283
2022-10-26 20:12:21 +02:00
Hermès Bélusca-Maïto
4dd734e92c
[NTDLL:LDR] Don't hardcode process-execute flag values. ( #4111 )
2022-01-14 23:59:32 +01: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
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
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
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
Mark Jansen
d5f0b2b160
[RTL] Implement LdrpRecordUnloadEvent
2020-04-26 14:35:51 +02:00
Mark Jansen
1e0f359fa7
[LDR] Add initial LOAD_CONFIG support
2020-04-17 17:47:24 +02:00
Mark Jansen
2801a8272d
[LDR] Include source dll in static snap failure dprint
2020-03-29 21:02:31 +02: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
5fa4fd7bef
[RTL][NTDLL] Add some function stubs
...
- LdrSetAppCompatDllRedirectionCallback
- RtlCancelTimer
- RtlCreateServiceSid
- RtlQueryProcessHeapInformation
- RtlQueueApcWow64Thread
- RtlSetTimer
- RtlUnhandledExceptionFilter2
- RtlpNotOwnerCriticalSection
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
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
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
Mark Jansen
3e9cf62470
[LDR] Don't dereference a possible nullptr on a malformed forwarded import
2019-01-03 22:52:18 +01:00
Mark Jansen
97d0595bf6
[LDR] Don't dereference a possible nullptr
2019-01-03 22:52:06 +01:00
Mark Jansen
04ff7481b1
[LDR] Introduce a private heap for the loader.
...
This ensures we can still do stuff when the process heap is corrupted.
2019-01-01 16:20:13 +01:00
Thomas Faber
0013b0f71c
[NTDLL:LDR] Avoid passing an uninitialized variable to another function.
2018-12-28 13:41:09 +01:00
Mark Jansen
1a9b50690a
[LDR] Include dllname in snap failure DPRINT.
...
CORE-15135
2018-10-03 19:34:14 +02:00
Mark Jansen
06eb99edef
[NTDLL][KERNEL32] Implement FLS callbacks.
2018-09-15 17:56:03 +02:00
Mark Jansen
191dceb034
[LDR] Load kernel32 in LdrpInitializeProcess.
...
This allows kernel32 to register itself for manifest probing when loading dlls
CORE-9219
2018-08-27 20:05:00 +02:00
Mark Jansen
ad08c6631b
[LDR] Guard some sections where we grab a lock.
...
CORE-14532
2018-08-13 13:24:12 +02:00
Mark Jansen
55053f0099
[LDR] Add debug logging when we encountered an exception in dll/tls callbacks.
...
CORE-14532
2018-08-13 13:24:12 +02:00
Mark Jansen
dfff8ed0d8
[LDR] Protect calls from LdrpCallInitRoutine and LdrpCallTlsInitializers with SEH.
...
CORE-14532
2018-08-13 13:24:00 +02:00
Timo Kreuzer
0f8439aa71
[DLLS] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Mark Jansen
9c48edb58c
[LDR] Release the loader lock the same way it was acquired
2018-07-22 17:17:36 +02:00
Mark Jansen
60a1006d0f
[LDR] Initial verifier implementation
2018-05-12 13:35:10 +02:00
Mark Jansen
5a68fbeb43
[SDK] Correct NtGlobalFlag names.
2018-05-12 13:34:24 +02:00
Mark Jansen
ab240d1b6d
[NTDLL] Allow shimdata to override the process manifest.
2018-04-12 18:49:25 +02:00