Commit Graph
88558 Commits
Author SHA1 Message Date
Mikhail Tyukin dcd45a59d1 [LIBJPEG][LIBPNG][LIBTIFF] Update (#8808)
* [LIBTIFF] Update to 4.7.1

* [LIBPNG] Update to 1.6.51

* [LIBJPEG] Update to 10
2026-04-01 17:27:34 +02:00
Alex Mendoza fd683dbba4 [SHELL32] AddCommasW: Use LOCALE_SGROUPING instead of harcoded grouping (#8814) 2026-04-01 14:27:17 +02:00
Justin Miller e68ebe19c6 [NTDLL] Revert Implict ThreadLocalStorage for now (#8823)
We will continue with this stuff when we can understand the root issues better

* Revert "[NTDLL_APITEST] Relicense implicit tls tests as MIT"

This reverts commit ec6bae2b31.

* Revert "[NTDLL:LDR] Add Implicit Thread Local Storage Support (#7594)"

This reverts commit 23043ce0b8.
2026-04-01 13:56:00 +02:00
Katayama Hirofumi MZ 45a4f95b04 [NTGDI][FREETYPE] Revert 'font look-up cache #8641' (#8816)
#8641 introduced some bugs. We revert it.
JIRA issue: CORE-20538
- Delete FONT_LOOKUP_CACHE and
  s_FontLookupCacheList.
- Delete FontLookUp_... functions.
- Revert FontLink_PrepareFontInfo and
  TextIntRealizeFont functions.
2026-04-01 19:23:17 +09:00
Mikhail Tyukin 7950ea3f07 [OLE32] Remove PropVariantChangeType (#8822)
Fix https://reactos.org/testman/detail.php?id=87298653&prev=87291347
PropVariantChangeType is exported in propsys, and before the ole32 sync PropVariantChangeType was commented out. This causes the linker to link against the stub in ole32 rather than the function in propsys.
2026-04-01 12:19:51 +02:00
Justin Miller 20494b84ef [PCIX] PciComputeNewCurrentSettings skip CmResourceSharedDeviceExclusive (#8464) 2026-04-01 09:29:34 +00:00
Eric Kohl 7139e57ff8 [NETCFGX] Fix the alternate network configuration
- Load and store alternate configurations properly.
- Use unique resource ids for the alternate configuration dialog.
- Fix code to enable or disable the name server address controls.
- Build the registry path to the network interface only once.

TODO: Fix the format of the alternate configuration data.
2026-04-01 00:35:20 +02:00
Václav Zouzalík e46a837fb7 [HOSTNAME] Update Czech (cs-CZ) and Slovak (sk-SK) translation (#8817) 2026-03-31 22:43:59 +02:00
Doug LyonsandCarl J. Bialorucki c2f56643b6 [VFATLIB][FMIFS][CHKDSK] Chkdsk fixes and improvements (#8810)
CORE-18432

Co-authored-by: Carl J. Bialorucki <[email protected]>
2026-03-31 13:13:31 -05:00
Carl J. Bialorucki ec6bae2b31 [NTDLL_APITEST] Relicense implicit tls tests as MIT
Approval from original author given to Carl Bialorucki in writing.
2026-03-31 16:56:51 +02:00
Mikhail Tyukin c93cbb9bf1 [BCRYPTPRIMITIVES] Import from wine-10.0 (#8818)
Import bcryptprimitives.dll from wine-10.0 for modern applications
2026-03-31 14:10:35 +00:00
Shane FournierandJustin Miller 23043ce0b8 [NTDLL:LDR] Add Implicit Thread Local Storage Support (#7594)
Before Windows Vista, TLS directories were ignored by Ldr* in any module loaded after process creation, which meant that the TLS index in any delay-loaded module remained 0. This means that when running an application targeting Vista and above and its delay-load modules have TLS directories, the following events can happen:

    One or more delay-load modules claim ThreadLocalStoragePointer idx 0, resulting in data corruption and possible buffer overflows as data intended for one of the immediate-load modules is overwritten.

    None of the immediate-load modules has a TLS directory, so ThreadLocalStoragePointer is not initialized. This means that the program crashes when one of the delay-load modules attempts to access its TLS data.

Adding implicit TLS support improves support for NT 6.x/10 user-mode applications, including all contemporary major web browsers.

JIRA issue: CORE-19413

---------

Co-authored-by: Justin Miller <[email protected]>
2026-03-31 11:21:57 +00:00
Hermès Bélusca-Maïto 97cc32519f [WLANCONF] Improve imports and fix x64 build warnings
wlanconf\wlanconf.c(592):
  warning C4267: '=': conversion from 'size_t' to 'DWORD', possible loss of data
wlanconf\wlanconf.c(602),(683):
  warning C4267: '=': conversion from 'size_t' to 'ULONG', possible loss of data
2026-03-30 21:46:10 +02:00
Hermès Bélusca-Maïto 3913b3cf35 [TRACERT] Improve imports, simplify code, and fix x64 build warning
tracert\tracert.cpp(209):
  warning C4267: 'argument': conversion from 'size_t' to 'socklen_t', possible loss of data
2026-03-30 21:46:09 +02:00
Hermès Bélusca-Maïto 012e9be792 [NETSH] Improve imports, simplify code, and fix x64 build warnings
netsh\helper.c(84):
  warningC4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data
netsh\netsh.c(65):
  warning C4267: '+=': conversion from 'size_t' to 'INT', possible loss of data
2026-03-30 21:46:07 +02:00
Hermès Bélusca-Maïto 0038ad5423 [NET] Improve imports, simplify code, and fix x64 build warnings
net\cmdLocalGroup.c(125):
  warning C4267: '=': conversion from 'size_t' to 'DWORD', possible loss of data
net\cmdShare.c(115),(128),(142):
  warning C4267: '=': conversion from 'size_t' to 'INT', possible loss of data
net\cmdUse.c(89),(178),(194):
  warning C4267: '=': conversion from 'size_t' to 'DWORD', possible loss of data
net\cmdUser.c(597),(631),(676):
  warning C4267: '=': conversion from 'size_t' to 'INT', possible loss of data
2026-03-30 21:46:06 +02:00
Hermès Bélusca-Maïto c2ecf0649d [IPCONFIG] Improve imports, LP* -> P*, and fix x64 build warnings
ipconfig\ipconfig.c(236):
  warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
ipconfig\ipconfig.c(263),(306),(380):
  warning C4267: '=': conversion from 'size_t' to 'DWORD', possible loss of data
ipconfig\ipconfig.c(303):
  warning C4267: 'initializing': conversion from 'size_t' to 'DWORD', possible loss of data
ipconfig\ipconfig.c(1318): warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data
2026-03-30 21:46:05 +02:00
Hermès Bélusca-Maïto 12d0b84141 [DWNL] Improve imports, use _countof(), and fix x64 build warnings
dwnl\dwnl.c(387):
  warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data
dwnl\dwnl.c(401):
  warning C4267: '=': conversion from 'size_t' to 'DWORD', possible loss of data
2026-03-30 21:46:04 +02:00
Hermès Bélusca-Maïto c336730f5d [WHOAMI] Improve imports, simplify code, and fix x64 build warnings
whoami\whoami.c(134):
  warning C4267: 'initializing': conversion from 'size_t' to 'DWORD', possible loss of data
whoami\whoami.c(241),(256):
  warning C4267: 'initializing': conversion from 'size_t' to 'UINT', possible loss of data
2026-03-30 21:45:49 +02:00
Hermès Bélusca-Maïto 544e8cc292 [WHOAMI] Fix heap corruption causing crashes when displaying user names/groups tables
CORE-20537

- `WhoamiSetTable()`: Specify the correct size for allocating a buffer
  for a NUL-terminated UTF16 string (previously, only half the space for
  the NUL terminator was considered).
  This caused a heap corruption when the corresponding NUL-terminate
  string was then copied into this buffer, and potentially leading to
  reading past the end of the string (since no real NUL terminator
  would be found).

- `WhoamiPrintTable()`: Just make it do what it needs to do: print the
  table and nothing more: no "side-effect" behaviour like table freeing.

- Instead, add a `WhoamiFreeTable()` routine whose purpose is just to
  free the table. And the tables are freed in the routines where they
  have been previously allocated.

- `WhoamiPrintTable()`:
  * Allocate a column-lengths table *ONLY* when needed, i.e. when
    printing the table in "table" format. When printing it in "list"
    format, there is no need to allocate anything and we can instead
    use only a single variable.

  * The old code handling "those pesky ':'" -- used when tables are
    displayed in list format, using: `whoami /all /fo list` -- was buggy,
    because it was patching the table header names, writing a ':' and a
    NUL-terminator past the end of the allocated string buffer (see bug
    described above in `WhoamiSetTable()`). As a result, once the table
    was freed, a heap corruption would happen, leading to a crash.
    Now, displaying the ':' is handled as part of the wprintf()-formatting
    table item string.

  * For developers, two ways of displaying these ':' are proposed:
    the way Windows displays the table in "list" format, where the ':'
    directly follow the item names in the 1st column; and a "nicer" one
    (to my taste!), where all the ':' are vertically aligned -- currently
    disabled.
2026-03-30 21:12:56 +02:00
Hermès Bélusca-Maïto ddca2afaea [TASKLIST] Improve imports, simplify code 2026-03-30 16:18:48 +02:00
Hermès Bélusca-Maïto 4750869ccb [REPLACE] Improve imports and code style 2026-03-30 16:18:45 +02:00
Hermès Bélusca-Maïto 1043e35139 [LABEL] Improve imports and fix x64 build warning
label\label.c(168):
  warning C4267: '+=': conversion from 'size_t' to 'INT', possible loss of data
2026-03-30 16:18:45 +02:00
Hermès Bélusca-Maïto 85841c2ba2 [FIND] Improve imports and fix x64 build warnings
find\find.c(64),(65):
  warning C4267: '=': conversion from 'size_t' to 'INT', possible loss of data
2026-03-30 16:18:40 +02:00
Hermès Bélusca-Maïto f19cb6af8b [EVENTCREATE] Improve imports, LP* -> P*, and fix x64 build warning
eventcreate\eventcreate.c(248):
  warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data
2026-03-30 16:18:39 +02:00
Hermès Bélusca-Maïto 6079fab420 [COMP] Improve imports and fix x64 build warning
comp\comp.c(44):
  warning C4267: 'return': conversion from 'size_t' to 'INT', possible loss of data
2026-03-30 16:18:38 +02:00
Hermès Bélusca-Maïto f00588552f [CERTUTIL] Improve imports and fix x64 build warning
certutil\asn.cpp(224):
  warning C4267: 'initializing': conversion from 'size_t' to 'DWORD', possible loss of data
2026-03-30 16:18:32 +02:00
Hermès Bélusca-Maïto 6affaf1975 [ATTRIB] Improve imports and fix x64 build warnings
attrib\attrib.c(220),(305):
  warning C4267: 'function': conversion from 'size_t' to '_off_t', possible loss of data
2026-03-30 16:18:23 +02:00
Hermès Bélusca-Maïto 7b3b63feef [AT] Improve imports, simplify code, and fix x64 build warnings
at\at.c(281),(482),(488),(509),(515),(610),(616),(637),(643):
  warning C4267: '=': conversion from 'size_t' to 'INT', possible loss of data
2026-03-30 16:10:27 +02:00
Hermès Bélusca-Maïto d3a6aed771 [FORMAT] Improve imports, simplify code 2026-03-30 16:08:36 +02:00
Hermès Bélusca-Maïto 7a82bc8deb [CACLS] Improve imports, simplify code, and fix x64 build warning
cacls\cacls.c(198):
  warning C4267: '=': conversion from 'size_t' to 'DWORD', possible loss of data
2026-03-30 16:04:05 +02:00
Hermès Bélusca-Maïto 7331a0186d [SYSTEMINFO] Improve imports, includes, LP* -> P*, etc.
`LoadStringW(NULL, ...)` == `LoadStringW(GetModuleHandle(NULL), ...)`
for all purposes.
2026-03-30 16:02:59 +02:00
Hermès Bélusca-Maïto cab720aa2c [CMDUTILS][NETWORK][LOGOFF][RUNAS][CMD][SYSTEM] Improve imports and headers for some tools 2026-03-30 13:55:07 +02:00
Hermès Bélusca-Maïto e4aaf68c2d [KERNEL32][KERNEL32_APITEST] Remove trailing whitespaces
Addendum to commit 5e998de248.
2026-03-30 13:54:37 +02:00
Julen Urizar Compains 5e998de248 [KERNEL32][KERNEL32_APITEST] Fix the pipe buffer overflow situation into Iosb.Status in the ReadFile (#6724)
Change the way ReadFile and NTReadFile behaves under ReactOS, and fit more what Wine does. Fixes Calibre conversion failure. JIRA issue: CORE-17376
2026-03-30 12:01:28 +02:00
Justin Miller ddef59e124 [ROSTESTS] Resolve some WHS issues after the last few PRs (#8809)
* [WINETESTS:UIAUTOMATIONCORE] Add wineheaders to dependencies
* [ROSTESTS] Don't use kernel32_vista - Just gate UIAutomationCore tests
2026-03-30 07:14:05 +00:00
Katayama Hirofumi MZ 863203030f [IMM32][SDK] Rename CLIENTIMC_UNKNOWN2 as CLIENTIMC_LOCKED (#8807)
Improve code readability.
JIRA issue: CORE-19268
- Rename CLIENTIMC_UNKNOWN2
  flag as CLIENTIMC_LOCKED.
- Delete unused
  CLIENTIMC_UNKNOWN4 flag.
- Fix the return value of
  Imm32AssignNewLayout function.
2026-03-30 04:39:26 +09:00
Alex Mendoza 2c57d695da [NETSHELL] Fix buffer size parameter (#8802)
Change szFormat to szBuffer in StrFormatByteSizeW calls.
Using szFormat is incorrect and could cause buffer overflow if buffer sizes differ.
2026-03-29 21:35:48 +02:00
Hermès Bélusca-Maïto dfaac47afc [KERNEL32_VISTA] Reimplement [Get|Set]ThreadDescription() (#8484)
- `GetThreadDescription()`: since there may be concurrent `SetThreadDescription()`
  invocations being executed, we need to loop over the buffer allocation size until
  we can successfully capture the thread name.
  Also, we can directly re-use the temporary buffer, after resizing, for
  the output description buffer.

- `SetThreadDescription()`: Use `RtlInitUnicodeStringEx()` instead of reimplementing
  its internal logic.
2026-03-29 19:35:41 +02:00
Hermès Bélusca-Maïto a4621bb280 [NTOS:PS][NTDLL_APITESTS] Implement ThreadNameInformation for NtQuery/SetInformationThread() (#8484)
The `ThreadNameInformation` (#38) class is the Windows 10.1607+ way
of assigning a human-readable name (i.e. description) to a given
thread object, that is visible to debuggers and diagnostic tools
(e.g. WinDbg `!thread` command, Process Explorer ...), which is
useful for debugging scenarios.[^1]

Before this, the only way to assign a name to a thread for debugging
purposes was to raise a specific exception, that had to be caught and
interpreted by a supported debugger.[^2][^3]

When the thread object is being deleted (`kill.c!PspDeleteThread()`),
free the thread name if set (courtesy of Ahmed Arif, PR #8796).

References:
[^1]: https://learn.microsoft.com/en-us/visualstudio/debugger/tips-for-debugging-threads
[^2]: https://learn.microsoft.com/en-us/archive/blogs/stevejs/naming-threads-in-win32-and-net
[^3]: https://ofekshilon.com/2009/04/10/naming-threads/
2026-03-29 19:35:34 +02:00
Hermès Bélusca-Maïto 401f3a8a79 [NTDLL_APITEST] Add a test for Nt[Query|Set]InformationThread(ThreadNameInformation) (#8484)
Thanks to 'artDev', 'HP-12C', and 'julenuri' Discord contributors for their help!
2026-03-29 16:52:31 +02:00
Hermès Bélusca-Maïto 2e1a0b73c9 [NTDLL_APITEST][NTOS:PS] Adjust probelib.c test code to skip non-implemented Win7+ thread information classes
Re-enable in ps_i.h the stubbed probing info values for thread information
classes, that were disabled in commit 60aad33ed0 (PR #8487), and adjust
the test code in probelib.c so that the failures for these non-implemented
classes are correctly taken into account.
2026-03-29 16:52:07 +02:00
Hermès Bélusca-Maïto a2a434e8d5 [NTDLL_APITEST] Minor formatting for probelib.c 2026-03-29 16:52:06 +02:00
Mikhail Tyukin 3dc66309d1 [BLUETOOTHAPIS][BTHPROPS][WINUSB] Import from wine-10.0 (#8801)
* [WINUSB] Import wine-10.0
* [BLUETOOTHAPIS][BTHPROPS] Import wine-10.0

Import wine bluetooth and usb stubs. Needed for modern applications. These dlls were added in XP sp2.
2026-03-29 02:49:33 +00:00
Justin Miller 752f99ee3d [ANSI-SYNC-HACKS][NFSD] Small library to sync ANSI code (#8800)
The point of kernel32_vista was to provide a dll that can be used for winesyncs to still have NT6 APIs.
We're now switching to an architecture where we'll have kernelbase OR a kernel32_win7 depending on NT target compile
but this means that for an ANSI exe such as this, we need an alternative solution.
Thankfully it's pretty much only for this but just in case i made it a library.
2026-03-29 02:48:46 +00:00
Katayama Hirofumi MZ 75e1d78fe9 [IMM32][SDK] imemenu.c: Rewrite IME Menu feature (#8769)
There were some design difference
comparing to Windows. Improve
IME Menu compatibility.
JIRA issue: CORE-20142
- Re-implement IME Menu.
- Modify
  ImmPutImeMenuItemsIntoMappedFile
  prototype.
2026-03-29 11:33:23 +09:00
Hermès Bélusca-Maïto dddb6d5da8 [NTOS:PS] query.c: Code style: Add switch-case brackets; move variable declarations where they belong.
In preparation for PR #8484.
2026-03-28 21:38:22 +01:00
Mikhail Tyukin 22ca1e736a [KERNEL32_VISTA][NTDLL_VISTA] add required functions for winhttp 2026-03-28 11:35:17 -07:00
winesync ac322153b6 [WINHTTP] Winesync to Wine-10.0 2026-03-28 11:35:17 -07:00
Ahmed Arif 5817ab8f4f [NTDLL_WINETEST] Fix InterlockedIncrement incompatible pointer type in exception test (#8781)
Fix int to LONG type mismatch for InterlockedIncrement in test_restore_context, fixing GCC 15 -Wincompatible-pointer-types error
2026-03-28 17:29:50 +01:00