Commit graph

73867 commits

Author SHA1 Message Date
Pierre Schweitzer 01b580d876
[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)
2018-12-31 20:35:17 +01:00
Eric Kohl 5da008c338 [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for the enumeration of services instances. 2018-12-31 16:15:16 +01:00
Hervé Poussineau a179012563
[ZLIB] Import upstream commit 38e8ce32afbaa82f67d992b9f3056f281fe69259:
Fix CLEAR_HASH macro to be usable as a single statement.
As it is used in deflateParams().
2018-12-31 14:23:59 +01:00
Pierre Schweitzer 89a4cde14a
[TCPIP] Don't assume the TEB is always defined
Fixes the crash in kmtest:TcpIpConnect test.
2018-12-31 14:00:34 +01:00
Eric Kohl ccb8c906b0 [UMPNPMGR] PNP_GetDeviceList/PNP_GetDeviceListSize: Move device relations code into separate functions. 2018-12-31 11:21:17 +01:00
Hervé Poussineau c4d25d27f6
[RTL] Fix RtlNewSecurityGrantedAccess improperly zeroing output buffer 2018-12-31 11:19:36 +01:00
Pierre Schweitzer aa55bb1bd3
[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
2018-12-31 11:19:36 +01:00
Pierre Schweitzer 96985e0746
[TCPIP] Return the SubProcessTag when enumerating connections with owner class 2018-12-31 11:19:36 +01:00
Pierre Schweitzer d98001de17
[TCPIP] Save the SubProcessTag when an ADDRESS_FILE is created 2018-12-31 11:19:35 +01:00
Pierre Schweitzer 1a93d83f92
[SDK] Add PsGetCurrentThreadTeb() to the DDK 2018-12-31 11:19:35 +01:00
Pierre Schweitzer abb6fd83a4
[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.
2018-12-31 11:19:29 +01:00
Katayama Hirofumi MZ f757a13519
[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
2018-12-31 18:56:43 +09:00
Luo Yufan cfddf95d6f [TRANSLATION] Update Chinese translation. (#1205)
[NET][DISKPART][WINLOGON][ACCESS][APPWIZ][DESK][JOY][MMSYS][POWERCFG][SYSDM][NETCFGX][NETID][SAMSRV][TAPIUI][INF] Update Chinese translation.
2018-12-31 18:47:37 +09:00
Bișoc George 96228ccc0a [APPWIZ] Do not hardcode the strings (#1208)
Let's make those message strings translatable.
2018-12-31 16:42:53 +09:00
Pierre Schweitzer c10901966e
[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
2018-12-30 21:44:40 +01:00
Pierre Schweitzer ebf8785661
[SERVICES] pszName is a string, mark it so
This fixes returning string with RI_ScQueryServiceTagInfo
2018-12-30 21:44:39 +01:00
Pierre Schweitzer 29b46995aa
[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
2018-12-30 21:44:39 +01:00
Pierre Schweitzer 446e13745c
[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
2018-12-30 21:44:39 +01:00
Pierre Schweitzer 2ee627ba63
[SERVICES] On service start control message, send the service tag 2018-12-30 21:44:25 +01:00
Eric Kohl 6183774efa [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of all device instances. 2018-12-30 17:15:40 +01:00
Hermès Bélusca-Maïto 6d5a7b1ce3
[FREELDR] Explicitly call RamDiskInitialize() in RamDiskLoadVirtualFile(). 2018-12-30 15:26:44 +01:00
Hermès Bélusca-Maïto 7d6cbea42d
[USETUP] Fix the strings given to the printf-like functions (addendum to a3168373). 2018-12-30 15:26:44 +01:00
Hermès Bélusca-Maïto f488102c86
[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
2018-12-30 15:26:43 +01:00
Hermès Bélusca-Maïto bf6b5e1ceb
[NTOS] Fix a NULL-pointer access bug. 2018-12-30 15:26:43 +01:00
Hermès Bélusca-Maïto fefb982d64
[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.
2018-12-30 15:26:42 +01:00
Hermès Bélusca-Maïto d3a97e2228
[NTOS] Code formatting only. 2018-12-30 15:26:35 +01:00
Eric Kohl 969de9062c [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for a list of all device instances. 2018-12-30 14:43:10 +01:00
Pierre Schweitzer 1a9b9800b1
[SERVICES] Implement ScmGenerateServiceTag and call it on service creation
This allows assigning an unique ServiceTag to each Win32 service
2018-12-30 14:27:04 +01:00
Pierre Schweitzer 519a2c9f6f
[SERVICES] Implement ScmGetServiceNameFromTag 2018-12-30 14:27:04 +01:00
Pierre Schweitzer 90f5e6b6c3
[SERVICES] Implement RI_ScQueryServiceTagInfo 2018-12-30 14:27:03 +01:00
Pierre Schweitzer e29a99245b
[ADVAPI32] Implement I_ScQueryServiceTagInfo 2018-12-30 14:27:03 +01:00
Pierre Schweitzer 19304da5c3
[ADVAPI32] Implement I_QueryTagInformation 2018-12-30 14:27:02 +01:00
Pierre Schweitzer dfaee51f98
[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
2018-12-30 14:26:57 +01:00
Eric Kohl 4f37d96857 [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of device instances for a given enumerator. 2018-12-30 12:58:30 +01:00
Timo Kreuzer 71fefa32db
[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
2018-12-30 12:19:11 +01:00
Eric Kohl 7c66247343 [UMPNPMGR] PNP_GetDeviceListSize: Implement the buffer size calculation for given enumerators and take care of the terminating double Unicode null character. 2018-12-30 09:06:59 +01:00
Thomas Faber e3c8002dfc
[WIN32K:NTUSER] Reference menus owned by a popup menu. CORE-15504 2018-12-30 00:25:01 +01:00
Eric Kohl a9b88efa7c [UMPNPMGR] PNP_GetDeviceList / PNP_GetDeviceListSize: Implement the buffer size calculation and device instance enumeration for a given enumerator and device name. 2018-12-29 22:13:32 +01:00
Pierre Schweitzer 830f2998ab
[ADVAPI32_APITEST] Unknown field isn't that unknown and should contain "1"
See processhacker source code (as reference)
2018-12-29 22:09:52 +01:00
Timo Kreuzer bcb0d7c6c9 [CABMAN] Fix a problem with creating temp files on some Windows system 2018-12-29 21:37:42 +01:00
Mark Jansen 86ea03bf51
[FONT][WIN32SS] Re-add casts for gcc 2018-12-29 20:06:04 +01:00
Mark Jansen 85db46d75c
[FONT][WIN32SS] Remove casts 2018-12-29 19:47:00 +01:00
Mark Jansen 971c657b80
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:47:00 +01:00
Mark Jansen 2e44e5ce54
[FONT][WIN32SS] Fix a memory leak 2018-12-29 19:47:00 +01:00
Mark Jansen 1f13b95e5b
[FONT][WIN32SS] Fix a memory leak 2018-12-29 19:47:00 +01:00
Mark Jansen 1d1b7f46fc
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:47:00 +01:00
Mark Jansen 436d8d962a
[FONT][WIN32SS] Hold the freetype lock while accessing freetype data 2018-12-29 19:46:59 +01:00
Mark Jansen 2fa400b521
[FONT][WIN32SS] Do not return an uninitialized variable 2018-12-29 19:46:59 +01:00
Eric Kohl aecc523b6a [NTOS:IO] Fix indentation. No code changes. 2018-12-29 17:49:38 +01:00
Katayama Hirofumi MZ c5f89b8159 [APPWIZ] Show message box upon error 2018-12-29 05:55:19 +09:00