Eric Kohl [Wed, 2 Jan 2019 22:29:12 +0000 (23:29 +0100)]
[ACPI] Add code to retrieve packet type data from ACPI methods. This will enable the cmbatt driver to retrieve _BIF (battery information) or _BST (battery status) data. Also fix the buffer size calculation for integer and string data.
Pierre Schweitzer [Wed, 2 Jan 2019 22:01:24 +0000 (23:01 +0100)]
[TCPIP] Don't trust the TEB
And trust the Russian hackers to exploit that.
Hermès Bélusca-Maïto [Wed, 2 Jan 2019 19:55:40 +0000 (20:55 +0100)]
[WIN32SS] Try to recover display when changing the display mode fails for whatever reason.
This helps when e.g. changing the resolution on the Dell Latitude D531,
which reports that it supports large resolutions (e.g. 1920x1440x32 and
others larger than 1024x768x32) but fails to apply these.
This usually happens because PDEVOBJ_pSurface(), and more precisely
ppdev->pldev->pfn.EnableSurface(), fails for these resolutions.
- PDEVOBJ_bSwitchMode(): Set the new video mode, or restore the original
one in case of failure + release the allocated ppdevTmp if previous
calls fail. Also unlock in reverse order of locking order.
- UserChangeDisplaySettings(): In case PDEVOBJ_pSurface() fails (but has
reverted the original video mode), we still need to refresh the
display since the display may have been messed up.
Hermès Bélusca-Maïto [Wed, 2 Jan 2019 19:53:42 +0000 (20:53 +0100)]
[WIN32SS:NTUSER] Remove some hardcoded buffer sizes + number of chars vs. bytes mixup.
Hermès Bélusca-Maïto [Wed, 2 Jan 2019 19:51:46 +0000 (20:51 +0100)]
[WIN32SS:NTUSER] Minor whitespace formatting.
Hermès Bélusca-Maïto [Tue, 1 Jan 2019 19:44:24 +0000 (20:44 +0100)]
[FRAMEBUF] Correctly check the return value of the EngDeviceIoControl() call and return adequate value in DrvAssertMode().
Giannis Adamopoulos [Wed, 2 Jan 2019 14:50:35 +0000 (16:50 +0200)]
[NTUSER] Fix a few tests related to desktops and window stations
- NtUserOpenInputDesktop: Don't crash if there is no input desktop yet
- NtUserOpenInputDesktop: Fail if the process doesn't belong to the interactive window station
- NtUserCreateWindowStation: Clear error on success
- DesktopWindowProc: Use UserOpenInputDesktop to get a handle to the input desktop
Pierre Schweitzer [Wed, 2 Jan 2019 14:01:38 +0000 (15:01 +0100)]
[RDBSS][RXCE] Implement IRP cancellation
CORE-15441
Julio Carchi [Wed, 2 Jan 2019 11:01:44 +0000 (06:01 -0500)]
[TRANSLATION] Spanish translations (#944)
Pierre Schweitzer [Tue, 1 Jan 2019 20:58:18 +0000 (21:58 +0100)]
[NTOSKRNL] Add a raw implementation of !irpfind in kdbg
This is far from perfect, and totally doesn't match the
WinDBG way of doing it. Instead of browsing pool to find
matching 'IRP' tags, we just browse all the processes
to find the queued IRP. This requires the IRPs to be queued,
obviously, and will make us miss the leaked IRPs, for instance.
Proper way to do it would be to implement !poolfind and then
rely on its implementation to find our IRPs.
Perhaps later ;-)
Arnav Bhatt [Tue, 1 Jan 2019 18:43:42 +0000 (00:13 +0530)]
[TRANSLATION] Hindi translation of browseui, comctl32 and shell32 (#1209)
Mark Jansen [Sun, 14 Oct 2018 21:16:36 +0000 (23:16 +0200)]
[LDR] Introduce a private heap for the loader.
This ensures we can still do stuff when the process heap is corrupted.
Eric Kohl [Tue, 1 Jan 2019 12:48:43 +0000 (13:48 +0100)]
[BATTC] Fixed an oops!
Eric Kohl [Tue, 1 Jan 2019 12:13:20 +0000 (13:13 +0100)]
[BATTC] Some tiny fixes
- Add missing parameter to a DPRINT.
- Print pointers using %p instead of %x.
- Move all executable code behind a functions initial DPRINT.
- Do not use non-trivial initializers.
- Check for NULL instead of using !.
- Add missing parentheses.
Eric Kohl [Tue, 1 Jan 2019 11:58:53 +0000 (12:58 +0100)]
[BATTC] Fix indentation. No code changes!
Pierre Schweitzer [Tue, 1 Jan 2019 09:45:48 +0000 (10:45 +0100)]
[TCPIP] Check buffer before dereferencing it
CID 716664
Pierre Schweitzer [Tue, 1 Jan 2019 08:57:26 +0000 (09:57 +0100)]
[SETUP] Silence some noisy DPRINT1
Hermès Bélusca-Maïto [Mon, 31 Dec 2018 23:00:00 +0000 (00:00 +0100)]
Happy New Year 2019 everybody!
Luo Yufan [Mon, 31 Dec 2018 20:47:58 +0000 (04:47 +0800)]
[TRANSLATION] Update Chinese translation. (#1212)
Eric Kohl [Mon, 31 Dec 2018 20:37:48 +0000 (21:37 +0100)]
[UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of service device instances.
Bișoc George [Mon, 31 Dec 2018 20:31:32 +0000 (21:31 +0100)]
[CONTRIBUTING] Add a notice for how to set your real name/mail (#1197)
Instead of posting the links each time, they'll be posted on README for future notice.
Stanislav Motylkov [Mon, 31 Dec 2018 20:29:58 +0000 (23:29 +0300)]
[MPLAY32] Accept paths with double quotes from command-line (#1210)
CORE-15525
Pierre Schweitzer [Mon, 31 Dec 2018 19:33:59 +0000 (20:33 +0100)]
[WIN32K] Deny deviceless calls to EngDeviceIoControl
This fixes BSOD happening in ntoskrnl coming from win32k under certain
conditions with 3rd party display drivers (such as VBox or VMware)
Eric Kohl [Mon, 31 Dec 2018 15:14:04 +0000 (16:14 +0100)]
[UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for the enumeration of services instances.
Hervé Poussineau [Mon, 31 Dec 2018 13:23:14 +0000 (14:23 +0100)]
[ZLIB] Import upstream commit
38e8ce32afbaa82f67d992b9f3056f281fe69259:
Fix CLEAR_HASH macro to be usable as a single statement.
As it is used in deflateParams().
Pierre Schweitzer [Mon, 31 Dec 2018 12:59:58 +0000 (13:59 +0100)]
[TCPIP] Don't assume the TEB is always defined
Fixes the crash in kmtest:TcpIpConnect test.
Eric Kohl [Mon, 31 Dec 2018 10:20:30 +0000 (11:20 +0100)]
[UMPNPMGR] PNP_GetDeviceList/PNP_GetDeviceListSize: Move device relations code into separate functions.
Hervé Poussineau [Mon, 31 Dec 2018 10:11:43 +0000 (11:11 +0100)]
[RTL] Fix RtlNewSecurityGrantedAccess improperly zeroing output buffer
Pierre Schweitzer [Mon, 31 Dec 2018 10:08:28 +0000 (11:08 +0100)]
[IPHLPAPI] Add support for service tags in GetOwnerModuleFromTcp/UdpEntry
If a service tag is set in owner information, then, we'll query advapi32 and
thus services to get the service name instead of the image name
Pierre Schweitzer [Mon, 31 Dec 2018 09:35:40 +0000 (10:35 +0100)]
[TCPIP] Return the SubProcessTag when enumerating connections with owner class
Pierre Schweitzer [Mon, 31 Dec 2018 09:21:14 +0000 (10:21 +0100)]
[TCPIP] Save the SubProcessTag when an ADDRESS_FILE is created
Pierre Schweitzer [Sun, 30 Dec 2018 21:47:36 +0000 (22:47 +0100)]
[SDK] Add PsGetCurrentThreadTeb() to the DDK
Pierre Schweitzer [Sun, 30 Dec 2018 21:36:54 +0000 (22:36 +0100)]
[ADVAPI32_APITEST] Add tests showing that first field of OwningModuleInfo is the tag
Also, show that querying owner information about a connection owned by a service
returns the service name, and not the image nor its path.
Obviously, that fails in ReactOS.
Katayama Hirofumi MZ [Mon, 31 Dec 2018 09:56:43 +0000 (18:56 +0900)]
[FONT][WIN32SS] Partially implement font/text rotation (#1207)
Partially implement font/text rotation by LOGFONT.lfEscapement and improve the rendering image. If the angle was not a multiple of 90 degrees, then the background won't be filled. CORE-11848, CORE-15319
Luo Yufan [Mon, 31 Dec 2018 09:47:37 +0000 (17:47 +0800)]
[TRANSLATION] Update Chinese translation. (#1205)
[NET][DISKPART][WINLOGON][ACCESS][APPWIZ][DESK][JOY][MMSYS][POWERCFG][SYSDM][NETCFGX][NETID][SAMSRV][TAPIUI][INF] Update Chinese translation.
Bișoc George [Mon, 31 Dec 2018 07:42:53 +0000 (08:42 +0100)]
[APPWIZ] Do not hardcode the strings (#1208)
Let's make those message strings translatable.
Pierre Schweitzer [Sun, 30 Dec 2018 20:25:48 +0000 (21:25 +0100)]
[SERVICES] Properly check again PID
This fixes services not being found.
With that commit and the previous one, I_QueryTagInformation is now fully
functionnal and properly returns service name for a specific tag
Pierre Schweitzer [Sun, 30 Dec 2018 20:23:36 +0000 (21:23 +0100)]
[SERVICES] pszName is a string, mark it so
This fixes returning string with RI_ScQueryServiceTagInfo
Pierre Schweitzer [Sun, 30 Dec 2018 19:45:11 +0000 (20:45 +0100)]
[ADVAPI32] When starting or sending a control to a service, set the tag in the TEB
This now allows tracking the threads of the services thanks to their tag.
This fixes the failing test in advapi32:ServiceEnv
Pierre Schweitzer [Sun, 30 Dec 2018 19:36:20 +0000 (20:36 +0100)]
[ADVAPI32] Stop pretending our advapi32 is NT6+
This is wrong and messes up with internal structures (such as TEB).
For the two needed functions which are "NT6+", they were exported
with NT6, but already existed in W2K3 SP2.
This might fix random bugs
CORE-15526
Pierre Schweitzer [Sun, 30 Dec 2018 17:44:32 +0000 (18:44 +0100)]
[SERVICES] On service start control message, send the service tag
Eric Kohl [Sun, 30 Dec 2018 16:14:43 +0000 (17:14 +0100)]
[UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of all device instances.
Hermès Bélusca-Maïto [Sun, 30 Dec 2018 14:21:19 +0000 (15:21 +0100)]
[FREELDR] Explicitly call RamDiskInitialize() in RamDiskLoadVirtualFile().
Hermès Bélusca-Maïto [Sun, 30 Dec 2018 14:15:31 +0000 (15:15 +0100)]
[USETUP] Fix the strings given to the printf-like functions (addendum to
a3168373).
Hermès Bélusca-Maïto [Sun, 30 Dec 2018 13:59:08 +0000 (14:59 +0100)]
[CDFS] Addendum to
5429771b,
6c733856 and
3c64b4cb (r75579): When the CDFS driver is used as a fixed disk FS,
the type of device it should return must not be FILE_DEVICE_CD_ROM, but must be the actual underlying one!
This fixes recognizing *removable* USB keys as disks and not CD-ROMs.
CORE-13184
Hermès Bélusca-Maïto [Sun, 30 Dec 2018 13:45:29 +0000 (14:45 +0100)]
[NTOS] Fix a NULL-pointer access bug.
Hermès Bélusca-Maïto [Sun, 30 Dec 2018 13:02:54 +0000 (14:02 +0100)]
[NTOS] Don't use TAG_IO_NAME when calling ExFreePoolWithTag() for freeing FileObject->FileName.Buffer .
This may look strange, since this buffer is originally allocated using
the TAG_IO_NAME tag. However, it happens that file-system drivers are
allowed to re-allocate this buffer: this is what the MS' open-sourced
CDFS driver does, see e.g. CdCommonCreate() and CdNormalizeFileNames()
in cdfs/create.c .
This fixes a pool tag mismatch 'mNoI' != 'nFdC' BSOD when resources
are freed when closing a file that has been opened with a relative name
on a CDFS-mounted volume.
Hermès Bélusca-Maïto [Sun, 30 Dec 2018 12:40:09 +0000 (13:40 +0100)]
[NTOS] Code formatting only.
Eric Kohl [Sun, 30 Dec 2018 13:42:12 +0000 (14:42 +0100)]
[UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for a list of all device instances.
Pierre Schweitzer [Sun, 30 Dec 2018 13:09:54 +0000 (14:09 +0100)]
[SERVICES] Implement ScmGenerateServiceTag and call it on service creation
This allows assigning an unique ServiceTag to each Win32 service
Pierre Schweitzer [Sun, 30 Dec 2018 12:31:08 +0000 (13:31 +0100)]
[SERVICES] Implement ScmGetServiceNameFromTag
Pierre Schweitzer [Sun, 30 Dec 2018 11:25:18 +0000 (12:25 +0100)]
[SERVICES] Implement RI_ScQueryServiceTagInfo
Pierre Schweitzer [Sun, 30 Dec 2018 11:12:40 +0000 (12:12 +0100)]
[ADVAPI32] Implement I_ScQueryServiceTagInfo
Pierre Schweitzer [Sun, 30 Dec 2018 10:52:37 +0000 (11:52 +0100)]
[ADVAPI32] Implement I_QueryTagInformation
Pierre Schweitzer [Sun, 30 Dec 2018 10:45:08 +0000 (11:45 +0100)]
[SERVICES] Define the RI_ScQueryServiceTagInfo RPC call
All the definitions are taken from ProcessHacker:
https://github.com/processhacker/processhacker/blob/master/phnt/include/subprocesstag.h
Eric Kohl [Sun, 30 Dec 2018 11:55:31 +0000 (12:55 +0100)]
[UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of device instances for a given enumerator.
Timo Kreuzer [Sun, 30 Dec 2018 11:19:11 +0000 (12:19 +0100)]
[NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779)
* Add an NDK header to define INIT_FUNCTION/INIT_SECTION globally
* Use _declspec(allocate(x)) and _declspec(code_seg(x)) on MSVC versions that support it
* Use INIT_FUNCTION on functions only and INIT_SECTION on data only (required by MSVC)
* Place INIT_FUNCTION before the return type (required by MSVC)
* Make sure declarations and implementations share the same modifiers (required by MSVC)
* Add a global linker option to suppress warnings about defined but unused INIT section
* Merge INIT section into .text in freeldr
Eric Kohl [Sat, 29 Dec 2018 23:39:08 +0000 (00:39 +0100)]
[UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for given enumerators and take care of the terminating double Unicode null character.
Thomas Faber [Fri, 28 Dec 2018 12:39:23 +0000 (13:39 +0100)]
[WIN32K:NTUSER] Reference menus owned by a popup menu. CORE-15504
Eric Kohl [Sat, 29 Dec 2018 21:08:35 +0000 (22:08 +0100)]
[UMPNPMGR] PNP_GetDeviceList / PNP_GetDeviceListSize: Implement the buffer size calculation and device instance enumeration for a given enumerator and device name.
Pierre Schweitzer [Sat, 29 Dec 2018 21:09:52 +0000 (22:09 +0100)]
[ADVAPI32_APITEST] Unknown field isn't that unknown and should contain "1"
See processhacker source code (as reference)
Timo Kreuzer [Tue, 3 Apr 2018 19:25:04 +0000 (21:25 +0200)]
[CABMAN] Fix a problem with creating temp files on some Windows system
Mark Jansen [Sat, 29 Dec 2018 19:03:06 +0000 (20:03 +0100)]
[FONT][WIN32SS] Re-add casts for gcc
Mark Jansen [Sat, 29 Dec 2018 18:46:37 +0000 (19:46 +0100)]
[FONT][WIN32SS] Remove casts
Mark Jansen [Sat, 29 Dec 2018 18:46:14 +0000 (19:46 +0100)]
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data
Mark Jansen [Sat, 29 Dec 2018 18:46:04 +0000 (19:46 +0100)]
[FONT][WIN32SS] Fix a memory leak
Mark Jansen [Sat, 29 Dec 2018 18:45:37 +0000 (19:45 +0100)]
[FONT][WIN32SS] Fix a memory leak
Mark Jansen [Sat, 29 Dec 2018 18:45:21 +0000 (19:45 +0100)]
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data
Mark Jansen [Sat, 29 Dec 2018 18:45:09 +0000 (19:45 +0100)]
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data
Mark Jansen [Sat, 29 Dec 2018 18:44:26 +0000 (19:44 +0100)]
[FONT][WIN32SS] Do not return an uninitialized variable
Eric Kohl [Sat, 29 Dec 2018 16:49:38 +0000 (17:49 +0100)]
[NTOS:IO] Fix indentation. No code changes.
Katayama Hirofumi MZ [Fri, 28 Dec 2018 20:55:19 +0000 (05:55 +0900)]
[APPWIZ] Show message box upon error
Pierre Schweitzer [Fri, 28 Dec 2018 19:34:48 +0000 (20:34 +0100)]
[SETUP] Add support for selecting FS type in unattended setups
By default, we still fallback to FAT if nothing asked, or if there
is an invalid input.
0 is FAT, 1 is BtrFS. This can be grown as soon as we add more IFS.
Thomas Faber [Fri, 28 Dec 2018 10:27:28 +0000 (11:27 +0100)]
[WIN32K:NTUSER] Acquire the user lock exclusively in NtUserGetSystemMenu. CORE-15512
Thomas Faber [Fri, 28 Dec 2018 10:28:43 +0000 (11:28 +0100)]
[NTDLL:LDR] Avoid passing an uninitialized variable to another function.
Katayama Hirofumi MZ [Fri, 28 Dec 2018 03:12:42 +0000 (12:12 +0900)]
[MENU][WIN32SS] Fix non-menubar menu text Y position (#1199)
CORE-15226
Mark Jansen [Thu, 27 Dec 2018 22:03:22 +0000 (23:03 +0100)]
[NTOS] When checking something for NULL, let's initialize it to NULL...
Eric Kohl [Thu, 27 Dec 2018 18:27:43 +0000 (19:27 +0100)]
[ADVAPI32] CreateProcessAsUserA/W: Partially revert an obvious case of over-engineering. Only share the common parts! Now it looks a lot better. No more stupid bUnicode!
Luo Yufan [Thu, 27 Dec 2018 07:24:24 +0000 (15:24 +0800)]
[TRANSLATION] Update Traditional Chinese translation. (#1193)
Katayama Hirofumi MZ [Thu, 27 Dec 2018 00:23:49 +0000 (09:23 +0900)]
[FONT][WIN32SS] Optimize a bit
Luo Yufan [Wed, 26 Dec 2018 20:02:23 +0000 (04:02 +0800)]
[TRANSLATION] Update Traditional Chinese translation. (#1192)
Eric Kohl [Tue, 25 Dec 2018 22:04:27 +0000 (23:04 +0100)]
[NTOS:IO] When a device has been started, create an Enum sub key to its service key and add the device instance name to the Enum sub key.
Katayama Hirofumi MZ [Tue, 25 Dec 2018 12:51:58 +0000 (21:51 +0900)]
[FONT][WIN32SS] Follow-up of #1184
Pierre Schweitzer [Tue, 25 Dec 2018 12:50:07 +0000 (13:50 +0100)]
[BTRFS] Reduce diff with upstream
CORE-15452
Pierre Schweitzer [Tue, 25 Dec 2018 12:45:41 +0000 (13:45 +0100)]
[NTOSKRNL_VISTA] Implement FsRtlGetEcpListFromIrp and FsRtlGetNextExtraCreateParameter
CORE-15452
Pierre Schweitzer [Tue, 25 Dec 2018 12:44:44 +0000 (13:44 +0100)]
[NTOSKRNL_VISTA] Implement IoGetIrpExtraCreateParameter
CORE-15452
Katayama Hirofumi MZ [Tue, 25 Dec 2018 11:41:25 +0000 (20:41 +0900)]
[FONT][WIN32SS] Refactor rendering text background (#1184)
Simplify the background filling codes. CORE-14856
Katayama Hirofumi MZ [Tue, 25 Dec 2018 09:04:21 +0000 (18:04 +0900)]
[WIN32SS] Fix RLE4 bitmap decoding (#1188)
CORE-10553, CORE-11399
Luo Yufan [Tue, 25 Dec 2018 08:28:36 +0000 (16:28 +0800)]
[TRANSLATION] Update Chinese translation. (#1187)
[REG][REACTOS][EXPLORER][APPWIZ][CONSOLE][INETCPL][INPUT]
[INTL][OPENGLCFG][TIMEDATE][DEVCPUX][COMCTL32][COMDLG32]
[MSGINA][NETCFGX][NETID][SETUPAPI][SHELL32][SYSSETUP]
Update Simplified and Traditional Chinese translations.
Eric Kohl [Mon, 24 Dec 2018 17:19:58 +0000 (18:19 +0100)]
[MC] Fix the build
Eric Kohl [Mon, 24 Dec 2018 17:10:38 +0000 (18:10 +0100)]
[MC] Fix build issue?
Eric Kohl [Mon, 24 Dec 2018 16:03:00 +0000 (17:03 +0100)]
Fix the build
Eric Kohl [Mon, 24 Dec 2018 13:39:26 +0000 (14:39 +0100)]
[NET] Add (incomplete) COMPUTER command and rename help.c to cmdHelp.c.
Luo Yufan [Mon, 24 Dec 2018 09:34:01 +0000 (17:34 +0800)]
[COMDLG32] Update Simplified Chinese translation.
Luo Yufan [Sun, 23 Dec 2018 16:21:54 +0000 (00:21 +0800)]
[COMCTL32] Update Simplified Chinese translation.
Eric Kohl [Mon, 24 Dec 2018 10:48:23 +0000 (11:48 +0100)]
[NET] Move TIME, USE, USER, VIEW and NET command syntax and help texts into a message table and add the translators names to the message file.
Eric Kohl [Mon, 24 Dec 2018 09:20:44 +0000 (10:20 +0100)]
[NET] Move START, STATISTICS and STOP command syntax and help texts into a message table.
Eric Kohl [Mon, 24 Dec 2018 00:25:30 +0000 (01:25 +0100)]
[NET] Move PAUSE, PRINT, SEND, SESSION and SHARE command syntax and help texts into a message table.
Eric Kohl [Sun, 23 Dec 2018 23:13:16 +0000 (00:13 +0100)]
[NET] Move HRELPMSG, LOVALGROUP and NAME command syntax and help texts into a message table.
Eric Kohl [Sun, 23 Dec 2018 20:41:27 +0000 (21:41 +0100)]
[NET] Move FILE, GROUP and HELP command syntax and help texts into a message table.