Commit Graph
87720 Commits
Author SHA1 Message Date
Hermès Bélusca-Maïto 10d57cb8b2 [NTUSER] IntLanguageToggle(): Guard against NULL pFocusQueue (#8368)
Addendum to commit 25b7447818 (PR #5839)
2025-09-04 11:42:06 +02:00
Hermès Bélusca-Maïto 6a6ed54495 [NTUSER] Some lifting for the Int/UserGet[Active|Capture|Foreground|ThreadFocus]Window() functions 2025-09-04 11:41:57 +02:00
Eric Kohl 999502cfc4 [NETSH] Improve PrintMessageFromModule
Thanks a lot for the hint, Hermès!
2025-09-02 00:31:47 +02:00
Whindmar Saksit 4dc61a2518 [SHELL32] Computer folder sorting must handle mixed drives and regitems (#8361)
CORE-20286
2025-09-01 17:38:36 +02:00
Eric Kohl bb57f63a26 [NETCFGX] Store network interface settings in the correct location 2025-08-31 17:14:41 +02:00
Eric Kohl 2840fdcfe3 [NETCFGX] Handle the interface metric value correctly 2025-08-31 16:45:39 +02:00
Hermès Bélusca-Maïto c1921754aa Revert "[WINLOGON] Temporarily hack around a bug in PSEH for GCC"
This reverts commit ddbe9719c9, now that PSEH has been fixed
in commit d50b8c93fb (PR #8350).

CORE-20307 CORE-20309 CORE-20316
2025-08-30 17:10:07 +02:00
Timo Kreuzer d50b8c93fb [PSEH] Fix a bug with try inside except
PSEH has 2 scopes: an outer scope, that starts with _SEH3_TRY and ends with _SEH3_END, and an inner scope that goes around the try block only. PSEH tracks try-levels by using an enum, which increments at every new TRY scrope, and which needs to be accessible in the outer scope for all registration and cleanup to work. But it should only increment when nested within the inner try scope, not from the except scope. This is fixed by adding an additional _SEH3$_InnerTryLevel, which increments only within the try block, but resets to the parent-value outside of it.

Should fix CORE-20316.
2025-08-30 17:09:02 +03:00
Timo Kreuzer 194be7a2e0 [COMPILER_APITEST] Add another SEH test
See CORE-20316
2025-08-30 17:09:02 +03:00
Mark Jansen 0d11eb1e23 [APPHELP] Add noisy stub for SdbGetDatabaseInformationByName 2025-08-29 21:55:40 +02:00
Hermès Bélusca-Maïto b3a0b4124a [MSGINA] Zero out and don't return old user login info on aborted logon attempts
- WlxLogoff(): Zero out cached Winlogon buffer pointers and some more
  user login info.

- WlxLoggedOutSAS(): Return the logged-in user token handle *ONLY* if
  the user is actually logging into the system.
  If (s)he doesn't log in, but instead cancels the Log-On dialog, or
  chooses to Shutdown/Reboot the computer from that dialog, do *NOT*
  return any previous logged-in user token handle.

  For example, in the case of a previously failed logon attempt due
  to a wrong or corrupted user profile, shutting down the computer
  from the Log-On dialog would show the following errors in the debugger:
  ```
  err:(.../winlogon/sas.c:757) ImpersonateLoggedOnUser() failed with error 6
  err:(.../winlogon/sas.c:859) Shutdown thread returned failure
  err:(.../winlogon/sas.c:1182) Failed to start the Shutdown thread, Status 0xc0000001
  ```
2025-08-29 18:23:55 +02:00
Whindmar Saksit 8ce870d87b [RAPPS] Added /S switch for silent installs (#8241)
MSI, Inno and NSIS installers are automatically detected (also if they are nested by ExeInZip). Others can specify command line switches in the rapps-db package.
2025-08-29 15:18:55 +02:00
Justin Miller 47d6b3ae12 [CMAKE] Globally add -Wno-format (#8352)
We've talked about doing this, We thought about doing this,
we do it for half the modules when we sync them anyway.

Let's just do it.
2025-08-28 13:18:35 -07:00
50d761b492 [SAMSRV] Update Polish (pl-PL) translation (#8195)
* Update pl-PL.rc

* Fix header

* Update dll/win32/samsrv/lang/pl-PL.rc

Co-authored-by: Adam Słaboń <[email protected]>

---------

Co-authored-by: Stanislav Motylkov <[email protected]>
Co-authored-by: Adam Słaboń <[email protected]>
2025-08-27 12:32:15 +02:00
Serge Gautherie c3bb9d6ca9 [UNIATA] UniataChipDetect(): Workaround AHCI detection (#8184)
Fix AHCI support regression.
Disable a "new" code block, which is broken.

Reverts a part of commit 1afae58191 (r69699).
CORE-13346
2025-08-26 22:50:22 +02:00
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