Commit graph

42 commits

Author SHA1 Message Date
Joachim Henze efaef5832c [0.4.9][WIN32SS][RTL] Fix regression CORE-16769 + BSOD 0x50 CORE-13907
The main motivation to port all that back is to get rid of Win32K-BSODs 0x50 like CORE-13907
that could be triggered by user-mode-applications.
Technical reason was CORE-14857 "RtlImageNtHeaderEx needs SEH" and issues with hooks+callbacks.
All other tickets mentioned in here were regressions that we experienced on the long
journey towards perfecting the fixes on master head, and those were not happening yet in the older builds,
so they are mentioned in here only to allow tracking where that code went into.

Thanks to Jim Tabor, Mark Jansen & Thomas Faber
By squashed backmerge of the following commits:
0.4.15-dev-3440-g a89844f740
0.4.15-dev-3430-g 9cff384c22
0.4.14-dev-1287-g 568b6d0558
0.4.14-dev-1255-g 177ae91bf6
0.4.14-dev-1241-g 915a5764a9
0.4.14-dev-1240-g d8add40e89
0.4.14-dev-1002-g feb7df42b4

JIRA-tickets: CORE-13907, CORE-16769, CORE-14857, CORE-17856, CORE-17857, partially CORE-13019.
We also had some more dupes of CORE-13907 in JIRA, but I linked all of them (transitively)
towards the initial report, and resolved them without setting a fixVer for them.

In more detail:
--------------
[USER32] Fix BSOD 0x50 in 'WineVDM + Castle Of Winds' CORE-17856 CORE-17857

CORE-17856 BSOD 0x50 when starting Castle of the Winds second time, with WineVDM
CORE-17857 BSOD 0x50 on shutdown after closing Castle of the Winds with WineVDM

0.4.15-dev-3430-g 9cff384c22
0.4.15-dev-3440-g a89844f740
--------------
[NTUSER] Fix Strings and Format to Hooks

Allocate heap instead of data segment to be used for callbacks on user side.
Move and correct initial hook call out setup. Use it in more than one hook call.

This fixes issues with strings out of alignment and use of kernel pointers.

See CORE-13907 (HXD-portable BSOD) and CORE-16769 (HXD-portable exception)

Small wow update.

cherry picked from commit 0.4.14-dev-1287-g 568b6d0558
--------------
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857

cherry picked from commit 0.4.14-dev-1255-g 177ae91bf6
--------------
[WIN32SS] Form Sanity to Hook Callbacks

Fix WH_CALLWNDPROC/RET data to user hook calls.
Helps with CORE-13907 "(HXD-portable BSOD)"
Fixes the logging of "(win32ss/user/ntuser/callback.c:748) err: Failure to make Callback! Status 0xc00000fd" within CORE-13019, but not the whole ticket.

cherry picked from commit 0.4.14-dev-1241-g 915a5764a9
--------------
[USER32] Fix null return.

See CORE-16769 "HxD 1.7.7.0 portable unhandled exception"

cherry picked from commit 0.4.14-dev-1240-g d8add40e89
--------------
[WIN32SS] Fix a typo in dbg print

cherry picked from commit 0.4.14-dev-1002-g feb7df42b4
2022-03-17 14:02:17 +01:00
Timo Kreuzer 01ae49857a [KERNEL32] Add Vista exports 2018-04-21 18:31:27 +02:00
Timo Kreuzer 87d3f1005b [KERNEL32] Go back to auto-numbering of export ordinals
Using static numbers was a bad idea in the first place, since we already deal with x64, which has different ordinals. Also @ will automatically do the same thing! It does not mean "no ordinal", it only means automatically apply incrementing numbers.
2018-04-21 18:31:27 +02:00
Serge Gautherie a8f1bea4b1 [KERNEL32] FlsAlloc(): Add a missing '\n' to a DPRINT1() 2018-04-14 16:07:29 +02:00
Amine Khaldi dabc7c9e92 [KERNEL32/STRING] Sync sortkey.c with Wine Staging 3.3. CORE-14434 2018-04-11 12:49:52 +01:00
Amine Khaldi cf14b6b2f5 [KERNEL32/STRING] Sync lcformat.c with Wine Staging 3.3. CORE-14434 2018-04-11 12:48:50 +01:00
Amine Khaldi eaa9d0d12c [KERNEL32/STRING] Sync format_msg.c with Wine Staging 3.3. CORE-14434 2018-04-11 12:47:12 +01:00
Amine Khaldi 7f3e00c573 [KERNEL32/STRING] Sync fold.c with Wine Staging 3.3. CORE-14434 2018-04-11 12:45:42 +01:00
Amine Khaldi d5064a6894 [KERNEL32] Missed this file. Fixes build. 2018-04-11 12:44:23 +01:00
Amine Khaldi efc8966665 [KERNEL32/STRING] Import digitmap.c from, and sync casemap.c with, Wine Staging 3.3. CORE-14434 2018-04-11 12:39:39 +01:00
Amine Khaldi 6d262f1ee4 [KERNEL32/WINE] Sync res.c with Wine Staging 3.3. CORE-14434 2018-04-11 12:36:44 +01:00
Amine Khaldi 8d2519218f [KERNEL32/WINE] Sync profile.c with Wine Staging 3.3. CORE-14434 2018-04-11 12:32:54 +01:00
Amine Khaldi 2f1d080ce5 [KERNEL32/WINE] Sync lzexpand.c with Wine Staging 3.3. CORE-14434 2018-04-11 12:30:53 +01:00
Mark Jansen ac620c2e8e
[KERNEL32] Implement FlsAlloc/FlsFree based on Wine's implementation. 2018-04-08 17:27:24 +02:00
Mark Jansen ee7f479c57
[RTL][XDK][KERNERL32_WINETEST] Import wine actctx changes from 3.2-37c98396
This adds support for reading the trustInfo (requestedExecutionLevel),
and the compatibility (supportedOs) sections.
2018-02-19 22:23:39 +01:00
Mark Jansen 4a2ad113e5 [KERNEL32] Add version info to VerifyVersionInfo mismatch print. 2018-01-15 19:47:58 +01:00
Colin Finck 63a3a2cbb8
[KERNEL32] Accept all images for NT 3.1 and higher instead of bailing out at image versions > 5.01 (#273)
Print a debug message whenever an application newer than ReactOS' internal NT version is started.
This gets a simple "Hello World" compiled by VS' 2017 regular "v141" toolchain to run under ReactOS.

Please retry NT6+ applications!
2018-01-10 09:24:22 +01:00
Erdem Ersoy ba3f074320 [TRANSLATIONS] Update the email address and add a note in the Turkish translation document (#271) 2018-01-07 22:09:42 +01:00
Timo Kreuzer a2f7de7ee8
Amd64/misc 64bit fixes (#236)
[REACTOS] Misc 64 bit fixes

* [NTOS:MM] Allow MEM_DOS_LIM in NtMapViewOfSection on x64 as well
* [NTOS:MM] Implement x64 version of MmIsDisabledPage
* [HAL] Remove obsolete code
* [NTOS:KE] Fix amd64 version of KeContextToTrapFrame and KeTrapFrameToContext
* [XDK] Fix CONTEXT_XSTATE definition
* [PCNET] Convert physical address types from pointers to PHYSICAL_ADDRESS
2018-01-01 12:07:50 +01:00
Ivan Labutin d6792047f3 [NTOS][NDK][RTL] A bunch of 'wrong size' fixes 2017-12-20 06:56:09 +01:00
Hermès Bélusca-Maïto eea43394bf
[KERNEL32] Improve the definition of EXENAME_LENGTH. 2017-12-16 21:07:23 +01:00
Hermès Bélusca-Maïto 197ec4c5b8
[KERNEL32] Update some console API prototypes. 2017-12-10 17:04:29 +01:00
Pierre Schweitzer 4fcaf92ec3
[KERNEL32] Silent a noisy DPRINT1 2017-12-09 11:54:18 +01:00
Pierre Schweitzer ebe9735835
[KERNEL32] Fix a FIXME in WaitNamedPipeW(): allow waiting on a remote pipe 2017-10-29 20:34:49 +01:00
Pierre Schweitzer a80f5f53e7 [KERNEL32] In GetLogicalDrives(), if NtQueryInformationProcess() call succeed, but return drive map is empty, make sure returned error is success.
Patch by Alex Ionescu
2017-10-29 14:49:59 +01:00
Pierre Schweitzer 0add5d0a79 [KERNEL32] Fix MSVC build 2017-10-23 17:25:19 +02:00
Pierre Schweitzer 34c39a1336 [KERNEL32] Implement NpGetUserNamep() 2017-10-23 17:09:21 +02:00
Pierre Schweitzer 19cef7806c [KERNEL32] Fix a FIXME in GetNamedPipeHandleStateW and stub a private function for a left unimplemented function 2017-10-23 14:36:18 +02:00
Pierre Schweitzer 3832f83a32 [KERNEL32] Check Basep8BitStringToDynamicUnicodeString() return and only call -W in case of success
CID 1419330
2017-10-23 13:39:44 +02:00
Pierre Schweitzer 19f1cd78c1 [KERNEL32] Check NtQueryInformationFile succeed before using its return. Also fix coding style
CID 512966
2017-10-23 12:36:43 +02:00
Pierre Schweitzer 5bfc68cc14 [KERNEL32] Fix buffer size for allocation in GetVolumeInformationW(). This fixes function failing with big enough buffer. 2017-10-15 10:43:49 +02:00
Pierre Schweitzer dc8bfeabcf [KERNEL32] Use proper size for allocating buffer in GetVolumeInformationA(). This was leading to allocate a too small buffer under certain conditions and to overrun it.
This fixes JRE7 setup.
This regression was brought in by r75969.

CORE-13888
2017-10-14 23:19:12 +02:00
Hermès Bélusca-Maïto d260385023 [KERNEL32]: Add a .gitattributes file for the winnls resource files.
The .nls files in winnls are actual resource text files for kernel32 and not binary NLS files.
Therefore treat them as such.
2017-10-08 15:48:07 +02:00
Colin Finck 950c86fb4c Fix remaining text file line endings in the tree. (#18)
Based on https://stackoverflow.com/a/1511273

Also enforce CRLF for all *.xml files in our tree, because they are distributed with ReactOS.
2017-10-06 15:00:36 +02:00
Pierre Schweitzer d7ee95b28b [KERNEL32]: w2k3ify GetDriveTypeA() 2017-10-05 23:43:10 +02:00
Pierre Schweitzer cb17d5dba4 [KERNEL32]: Reimplement GetDriveTypeW(). This allows providing a quick path for DOS drives and fixes a few detection cases. It allows brings in support for mount points. 2017-10-05 23:41:26 +02:00
Pierre Schweitzer 676bd0cf37 [KERNEL32]: Finally get rid of no longer used function InternalOpenDirW() 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 8b6518139d [KERNEL32]: Reimplement GetDiskFreeSpaceExA() to make it w2k3 compliant 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 1e2424ee98 [KERNEL32]: Refactor a bit GetDiskFreeSpaceExW(), no ground breaking changes 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 87448f3d8b [KERNEL32]: Reimplement GetDiskFreeSpaceA() to make it w2k3 compliant 2017-10-05 22:14:44 +02:00
Pierre Schweitzer 5bee374c82 [KERNEL32]: Reimplement GetDiskFreeSpaceW() to fix various issues in it. It also brings support for appcompat 2017-10-05 22:14:44 +02:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00