Commit Graph

73789 Commits

Author SHA1 Message Date
Eric Kohl
60f018aea6 [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. 2019-01-02 23:29:12 +01:00
Pierre Schweitzer
9d0eb9b7b8
[TCPIP] Don't trust the TEB
And trust the Russian hackers to exploit that.
2019-01-02 23:02:44 +01:00
Hermès Bélusca-Maïto
333ce14dad
[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.
2019-01-02 21:12:22 +01:00
Hermès Bélusca-Maïto
fb4a6e38c7
[WIN32SS:NTUSER] Remove some hardcoded buffer sizes + number of chars vs. bytes mixup. 2019-01-02 21:12:21 +01:00
Hermès Bélusca-Maïto
cc3fbfefac
[WIN32SS:NTUSER] Minor whitespace formatting. 2019-01-02 21:12:20 +01:00
Hermès Bélusca-Maïto
3f716870ca
[FRAMEBUF] Correctly check the return value of the EngDeviceIoControl() call and return adequate value in DrvAssertMode(). 2019-01-02 21:12:19 +01:00
Giannis Adamopoulos
60448f83fb [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
2019-01-02 17:15:40 +02:00
Pierre Schweitzer
a9124b412d
[RDBSS][RXCE] Implement IRP cancellation
CORE-15441
2019-01-02 15:02:15 +01:00
Julio Carchi
1e141573e4 [TRANSLATION] Spanish translations (#944) 2019-01-02 12:01:44 +01:00
Pierre Schweitzer
d6dc1fd231
[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 ;-)
2019-01-01 22:00:56 +01:00
Arnav Bhatt
8ab3652c01 [TRANSLATION] Hindi translation of browseui, comctl32 and shell32 (#1209) 2019-01-01 19:43:42 +01:00
Mark Jansen
04ff7481b1
[LDR] Introduce a private heap for the loader.
This ensures we can still do stuff when the process heap is corrupted.
2019-01-01 16:20:13 +01:00
Eric Kohl
34b0516ec4 [BATTC] Fixed an oops! 2019-01-01 13:48:43 +01:00
Eric Kohl
397fa2844e [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.
2019-01-01 13:20:41 +01:00
Eric Kohl
04524fef3b [BATTC] Fix indentation. No code changes! 2019-01-01 13:20:39 +01:00
Pierre Schweitzer
f76a097a25
[TCPIP] Check buffer before dereferencing it
CID 716664
2019-01-01 10:45:48 +01:00
Pierre Schweitzer
0150bb964a
[SETUP] Silence some noisy DPRINT1 2019-01-01 10:08:02 +01:00
Hermès Bélusca-Maïto
3fc3447f3e
Happy New Year 2019 everybody! 2019-01-01 00:00:00 +01:00
Luo Yufan
9f54dbff5e [TRANSLATION] Update Chinese translation. (#1212) 2018-12-31 21:47:58 +01:00
Eric Kohl
66e4dbc7ed [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of service device instances. 2018-12-31 21:38:26 +01:00
Bișoc George
a825774096 [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.
2018-12-31 21:31:32 +01:00
Stanislav Motylkov
ccbc73ac93 [MPLAY32] Accept paths with double quotes from command-line (#1210)
CORE-15525
2018-12-31 21:29:58 +01:00
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