Commit graph

80088 commits

Author SHA1 Message Date
Mark Jansen 5ea3814a22 [ATL] Implement CString 'operator !=' 2021-06-05 23:28:38 +02:00
Mark Jansen 1d68fe209f
[SYSSETUP] Use the calculated full path 2021-06-05 22:14:34 +02:00
Joachim Henze 864e20b881 [MSI] setup should not enumerate read-only CDRoms as install-targets CORE-14432
We decided to check a bit different than Wine currently does.
Wine checks for
if (GetVolumeInformationW(ptr, NULL, 0, NULL, 0, &flags, NULL, 0) && flags & FILE_READ_ONLY_VOLUME)
to exclude read-only-media while we (for now) check for
if (GetDriveTypeW(ptr) == DRIVE_CDROM)

For now this gives us the benefit of covering also CDROM drives, that do not have
a CD put into it.
That does not work properly for us with the Wine patch yet, but it does for Wine!
So this maybe points to some other bug in ros, maybe in our CDROM(FS)-drivers?

In the future we should also test this on other read-only-media in Windows e.g.
a read-only USB stick to decide whether we want to stick with our current solution
or whether we want to switch to Wines solution or whether we want to logically OR
both conditions!

Thanks to Doug Lyons for providing what *currently* does work best for us!

VBox https://reactos.org/testman/compare.php?ids=77537,77546 (no change)
KVM https://reactos.org/testman/compare.php?ids=77531,77541 (no change)
2021-06-05 21:27:40 +02:00
Serge Gautherie 83fcd65700
[MPR] spec: Add stubs, document parameter types, stub-enable 2 functions (#3696)
* Add 20 stubs from mpr.dll v5.2.3790.3959.
* Document some parameter types from https://github.com/Microsoft/winfile/
* Change WNetGetDirectoryType[A|W] to no-op stubs

CORE-14376
2021-06-05 20:49:41 +02:00
Timo Kreuzer 1f5f614c7a [RAPPS] Implement support for architecture specific sections
See CORE-17616
2021-06-05 19:17:05 +02:00
Timo Kreuzer 20c1da7963 [RTL][KMTEST] RtlPcToFileHeader doesn't handle user mode images in kernel mode 2021-06-05 14:39:29 +02:00
Timo Kreuzer 3cf2bea0de [RTL] Fix RtlWalkFrameChain and wrap it in SEH 2021-06-05 13:52:42 +02:00
Timo Kreuzer e6af7d9dfe [RTL] Simplify RtlRaiseException 2021-06-05 13:52:42 +02:00
Timo Kreuzer 3ec1ca9b46 [RTL] Implement RtplUnwindInternal and wrap RtlUnwindEx and RtlDispatchException around it
Based on the description in this blog article: http://www.nynaeve.net/?p=106
2021-06-05 13:52:42 +02:00
Timo Kreuzer 1d58e84736 [RTL] Improve RtlVirtualUnwind
* Add support for version 2 unwind info
* Implement UnwindOpSlots() and use it (based on https://github.com/dotnet/coreclr/blob/master/src/unwinder/amd64/unwinder_amd64.cpp)
* Fix handling of UWOP_PUSH_MACHFRAME
2021-06-05 13:52:42 +02:00
Timo Kreuzer 5075f7d746 [RTL] Move exception handling code to except.c 2021-06-05 13:52:42 +02:00
Timo Kreuzer 65c3911ffc [RTL] Improve / fix the SList code
Don't push a register in the middle of a an asm function. Instead add a proper prolog and store rbx in a home param slot.
2021-06-05 13:52:42 +02:00
Timo Kreuzer 0520c75aaf [CRT] Implement __C_specific_handler 2021-06-05 13:52:42 +02:00
Katayama Hirofumi MZ 2106bc4a81
[CPL][APPWIZ] Make gecko download cancellable by keyboard (#3726)
We shouldn't disable nor hide the control with focus. CORE-17550, CORE-5737
2021-06-05 18:21:25 +09:00
Joachim Henze ae574e16f8 [WINETESTS] Workaround crashes in riched20:richole on VBox/KVM bots CORE-16799
The crashes began when those tests were synced to Wine Staging 4.18 in
0.4.14-dev-419-g 76cf09cfea

WHS 2k3sp2 Before the revert implies the tests were actually ok:
https://reactos.org/testman/compare.php?ids=77492

Disabling some of the tests is very unsatisfying of course,
but at least allows us to observe again
the results of the other tests from that suite.

VBox https://reactos.org/testman/compare.php?ids=77504,77506
KVM https://reactos.org/testman/compare.php?ids=77502,77505
2021-06-04 20:04:20 +02:00
Timo Kreuzer 7f2e0ece5a [NTOS:KE/x64] Handle shared interrupts 2021-06-04 09:19:13 +02:00
Timo Kreuzer ce537f1ae9 [EXPLORER] Check m_Position for -1 before using it as an index
This fixes a crash on x64.
2021-06-04 09:15:55 +02:00
Timo Kreuzer 11ffa31155 [BROWSEUI] Fix broken code 2021-06-04 09:15:55 +02:00
Katayama Hirofumi MZ 55345930ad [SHELL32_APITEST] ShellExecCmdLine: Don't copy Notepad.exe
On Windows 10, when I copyed Notepad.exe to the desktop and double-clicked it, it won't start Notepad. This is probably because there is a security protection mechanism (or some mechanism) at work. Tests that assume this mechanism will not work properly on ReactOS. Thus, I had to delete some tests. CORE-17351
2021-06-04 06:16:07 +09:00
Katayama Hirofumi MZ f37b94ba39 [SHELL32_APITEST] ShellExecCmdLine: Close Notepad windows
By using newly added CloseNotepads function, close the Notepad window.
CORE-17351
2021-06-03 14:49:49 +09:00
Timo Kreuzer e8496b4fbf [NTOS:PS/x64] Fix PspGetOrSetContextKernelRoutine
It now uses KiSetTrapContext to set the non-volatile context on the stack and the volatile context in the trap frame.
2021-06-02 18:25:36 +02:00
Timo Kreuzer f1ed97d6cc [NTOS:KE/x64] Implement KiSetTrapContext
KiSetTrapContext is an asm wrapper around RtlSetUnwindContext, which first stores an exception frame to assure that all non-volatile registers were put on the stack, then calls RtlSetUnwindContext to update their first saving positions on the stack and finally restore the exception frame to potentially load any updated registers, that haven't been saved elsewhere on the stack.
2021-06-02 18:25:36 +02:00
Timo Kreuzer e801b7dda2 [RTL/x64] Implement RtlpCaptureNonVolatileContextPointers and RtlSetUnwindContext
RtlpCaptureNonVolatileContextPointers walks the stack and captures the addresses of all non-volatile registers on the stack, when they have been saved first. This is needed to be able to fix up the non-volatile on a system call, which doesn't capture non-volatiles, but relies on them to be restored by the callees.

Instead of only checking for the TargetFrame, also check for a mode change, i.e. RIP went from kernel to user, in which case the target frame was not reached yet, because it was too large, but processing can't continue here.

RtlSetUnwindContext uses RtlpCaptureNonVolatileContextPointers to set the non-volatile registers in the the stack. They will be picked up, when returning back or unwinding, e.g. to the system call handler.
2021-06-02 18:25:36 +02:00
Serge Gautherie 80b54b8026 [BOOT] CMakeLists.txt: Compare ARCH to arm64, not aarch64
This aarch64 was introduced first,
but arm64 was preferred everywhere else since then.

CORE-17518
2021-06-02 13:26:08 +03:00
Serge Gautherie 7e43c2610d [CMAKE] CMakeLists.txt: Fix 'omap-zoom2' typo
Addendum to fae2044 (r51783).
CORE-17604
2021-06-02 13:24:39 +03:00
Stanislav Motylkov 11687e9e43
[CRT][ARM] Fix uninitialized variables caught by RTC
CORE-17613
2021-06-02 13:18:40 +03:00
Piotr Hetnarowicz 0175e8f8dd
[EXPLORER] Polish translation update (#3704) 2021-06-02 11:54:12 +02:00
Piotr Hetnarowicz 4771551c74
[BROWSEUI] Polish translation update (#3703) 2021-06-02 11:53:07 +02:00
Piotr Hetnarowicz 0e18985e56
[WINLOGON] Polish translation update (#3702) 2021-06-02 11:52:10 +02:00
Piotr Hetnarowicz d05a20e7b3
[SHELL32] Polish translation update (#3701) 2021-06-02 11:50:54 +02:00
George Bișoc 06b0d2e380
[NTOS:SE] Implement logon session deletion
And declare a prototype for SepCleanupLUIDDeviceMapDirectory and annotate it with SAL.
2021-06-02 11:09:01 +02:00
Serge Gautherie 2dcc40fb3e [CMAKE] CMakeLists.txt: Remove NO_UNDERSCORE_PREFIX leftovers
And switch to add_compile_definitions().

Addendum to 9efafd6.
2021-06-02 10:04:21 +02:00
Katayama Hirofumi MZ 59d4c11203
[WIN32SS][NTUSER] ShowWindow.SW_MINIMIZE should show window (#3700)
- user32!ShowWindow.SW_MINIMIZE should show the window.
- Fix the return value of ShowWindow function on invalid parameter.
CORE-15669
2021-06-01 11:11:23 +09:00
Serge Gautherie 5ce9e2ec8e [GITHUB] build.yml: Define CLANG_VERSION for clang only
Addendum to a66214c.
2021-05-31 16:04:49 +02:00
Serge Gautherie 4d00a5653a [GITHUB] build.yml: Properly define LLVM_VERSION
Addendum to a66214c.
2021-05-31 16:04:49 +02:00
Katayama Hirofumi MZ 32b0cf6fc6
[WIN32SS][NTUSER] Improve HSHELL_WINDOWCREATED condition (#3697)
Modify the condition of generating HSHELL_WINDOWCREATED, especially on WS_CHILD window style. CORE-15669
2021-05-31 13:08:06 +09:00
Eric Kohl 7b970c67a8 [NETCFGX] Create unique network connection names 2021-05-30 21:12:58 +02:00
Katayama Hirofumi MZ a8ed286c86
[USER32_APITEST] Add ShowWindow testcase (#3689)
Investigate the implementation of user32!ShowWindow. CORE-15669
2021-05-30 09:37:38 +09:00
Timo Kreuzer 0c3812eb7e [RTL/x64] Implement RtlRestoreContext 2021-05-29 21:20:48 +02:00
Timo Kreuzer abb338b13d [RTL/x64] Improve RtlCaptureContext
Use movaps instead of movdqa, it does the same thing, but is one byte shorter.
Shuffle instructions around a bit to maximize parallel execution.
2021-05-29 21:20:48 +02:00
Timo Kreuzer 3831c0ca31 [RTL/x64] Improve RtlInitializeContext 2021-05-29 21:20:48 +02:00
George Bișoc 3140dac3fe
[NTOS:SE] Do some cleanup on ICIF flags in token information classes
A few of these classes have fixed size lengths, the rest are arbitrary. Also the TokenAuditPolicy class hasn't a size length type specified in the table, which is wrong (and move the corresponding TOKEN_AUDIT_POLICY_INFORMATION structure into the private header).
2021-05-29 12:44:03 +02:00
Katayama Hirofumi MZ d21adc9b31
[SHELL32_APITEST] Strengthen and improve ShellHook testcase (#3687)
- Add tests to find the missing parameters against HSHELL_WINDOWCREATED conditions.
- Improve code readability. CORE-15669
2021-05-29 09:33:46 +09:00
Timo Kreuzer e693d5ffc0 [USBPORT] Make unload work 2021-05-28 22:29:44 +02:00
Timo Kreuzer db0c59cbd4 [CRT] Use the asm version of sqrt on amd64 2021-05-28 11:52:42 +02:00
Timo Kreuzer 90a0e426ed [NTOS:KE] Add IRQL checks and fix KiInitiateUserApc 2021-05-28 11:52:42 +02:00
Timo Kreuzer 3d18831c19 [NTOS:KE] Improve KiSystemCallEntry64 2021-05-28 11:52:42 +02:00
Timo Kreuzer 69e8cb635a [NTOS:KE] Fix stack alignment issues 2021-05-28 11:52:42 +02:00
Timo Kreuzer 2a2d0903bf [NTOS:KE] Remove duplicated EFlag definitions 2021-05-28 11:52:42 +02:00
Timo Kreuzer 42e1fefcc6 [ASM] Clear interrupt flag in ExitTrap before returning 2021-05-28 11:52:42 +02:00