Commit Graph
87705 Commits
Author SHA1 Message Date
Hermès Bélusca-Maïto ddbe9719c9 [WINLOGON] Temporarily hack around a bug in PSEH for GCC
Commit 51ee32f5f8 moved the `WNetClearConnections()` in the main
Winlogon thread, where it now runs.

`WNetClearConnections()` calls a 3rd-party module (nfs41_np.dll)
that invokes `kernel32!OutputDebugStringA()`.
The SEH usage pattern in `OutputDebugStringA()`, when compiled with
GCC and PSEH, generates an erroneous chain of exception handlers, that,
when running in an execution environment like that of winlogon.exe,
triggers a crash. See CORE-20316 for more details and testing.

As a temporary measure, hackfix away the problem by surrounding the
`WNetClearConnections()` call in a `_SEH2_TRY/_SEH2_EXCEPT` block
(the net effect is to "add" the missing exception handler entry).

Hack for commit 51ee32f5f8
CORE-20307 CORE-20309 CORE-20316
2025-08-26 22:40:42 +02:00
Justin Miller 6a06b0a05a [ROSTESTS][SHELL32] The shellexec(n) tests are broken on Windows (#8349)
They leave a bunch of processes spawned forever preventing the system from shutting down
2025-08-25 15:11:55 -07:00
Hermès Bélusca-Maïto 320bc52fb4 [NDK][RTL] Use LOGICAL also for RtlIsCriticalSectionLocked(ByThread)
This change has been validated with the System Informer phnt headers.
2025-08-25 23:11:57 +02:00
Hermès Bélusca-Maïto ef5eadafb1 [NDK][RTL] Fix RtlTryEnterCriticalSection() return type
The Win32 TryEnterCriticalSection(), which returns a 32-bit BOOL,
directly redirects to NTDLL!RtlTryEnterCriticalSection().

The latter should therefore return a 32-bit boolean as well:
use the LOGICAL type for this purpose. This change has been
validated with the System Informer phnt headers.

This mismatch was caught by Marcin Jabłoński (TheNNX).
2025-08-25 23:11:56 +02:00
Hermès Bélusca-Maïto e250b3fd01 [NDK][KMTESTS] Move the LOGICAL type definition to NDK
The LOGICAL (32-bit boolean) type is already defined for kernel-mode
in the XDK/DDK ntdef.h header. Add the type in the NDK for usage in
user-mode NT code also.

The definition present in kmt_platform.h can now be removed, since
it can now use the one from the NDK.
2025-08-25 23:11:45 +02:00
Hermès Bélusca-Maïto 186404274c [NTOS:EX] Fix trivial typos in comments 2025-08-25 22:53:47 +02:00
Hermès Bélusca-Maïto 2164b35683 [NTOS:PS] Implement NtQueryInformationThread(ThreadBreakOnTermination)
Invoked by `RtlSetThreadIsCritical()` for returning the previous flag value,
and fixes the following error:
```
(ntoskrnl/ps/query.c:3155) Not implemented: 18
```

The implementation is "identical" to that of NtQueryInformationProcess()
`ProcessBreakOnTermination`, with the necessary adaptations, of course.
2025-08-25 21:00:41 +02:00
Hermès Bélusca-Maïto 47b92973a9 [NTOS:PS] query.c: Improve some DPRINTs and comments 2025-08-25 21:00:40 +02:00
Hermès Bélusca-Maïto 991c57a93b [NFS] Improve NFS41DbgPrint() a _little_ bit 2025-08-25 21:00:39 +02:00
Hermès Bélusca-Maïto a449eb3e0e [NTOS:PS] Improve some PspCatchCriticalBreak() messages 2025-08-25 21:00:38 +02:00
Hermès Bélusca-Maïto 99c4f7c95a [FREETYPE] Fix 2nd parameter of FT_Library_SetLcdGeometry()
2nd parameter of FT_Library_SetLcdGeometry() is `FT_Vector sub[3]`,
as specified in the header, and not `FT_Vector* sub`

Fixes compilation error when compiling with i686-w64-mingw32-g++
version 13-win32:
```
sdk/.../freetype/src/base/ftlcdfil.c:361:42: error: argument 2 of type ‘FT_Vector *’ {aka ‘struct FT_Vector_ *’} declared as a pointer [-Werror=array-parameter=]
  361 |                              FT_Vector*  sub )
      |                              ~~~~~~~~~~~~^~~
In file included from sdk/.../freetype/include/freetype/internal/ftobjs.h:32,
                 from sdk/.../freetype/src/base/ftadvanc.c:23,
                 from sdk/.../freetype/src/base/ftbase.c:22:
sdk/.../freetype/include/freetype/ftlcdfil.h:318:42: note: previously declared as an array ‘FT_Vector[3]’ {aka ‘struct FT_Vector_[3]’}
  318 |                              FT_Vector   sub[3] );
      |                              ~~~~~~~~~~~~^~~~~~
cc1: note: unrecognized command-line option ‘-Wno-unknown-warning-option’ may have been intended to silence earlier diagnostics
cc1: all warnings being treated as errors
```
2025-08-25 21:00:36 +02:00
Eric Kohl 8c871fb268 [NETSH] Implement PrintMessageFromModule 2025-08-24 13:38:18 +02:00
Eric Kohl da720b864e [UMPNPMGR] PNP_ReportLogOn must not fail on a LiveCD
Fixes CORE-19050
2025-08-24 13:30:32 +02:00
Eric Kohl 3f6639031c [NETSH] Context stack and helper improvements
- Add the context stack including the PUSHD and POPD commands.
- Add the required changes to the HELP command and command execution to support the context stack.
- Add support for sub helpers.
2025-08-23 11:06:19 +02:00
Eric Kohl 359205bccc [CRT] wctomb must return 0 if the destination pointer is NULL
This fixes 3 test failures.
2025-08-22 16:48:06 +02:00
Timo Kreuzer 330fda8b6d [CRT_APITEST] Fix some tests for Vista+ 2025-08-22 15:51:11 +03:00
Timo Kreuzer f18ebe2b73 [CRT] Cleanup old setjmp 2025-08-22 09:12:51 +03:00
Timo Kreuzer 6d321562c9 [NTOS][NTDLL][UCRTBASE] Use new setjmp/longjmp
This fixes 2 todo tests
2025-08-22 09:12:51 +03:00
Timo Kreuzer 011ce7088c [PSEH] Use _setjmp3 with custom unwind function 2025-08-22 09:12:51 +03:00
Timo Kreuzer e8d190a29e [VCRUNTIME] Implement _seh_longjmp_unwind 2025-08-22 09:12:51 +03:00
Timo Kreuzer a5448b04c6 [VCRUNTIME] Properly implement setjmp/longjmp 2025-08-22 09:12:51 +03:00
Timo Kreuzer 0e0852e1da [ASM] Add some asm constants for x86 2025-08-22 09:12:51 +03:00
Timo Kreuzer 3dc1c5039d [RTL/x64] Implement support for STATUS_LONGJUMP in RtlRestoreContext
Also change license to MIT (this is all my own code)
2025-08-22 09:12:51 +03:00
Timo Kreuzer f709f6f22f [NTOS:KE/x64] Initialize FP control word to INITIAL_FPCSR 2025-08-22 09:12:51 +03:00
Timo Kreuzer 80bef4fe40 [XDK][NTOS:KE] Update XSAVE_AREA 2025-08-22 09:12:51 +03:00
Timo Kreuzer 5b2091e37c [CRT_APITEST] Add more tests for _setjmp 2025-08-22 09:12:51 +03:00
Timo Kreuzer d7761b1296 [VCRUNTIME][ASM] Fix definition of x64 _JUMP_BUFFER 2025-08-22 09:12:51 +03:00
Timo Kreuzer d3a744a1ad [PSEH] Remove x64/ARM asm stubs
These are all x86 specific.
2025-08-22 09:12:51 +03:00
Timo Kreuzer 1694901961 [MSVCRT20][MSVCRT40] Only build for x86
These are legacy DLLs and only exist on x86.
2025-08-22 09:12:51 +03:00
Timo Kreuzer cdfae35256 [NTOS:KDBG] Set default disassembly style to Intel
Seriously!
2025-08-22 09:12:51 +03:00
Eric Kohl 61ff1117ee [IPHLPAPI] More fixes for GetAdapterAddresses
- Fix the reversed DNS server ip addresses.
- Return the ip addresses and network prefix lengths in the prefix list.
2025-08-21 17:18:48 +02:00
Eric Kohl fc84d6860a [ROUTE] Sort network interfaces by index 2025-08-20 21:41:51 +02:00
Doug Lyons 05caf99940 [NTOS:MM] Fix Lazarus hang when closing running project with "X" (#8331)
CORE-20172
Make DbgkUnMapViewOfSection in function MiRosUnmapViewOfSection contingent on MapCount being 0.
2025-08-20 14:18:25 -05:00
Carl J. Bialorucki 693e1ebc4c [APITESTS] Add GetNTDDIVersion() for NTDDI version detection at runtime (#8340)
- Introduce GetNTDDIVersion() to get NTDDI version at runtime for apitests.
- Introduce GetMajorNTVersion() and GetMinorNTVersion() macros and use them for GetNTVersion()
- Introduce GENERATE_NTDDI() macro to construct NTDDI values from major, minor, service pack, and subversion values.
- Introduce NTDDI_MIN and NTDDI_MAX macros for tests that use NTDDI ranges.

Note: the build number in KUSER_SHARED_DATA is only populated on Windows 10 RTM and later. On older Windows versions, this field is reserved and is usually 0. For this reason, I chose not to expose it as a macro.
2025-08-20 12:54:46 -06:00
Hervé Poussineau 4da4648092 [WIN32SS:USER] Add 'DISPLAY' as an alternate name for global display
CORE-20303
2025-08-20 19:33:17 +02:00
Hervé Poussineau 45c8cf7efd [WIN32SS:USER] UserEnumDisplayDevices: correctly report monitor device ids
desk.cpl can now open Monitor properties.
2025-08-20 19:33:17 +02:00
Doug Lyons 8e6fbe0c90 [NTUSER][COMCTL32] Fix garbage displayed at bottom of listbox.c (#8316)
CORE-20062
@I_Kill_Bugs fix for rect.bottom in LISTBOX_Paint function.
2025-08-20 11:34:44 -05:00
Eric Kohl 1a61f50ddd [ROUTE] Map interface index to ip address in the active routes list 2025-08-20 13:31:41 +02:00
Eric Kohl f0ba72616d [ROUTE] Add improve the the delete command
- Add wildcard support to the delete command
- Add code to delete persistent routes
- Improve command line and registry value name parsing code
2025-08-19 16:23:01 +02:00
Eric Kohl 714dfdc29a [ROUTE] Add /f option to the add and delete command 2025-08-19 10:59:02 +02:00
Eric Kohl 2cba5b772d [ROUTE] Add missing advapi32 2025-08-18 22:26:59 +02:00
Eric Kohl e0bdfb04f1 [ROUTE] Add support for persistent routes to the add and print command 2025-08-18 22:09:27 +02:00
Eric Kohl 4ddebadc7e [ROUTE] Support the -f and -p options and and improve the help text 2025-08-18 11:33:21 +02:00
Eric Kohl 46c2a3cd09 [ROUTE] Some improvements
- Improvements to the usage text
- Use GetAdapterAdresses instead of GetAdaperInfo
- Show the physical address for ethernet adapters
2025-08-17 21:02:00 +02:00
Eric Kohl 36533549a2 [IPHLPAPI] GetAdapterAddresses: Retrieve DnsSuffix 2025-08-17 14:45:19 +02:00
Eric Kohl 0502e33ae4 [IPHLPAPI] Improve GetAdapterAddresses
- Return the adapter name, friendly name and description for the loopback adapter.
- Return the description for network adapters.
2025-08-17 01:37:14 +02:00
Serge Gautherie a871ff1763 [SDK] ntddndis.h: Add/Update 3 NDIS typedefs (#8319) 2025-08-16 19:05:42 +02:00
Serge Gautherie d68a9d7aa4 [KMTESTS] KmtAreInterruptsEnabled(): Be explicit about architectures (#8295)
Let this function compile/run on other architectures, like ARM*.
And improve code a bit.

ROSTESTS-363
2025-08-16 19:03:17 +02:00
Serge Gautherie 5ae1c72395 [NDIS] NDIS_TAG: Fix definition and usages (#8243)
- Let it be `"NDIS"`, instead of variations of `"SIMN"`.
- Use matching `ExFreePoolWithTag()`.
- Remove a redundant `KeyInformation = NULL;`.

Addendum to commits e8861acfb2 (r12196) and 5658b2154c (r53045).
CORE-18791
2025-08-16 19:01:55 +02:00
Serge Gautherie 7e294faff4 [UNIATA] Upgrade to v0.47b from v0.47a (#8177)
- Remove unused idedma.def
  Addendum to commit 1daf74908e (r29256).

- Convert a few files to UTF-8 from ANSI
  Plus, 2 tiny formatting fixes.

- id_ata.cpp: Unmark a ReactOS own diff
  Addendum to commit 7fdf078134.

- id_init.cpp: Mark a diff
  Addendum to commit 09dde2cff9.

- Upgrade to v0.47b from v0.47a

CORE-17876
2025-08-16 18:56:58 +02:00