George Bișoc [Sun, 2 May 2021 19:03:09 +0000 (21:03 +0200)]
[NTOS:PS] Add some data structures
These are needed for API tests. The following structures are taken from Process Hacker.
George Bișoc [Sun, 2 May 2021 19:00:51 +0000 (21:00 +0200)]
[NTOSKRNL] Use IQS_SAME instead of ICI_SQ_SAME
And remove the redundant ICI_SQ_SAME macro as it's no longer needed in the codebase.
George Bișoc [Sun, 2 May 2021 18:58:40 +0000 (20:58 +0200)]
[NTDLL_APITEST] Add alignment probing tests for Query/Set information thread related routines
George Bișoc [Sun, 2 May 2021 18:56:14 +0000 (20:56 +0200)]
[NTDLL_APITEST] Add alignment probing tests for Query/Set information process related routines
George Bișoc [Sun, 2 May 2021 18:52:18 +0000 (20:52 +0200)]
[NTOS:PS] Bring the threads/processes information classes table back
These were removed in
bf493b9, for whatever apparent reason. It's time to import them back.
George Bișoc [Sun, 2 May 2021 18:49:06 +0000 (20:49 +0200)]
[NTOSKRNL] Move the ICIF related code and stuff into a separate header file
For easier accessibility for the APITESTs and whatnot.
George Bișoc [Sun, 2 May 2021 18:45:57 +0000 (20:45 +0200)]
[NTDLL_APITEST] Implement alignment probing library code
The probing library code only probes data types for threads/processes information classes in Process Structure subsystem for now.
George Bișoc [Sun, 2 May 2021 18:42:19 +0000 (20:42 +0200)]
[NTDLL_APITEST] Include the internal headers from the kernel and the probing library file
George Bișoc [Mon, 12 Apr 2021 12:42:52 +0000 (14:42 +0200)]
[NTOS:PS] Make sure we can impersonate the given token first
PsImpersonateClient blindly impersonates the requested client even though it doesn't know if the actual token given to the call can be impersonated for the thread of the client which we are going to begin impersonation. In the case where impersonation is not possible, make a copy of the given token and assign the newly one for impersonation instead.
CORE-17539
George Bișoc [Mon, 12 Apr 2021 12:33:42 +0000 (14:33 +0200)]
[NTOS:SE] Implement SeTokenCanImpersonate routine
SeTokenCanImpersonate ensures whether the client impersonation can occur, and if not, the call signals this to the caller.
Eric Kohl [Sun, 2 May 2021 14:26:11 +0000 (16:26 +0200)]
Eric Kohl [Sun, 2 May 2021 13:28:26 +0000 (15:28 +0200)]
[NTOS:PS] Add the missing privilege check to NtSetInformationThread:ThreadPriority
This fixes the remaining failure in the NtSetInformationThread test.
Eric Kohl [Sun, 2 May 2021 11:55:29 +0000 (13:55 +0200)]
[NTOS:PS] Add ThreadInformation probing to NtSetInformationThread
Also get rid of unused buffer check code.
This fixes two test failures.
Eric Kohl [Sun, 2 May 2021 11:46:22 +0000 (13:46 +0200)]
[NTOS:PS] Rewrite NtSetInformationThread to match NtQueryInformationThread
The Information length must always be checked before referencing the thread object. This fixes a test failure.
Eric Kohl [Sun, 2 May 2021 10:46:19 +0000 (12:46 +0200)]
[NTOS:PS] Rewrite NtQueryInformationThread to match NtQueryInformationProcess
The information length must always be checked before referencing the thread object. This fixes the remaining test failure.
Serge Gautherie [Sat, 1 May 2021 19:11:34 +0000 (21:11 +0200)]
[REACTOS] Fix parameter types on some exports (#3217)
Fix some wrong parameter types on some exports in NTDLL, KERNEL32, WTSAPI32, and NTOSKRNL.
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[NTOS:OB] ObQueryDeviceMapInformation(): Fix annotations
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[PSDK] UnlockResource(): Improve definition
Sync' with
https://source.winehq.org/git/wine.git/commit/
a9e50da352e32d4c1bc8d0a686efa1e1bb7a84da
Katayama Hirofumi MZ [Fri, 30 Apr 2021 01:48:33 +0000 (10:48 +0900)]
[CMD_APITEST] Follow-up of #3632 (
0c2230a)
CORE-17500
Hermès Bélusca-Maïto [Fri, 30 Apr 2021 00:42:35 +0000 (02:42 +0200)]
[INF] Remove stray file. Addendum to commit
a1fc312a.
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[NTOS:PS] NtQueryInformationProcess(): Fix ProcessDeviceMap case
Fix Clang-Cl
'...\ntoskrnl\ps\query.c(583,33): warning: variable 'Status' is uninitialized when used here [-Wuninitialized]'
Addendum to
1074a9a.
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[NTOS:PS] NtQueryInformationProcess(): Sync' annotations
Katayama Hirofumi MZ [Thu, 29 Apr 2021 07:59:20 +0000 (16:59 +0900)]
[FC] Fix typo s/IDS_RESYNCH_/IDS_RESYNC_/ s/Resynch/Resync/
CORE-17500
Katayama Hirofumi MZ [Thu, 29 Apr 2021 07:39:13 +0000 (16:39 +0900)]
[CMD_APITEST] Add FC testcase (#3632)
Add a testcase for FC (file comparison) command to investigate FC command. CORE-17500
Hervé Poussineau [Wed, 21 Apr 2021 22:32:33 +0000 (00:32 +0200)]
[NE2000] Use the real MAC address instead of a fake one
These lines were added 15 years ago, in r18445.
Jérôme Gardou [Wed, 28 Apr 2021 13:58:01 +0000 (15:58 +0200)]
[NTOS:KDBG] Fix invalid DBG print
Jérôme Gardou [Wed, 28 Apr 2021 12:52:05 +0000 (14:52 +0200)]
[KDGDB] Remove debugging leftover
Jérôme Gardou [Tue, 27 Apr 2021 08:23:37 +0000 (10:23 +0200)]
[NTOS:KDBG] Begin port for amd64.
Not really functional, but it prints debug output.
Take this as an opportunity to add consistancy between some i386 & amd64 intrinsics
Jérôme Gardou [Fri, 23 Apr 2021 13:30:41 +0000 (15:30 +0200)]
[CRT] Sync tlssup.c with mingw-w64
This allows amd64 built binary to be loaded.
Jérôme Gardou [Fri, 23 Apr 2021 13:30:18 +0000 (15:30 +0200)]
[CRT] We never use the mthread library
Jérôme Gardou [Fri, 23 Apr 2021 13:26:33 +0000 (15:26 +0200)]
[KDGDB] Avoid looping for ever when something unexpected happens
Jérôme Gardou [Thu, 22 Apr 2021 15:35:54 +0000 (17:35 +0200)]
[SDK] Use GAS SEH capabilities instead of CFI
Also remove a hack for x86 GAS which no longer holds
Jérôme Gardou [Thu, 22 Apr 2021 15:33:24 +0000 (17:33 +0200)]
[NTOS:KE] Explicitly use sysretq instruction
Jérôme Gardou [Thu, 22 Apr 2021 15:31:39 +0000 (17:31 +0200)]
[CMAKE] Disable SSE instruction on GCC amd64 builds
Except for user-mode modules
Jérôme Gardou [Thu, 22 Apr 2021 09:11:34 +0000 (11:11 +0200)]
[PSEH] Add implementation for GCC amd64
Also, put include directory next to the library and use
target_include_directories(.. INTERFACE ..) to get this right.
This is because :
- Having includes & implementation in two different places buggers me
- This makes sure that there is no "if it compiles everything is fine" behaviour from anyone
because now even static libraries need it for GCC amd64 build
Also add __USE_PSEH2__ define for the non SEH-aware compilers out there and use it in a few headers
where we define macros involving __try
Jérôme Gardou [Fri, 23 Apr 2021 14:22:01 +0000 (16:22 +0200)]
[CRT] Do not include unneeded PSEH header
Jérôme Gardou [Thu, 22 Apr 2021 15:28:52 +0000 (17:28 +0200)]
[REACTOS] Explicitly link against pseh & include pseh headers in a few places
Jérôme Gardou [Thu, 22 Apr 2021 08:37:50 +0000 (10:37 +0200)]
[CMAKE] Introduce a GCC plugin for helping with amd64 SEH implementation
\#pragma REACTOS SEH(except)
\#pragma REACTOS SEH(finally)
What it does is counting the number of SEH __try blocks and emit the proper assembly statements at function prologue
It also checks for mixing C++ & SEH exception handling, which wouldn't work
Jérôme Gardou [Wed, 21 Apr 2021 17:52:58 +0000 (19:52 +0200)]
[RTL] Use addressing relative to rip
Jérôme Gardou [Wed, 21 Apr 2021 17:50:31 +0000 (19:50 +0200)]
[PSEH] Make the dummy PSEH at least usable.
Not screwing the code flow when no exception happens would be the least
Jérôme Gardou [Wed, 21 Apr 2021 17:46:59 +0000 (19:46 +0200)]
[HALX86] Use addressing relative to RIP
Jérôme Gardou [Wed, 21 Apr 2021 17:46:30 +0000 (19:46 +0200)]
[BTRFS] Use addressing relative to RIP
Jérôme Gardou [Wed, 14 Apr 2021 11:36:17 +0000 (13:36 +0200)]
[KDGDB] Adapt to amd64
Jérôme Gardou [Wed, 14 Apr 2021 08:07:16 +0000 (10:07 +0200)]
[REGEDIT] Fix declaration of DbgPrint
Jérôme Gardou [Tue, 13 Apr 2021 08:45:10 +0000 (10:45 +0200)]
[CRT] Fix __ll_lshift, __ll_rshift and __ull_rshift intrinsics on gcc-amd64
Jérôme Gardou [Mon, 12 Apr 2021 17:59:52 +0000 (19:59 +0200)]
[CMAKE:GCC] Enforce file alignment on driver & kernel images
Jérôme Gardou [Mon, 12 Apr 2021 13:51:33 +0000 (15:51 +0200)]
[NDK] Add some missing defines for EFLAGS on amd64
Jérôme Gardou [Mon, 12 Apr 2021 12:17:14 +0000 (14:17 +0200)]
[NTOS] Do not force-align an integer value
Jérôme Gardou [Mon, 12 Apr 2021 12:16:49 +0000 (14:16 +0200)]
[FREELDR] Save used register when calling PNPBIOS
Jérôme Gardou [Mon, 12 Apr 2021 12:15:33 +0000 (14:15 +0200)]
[FREELDR] Force alignment of .text section on disk
Fixes boot for clang & GCC-amd64 build
Also rename freeldr_i386.lds to freeldr_gcc.lds for better clarity
Jérôme Gardou [Mon, 12 Apr 2021 08:28:11 +0000 (10:28 +0200)]
[PSDK] Do not compare to max value if we can make sure that the value fits in target type
This fixes clang warning -Wtautological-constant-out-of-range-compare
Jérôme Gardou [Mon, 12 Apr 2021 08:07:35 +0000 (10:07 +0200)]
[CRT] Add macros to disable diagnostics from GCC and clang
Instead of disabling them globally, this will help making finer grained decisions
Jérôme Gardou [Fri, 9 Apr 2021 17:21:25 +0000 (19:21 +0200)]
[SDK] Make sure we build pefixup with AMD64 definitions
Jérôme Gardou [Tue, 27 Apr 2021 07:56:23 +0000 (09:56 +0200)]
[SDK] Fix definition of IMAGE_NT_HEADERS64 in host tools
Jérôme Gardou [Fri, 9 Apr 2021 14:52:53 +0000 (16:52 +0200)]
[COMPILER_APITEST] Disable SEH tests for GCC amd64 build
Jérôme Gardou [Fri, 9 Apr 2021 14:50:43 +0000 (16:50 +0200)]
[KERNEL32_APITEST] Fix compilation & global wut?? with SSE exception test
Stanislav Motylkov [Tue, 27 Apr 2021 20:58:53 +0000 (23:58 +0300)]
[ACPI] Improve Russian translation INF file
Also some minor whitespace fixes
Stanislav Motylkov [Tue, 27 Apr 2021 15:40:23 +0000 (18:40 +0300)]
[FC] Add Russian (ru-RU) translation
Addendum to
2db87ebd.
George Bișoc [Fri, 26 Mar 2021 12:38:04 +0000 (13:38 +0100)]
[NTDLL_APITEST] Implement NtImpersonateAnonymousToken testcase
George Bișoc [Thu, 25 Mar 2021 20:48:38 +0000 (21:48 +0100)]
[NTOS:SE] Implement the NtImpersonateAnonymousToken system call
Implement SepImpersonateAnonymousToken private helpers, which is necessary for the complete implementation of NtImpersonateAnonymousToken function and thus finally we're able to impersonate the anonymous logon token.
George Bișoc [Thu, 25 Mar 2021 19:47:30 +0000 (20:47 +0100)]
[NTOS:SE] Add the declaration prototype of SepRegQueryHelper in the internal header
George Bișoc [Thu, 25 Mar 2021 12:05:49 +0000 (13:05 +0100)]
[NTOS:SE] Annotate the function parameters of SepRegQueryHelper with SAL
And add a documentation comment header
George Bișoc [Thu, 25 Mar 2021 09:21:13 +0000 (10:21 +0100)]
[BOOTDATA] Include EveryoneIncludesAnonymous registry value on Lsa system key
For further information
https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-impersonateanonymoustoken
Jérôme Gardou [Tue, 27 Apr 2021 09:11:41 +0000 (11:11 +0200)]
[CMAKE] Fix compilation with newer windres versions
Also use clang as preprocessor when using it
Also, use *our* headers instead of the platform ones
Jérôme Gardou [Tue, 27 Apr 2021 09:33:29 +0000 (11:33 +0200)]
[PSDK] Import winuser.rh from wine 6.7
Katayama Hirofumi MZ [Tue, 27 Apr 2021 09:45:24 +0000 (18:45 +0900)]
[CMDUTILS][FC] Forgot to add a line break to IDS_RESYNCH_FAILED
CORE-17500
Piotr Hetnarowicz [Tue, 27 Apr 2021 09:20:56 +0000 (11:20 +0200)]
[FC] Add the Polish translation (#3629)
Omer Itzic Schwartz [Mon, 29 Mar 2021 18:17:36 +0000 (21:17 +0300)]
[JOY] Update Hebrew (he-IL) translation (#3563)
Serge Gautherie [Sat, 10 Apr 2021 02:37:07 +0000 (04:37 +0200)]
[CRT] exp2*.c: Add an explicit type for 'TWO' variable
Addendum to
199adee.
Serge Gautherie [Sat, 10 Apr 2021 02:16:10 +0000 (04:16 +0200)]
[CRT] intrin_x86.h: Fix '_InterlockedIncrement64' copypasta
Addendum to
bc3a471.
Serge Gautherie [Sat, 10 Apr 2021 02:12:48 +0000 (04:12 +0200)]
[CMAKE] config.cmake: Fix 'STEQUAL' typo, in a comment
Addendum to
e90b6bb.
George Bișoc [Mon, 22 Feb 2021 09:43:30 +0000 (10:43 +0100)]
[NTOS:OB] Do not close the handle if it's granted access to ObpAccessProtectCloseBit
As of now the Object Manager private service, ObpCloseHandleTableEntry, looks for OBJ_PROTECT_CLOSE attribute if a handle should not be closed. However, in ObDuplicateObject if an attribute of OBJ_PROTECT_CLOSE is found as it's been filled to the caller (see L2466) this attribute is removed from the attributes list of the new handle and ObpAccessProtectCloseBit access is granted to the newly duplicated object handle.
With that being said ObpCloseHandleTableEntry indiscriminately closes the object handle albeit it shouldn't do so. As a matter of fact in Windows Server 2003 SP2 this service indeed checks for ObpAccessProtectCloseBit flag bit and if the condition is met then it returns STATUS_HANDLE_NOT_CLOSABLE as it should. Therefore we should do the same.
Now NtClose can properly warn the calling thread the object handle can't be closed which fixes a testcase failure within NtDuplicateObject NTDLL APITEST where this function gives handle close protection bit as requested by the caller.
Serge Gautherie [Wed, 9 Sep 2020 01:46:56 +0000 (03:46 +0200)]
[NTOS:MM] MiSetPagingOfDriver(): Add an explicit #if around unreachable code
Hermès Bélusca-Maïto [Mon, 26 Apr 2021 00:21:59 +0000 (02:21 +0200)]
[SYSSETUP] Forgot to update the ROS banner after 2021. Addendum to
b570fac1.
Katayama Hirofumi MZ [Mon, 26 Apr 2021 00:08:06 +0000 (09:08 +0900)]
[FC][TRANSLATION] FC: Enable localization (#3626)
Enable localization on FC (file comparison) command. CORE-17500
Katayama Hirofumi MZ [Sun, 25 Apr 2021 23:52:22 +0000 (08:52 +0900)]
[CMDUTILS][FC] Follow-up of #3622 (
8bf4711)
CORE-17500
Stanislav Motylkov [Sun, 25 Apr 2021 23:06:14 +0000 (02:06 +0300)]
[USETUP] Update Russian (ru-RU) translation
Addendum to
3ee9535e. CORE-17523
Konrad Dybcio [Sun, 11 Apr 2021 01:11:13 +0000 (03:11 +0200)]
[HHPCOMP] Add ARM64/AArch64 types
These were missing... not anymore!
Addendum to
4c7b71ac. CORE-17518
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Stanislav Motylkov [Sun, 25 Apr 2021 17:22:45 +0000 (20:22 +0300)]
[WINLOGON] Update Russian (ru-RU) translation
Addendum to
7ca90b50,
9a6d4bf0,
ec2bfa2e and
5f033392.
Eric Kohl [Sun, 25 Apr 2021 17:04:11 +0000 (19:04 +0200)]
[MMSYS] Implement ShowAudioPropertySheet() and ShowFullControlPanel()
George Bișoc [Sun, 25 Apr 2021 13:56:39 +0000 (15:56 +0200)]
[WIN32SS][NTUSER] Fix an integer underflow within scrollbar info setting
Thanks goes to I_Kill_Bugs for the patch (and partly to Kyle Katarn for the PR) and Hermes for tweaking the patch code. Had to make a commit myself as the PR author's account is deleted.
Signed-off by: I_Kill_Bugs (original patch author)
Signed-off by: Kyle Katarn <contact@kcsoftwares.com>
Signed-off by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Katayama Hirofumi MZ [Sun, 25 Apr 2021 04:38:22 +0000 (13:38 +0900)]
[SDK][INCLUDE] Fix offsetof and CCSIZEOF_STRUCT for Clang-CL build (#3624)
Clang-CL was failing with "error: function declaration cannot have variably modified type". This PR will fix the Clang-CL build. CORE-17547
Katayama Hirofumi MZ [Sun, 25 Apr 2021 04:06:13 +0000 (13:06 +0900)]
[CMDUTILS][FC] Initial implement FC command (#3622)
Implement FC (file comparison) command. As a starting point, we support binary mode comparison at first. Text mode comparison and wildcard are not supported yet. CORE-17500
alexpavlovic [Sat, 24 Apr 2021 18:38:20 +0000 (20:38 +0200)]
[TRANSLATION][CACLS] Add Serbian translation (#859)
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[REACTOS] InitImageList(): Fix error checks
And simplify code a bit.
Serge Gautherie [Wed, 24 Jun 2020 18:41:44 +0000 (20:41 +0200)]
[USRMGR] Increase name sizes to 'UNLEN + 1'
George Bișoc [Sat, 24 Apr 2021 18:13:56 +0000 (20:13 +0200)]
[COMCTL32] Fix an incorrect returned value for ImageList_Remove
Thanks goes to Kyle Katarn. Had to make a commit myself due to author's account being deleted.
Signed-off-by: Kyle Katarn <contact@kcsoftwares.com>
Abdulganiev Rafael [Mon, 23 Sep 2019 12:32:30 +0000 (16:32 +0400)]
Fix start logo resource
Eric Kohl [Sat, 24 Apr 2021 15:06:08 +0000 (17:06 +0200)]
[UMPNPMGR] Fix DPRINT in PNP_GetDeviceStatus()
Eric Kohl [Sat, 24 Apr 2021 15:04:11 +0000 (17:04 +0200)]
[UMPNPMGR] Start the device in SetupDeviceInstance
Eric Kohl [Sat, 24 Apr 2021 09:59:22 +0000 (11:59 +0200)]
[UMPNPMGR] Implement PNP_SetDeviceProblem
CORE-17527
George Bișoc [Thu, 22 Apr 2021 16:12:22 +0000 (18:12 +0200)]
[TRANSLATION][WINLOGON] Small Romanian & Italian translation update
Small translation update as per the pushed
5f03339 commit.
George Bișoc [Mon, 19 Apr 2021 15:18:51 +0000 (17:18 +0200)]
[MSGINA] Determine which kind of dialog box is before terminating it
Do a sanity check onto the dialog box type before terminating it. As it stands now, a call of PostQuitMessage() is invoked even when the dialog box is modal. This is illegal due to the fact that the shutdown dialog box is initiated by the "Security" main window thus WlxDialogBoxParam.
A call to PostQuitMessage onto a modal dialog box leads to a undefined behaviour, as it'll not just terminate the thread but also eventually killing the Winlogon process whose the thread belongs to.
CORE-17535
Victor Perevertkin [Thu, 22 Apr 2021 10:48:43 +0000 (13:48 +0300)]
[GITHUB] Update LLVM version to 12 and fix indentation
Eric Kohl [Tue, 20 Apr 2021 20:00:41 +0000 (22:00 +0200)]
[NEWDEV] Set the CM_PROB_FAILED_INSTALL problem code on failed install
CORE-17527
Hervé Poussineau [Mon, 19 Apr 2021 21:21:35 +0000 (23:21 +0200)]
[DHCPCSVC] Change automatic address assignment to use hardware address
According to RFC 3927, the pseudo-random number generation algorithm MUST be chosen
so that different hosts do not generate the same sequence of numbers, and that the
pseudo-random number generator SHOULD be seeded using a value derived from the
IEEE 802 MAC address, so that a host will usually select the same IPv4 Link-Local
address each time it is booted.
Serge Gautherie [Sun, 18 Apr 2021 18:58:44 +0000 (20:58 +0200)]
[WINLOGON][MPR][SDK] WNetClearConnections: Fix function parameter type (#3480)
Addendum to
62f79fae93.
Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
Arnav Bhatt [Sun, 18 Apr 2021 18:48:30 +0000 (18:48 +0000)]
[WINLOGON] Show "Restarting..." message when restarting (#3593)
Signed-off-by: Arnav Bhatt <arnavbhatt288@gmail.com>
George Bișoc [Thu, 15 Apr 2021 14:42:28 +0000 (16:42 +0200)]
[NTOS:SE] Lock the token in SeQueryInformationToken and do some cleanup
* Guard the token in a lock whilst querying stuff
* Remove the piece of code that checks if the information class provided is above the maximum information class threshold. That code literally duplicates the inner functionality of the default case in the switch block, where the code falls in that case if an invalid information class is provided anyway.
* Remove the redundant information classes. Internally, this function in Windows has 12 switch case blocks (11 token info classes + the default case) and the other classes are supported in NtQueryInformationToken only so it doesn't make any logical sense to keep them in the codebase.
* Annotate the argument parameters with SAL and add documentation header
Mark Jansen [Sun, 11 Apr 2021 12:25:08 +0000 (14:25 +0200)]
[CONFIGURE] Fix warnings shown when parsing cmdline