50 Commits
Author SHA1 Message Date
Carl J. Bialorucki c3d141b675 [NTOS][NTOS:FSRTL] Use RtlIsNameInExpression for FsRtlIsNameInExpression
Also link rtl_vista to ntoskrnl
2026-07-22 19:53:20 -05:00
Carl J. Bialorucki 96005fb298 [NTDLL_APITEST] Add test for RtlIsNameInExpression 2026-07-22 19:53:20 -05:00
Carl J. Bialorucki 6ccb3488e4 [NTDLL] Export RtlIsNameInExpression from ntdll, ntdll_vista 2026-07-22 19:53:20 -05:00
Carl J. Bialorucki d2b688a5ca [RTL] Add RtlIsNameInExpression to RTL 2026-07-22 19:53:20 -05:00
Carl J. Bialorucki 6117b1bdef [SYSSETUP][BOOTDATA] Add winevdm as an optional module (#9219)
- Add winevdm_setup as an optional module that can be preloaded on install
- Prompt to install both gecko and winevdm if the installer is not on disk
- Change "DisableGeckoInst" to "DisableAddonsInst" because we are installing more than just Gecko now
- No longer use appwiz,,install_gecko hack from wine appwiz
- Delete installer after successfully installing winevdm and gecko locally
2026-07-04 12:03:47 -05:00
Carl J. Bialorucki 34bf566dd9 [SYSSETUP][BOOT] Add ReactOS Server Core install type
- Write InstallationType to registry.
- If installing as Server Core, set shell to cmd.exe.
- Rename "Product Option" to "Install Type" and adjust relevant variable names.
- Reserve Nano Server installation type for future use.

JIRA issue: CORE-20645
2026-06-08 10:11:57 -05:00
Carl J. Bialorucki 2263c9ca0f [USERINIT] Start shell from profile path
When the shell is assigned to cmd.exe, open to the logged in user's profile path. This appears to match the behavior of Windows Server 2003 userinit. It is also a prerequisite for ReactOS Server Core.
2026-06-08 10:11:57 -05:00
Carl J. Bialorucki c32fa2c96c [WALLPAPERS] Reorganize wallpapers, make it more similar to 0.4.15 release (#9000)
- Rename wallpaper filenames so they make sense in the available wallpaper list
- Flatten folder structure
- Change the capitalization on file ReadMe.txt to README.txt
- Add a license column in README.txt to describe license of each wallpaper
Note: The licenses for Silhouette.png and Silhouette Dark.png could not be confirmed. Assumed CC-BY-4.0
- Removed CC-BY-4.0 LICENSE.txt from the wallpapers folder because that license doesn't apply to all the wallpapers in the folder.
- Remove suggestions.txt, most of the links are dead and hasn't been touched since 2005.
- Rename ReadMe.txt from Angelus folder to Angelus.txt (Should we just remove it?)
2026-05-28 16:03:30 -05:00
Carl J. Bialorucki c03dd1ba75 [BOOTDATA] Add commented out block for setting visual style 2026-05-07 08:34:25 -05:00
Carl J. Bialorucki 548f0740df [BOOTDATA] Add unattend.inf to livecd target
Needed for 0.4.16 release to set a default visual style
2026-05-07 08:34:25 -05:00
Carl J. Bialorucki 94e7bbcc6b [SDK] Update some headers
Preparation for ntdll_winetest sync.
2026-05-05 07:44:54 +00:00
Carl J. Bialorucki 129ef359f0 [SDK] Raise KERNEL_VERSION_PATCH_LEVEL to 17
0.4.17-dev starts now.
2026-04-28 20:35:14 -05:00
Carl J. Bialorucki 7174935d73 [BOOTDATA] Fix legide.sys load on boot (#8888)
After merging the new ATA driver, FreeLdr complains about not being able
to load legide.sys. Fix that by adding legide.sys driver to txtsetup.sif
so FreeLoader can load it.

Addendum to ae2827f481. CORE-17256
2026-04-22 10:28:38 +03: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
Carl J. Bialorucki 20d322fcdc [USER32_APITEST_MENUUI] Don't let rosautotest wait on a test list from user32_apitest_menuui.exe (#8469)
- [USER32_APITEST_MENUUI] Return an empty test list when called with --list
NOTE: The better way to fix this is to move this executable to \reactos\bin\suppl. But that requires some refactoring of tests already in our source tree.
2026-03-23 18:32:52 -05:00
Carl J. Bialorucki f0475a03cb [USER32_WINETEST] Sync user32 winetest to wine-10.0
- [USER32_WINETEST] Sync to wine-10.0.
- [USER32_WINETEST] Define out some function definitions we can't build yet.
- [USER32_WINETEST] Skip parts of test that crash on ReactOS or Windows
- [USER32_WINETEST] Pass behaviors from WS03-Win10 1607
2026-03-13 18:32:47 -05:00
Carl J. Bialorucki 6efe017a3a [INCLUDE/PSDK][INCLUDE/WINE] Header changes needed for user32 winetest sync
- psdk/mmsystem.h: Add a #ifndef guard around SC_SCREENSAVE, MS public headers have the same guard
- psdk/ole2.h: Add guards around CreateDataAdviseHolder that are similar to the guards used in MS public headers
- psdk/winuser.h: Add missing defines, use DWORD and LONG casts to fix test failures on x64. These same casts exist in MS public headers
- wine/test.h: Add defines for winetest_platform_is_wine, flaky, and flaky_wine. The flaky definitions depend on flaky_if, which is a stub that does nothing.
2026-03-13 18:32:47 -05:00
Carl J. Bialorucki c9e73b6a77 [INCLUDE/WINE] Don't use DECLSPEC_IMPORT on ntsecapi.h
- Define WINADVAPI to nothing in Wine ntsecapi.h so MSVCRT can build on GCC.
2026-03-03 22:07:59 -06:00
Carl J. Bialorucki b7e05a7f58 [ADVAPI32_WINETEST] Sync to advapi32 winetest to wine-10.0
- [ADVAPI32_WINETEST] Sync to wine-10.0
- [ADVAPI32_WINETEST] Remove obsolete ReactOS hacks
- [ADVAPI32_WINETEST] Add new hacks for Windows Server 2003+ and ReactOS
2026-03-03 22:07:59 -06:00
Carl J. Bialorucki 391875028d [INCLUDE/WINE][PSDK][XDK] Header changes needed for advapi32 winetest sync to wine-10.0
- [INCLUDE/WINE] Import ntlsa.h, ntsecapi.h, winsvc.h from wine-10.0
- [PSDK] Fix some header definitions to make them more accurate to Microsoft's headers and add some missing definitions
- [XDK] Add a fix for PROCESS_ALL_ACCESS on Vista+ (matches Microsoft's headers)
- [COMDLG32] Remove unneeded _WIN32_WINNT bump after fixing headers
- [SETUPAPI] Remove duplicate definitions that are no longer needed after fixing headers
2026-03-03 22:07:59 -06:00
Carl J. Bialorucki 9844effa41 [ADVAPI32] Add SEH handling to some crypt functions
This fixes several crashes when running the advapi32 winetest from wine-10.0
2026-03-03 22:07:59 -06:00
Carl J. Bialorucki 4013a064b0 [ADVAPI32] Add NT6+ stubs for RegLoadAppKey and RegRenameKey 2026-03-03 22:07:59 -06:00
Carl J. Bialorucki d30bc2120e [CODE_OF_CONDUCT] Don't accuse other contributors of undermining the work (#8661)
- Add an explicit rule to not make unsubstantiated claims, especially regarding undermining the project.
- Adjusted formatting.
2026-02-13 13:35:08 -06:00
Carl J. Bialorucki 8aafd0491d [KERNEL32_WINETEST] Handle Windows -> ReactOS folder differences 2026-01-09 08:54:58 -08:00
Carl J. Bialorucki ddfdb0de7a [KERNEL32_WINETEST] Sync kernel32 winetest to wine-10.0
- [KERNEL32_WINETEST] Sync to wine-10.0
- [KERNEL32_WINETEST] Define out tests we can't yet build, fix test failures for WS03-Win 10 1607.
- [KERNEL32_WINETEST] Consolidate header hacks needed for the winesync in winehacks.h. This documents what incompatibilities we need to work around in our and Wine headers in one place.
2026-01-09 08:54:58 -08:00
Carl J. Bialorucki c20ec94409 [KERNEL32] Check for null buffer in GetEnviornmentVariableW
Checks if lpBuffer is null before writing the null terminator to the end of it. This prevents some crashes in the kernel32 winetest sync to wine-10.0.
2026-01-09 08:54:58 -08:00
Carl J. Bialorucki 02875dec22 [NTDLL] Add stub for NtQuerySystemInformationEx()
- [NTDLL] Add a stub for a Win7+ function that we need to link to when the DLL_EXPORT_VERSION is high enough. This is needed for the kernel32 winetest sync to wine-10.0.
2026-01-09 08:54:58 -08:00
Carl J. Bialorucki b1644362af [INCLUDE/WINE] GetNTVersion() and other changes for kernel32 winetest sync
- [INCLUDE/WINE] Add GetNTVersion() macro, useful for determining Windows versions in Wine tests we need to bring up for older Windows versions.
- [INCLUDE/WINE] Header changes needed for kernel32 winetest
- [WINETESTS] Perform any fixes needed from breaking header changes
2025-11-21 10:17:20 -06:00
Carl J. Bialorucki ad807f82b6 [INCLUDE/WINE] Fix for CORE-20373
- Don't use DECLSPEC_IMPORT for function prototypes when compiled with GCC. This is related to CORE-6504. This hack can be removed when binutils is fixed and CORE-6504 is resolved.
2025-11-21 10:17:20 -06:00
Carl J. Bialorucki 773206851a [SHLWAPI_WINETEST] Sync to wine-10.0 (#8303)
- [SHLWAPI_WINETEST] Sync to wine-10.0
2025-10-29 14:10:07 -05:00
Carl J. Bialorucki 6762703ce4 [PSDK][INCLUDE/WINE] Introduce our own shlwapi.h for PSDK and import wine-10.0 shlwapi.h for Wine code (#8419)
- [PSDK] Introduce our own Microsoft compatible and MIT-licensed shlwapi.h and fix breaking changes
- [INCLUDE/WINE] Import shlwapi.h from wine-10.0 for use with Wine compatible code
- [CMAKELISTS.TXT] Bump up IE version from IE60 to IE60SP2. This is required because we are already using IE60SP2 guarded functionality; the new header unhides this.
- [SHLWAPI] Fix breaking changes, including a typo for 'SHGVSPB_GLOBALDEAFAULTS' (should be 'SHGVSPB_GLOBALDEFAULTS')
- [MSI] Use wine's shlwapi.h instead of our own in automation.c, don't precompile shlwapi.h.
- [URLMON_WINETEST] Primarily use wineheaders for this test
2025-10-17 09:23:31 -05:00
Carl J. Bialorucki fe497a2b23 [IPHLPAPI_WINETEST][IPHLPAPI] Sync iphlpapi_winetest to wine-10.0 (#8309)
- [IPHLPAPI_WINETEST] Sync to wine-10.0
- [IPHLPAPI] Add stubs for Vista+ functions so these functions can link properly when DLL_EXPORT_VERSION >= 0x600
2025-10-09 14:34:32 -05:00
Carl J. Bialorucki d992cf0ba2 [KMTEST] Skip tests that bugcheck on Vista (#8406)
- [kmtest_drv] Increase timeout period from 10 seconds to 30 seconds. This was needed on my machine because of log spam in the kmtest:IoDeviceInterface test. I also reduced the log spam in that test, making this not necessary. However, I left it in as I figured if I ran into this issue, others may too in the future with other tests.
- [kmtest:ExFastMutex] Skip concurrent fast mutex tests on Vista+. It appears that this was also causing hangs on WS03 x64 so I moved the skip logic there and combined it with the vista+ skip.
- [kmtest:IoDeviceInterface] Change some traces to DPRINTs since it was creating excessive log spam that slowed down the test enough to trigger the previous timeout.
- [kmtest:KeEvent] Skip concurrent event tests on Vista+.
- [kmtest:KeGuardedMutex] Skip on Vista+.
- [kmtest:ObType] Disable making custom object types as this is invalid on Vista+.
- [kmtest:PoIrp] Skip on Vista+ (already skipped on WS03 x64).
- [kmtest:SeInheritance] Skip on Vista+.
2025-10-07 12:17:13 -05:00
Carl J. Bialorucki 5f243e66b6 [COM_APITEST][INCLUDE/REACTOS][PSDK] Fix com tests for WS03, Vista+ (#8343)
[COM_APITEST]
- Add NTDDI version gating to classes and interfaces in tests
- Remove rigid offset tests. Instead, offsets to known interfaces can be logged by defining LOG_COM_INTERFACE_OFFSETS.
- Replace the noreg member of the known interfaces array with a function pointer that can be used to determine if a com test should be globally registered depending on the current NTDDI version. I could probably replace this with a min and max registered NTDDI value, but I thought this was confusing for interfaces that are never globally registered.

[INCLUDE/REACTOS]
- Rename the existing interface definition for IShellBrowserService to IShellBrowserService_XP at {1307EE17-EA83-49EB-96B2-3A28E2D7048A}. This only exists on XP and Server 2003, no earlier or later versions.
- Rename IID_IShellBrowserServce to IID_IShellBrowserService since this definition is correct for Windows 7+ at {DFBC7E30-F9E5-455F-88F8-FA98C1E494CA}
- Add an interface definition for IShellBrowserService4 at {F5A24314-5B8B-44FA-BC2E-31285544B520}. This definition for IShellBrowserService exists for Vista only and no other version.

[PSDK]
- Add a define for NTDDI_WIN7SP1. While this isn't defined in the public Windows headers, it clearly exists in private headers because it is referenced in the public WinBase.h header.
2025-09-29 08:33:38 -05:00
Carl J. Bialorucki 435482912c [PSDK][INCLUDE/WINE] Header changes needed for iphlpapi, shlwapi, advapi32, and kernel32 winetest syncs (#8317)
- [INCLUDE/WINE] Add synced Wine headers for the iphlpapi winetest to use. This helps us slowly decouple our headers and wine's headers.
- [PSDK] Add definitions we are missing for other winetest syncs.
- [WINETESTS][APITESTS] Fix breaking changes, remove duplicate definitions for debugstr_guid.
2025-09-25 17:54:18 -05:00
Carl J. Bialorucki 4fafe46fc9 Add tristate option to fix cmd:attrib test (#8344)
- Add a tristate option to accept either true or false for the bStdOutput and bStdError tests
- Use this new option on the four tests that are inconsistent.
2025-09-25 15:18:24 -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
Carl J. Bialorucki 57092f4990 [CRYPT32_WINETEST] Sync crypt32 winetest to wine-10.0 (#8058)
- Sync crypt32 winetest to Wine 10.0.
- Guard tests we can't compile yet.
- Conditionally skip tests that crash on different Windows versions.
2025-08-08 11:28:10 -06:00
Carl J. Bialorucki b86422cd4b [SHELL32_APITEST] Several fixes (#8266)
Fix the shell32 apitests so that they pass on Windows Server 2003 - Windows 10. Many of these fixes are for Vista+, but the most important fixes are for ShellExecCmdLine and FindExecutable which had issues closing windows after tests and deleting test files. Failing to delete these files breaks the other test (i.e. running ShellExecCmdLine would break FindExecutable and vis-versa.)
2025-07-29 14:06:13 -06:00
Carl J. Bialorucki c9842e5aad Move /sdk/include/reactos/wine to /sdk/include/wine, reorder global includes, remove unneeded includes (#8258)
- Move sdk\include\reactos\wine to sdk\include\wine
- Reorder the directories in include_directories() to be closer to alphabetical. This should make it easier to determine what global include directories can be removed in the future.
2025-07-29 13:57:12 -06:00
Carl J. Bialorucki 117cd33b49 [PSDK] Sync winerror.h with wine-10.0 (#8244)
- Sync winerror.h to wine-10.0
- Fix a couple hacks that existed because we didn't do this sooner
- Fix an instance where Wine compares a pointer to S_OK to see if it's null
2025-07-11 14:12:09 -06:00
Carl J. Bialorucki a753f34e30 [PSDK][XDK][NDK][INCLUDE/WINE] Make header changes to sync crypt32, kernel32, and user32 winetests (#8114)
- [PSDK] Sync wincrypt.h to Wine 10.0, keeping our SAL annotated function definitions behind an #ifdef guard
- [XDK] Add definitions to our winnt header that Wine 10.0's winternl.h depends on.
- [INCLUDE/WINE] Sync winternl.h to Wine 10.0
- [OTHER] Fix breaking changes with the synced winternl.h.
2025-07-05 15:14:31 -06:00
Carl J. Bialorucki a993c589ae [SHLWAPI_APITEST] Fix heap assertion and test failures (#8217)
- Properly initialize a string in SHPropertyBag test. This prevents a heap assertion failure on Vista+ when freed and connected to a debugger.
- Adjust a value against Windows 8+ instead of Vista as originally assumed in the IsQSForward test.
- Use GetVersion() to check if we are running on NT6+ and test appropriately in the PathIsUNC and PathIsUNCServer tests.
2025-07-05 15:09:23 -06:00
Carl J. Bialorucki 410db43f20 [IPHLPAPI_APITEST] Test failure fixes (#8214)
- liCreateTimestamp isn't set in TCP tables on several Windows versions. If it isn't, then we can't compare it to the current system time; so don't.
- GetInterfaceName had some test failures unique to Vista, guard them.
- icmp: Accept either ERROR_INVALID_HANDLE  or ERROR_INVALID_PARAMETER as a last error in a couple tests.
2025-07-04 19:14:24 -06:00
Carl J. Bialorucki 33336d0369 [APITESTS] Add GetNTVersion() macro for version detection on Windows 8.x+ (#8225)
Grab the NT version from KUSER_SHARED_DATA and expose it in GetNTVersion().
2025-07-03 14:51:10 -06:00
Carl J. Bialorucki 19e8fbb20e [KMTESTS] Fixes for 2003, Vista, 7, 8, 10 x86 and x64 (#8175)
Fix several kmtests in preparation for testbots with newer versions of Windows. There's still more kmtests to fix, but this fixes all the kmtests that bugchecked during my testing.
2025-07-03 14:33:59 -06:00
Carl J. Bialorucki bf734eb002 [APPHELP_APITEST] Fix test failures on Vista, 7, 8.1 x86 and x64 (#8122)
* Disable most apphelp:env and some apphelp:db tests on x64 due to structure differences breaking these tests.
* Add new tag lists for Windows 8.1 and Windows 10 in apphelp:apphelp test.
* Make a few changes to accept either Windows 10 or Windows 8.1 and older behavior in apphelp:apphelp test.
* Create new shimdata structures for Windows 8 and Windows Vista.
* Add attribute size definitions for Vista, 8.1, and 10.
* Create new shim data validation functions for Vista and 8.1.
* Use local time instead of UTC time for shim db version. This fixes test failures when the day in local time and the day in UTC are different.
2025-06-17 11:18:32 -06:00
Carl J. Bialorucki 0947a64a90 [GDI32_APITEST] Fix test on all versions of Windows at certain vertical resolutions (#8048)
* Use MulDiv to generate the result and negate that instead of dividing by a negative number, which can cause test failures.
2025-06-03 14:08:03 -06:00
Carl J. Bialorucki dd896f6f44 [DNSAPI_APITEST] Fix dnsapi:DnsQuery on Server 2003 x86, 8.1 x86, 8.1 x64, 10 x86, 10 x64 (#8043)
* Windows Server 2003 x86 may return a DNS_ERROR_RCODE_NAME_ERROR in some tests where other versions of Windows may return ERROR_INVALID_NAME, ERROR_TIMEOUT, or DNS_ERROR_INVALID_NAME_CHAR. Pass this behavior.

* Windows 8+ sets the query to a null pointer when given an invalid query pointer while earlier Windows versions don't change the query pointer. Pass either behavior.
2025-06-02 12:15:45 -06:00
Carl J. Bialorucki b627a42898 [APPSHIM_APITEST] Fix test for x86 Vista and 7 (#8042)
On x86 builds, accept the sentinel hmodule instead of the 111 hmodule and 0 hmodule for Vista and 7.
2025-05-27 16:11:42 -06:00