89267 Commits
Author SHA1 Message Date
Whindmar Saksit 16bb138e32 [SHELL32][SHELL32_APITEST] Handle named registry verbs in CDefaultContextMenu::InvokeCommand (#9340)
CORE-20690
2026-08-04 18:39:14 +02:00
Hervé Poussineau ded9969049 [ATAPI] Correctly register GUID_DEVINTERFACE_STORAGEPORT interface
IoRegisterDeviceInterface() is taking a PDO as argument.
Otherwise, it is failing with STATUS_INVALID_DEVICE_REQUEST.
2026-08-03 22:29:57 +02:00
Eric Kohl d2025ff295 [NSLOOKUP] Fix calls to stricmp and strnicmp
GCC does not complain about this!
2026-08-03 01:40:42 +02:00
Eric Kohl 07068a363f [NSLOOKUP] Implement the interactive mode
Also implement the retry and timeout command line options
2026-08-03 01:20:33 +02:00
Timo Kreuzer e3e58ac1aa [NTOS:KE/x64] Fix KiInitializeContextThread
Copy values manually instead of calling KeContextToTrapFrame.
2026-08-01 11:05:47 +00:00
Timo Kreuzer 6bc61687e6 [NTOS:KE/x64] Fix KiInitializeUserApc
Set EFlags instead of "fixing" it.
Prevents crashes in the thread initialization APC, when the thread has set the direction flag or trap flag.
2026-08-01 11:05:47 +00:00
Timo Kreuzer 652403caf2 [RTL/x64][NTOS:KE/x64] Fix RtlInitializeContext
- In RtlInitializeContext only set the registers required, don't offset RSP
- In KiInitializeContextThread force control segments, which are not set by RtlInitializeContext
- Allocate the stack home space in KiInitializeContextThread
- Fix BaseInitializeContext to work with the changed stack adjustments
2026-08-01 11:05:47 +00:00
Timo Kreuzer 39ea28d4c6 [NTOS:KE/x64] Fix KeContextToTrapFrame 2026-08-01 11:05:47 +00:00
Timo Kreuzer 8315b8c310 [NTDLL_APITEST] Fix test for RtlAllocateHeap
- Properly detect aligned vs unaligned allocations
- Respect broken alignment behavior of Windows 2003
2026-07-31 17:33:36 +00:00
Václav Zouzalík 30bdec7004 [ACPPAGE] Update Slovak (sk-SK) translation (#9253)
Update the Slovak translation of language control panel.
2026-07-31 12:58:42 +03:00
Alex Mendoza c9780d9095 [NTOS:OB] Validate ACCESS_SYSTEM_SECURITY in ObpIncrementHandleCount
Validate ACCESS_SYSTEM_SECURITY access requests when creating a new
handle in ObpIncrementHandleCount.

- Check for SeSecurityPrivilege (with SeSinglePrivilegeCheck) when a
  caller requests ACCESS_SYSTEM_SECURITY on handle creation.
- Take away ACCESS_SYSTEM_SECURITY from RemainingDesiredAccess /
  PreviouslyGrantedAccess if the privilege isn't held.
2026-07-30 20:22:58 +02:00
Alex Mendoza 8dc41c663d [NTOS:OB] Correct a typo 2026-07-30 20:22:03 +02:00
Václav Zouzalík 797d10cf82 [INPUT] Update Czech (cs-CZ) translation (#9250) 2026-07-30 21:12:34 +03:00
Jose Carlos Jesus 9abb0c4d82 [FORMAT] Add Portuguese (pt-PT) translation (#9168) 2026-07-30 19:50:44 +03:00
Jose Carlos Jesus bd891b6e27 [DISKPART] Update Portuguese (pt-PT) translation (#9159) 2026-07-30 19:30:43 +03:00
Ismaeel Shaikh 185e545db6 [DEVMGR] Fix spelling of "occurred" in comments (#9323)
Fixed several instances where "occurred" was misspelled as "occured"
in the API and Properties documentation blocks.

Signed-off-by: Ismaeel Shaikh <[email protected]>
2026-07-30 19:12:45 +03:00
Ismaeel Shaikh e17ca13c92 [DOC] Fix typos in HACKING documentation file (#9322)
Corrected several spelling and grammatical errors in the HACKING guide
to improve readability for newcomers contributing to the kernel.

Signed-off-by: Ismaeel Shaikh <[email protected]>
2026-07-30 18:50:19 +03:00
Andrei-Valentin Miloiu 89b0a25da5 [DOC] Update Romanian translation notes for diacritics usage (#9288)
Clarified the usage of Romanian diacritics in translation notes.
I previously forgot to add a rule for capital Ț letter.
2026-07-30 18:44:21 +03:00
Ahmed Arif ed367320c2 [DHCPCSVC] Fix DHCP option stack overflow (#9056)
Reject malformed DHCP subnet mask and router option lengths
before setup_adapter() consumes them.

This prevents attacker-controlled option lengths from expanding DHCP
option bytes into a fixed stack buffer while preserving valid
router address lists.

Validate the option lengths before use, keep router lists limited to
complete IPv4 addresses, and format registry IPv4 strings with
RtlIpv4AddressToStringA().

Booted amd64 QEMU image: no DHCP/client networking regression observed.
2026-07-30 18:20:50 +03:00
Ahmed Arif c606fd79b1 [NTOS:FSRTL] Respect byte-range lock ownership (#9342)
FsRtlCheckLockForReadAccess() accepts access through an exclusive
byte-range lock when the IRP key matches, even if another process
owns the lock. FsRtlFastUnlockAll() likewise removes exclusive locks
without checking the Process argument.

Require both the key and requestor process for exclusive-read access,
and skip exclusive locks owned by other processes in FsRtlFastUnlockAll().
This matches the ownership checks already used by
FsRtlFastCheckLockForRead() and FsRtlFastUnlockAllByKey().

Reference:
- https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-_fsrtl_advanced_fcb_header-fsrtlfastchecklockforread
2026-07-29 21:54:44 +03:00
Hermès Bélusca-Maïto 3da59bca94 [SETUP:REACTOS] Tweak the Summary page controls
- Tweak the dimensions of the read-only editboxes.

- Tweak the Confirmation checkbox: adjust its dimensions, remove some
  artificatial newlines, and adjust the wording in some translations.
2026-07-29 16:49:17 +02:00
Hermès Bélusca-Maïto ba58e3f528 [SETUP:REACTOS] Improve navigation in the setup wizard
- Support double-clicking on the Installation type page radio buttons.

  The Installation type page offers two self-excluding options:
  "Install ReactOS", and "Upgrade an existing ReactOS installation",
  and no other controls are available (except for the wizard navigation
  buttons). Thus, we can implement the UI feature of supporting double-
  clicked radio buttons as an abbreviation for "select + Next".

  For this, add the `BS_NOTIFY` style to both radio buttons, so as to
  receive the `BN_DBLCLK` notification via the `WM_COMMAND` message.

  Based on a suggestion by Raymond Chen,
  https://devblogs.microsoft.com/oldnewthing/20050804-10/?p=34713

- Ensure the correct radio button is selected when activating the
  Installation type page:
  ensure the "Install ReactOS" radio button is checked if we don't have
  a selected installation (default case), which can also happen if the
  user clicked on the "Do not upgrade" button on the Upgrade/Repair
  selection page, then went back.

- In the Upgrade/Repair selection page, go to the next page if the user
  double-clicked on a listed installation.

- In the Drives/Partitions page:
  * support pressing DELETE key to delete an existing partition;
  * support pressing ENTER key to install ReactOS on a eligible
    partition;
  * enable the "Create" partition button only if the selected disk region
    is not partitioned, and can be partitioned according to the disk's
    partitioning scheme (e.g. for MBR disks, no more than 4 primary
    partitions).
2026-07-29 16:49:15 +02:00
Hermès Bélusca-Maïto cb61fd4d71 [SETUP:REACTOS] Slight WM_COMMAND handlers improvements
- Explicitly check for `BN_CLICKED` notification when handling
  single-click on standard push-buttons.

- Return TRUE explicitly from `WM_COMMAND` in the _dialog_ procedures
  when the message is handled and no extra default processing is needed.

- Reduce some extra indentation when possible.
2026-07-29 16:49:14 +02:00
Ahmed Arif 4c3d15abe6 [CLANG][SDK] Add the llvm-compat runtime shim library (#9094)
llvm-mingw's static runtime (libc++, libmingwex, libc++abi, libunwind)
references symbols the NT 5.2 export surface does not provide. Add a
static library, linked into the Clang runtime chain below
DLL_EXPORT_VERSION 0x601, providing:

- C99 vsnprintf/snprintf on top of _vsnprintf/_vscprintf.
- __imp_* aliases binding dllimport references to the static CRT
  definitions instead of ucrtbase import thunks, which collide with
  them (lld: "<sym> was replaced").
- K32EnumProcessModules, forwarded to psapi's EnumProcessModules.
- The Win7 SRW lock and Vista condition variable surface, bound to the
  RTL implementation linked statically from rtl_vista. Modules get one
  self-contained, consistent synchronization implementation (ReactOS'
  lock layout is not Windows-compatible), no kernel32_vista.dll
  dependency, and stay runnable on any Windows version. Static SRW
  linking suggested by Timo Kreuzer.

Address review feedback on the llvm-compat shims:

sync_static.c now uses the proper SDK/NDK headers with WINAPI/NTAPI, imp_alias.h
moved to sdk/include/reactos and fixes the msvcrtex slot decorations too, and a
new InitOnceExecuteOnce shim lets us drop libkernel32_vista from the interface.
2026-07-29 11:27:59 +00:00
Alex Mendoza 7658029392 [VBEMP] Return NO_ERROR in VBESetPowerState (#9350)
Fix incorrect status code returned by VBESetPowerState()
in the VBE miniport driver.

- VBESetPowerState() returned `VBE_SUCCESS` (`0x4F`, raw VESA BIOS AL
  success code) instead of `NO_ERROR` on success, so callers checking for
  `NO_ERROR` would treat every successful DPMS power-state change
  as a failure. Change it to `NO_ERROR`.
- Change annotations to SAL2 in the source and header.
2026-07-28 22:52:45 +03:00
Whindmar Saksit 4fecc908e7 [SHELL32] All SHELLSTATE members must be initialized before writing to the registry (#9293)
A more reliable fix.

CORE-20585
2026-07-28 16:14:13 +02:00
Timo Kreuzer 29e8ed11af [KMTEST] Fix ObType test to use NT6 callbacks for ReactOS 2026-07-28 12:16:32 +00:00
Timo Kreuzer 07217d3245 [NDK][NTOS] Change Object callback types to NT6 style
This is required to support the NT6 access flags THREAD_QUERY_LIMITED_INFORMATION and THREAD_SET_LIMITED_INFORMATION.
2026-07-28 12:16:32 +00:00
Timo Kreuzer 9675f756ce [NDK] Fix definition of OB_CLOSE_METHOD 2026-07-28 12:16:32 +00:00
Stanislav Motylkov a05ef98c2a [NETSHELL] Improve usability by keyboard
- Allow exiting from "Network Connection Details" dialog
  with Enter (using DEFPUSHBUTTON), Esc and Alt+F4 (using IDCANCEL)
- Add extended style LVS_EX_FULLROWSELECT to the listview, as in Windows

Misc. changes:
- Minor code rearrange, removing one obvious comment
- Czech (cs-CZ): Fix letter capitalization
- French (fr-FR): Fix accelerator key
- Hebrew (he-IL): Fix accelerator key

CORE-12323
2026-07-28 14:22:43 +03:00
Stanislav Motylkov 56746c29df [DESK] Appearance: Apply the Shell Icon Size properly (#9336)
- Implement 3-state checkbox for the use of large icons
- Add missing registry value write on applying a scheme
- Misc: Update preview on saving "Effects" settings (for flat menus)

CORE-12905
2026-07-28 14:20:23 +03:00
Hermès Bélusca-Maïto 096c0aa9d4 [WELCOME] Update the ExpandInstallerPath() information
Update its parameter names, SAL2 annotations, and Doxygen comment.
2026-07-27 20:08:16 +02:00
Hermès Bélusca-Maïto 064dd8f832 [USERINIT] Locate and cache early the path to the ReactOS installer when starting in livecd mode
- Move `ExpandInstallerPath()` from userinit.c to livecd.c, and update
  its SAL2 annotations and Doxygen comment.

- Make `StartInstaller()` directly use the cached ReactOS installer path.

- This avoids invoking yet again `ExpandInstallerPath()` when trying to
  locate the installer also for the aim of determining whether to disable
  the "Install" button.
2026-07-27 20:06:02 +02:00
Hermès Bélusca-Maïto d524789ed0 [USERINIT] Simplify the LiveMedium check
Use the standard way of checking for the existence of
the `HKLM\SYSTEM\CurrentControlSet\Control\MiniNT` key.
Addendum to commit 8c9a41db96 (r70607).
2026-07-27 19:32:27 +02:00
Hermès Bélusca-Maïto b1bd421163 [UMPNPMGR] Simplify the LiveMedium check
Use the standard way of checking for the existence of
the `HKLM\SYSTEM\CurrentControlSet\Control\MiniNT` key.
Addendum to commits 8fabb29ed9 and 9fa8028ae4.
2026-07-27 19:32:27 +02:00
Hermès Bélusca-Maïto 8dce28564a [UMPNPMGR] IsConsoleBoot(): Check for RegOpenKeyExW() failure before continuing 2026-07-27 19:32:26 +02:00
Ahmed Arif 98256a4f5d [NTOS:MM] Allow contiguous-memory frees at DISPATCH_LEVEL (#9349)
MmFreeContiguousMemory() is callable at up to DISPATCH_LEVEL,
but MiFreeContiguousMemory() used PAGED_CODE(), which incorrectly asserted
above APC_LEVEL in checked builds.

Replace it with an assertion that enforces the exported IRQL contract.
2026-07-27 17:44:40 +03:00
Ahmed Arif 28373a9f84 [NTOS:IO] Do not free the active VPB (#9343)
IopDereferenceVpbAndFree frees a zero-reference VPB only while it is still
installed in RealDevice->Vpb. This can leave the device with a dangling
VPB pointer while detached VPBs are retained.

Reverse the identity test so only a detached, nonpersistent VPB is released
after its reference count reaches zero.

Reference:
- https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ns-wdm-_vpb
2026-07-27 15:48:33 +03:00
Ahmed Arif 6c515f5aa6 [NTOS:MM] Release system image PTEs on unload (#9078)
MmUnloadSystemImage() had an explicit leak placeholder for driver images.

Implement the MmUnloadSystemImage() that performs matching teardown
for the image mappings, releasing the reserved system PTE range.

Also fix similar leak in MiLoadImageSection() by releasing image mappings
after load failures.

CORE-8294

Note that the driver images loaded at boot, which were not reloaded by
MiReloadBootLoadedDrivers(), remain at their loader-assigned addresses
and do not own system PTEs.
2026-07-27 15:20:39 +03:00
Mohammad Amin Mollazadeh ec4af44cff [RPCRT4] Sync rpcrt4.spec to Wine-10.0 (#9338) 2026-07-27 12:12:15 +02:00
Dmitry Borisov af36fc655d [NVNET] Fix two typos (#9345)
- Fix ETH_IS_EMPTY macro condition (5th octet)
- Add missing assignment of maximum VLAN ID

CORE-15872
2026-07-26 19:52:51 +03:00
Stanislav Motylkov 8f5475054c [NETSHELL] Fix overlapping text on top of edit in IDD_NETWORKDOMAINPAGE
Reduce "Workgroup or Domain Name:" height to avoid IDC_DOMAIN_NAME overlap,
with a value that is enough to fit the text vertically.

CORE-20694
2026-07-26 01:16:43 +03:00
Stanislav Motylkov 4eb9e87f09 [USETUP] Fix Albanian (sq-AL) translation
Remove a deprecated ERROR_FIND_SETUPDATA, which was supposed
to be removed in a7afba7703,
however it was skipped probably due to broken encoding.

Noticed in 7090cf7ebc / 7f7df51c62.
2026-07-26 01:16:26 +03:00
Stanislav Motylkov 7f7df51c62 [USETUP] Fix broken OEM encoding of comments
Partial revert of commit 7090cf7ebc.
2026-07-26 01:16:12 +03:00
Jose Carlos Jesus 90f29bc22f [INPUT] Update Portuguese (pt-PT/pt-BR) translation (#9321)
Fix IDS_US_LAYOUT string, which should always be "US".
2026-07-26 00:26:15 +03:00
Ahmed ARIF 6799d7e96e [ARM64][SDK] Address intrinsic review feedback 2026-07-25 17:46:38 +00:00
Ahmed ARIF 658328ca24 [ARM64][SDK] Fix MinGW intrinsic declarations 2026-07-25 17:46:38 +00:00
Ahmed ARIF f6efc98b37 [ARM64][SDK] Add MinGW intrinsics support
Add the ARM64 MinGW intrinsics and SDK constants validated by the ARM64 bring-up work.
2026-07-25 17:46:38 +00:00
Amine Khaldi e05d78ede0 [OLEAUT32] Sync with Wine 10.0. CORE-20595 2026-07-25 17:55:19 +01:00
Amine Khaldi 5821d9d8a3 [PSDK] Update oleauto.h. CORE-20595 2026-07-25 17:55:19 +01:00