Commit graph

70252 commits

Author SHA1 Message Date
Joachim Henze 267dd24304 [0.4.7][SHELL32] CDefViewBckgrndMenu: Fix handling string verbs. CORE-12866
It shouldn't be necessary for QueryContextMenu to be called before InvokeCommand.
Move retrieving the IContextMenu of the folder to the initialization of the class.

Fix picked from 0.4.8-dev-1074-g 111c40e012
2022-10-05 11:48:40 +02:00
Joachim Henze 770991d1ee [0.4.7][SHELL32][REGEDIT][MSCONFIG_NEW] Correctly check for presence of list view sort header.
Improvement picked from 0.4.8-dev-29-g ba8f75557a
2022-10-05 11:45:50 +02:00
Joachim Henze b5fc7d12c9 [0.4.7][DISK] Properly implement querying partition information for partition 0.
In spite of what was implemented in our NT DDK sample, this is a legit operation.

This may have been turned legit starting NT5 (reminder, our implementation is
NT4 based...). So, in this situation, just return the information about the whole
disk (and not a random size) and also, mark everything with default values.

See disk_new for an example of how it works in NT5+.

Fix picked from 0.4.8-dev-507-g b9b461bde9
And it was for master linked against CORE-14124 although it was not directly
related to that regression.
My motivation to port back that commit of Pierre on its own is, that it kills a lot of
logspam of the kind:
(../drivers/storage/class/disk/disk.c:2257) HACK: Handling partition 0 request!
multiple times each boot.

This syncs the whole disk module 100% to the state of 0.4.8 and that state
remained quite settled for the years to come afterwards.
2022-10-05 01:22:00 +02:00
Joachim Henze 17c88d8d81 [0.4.7][MSXML3] Fix buffer overflow in BindStatusCallback_GetBindInfo. CORE-14570
On testbots for test "msxml3 : httpreq" we could observe with DPH enabled:
*** Assertion failed: LastEntry->Size != 0
***   Source File: /srv/buildbot/Build_GCCLin_x86/build/sdk/lib/rtl/heap.c, line 675

Fix picked from 0.4.9-dev-756-g 708d26acf3

The fix was also sent to Wine:
a64403904d
2022-10-04 21:01:20 +02:00
Joachim Henze 703914ad3d [0.4.7][CMAKE] Update GCC baseaddress.cmake
Just adds a missing module without touching the rest, because releases/0.4.7
is not plagued by any frequent relocations at runtime.

The minor update will just fix the following warning at compile-time for GCC:
-- notifyhook has no base address

The list of addresses we used in 0.4.7 is still hand-groomed, and was not
generated by the script yet.
2022-09-30 23:05:12 +02:00
Joachim Henze b11a1f9038 [0.4.7][SERVICES] Remove the "Special service accounts initialization" hack
This is a *partial* back-port of 0.4.10-dev-279-g 75dc031080
And a plain revert of the guilty SVN r73486 == git a35a785b11

It will fix the following regression symptoms:
- CORE-12614 empty "documents and settings" folder created when using non-english localization
- CORE-12613 we will save 1012KB of memory (commit charge in taskmgr), by shrinking the registry a bit

- CORE-18416 RaceCondition, sometimes the network icon in systray does not appear in late 0.4.9-dev and releases/0.4.9.
  Ftr I could not trigger CORE-18416 in practice in unpatched releases/0.4.7 and releases/0.4.8 unless I intentionally
  changed the timing during bootup. Still I want to pick it also in those, to not make it later popup unexpectedly.

For the record: I decided to pick only part of the fix from master and not all, because the proper fix
would rely on a lot of things to pick additionally from 0.4.10-dev' and even 0.4.11-dev'.
The consequences of only partially picking is that we cannot complete the setup of Office 2010 with its
copyprotection-driver anymore, which relies on being able to load its service with the proper account and user profile,
and not with the fallback we used in older reactos releases. If you need that feature, please use releases/0.4.11 or higher,
because even 0.4.10 is not handling this properly yet.
The conservative approach of 'not having the hack, and sticking to just one profile' is better for the older releases overall.
2022-09-28 00:37:35 +02:00
Joachim Henze c935822d7c [0.4.7][SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM CORE-18089 (#4386)
That problem in the shell was unhidden when we switched from our own to the MS-PL CDFS-driver
in 0.4.7-release-113-g 688875e411
because our own old CDFS driver erroneously never reported any CD file being read-only.

Fix picked from 0.4.15-dev-4348-g 513d0a6d2d

While backporting the fix, I decided to port back also some EOL-whitespace-stripping in that file.
2022-09-22 16:21:21 +02:00
Joachim Henze 53d4b506d0 [0.4.7][WINHTTP] Fix 1 MSVC2010SP1 x86 dbg warning LNK4199 (#4414) CORE-18104
which I could observe all the way from releases/0.4.7 up to releases/0.4.14
with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration

Creating library dll\win32\winhttp\winhttp.lib and object dll\win32\winhttp\winhttp.exp
LINK : warning LNK4199: /DELAYLOAD:ole32.dll ignored; no imports found from ole32.dll

Fix picked from 0.4.15-dev-4326-g 2f7dc168f2

And just for the record: Wine did the same with their:
f400f25c25
2022-09-20 00:54:50 +02:00
Joachim Henze ce4badc3ab [0.4.7][WPP] Mute 3 MSVC2010SP1 x86 dbg warnings C4146 CORE-18104
warnings can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
[7441/11751] Building C object sdk\tools\wpp\CMakeFiles\wpp.dir\ppl.yy.c.obj
[7442/11751] Building C object sdk\tools\wpp\CMakeFiles\wpp.dir\ppy.tab.c.obj
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

partial pick from: 0.4.13-dev-132-g f47f45dbdd

Yes the /wd4244 wasn't really necessary for x86, but only for x64,
but taking it with me as well synced the file to 100%.
2022-04-08 00:56:20 +02:00
Joachim Henze 65b9c42e6b [0.4.7][CMAKE] Fix 2 MSVC2010SP1 x86 dbg warnings LNK4199 CORE-18104
warnings can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
[10138/11748] Linking C shared library dll\win32\setupapi\setupapi.dll
   Creating library dll\win32\setupapi\setupapi.lib and object dll\win32\setupapi\setupapi.exp
LINK : warning LNK4199: /DELAYLOAD:winspool.dll ignored; no imports found from winspool.dll

[10209/11748] Linking CXX shared library dll\win32\shell32\shell32.dll
   Creating library dll\win32\shell32\shell32.lib and object dll\win32\shell32\shell32.exp
LINK : warning LNK4199: /DELAYLOAD:winspool.dll ignored; no imports found from winspool.dll

fix picked from: 0.4.8-dev-594-g b20280a0f9
aka: [CMAKE] Allow overriding the .dll extension for delay imports in MSVC builds.
2022-04-07 01:45:40 +02:00
Joachim Henze 6fe1932883 [0.4.7][CMAKE] Fix MSVC2010SP1 x86 dbg configure-warning 'winspool has no base address' CORE-18104
pick part of 0.4.10-dev-312-g a3ddb8a4c2 to harmonize the
inconsistency in the base-address-files regarding winspool.
Since an ancient winspool-name-change
the baseaddress*.cmake files do reference the winspool module in an inconsistent style:
- 'baseaddress_winspool' in baseaddress.cmake 'was already' / 'is still' ok without
   the 'drv' in the older branches (unlike 0.4.10-dev-311)
- 'baseaddress_winspool.drv' in baseaddress_dwarf.cmake
- 'baseaddress_winspool.drv' in baseaddress_msvc.cmake

And therefore only GCC did properly set a base address, but MSVC failed at that.
No warnings afterwards anymore about 'winspool has no base address' during configure.
2022-04-07 01:10:15 +02:00
Joachim Henze 42f18753f6 [0.4.7][CMAKE] Fix 9 MSVC2010SP1 x86 dbg warnings LNK4221 CORE-18104 CORE-14373
by always unconditionally enabling "String Pooling" /GF

Pros:
- consistency between the toolchains, as GCC always has this enabled
- shrinks the binary sizes for MSVC dbg builds
- smaller binaries will also make relocations less probable with MSVC dbg and a given set of (often outdated) precalculated base-addresses
- interestingly it also fixes/hides some linker warnings LNK4221

which can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration, here example from releases/0.4.7:
[819/11751] Linking C static library dll\opengl\mesa\main\mesa_main.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[830/11751] Linking C static library dll\opengl\mesa\math\mesa_math.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[858/11751] Linking C static library dll\opengl\mesa\swrast\mesa_swrast.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[879/11751] Linking C static library dll\opengl\mesa\tnl\mesa_tnl.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[897/11751] Linking C static library dll\opengl\mesa\vbo\mesa_vbo.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[1602/11751] Linking C static library sdk\lib\3rdparty\adns\adns.lib
internal.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[4327/11751] Linking C static library sdk\lib\tdilib\tdilib.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[11714/11751] Linking C static library win32ss\user\winsrv\consrv.lib
consrv.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[11726/11751] Linking C static library win32ss\user\winsrv\concfg\concfg.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

It manages to make all the mentioned 9 LNK4221 disappear without introducing any other warnings into those modules, or into any other module.
Ftr I do not understand why String Pooling hides those LNK4221. But its effectiveness is evident.
But some other LNK4221 in other modules do still remain after it. Their count is not 0 afterwards, just significantly reduced.

Cons:
- String Pooling may slightly increase the build time, but the impact is negligible, even on my 12 year-old PC.
- String Pooling may make lousy code crash, that illegally wants to write into string constants, like we saw it for ROSTESTS298 for example.
  But that is actually not a bad thing. That test was also broken beforehand and crashed even on real Windows.
  We didn't find any similar problems within the 'productive code' yet.

fix is a partial pick of:
0.4.12-dev-354-g 5e673f3118
and its addendum
0.4.12-dev-655-g 237110604b [CMAKE] msvc.cmake: Remove 2 now redundant '/GF' (#1239)
2022-03-31 18:30:00 +02:00
Joachim Henze 0d140e4801 [0.4.7][CYLFRAC] Fix 3 MSVC2010SP1 x86 dbg warnings C4305 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(109) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(110) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(137) : warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-31 06:16:04 +02:00
Joachim Henze 38391daaa3 [0.4.7][ROSHTTPD] Fix 3 MSVC2010SP1 x86 dbg warnings C4373 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
[11438/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\config.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11441/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\httpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11442/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\roshttpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-29 19:41:18 +02:00
Joachim Henze 5c9e53502d [0.4.7][NETREG] Fix 1 MSVC2010SP1 x86 dbg warning C4065 CORE-18104
the warning can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
[11432/11751] Building CXX object modules\rosapps\applications\net\netreg\CMakeFiles\netreg.dir\netreg.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\netreg\netreg.cpp(188) : warning C4065: switch statement contains 'default' but no 'case' labels

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-29 18:26:00 +02:00
Joachim Henze b4453b4b43 [0.4.7][WIN32K:NTUSER] Fix 4 MSVC2010SP1 x86 dbg warnings C4146 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\win32ss\user\ntuser\nonclient.c(823) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\047rls\reactos\win32ss\user\ntuser\nonclient.c(824) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\047rls\reactos\win32ss\user\ntuser\nonclient.c(826) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\047rls\reactos\win32ss\user\ntuser\nonclient.c(826) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

partial pick of 0.4.9-dev-295-g 2d9c88e0c5
2022-03-29 02:27:36 +02:00
Joachim Henze 35903bc456 [0.4.7][D3DCOMPILER_43] Fix 11 MSVC2010SP1 x86 dbg warnings C4133 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1107) : warning C4133: 'function' : incompatible types - from 'D3D_PRIMITIVE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1110) : warning C4133: 'function' : incompatible types - from 'D3D_PRIMITIVE_TOPOLOGY *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1126) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_OUTPUT_PRIMITIVE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1129) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_PARTITIONING *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1132) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_DOMAIN *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1438) : warning C4133: 'function' : incompatible types - from 'D3D_SHADER_INPUT_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1441) : warning C4133: 'function' : incompatible types - from 'D3D_RESOURCE_RETURN_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1444) : warning C4133: 'function' : incompatible types - from 'D3D_SRV_DIMENSION *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1507) : warning C4133: 'function' : incompatible types - from 'D3D_CBUFFER_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1603) : warning C4133: 'function' : incompatible types - from 'D3D_NAME *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1604) : warning C4133: 'function' : incompatible types - from 'D3D_REGISTER_COMPONENT_TYPE *' to 'DWORD *'

picked from 0.4.14-dev-8-g 36d9e80add

( for the record: 0.4.13 got this years ago already via 0.4.13-RC-4-g d27a20233d )
2022-03-29 01:55:43 +02:00
Joachim Henze 8387b844f8 [0.4.7][CMBATT] Fix 1 MSVC2010SP1 x86 dbg warning C4146 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\drivers\bus\acpi\cmbatt\cmbatt.c(983) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

partial pick of 0.4.13-dev-713-g 08c6d21e1f
2022-03-29 00:45:41 +02:00
Joachim Henze 4cc55d4f0c [0.4.7][NTPRINT_WINETEST] Remove a crashing test for a dll we don't have anymore CORE-18104
picked from 0.4.9-dev-269-g 0dff328003

addendum to the removal of ntprint in 1ea68e0e6d == SVN r67576 == 0.3.x
2022-03-28 19:02:53 +02:00
Joachim Henze 2918b7e393 [0.4.7][WINETESTS] Mute many MSVC2010SP1 dbg warnings CORE-18104
Mutes too many to list them all here, but the motivation to pick that part was:

can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\modules\rostests\winetests\rpcrt4\server.c(910) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rostests\winetests\rpcrt4\server.c(910) : warning C4305: 'function' : truncation from 'double' to 'float'

Timo thought most likely that muting is okay here, to keep the diff to upstream low in the tests.

Partial pick from 0.4.14-dev-847-g 42d2d5ec9c
2022-03-28 17:52:05 +02:00
Joachim Henze 6d3d711e77 [0.4.7][NTDLL_APITEST] Mute 1 MSVC2010SP1 x86 dbg warning C4717 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
c:\047rls\reactos\modules\rostests\apitests\ntdll\stackoverflow.c(57) : warning C4717: 'infinite_recursive' : recursive on all control paths, function will cause runtime stack overflow

Muting is okay here, because stack overflow is specifically what is aimed to be tested here.

Fix is a partial pick of 0.4.14-dev-847-g 42d2d5ec9c

No warnings left in module NTDLL_APITEST and no C4717 left in releases/0.4.7.
2022-03-28 14:14:54 +02:00
Joachim Henze dbd9aed450 [0.4.7][PSDK:LM] Fix 4 MSVC2010SP1 x86 dbg warnings C4028 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\dll\win32\netapi32\obsolete.c(241) : warning C4028: formal parameter 3 different from declaration
C:\047rls\reactos\dll\win32\netapi32\obsolete.c(301) : warning C4028: formal parameter 4 different from declaration
C:\047rls\reactos\dll\win32\netapi32\obsolete.c(335) : warning C4028: formal parameter 3 different from declaration
C:\047rls\reactos\dll\win32\netapi32\obsolete.c(405) : warning C4028: formal parameter 3 different from declaration

Fix picked from 0.4.9-dev-215-g e6d7480287

No warnings left in module module netapi32.
And no C4028 left in releases/0.4.7 and releases/0.4.8.
2022-03-28 13:09:42 +02:00
Joachim Henze e034038b38 [0.4.7][MSWSOCK] Fix 3 MSVC2010SP1 x86 dbg warnings C4146 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\dll\win32\mswsock\mswhelper.c(264) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\047rls\reactos\dll\win32\mswsock\mswhelper.c(280) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\047rls\reactos\dll\win32\mswsock\mswhelper.c(326) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

Fix is a partial pick of 0.4.10-dev-409-g 0f8439aa71

No warnings left in this module.
2022-03-27 17:13:41 +02:00
Joachim Henze 6e67380e28 [0.4.7][NFSD] Fix MSVC2010SP1 x86 dbg warning C4115 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
c:\047rls\reactos\base\services\nfsd\name_cache.h(77) : warning C4115: 'open_delegation_type4' : named type definition in parentheses

Fixed by adding a PCH. It helps most likely because that PCH influences the include order.
Fix picked from 0.4.8-dev-227-g af212ce508

It was the last C4115 on releases/0.4.7.
2022-03-27 16:21:59 +02:00
Joachim Henze e9154dd63b [0.4.7][SDK/INCLUDE] Fix MSVC x86 warning LNK4078 CORE-18104
Fix the .code16 macro definition for MASM/ML.

Modify the .code16 macro so that the 16-bit code segment can get a
chance to be correctly merged with other (possibly 32-bit) code
segments, without keeping generating multiple .text segments with
different attributes and generating the corresponding LNK4078 warning.

This fixes the warning when compiling NTOSKRNL on MSVC2010SP1 x86 in dbg config:
"v86.S.obj : warning LNK4078: multiple '.text' sections found with different attributes (C0520040)".

And it even slightly shrinks the size of hal.dll, e.g. for releases/0.4.7 from 1.231.360 to 1.230.848bytes

fix picked from 0.4.12-dev-494-g 0ee02b2c4d
2022-03-27 10:28:14 +02:00
Joachim Henze 6873e14c42 [0.4.7][SHELL32] Remove some unused members and comment out some unused Wine code
picked from 0.4.8-dev-9-g ce4ecd604d

This was a tiny fraction of CORE-11799 (#94), but it will not resolve this ticket entirely.
A good commit nevertheless.
2022-03-26 22:56:30 +01:00
Joachim Henze 0a294b97be [0.4.7][LIBTIRPC] Mute 30 MSVC2010SP1 x86 dbg warnings C4996, C4101, C4133 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1)
This fixes 30 warnings of multiple kind, e.g.:
27 of the kind:
C:\047rls\reactos\dll\3rdparty\libtirpc\src\auth_sspi.c(107) : warning C4996: '_strdup': Deprecated POSIX name, Try _strdup instead!
and also:
C:\047rls\reactos\dll\3rdparty\libtirpc\src\svc_vc.c(315) : warning C4101: 'cleanfds' : unreferenced local variable
C:\047rls\reactos\dll\3rdparty\libtirpc\src\svc_vc.c(488) : warning C4101: 'pollfd' : unreferenced local variable
C:\047rls\reactos\dll\3rdparty\libtirpc\src\xdr_rec.c(424) : warning C4133: '=' : incompatible types - from 'char *' to 'int32_t *'

Muting makes sense for this *3rd party library*. Better than creating more diff within here by addressing them.
This leaves no warnings left within this lib.

Fix picked from:
0.4.12-dev-803-g 3d3377a5c0
2022-03-26 20:54:57 +01:00
Joachim Henze 98b2ec42d9 [0.4.7][PSDK][XDK] Fix MSVC2010SP1 x86 dbg warning RC4005 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1)
and building in debug configuration for x86 target:
[9209/11324] Building RC object dll\win32\browseui\CMakeFiles\browseui.dir\browseui.rc.res
C:\047rls\reactos\sdk\include\psdk\windef.h(121) : warning RC4005: 'DECLSPEC_IMPORT' : redefinition

fix picked from 0.4.8-dev-988-g b9f88d594d
aka. "[PSDK][XDK] Remove DECLSPEC_* from windef.h, protect against redefinition in winnt.h"

which was the proper fix after the initial attempt of 0.4.8-dev-981-g e2c6c3cfc7

This was the last of the kind RC4005 for the releases/0.4.7 branch.
2022-03-26 19:33:43 +01:00
Joachim Henze 1b2528801d [0.4.7][PCNET] Fix MSVC2010SP1 x86 dbg compiler warning C4146 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1)
and building in debug configuration for x86 target:
C:\047rls\reactos\drivers\network\dd\pcnet\pcnet.c(1226) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

fix is a partial pick of 0.4.8-dev-589-g a2f7de7ee8
2022-03-26 16:17:22 +01:00
Joachim Henze 7d8dae7d77 [0.4.7][LIBTIRPC] Fix CVE-2018-14622 CORE-15005, and CVE-2018-14621 CORE-15407
The chance for us to get attacked is rather low, because
LIBTIRPC is used solely for the nfs service and
I pushed aggressively years ago to have that turned from
'Automatic' to 'Manual' already.
I doubt many used this service, that does not exist on real Windows at all.
Attacks may result in Denial-Of-Service.

For details check:
https://nvd.nist.gov/vuln/detail/CVE-2018-14622
https://nvd.nist.gov/vuln/detail/CVE-2018-14621

Fixes picked from:
0.4.11-dev-93-g 000bbe074e CVE-2018-14622 CORE-15005
0.4.11-dev-887-g f5f3ff86ea CVE-2018-14621 CORE-15407
2022-03-26 12:53:51 +01:00
Joachim Henze dd30d04063 [0.4.7][REACTOS] Fix '\n.' typos CORE-18103
The same set of matches affected branches all the way down to releases/0.4.7
Fix picked from 0.4.14-dev-1010-g 1a83762ccc
2022-03-25 19:06:12 +01:00
Joachim Henze 4e7832e449 [0.4.7][RASDLG] 'RasDlg fix 1-11' CORE-18103 (and a missing '\0' in pl-PL.rc)
Continininininininininously improving ros by fixing glitches in msg408 and msg411. ;-)

fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
(#2393) is fully covered now for the backport.
-------------
and fix a missing '\0' in pl-PL.rc at end of msg502 that was fixed during 0.4.8-dev'ing.
2022-03-24 23:24:27 +01:00
Joachim Henze d607efdfa5 [0.4.7][REACTOS] 'Extra fix 1-3' in zh-TW.rc & zh-CN.rc CORE-18103
Chinese manually groomed similar to the
western '\n.'->'.\n' fixes (Chinese does not match our regular pattern matches).

fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-24 22:37:45 +01:00
Joachim Henze f29385f6cf [0.4.7][REACTOS] Fix remaining ' \n' typos in *.rc CORE-18103
Phew, these are the last ones for this branch!
Now reduced by the preceding commits to a manageable amount.
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)

Yes, I do see the 'conti\n\n\n\n\n\n\nnue'-mess within dll/win32/rasdlg/lang/en-US.rc
Will be taken care of later.
2022-03-24 21:56:03 +01:00
Joachim Henze 070b4fb3b6 [0.4.7][REACTOS] Fix '[0-9A-Za-z] \\n' typos in *.rc (with regular expr.) CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)

Yes, I do see that we still have some '\n.' typos in some files, e.g.
base/applications/shutdown/it-IT.rc. I will take care of them later!
2022-03-24 21:15:30 +01:00
Joachim Henze 3cf3caefb4 [0.4.7][REACTOS] Fix ' +\\n' typos in *.rc (with regular expr.) CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)

Yes, I double-checked the msi_en.rc, and we do only use the \t after the \n (without additional spaces).
It is a good harmonization therefore to reduce the indentation level here.
2022-03-24 00:24:22 +01:00
Joachim Henze 6711a7f1f5 [0.4.7][REACTOS] Fix ') \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 22:40:46 +01:00
Joachim Henze 5f92268d1d [0.4.7][REACTOS] Fix '] \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 22:07:25 +01:00
Joachim Henze e35af429d9 [0.4.7][REACTOS] Fix ', \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 21:39:00 +01:00
Joachim Henze bde158398b [0.4.7][REACTOS] Fix ': \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 20:59:01 +01:00
Joachim Henze e6f9746bbe [0.4.7][REACTOS] Fix '. \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1142-g 92aabb07fb (#2393)
2022-03-23 20:12:00 +01:00
Joachim Henze 296a7b855b [0.4.7][REACTOS] Fix ': \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1037-g 554c41e4d7 (#2387)
(#2387) is now covered completely.
2022-03-23 14:50:06 +01:00
Joachim Henze cbfaac62e5 [0.4.7][REACTOS] Fix '. \n' typos in *.rc CORE-18103
fix is a partial (intentionally non-squashed) pick of 0.4.14-dev-1037-g 554c41e4d7 (#2387)

I am aware that some of the touched lines do still contain other issues for the moment!
2022-03-23 14:27:37 +01:00
Joachim Henze e9f49a93cb [0.4.7][SHELL32] Remove redundant "Line up icons" from desktops context menu CORE-18096
A *partial* backport of 0.4.14-dev-1506-g c82ba3485e , part of (#2603)
That menu item never had any effect up to now as it had no implementation in ros,
and it also does not exist on Windows at this location.
The desired effect can already be achieved by just hitting F5 or selecting "Refresh" from the same root-context menu.

I do port back only the removal of this commit for now, and not the added new functionality in the submenu "Arrange Icons By", to
allow translations for that to settle down a bit on master.
2022-03-20 15:23:41 +01:00
Joachim Henze 8f3723c10c [0.4.7][CRT] Fix 2 MSVC compiler warnings CORE-17812
observed with MSVC2010SP1 16.0.40219.1 x86-target in dbg+rls-config several times:
sdk\lib\crt\string\wtoi64.c(28) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
sdk\lib\crt\string\wtoi64.c(194) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

the fix is a PARTIAL port of 0.4.15-dev-2951-g 5d8e834897

and while touching the file
fix another white-space-glitch.
in sum that brings us 100% in sync in this file to master 0.4.15-dev-3264-g570cedf.
2022-03-18 21:31:40 +01:00
Joachim Henze da266a418c [0.4.7][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:04:28 +01:00
Joachim Henze 998bd6a85f [0.4.7][SHELL32_WINETEST] Fix 2 MSVC warnings about flags CORE-7538
Can be observed when building with MSVC2010SP1 x86-target in dbg config:
- "...\ebrowser.c(1188) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"
- "...\ebrowser.c(1198) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"

Cherry-pick 535f2f9e66

fix picked from:
0.4.10-dev-513-g 669d6b445b
2022-03-15 12:48:14 +01:00
Joachim Henze df2ae760d1 [0.4.7][XDK][PSDK][WINE] Unify ARRAY_SIZE definition for Wine modules. CORE-15127
I need this for the following commits to be able to fix more compiler warnings
without having to introduce additional diff for better code from newer branches, that
also uses this macro. The older the branch, the less of duplication we have for this
macro.

picked from 0.4.11-dev-258-g 82faa151e5
2022-03-14 09:51:00 +01:00
Joachim Henze f8eebacfcf [0.4.7][OLEAUT32] Fix an MSVC warning about VarCyMul() CORE-7538
Observable in MSVC2010SP1 dbg config:
"...\vartype.c(3808) : warning C4028: formal parameter 2 different from declaration"

Minimal cherry-pick Alexandre Julliard
18f7ec3670

The fix was picked from 0.4.10-dev-512-g 2ad650469e
2022-03-13 15:10:29 +01:00
Joachim Henze 535860c0ca [0.4.7][MSHTML] Fix 4 MSVC warnings C4028 CORE-7538
That can be observed in MSVC2010SP1 x86 dbg config:
- "...\htmlanchor.c(769) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlarea.c(427) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlform.c(757) : warning C4028: formal parameter 2 different from declaration"
- "...\htmlinput.c(1303) : warning C4028: formal parameter 2 different from declaration"

fixes picked from:
0.4.10-dev-620-g 990e7dfd1a (WineSync)
0.4.10-dev-603-g 2e7b73dc75 (htmlinput Temporary fix)
2022-03-13 11:53:57 +01:00