Commit graph

82 commits

Author SHA1 Message Date
Joachim Henze ac630552e2 [0.4.7][PARPORT] Fix I/O port length check, [REACTOS] Logging & formatting, e.g. CORE-14388 CORE-19105
Ports back a real fix:
0.4.15-dev-1173-g ba09834c5e [PARPORT] Fix I/O port length check

Ports back logging and formatting:
0.4.15-dev-6794-g 4eace8d762 [IPHLPAPI] Silence obsolete FIXME in GetAdaptersAddresses (#5834) CORE-14388
0.4.15-dev-6438-g b12ab486d8 [MUP] Mute DPRINT1's that slow down shared folder accesses (#5545) CORE-19105

And mutes some other loggings as well for stuff, that I either never want to port back, e.g. the IMM-implementations,
or which is not really helpful in the older branches:
fixme:(win32ss/user/user32/misc/imm.c:446) WINNLSEnableIME is UNIMPLEMENTED!
fixme:(../dll/win32/iphlpapi/address.c:290) GetAdaptersAddresses - Semi Stub: Family 2, Flags 0x0000002e, Reserved 00000000, pAdapterAddress 00000000, pOutBufLen 0143EBD4.

when browsing the startmenu:
fixme:(dll/win32/comctl32/toolbar.c:394) [00080086] TBSTYLE_REGISTERDROP not implemented
fixme:(dll/win32/comctl32/toolbar.c:5636) [00080086] response 2045774661 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5673) [00080086] response 3225142 not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)
fixme:(dll/win32/comctl32/toolbar.c:5636) [000200BA] response 9 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5636) [00080086] response 2288892 not handled to NM_CUSTOMDRAW (CDDS_PREERASE)
fixme:(dll/win32/comctl32/toolbar.c:5673) [00080086] response 3291448 not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)

and a bigger block regarding the parallel port during booting:
(drivers/parallel/parport/parport.c:127) Parport DriverEntry
(drivers/parallel/parport/fdo.c:391) AddDevice(B0B50548 B0FED980)
(drivers/parallel/parport/fdo.c:25) AddDeviceInternal()
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:582) IRP_MJ_PNP / IRP_MN_FILTER_RESOURCE_REQUIREMENTS
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:546) IRP_MJ_PNP / IRP_MN_START_DEVICE
(drivers/parallel/parport/misc.c:42) Calling lower device B0FED980
(drivers/parallel/parport/fdo.c:116) FdoStartDevice ()
(drivers/parallel/parport/fdo.c:160) Port: BaseAddress 0x378  Length 8
(drivers/parallel/parport/fdo.c:160) Port: BaseAddress 0x778  Length 8
(drivers/parallel/parport/fdo.c:174) Interrupt: Level 20  Vector 55
(drivers/parallel/parport/fdo.c:195) New LPT port: Base 0x378
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:586) Unknown minor function 0x9
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:586) Unknown minor function 0x14
(drivers/parallel/parport/fdo.c:513) FdoPnp()
(drivers/parallel/parport/fdo.c:564) IRP_MJ_PNP / IRP_MN_QUERY_DEVICE_RELATIONS / BusRelations
(drivers/parallel/parport/fdo.c:351) FdoQueryBusRelations()
(drivers/parallel/parport/fdo.c:233) FdoCreateRawParallelPdo()
(drivers/parallel/parport/fdo.c:378) Done
(drivers/parallel/parport/pdo.c:165) PdoPnp()
2023-11-05 13:56:03 +01:00
Joachim Henze 89f60aba16 [0.4.7][SDK:RTL] RtlpCallQueryRegistryRoutine(): Correctly set SpareData and SpareLength (#5466)
ports back:
0.4.15-dev-6640-g 02883d1c16

SpareData and SpareLength need to be calculated correctly, as they are used
later in that function as well.
This allows to not overwrite Source UString when writing to Destination UString.

Fixes the problem described in the following JIRA issue, where services could
not start in 2nd-stage-bootcd-setup when installing ReactOS in a very-long-named directory.

CORE-18988
2023-10-21 22:27:20 +02:00
Joachim Henze 8c1c026db5 [0.4.7][IP][TCPIP][LWIP] Backports 2023-08-13 (also fixes a BSOD)
0.4.15-dev-6399-g f8a6542b15 [IP] Don't reference uninitialized PCB to avoid BSOD. CORE-18982
0.4.15-dev-6395-g 2010a5b8d9 [IP] Unlock Connection when TCPAllocatePort() fails. CORE-18371
0.4.15-dev-5707-g 874d317a71 [IP] Allow 0xFFFF as Valid Network Port Number (#5074) CORE-18371 CORE-18764
PARTIALLY pick 0.4.14-dev-1326-g 792b64ea46 [TCPIP][FORMATTING] Format TiDispatch function. No functional changes (#2112)
0.4.13-dev-368-g 3a98d96eac [LWIP] Fix src/core/init.c a bit (#1620)
0.4.8-dev-781-g 63775c3215 [LWIP] dhcp.c: Cherry-pick lwIP 32aa9a4. CORE-8978 (#302)

and strip some EOL-whitespace.

Just to make sure that the binary sizes did not increase:
tcpip.sys master GCC8.4.0dbg RosBEWin2.2.2              462.848
tcpip.sys 0.4.14 GCC4.7.2dbg RosBEWin2.1.6   425.984 -> 425.984
tcpip.sys 0.4.13 GCC4.7.2dbg RosBEWin2.1.6   417.792 -> 417.792
tcpip.sys 0.4.12 GCC4.7.2dbg RosBEWin2.1.6   421.888 -> 421.888
tcpip.sys 0.4.11 GCC4.7.2dbg RosBEWin2.1.6   421.888 -> 421.888
tcpip.sys 0.4.10 GCC4.7.2dbg RosBEWin2.1.6   413.696 -> 413.696
tcpip.sys 0.4. 9 GCC4.7.2dbg RosBEWin2.1.6   413.696 -> 413.696
tcpip.sys 0.4. 8 GCC4.7.2dbg RosBEWin2.1.6   413.696 -> 413.696
tcpip.sys 0.4. 7 GCC4.7.2dbg RosBEWin2.1.6   413.696 -> 413.696
2023-08-13 16:35:33 +02:00
Joachim Henze d3710ecc55 [0.4.7][ADVAPI32][PSDK] Selected Backports 2023-07-22
0.4.15-dev-5927-g bfc6a119c5 [ADVAPI32] Do not fail on creating a registry key if the security attributes have an invalid length. (#5230) fixes regression CORE-15471
partially 0.4.15-dev-999-g 889b077b23 [REACTOS] *.spec: Fix some function/parameter types (only the [ADVAPI32] part)
0.4.14-dev-1245-g 8ae8083378 [ADVAPI32][PSDK] CryptReleaseContext(): dwFlags parameter is DWORD, only
0.4.13-dev-666-g f3a9b524f1 [ADVAPI32] Fix copying the TokenSource string
0.4.13-dev-363-g 46259092f9 [ADVAPI32:REG] Remove some useless casts (#1614)
0.4.12-dev-237-g 446e13745c [ADVAPI32] Stop pretending our advapi32 is NT6+, inconsistent TEB definitions CORE-15526

also fix a bit of whitespace, wrong format-strings and missing \n in debugprints

---------
in 0.4.9 + 0.4.10: scm.c: fix wrong arguments count in 2 TRACEs, which were introduced by the guilty 0.4.9-dev-417-g 32bb592e12
Contrary to that delete all those TRACEs in 0.4.7 and 0.4.8 because they have been touched a thousand times after their introduction to fix all their format-string-glitches.
---------
in 0.4.7+0.4.8+0.4.9 reg.c: delete load_string() and RegLoadMUIStringW(), inspired by 0.4.10-dev-502-g d559ca9c98
Both were neither used, nor exported yet luckily in <=0.4.9
Tip: In 0.4.9 dxdiag network.c we got some interesting workaround code worth to look at if ever needed for older releases. Search for "RegLoadMUIString" within

---------

advapi32.dll master GCC8.4.0dbg            671.232
advapi32.dll 0.4.14 GCC4.7.2dbg 602.624 -> 602.624
advapi32.dll 0.4.13 GCC4.7.2dbg 602.112 -> 602.112
advapi32.dll 0.4.12 GCC4.7.2dbg 615.424 -> 615.424
advapi32.dll 0.4.11 GCC4.7.2dbg 613.888 -> 613.888
advapi32.dll 0.4.10 GCC4.7.2dbg 604.672 -> 604.672
advapi32.dll 0.4.9  GCC4.7.2dbg 607.744 -> 604.672
advapi32.dll 0.4.8  GCC4.7.2dbg 602.624 -> 589.824
advapi32.dll 0.4.7  GCC4.7.2dbg 601.600 -> 589.312
2023-07-22 20:01:40 +02:00
Joachim Henze 6fe5bebccf [0.4.7][SDK] Shorten autogenerated Copyright strings (#5210)
Ports back:
0.4.15-dev-5910-g 99e5f51d5b
in a slightly adapted form, which respects that we were still
a "Team" in 0.4.7 - 0.4.14 and no "Project" yet.
The idea with the "Project" was born during 0.4.15-dev'ing.
That existing difference does also manifest in media/inf/*.inf and I don't intend to
ever change that for the older branches.
That means also that in the older branches we do not need to scroll at all to
see all the text.
Also adopt ReactOS birth year from 1998 to 1996 which we do also use in the msgina startup-dlgs-pics
all the way from releases/0.4.7 at least to todays master head.
2023-07-15 23:57:25 +02:00
Joachim Henze 40bbab2b8c [0.4.7][IPHLPAPI][TCPIP][IP][LWIP][SDK][PSDK] Port back groundworks for netstat
This fixes:
CORE-15363 'netstat TCP foreign address port is wrong'
CORE-5401 'Netstat returns ERROR_NO_DATA Pipe being closed'
CORE-5126 'UNIMPLEMENTED: iphlpapi: GetExtendedUdpTable'
even without touching the netstat binary yet.
And is mostly based on work done by Pierre Schweitzer during 0.4.11-dev'ing.

by porting back:
0.4.15-dev-6231-g a5360f542f [IPHLPAPI] Formatting only, no functional change
partially 0.4.14-dev-1425-g f540b2b20c [IPHLPAPI] GetAdaptersAddresses(): Add 1 free() in ERROR_NO_DATA case (#2526) (but leave out adding the comments in .h)
0.4.12-dev-686-g 22f60faf43 [IPHLPAPI] Remove dead code to fix CID 513306, 1442673, 1442697
0.4.11-dev-880-g bf052e120b [IPHLPAPI] Reduce code duplication and use a single function for TCP and UDP enumerations + fix corruption
0.4.11-dev-867-g 159f5b676a [IPHLPAPI] Fix broken size computation leading to buffer overrun
0.4.11-dev-861-g 05657bfcfd [SDK] Add a non documenter TOIID used to query modules information
0.4.11-dev-827-g ce7f9211a0 [TCPIP] In InfoTdiQueryGetConnectionTcpTable(), only return if there's a connection
0.4.11-dev-823-g 0ec92100bc [TCPIP] Properly display local information for established connections
0.4.11-dev-819-g fbdfe7bd40 [SDK] Add GetExtendedUdpTable()
0.4.11-dev-818-g 370b03b523 [IPHLPAPI] Reimplement GetUdpTable() using GetExtendedUdpTable()
0.4.11-dev-817-g 58cef01422 [IPHLPAPI] Implement GetExtendedUdpTable() CORE-5126
0.4.11-dev-816-g 6fb6c7b50b [IPHLPAPI] Implement getOwnerUdoTable(), to get UDP connections with owner PID
0.4.11-dev-815-g 13de7f08af [TCPIP] Implement enumerating UDP connections with owner PID
0.4.11-dev-813-g 73c87d5c14 [IPHLPAPI] Reimplement GetTcpTable() using GetExtendedTcpTable()
0.4.11-dev-812-g d76ac645e8 [IPHLPAPI] Don't leak memory
0.4.11-dev-811-g c949a12506 [IPHLPAPI] Implement the IPv4 TCP_TABLE_OWNER_PID_* cases in GetExtendedTcpTable()
0.4.11-dev-810-g dca7e5689f [IPHLPAPI] Implement getOwnerTcpTable(), to get TCP connections with owner PID
0.4.11-dev-809-g 411504b5f4 [TCPIP] Implement enumerating TCP connections with owner PID
0.4.11-dev-808-g 935978ee57 [TCPIP] Store creator PID in ADDRESS_FILE
0.4.11-dev-807-g 702d44c683 [IPHLPAPI] Implement the IPv4 TCP_TABLE_BASIC_* cases in GetExtendedTcpTable()
0.4.11-dev-804-g 91b013d387 [TCPIP] When enumerating sockets, retrieve their state and return it
0.4.11-dev-803-g 738f327668 [IP] Add a TCPGetSocketStatus() wrapper around LibTCPGetSocketStatus()
0.4.11-dev-802-g 29c1510423 [LWIP] Implement a LibTCPGetSocketStatus() function in our LwIP glue
0.4.11-dev-792-g 8a98c85c1f [IPHLPAPI] Fix checking entity when enumerating TCP/UDP connections
0.4.11-dev-784-g f29016dabe [TCPIP] Properly handle listening sockets
0.4.11-dev-782-g 007f43dd56 [TCPIP] Implement returning UDP connections CORE-5401
0.4.11-dev-781-g 77d5f04f22 [TCPIP] Implement returning TCP connections CORE-5401
0.4.11-dev-799-g 500a5151ea [TCPIP] Fix returned IP address when querying TCP connections CORE-15363
0.4.11-dev-783-g d18b1fe24b [IPHLPAPI] Properly count UDP entries CORE-5401
0.4.11-dev-780-g e3cb9697a4 [IPHLPAPI] Implement getNumUdpEntries() and getUdpTable() CORE-5401
0.4.11-dev-779-g 678204790c [IPHLPAPI] Implement getNumTcpEntries() and getTcpTable() CORE-5401
0.4.9-dev-59-g b6c060ce04 [IPHLPAPI] Fix getNumRoutes() return value on Mib error (#391)
----------------
Strip some DPRINTs entirely in IPHLPAPI/TCPIP in releases/0.4.7 - 0.4.10 (instead of fixing them like we did on master). Many of them had x64 issues:
This was partially *inspired* by watching the following commits:
0.4.13-dev-14-g f9a967b2ae [IPHLPAPI] Fix misc 64 bit issues (only the parts in iphlpapi_main.c with the format strings)
0.4.10-dev-409-g 0f8439aa71 [IPHLPAPI] Fix 64 bit issue, just the one within [IPHLPAPI] ifenum_reactos.c
0.4.9-dev-856-g 6c9359221c [IPHLPAPI] ipstats_reactos: Review all TRACE/WARN calls
This does not only fix the x64 incompatibilities by superseding those 3 commits but also will keep the file-sizes under control for the backports.
2023-07-03 01:57:54 +02:00
Joachim Henze b1d1704648 [0.4.7][REACTOS] Backport "http://www.reactos" -> "https://reactos" and readme.txt
by porting back:
0.4.15-dev-5669-g 09dde2cff9 [REACTOS] "http://www.reactos" -> "https://reactos" (#5043)
0.4.15-dev-3250-g da4d0545eb [BOOTDATA] readme.txt: Trivial correction Seven->7 (#4014)
0.4.15-dev-2940-g a559d830b5 [BOOTDATA] Update readme.txt
0.4.14-dev-1550-g b7503df6ed [BOOTDATA] readme.txt: Update now-redirected 'www.reactos.org' URLs (#2633)
2023-03-19 13:12:57 +01:00
Joachim Henze 3aea497ef5 [0.4.7][AUDIOSRV] Update to master state 2023-02-18
by porting back:
0.4.15-dev-5710-g 9672dc5047 CORE-16912 [AUDIOSRV] Overhaul logging interfaces (#5067)
0.4.15-dev-445-g 353b544047 CORE-16814 [AUDIOSRV] Disable Logging to file (#2599)
0.4.13-dev-894-g 5f7575909f CORE-16307 [AUDIOSRV][BOOTDATA][INCLUDE][MMSYS] Rename RosAudioSrv to AudioSrv (#1826)
0.4.13-dev-715-g 353e05a4f3 [AUDIOSRV] Fix the coding style. No code changes!
2023-03-13 21:17:55 +01:00
Joachim Henze 88908edc19 [0.4.7] Update Scrollbar code to state of master 2023-March-12
by porting back:
0.4.15-dev-5784-g 2aea4ab945 [NTUSER] Scrollbar.c pure whitespace fixes
0.4.15-dev-5680-g 5ad5737370 CORE-18050 [NTUSER] Delete temporary workarounds in co_IntSetScrollInfo() (#4985)
0.4.15-dev-5355-g 0484beb04b CORE-18593 [NTUSER] Don't redraw scrollbar if it is hidden command prompt (#4849)
0.4.15-dev-4492-g 03422451b3 Add '\n' to debug logs (partially, only the scrollbar.c part)
0.4.15-dev-3875-g 977c129f33 CORE-18048 [USER32] SetScrollPos should not bypass UserApiHook (#4372)
0.4.15-dev-3849-g fd28a69de6 CORE-17780 [WIN32SS] Store the scrollbar theming enabled flag in the scrollbar (#4367)
0.4.15-dev-3175-g 222acf5a3e CORE-17777 [NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo()
0.4.15-dev-3174-g dda9c3979e CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 and CORE-17755 [NTUSER] Improve Themed Scrollbars by Minimizing Updates (#3953)
0.4.15-dev-3086-g 236649c626 CORE-16375 [UXTHEME][NTUSER] Fix flashing of scrollbar when scrolling (#3868)
0.4.15-dev-2375-g ffea5152e6 [WIN32SS][NTUSER] Fix an integer underflow within scrollbar info setting
0.4.14-dev-1134-g 00adb1a3f9 [WIN32SS] Improve Drawing Scrollbars
- CORE-14755 fixed, flashing scrollbar triangles (we know 131 affected apps just from rapps!)
- CORE-13931 fixed, FamiTracker invisible about-dlg
- CORE-14685 improves a bit, but is not entirely fixed
- CORE-11561 'Notepad scrollbars problem' fixed

This will also speed up NSIS installers that display their file-copy-progress by
a self-scrolling listview.
2023-03-12 11:06:40 +01:00
Joachim Henze be37004c6c [0.4.7][OPENGL32][OPENGL][SDK] Update OpenGL.dll to the state currently used in releases/0.4.8
by porting back the following commits from master:
0.4.8-dev-185-g 4067eb1454 [OPENGL32] Get rid of the TLS based implementation CORE-14024 (#133)
0.4.8-dev-184-g 31acac46a1 [OPENGL32] Get rid of the default stub table, use NULL instead CORE-14024 (#133)
0.4.8-dev-183-g b060a81d5d [OPENGL] Always use the TEB to store opengl data CORE-14024 (#133)
0.4.8-dev-182-g 640af3f429 [OPENGL32] Fix a trace CORE-14024 (#133)
0.4.8-dev-181-g 6aaf217b10 [OPENGL32] Implement storing thread data into the TEB CORE-14024 (#133)
0.4.8-dev-148-g 64d10228ee [OPENGL32] Allocate thread data in IntMakeCurrent if it is not allocated yet. CORE-12232
0.4.8-dev-147-g fa9ce98d8e [OPENGL32] Do not crash in IntGetCurrentDC if thread data was not allocated. CORE-12232
0.4.8-dev-15-g 788efd34a8 [OPENGL32] Set the stdcall calling convention for wglGetDHGLRC(). part of CORE-11799, part of (#94)
2023-01-21 22:47:58 +01:00
Joachim Henze 63bc18fd29 [0.4.7][CMAKE] Update baseaddress_msvc.cmake
by hand!

Motivation is to fix relocations during 2nd/3rd stage of the kind:
(C:\047rls\reactos\dll\ntdll\ldr\ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name C:\ReactOS\System32\spool\PRTPROCS\W32X86\winprint.dll (10000000-1000A000 -> 003D0000)
(C:\047rls\reactos\dll\ntdll\ldr\ldrutils.c:1350) Overlapping DLL: C:\ReactOS\system32\localmon.dll

(C:\047rls\reactos\dll\ntdll\ldr\ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name beepmidi.dll (7A140000-7A147000 -> 00BF0000)
(C:\047rls\reactos\dll\ntdll\ldr\ldrutils.c:1350) Overlapping DLL: C:\ReactOS\System32\browseui.dll

Motivation is to fix the following warnings at configure-time for *MSVC x86 dbg* :
-- shsvcs has no base address
-- libtirpc has no base address
-- acgenral has no base address
-- nfs41_np has no base address
-- shellbtrfs has no base address
-- ntdll_vista has no base address
-- redirtest1 has no base address
-- redirtest2 has no base address
-- localspl_apitest.dll has no base address
-- localmon has no base address
-- winprint has no base address

This fixes CORE-14831 for *MSVC dbg* for this release-branch at least.
Meaning: It hides the effect, without fixing the cause.
It is not a sustainable solution for master yet.
We'd need to improve the python script for that.

I tested afterwards the bootup of a build configured via:
-DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
and built with:
MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration
and verified that we had no relocation happening until 3rd stage desktop VBox4.3.12.

MSVC 2010SP1 (16.0.40219.1) x86 target in *rls* configuration was not
tested yet, as that up to now did never reach the desktop yet for unrelated reasons.

I will not upload an iso to sourceforge after this commit,
because it will not have any impact for our primary GCC 4.7.2 toolchain.

This updates the GCC baseaddress_msvc.cmake
to the state we do use in releases/0.4.10 to date
leaving out the components that do not exist in releases/0.4.7 yet,
And additionally preserves the addresses for the 3 fusion dlls,
which our script currently cannot handle yet.
Therefore manually respecting the differences for:
set(baseaddress_localspl_apitest.dll
set(baseaddress_fusion
set(baseaddress_fusion_1_1
set(baseaddress_fusion_2_0
2022-12-29 18:52:55 +01:00
Joachim Henze 94564d591f [0.4.7][COMCTL32] Conservative partial backport of just a few selected fixes
*partial* pick of 0.4.9-dev-719-g b3fb8555bf
I picked only the STATIC controls registration and implementation to
fix CORE-11195 'A drawing glitch in hundreds of NSIS installers'
----------
Above commit requires me also to port back the following 2 commits
0.4.15-dev-534-g 887764e607 (fix) Mouse Pointer CORE-17062 (#2829)
0.4.15-dev-2705-g a3cadf630a (nitpick)
to prevent a regression with the mouse pointers preview in the mouse applet CORE-17062.
----------
0.4.9-dev-32-g b02d78586c CORE-14346 'Auslogics Disk Defrag Free v8.0.4.0 installer fails to start'
----------
partially pick 0.4.8-dev-505-g 435b0b19d2 Install comctl32 v6 and its manifest in first stage
As this fixes a lot of log spam during 2nd stage of the kind:
(../sdk/lib/rtl/actctx.c:3072) Could not find dependent assembly Microsoft.Windows.Common-Controls (6.0.0.0)
err:(../dll/win32/comctl32/commctrl.c:206) CreateActCtxW failed! bV6=0
...
I took that part which copies the manifests during 1st stage already. That allows to strip some former rosdiffs from comctl32
that we introduced for showing the theme selection dialog. And harmonizes the manifests filenames to the newer branches.
I left out the part which triplicates comctl32.dll 1x system32 and 2x within WinSXS.
2022-11-18 16:09:25 +01:00
Joachim Henze 6903ddbe4c [0.4.7][WDMAUD.DRV][MMIXER] Improve AC97 driver from rapps by defining USE_MMIXER_LIB
By taking alternative code-paths in WdmAud and bypassing Sysaudio.

This is a squashed backport of:
0.4.15-dev-791-g 6d7ebc2048 the USE_MMIXER_LIB which gives the best results when paired with those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE-17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE-17276 winmm:mixer-testbot-crash-fix

Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
            same improvement for "ScummVM 2.0 with Monkey Island 2"

The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.

Most of the above mentioned issues were a regression of SVN r44721 == 4b9731d0db

Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17744 Fox Audio Player 0.10.2 can not longer play an mp3 file with 22kHz, WMM audio output
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. We resolved that as WontFix therefore.
2022-11-14 18:23:07 +01:00
Joachim Henze d1152fc1aa [0.4.7][REACTOS] Remove references to ReactOS Foundation (#4557)
See https://reactos.org/wiki/ReactOS_Foundation for more information.

the first part of CORE-18191

picked from 0.4.15-dev-4866-g 6881d8c624

Respect:
-Colins wish to leave out for now all the matches in kbdtool for legal uncertainty
-boot_images.cmake on master vs. boot/CMakeLists.txt in older branches
-treating cpu.inf special in this first commit for the sake of keeping sync to all other infs
-unlike master I decided to groom also cdmake, because I don't see any reason yet to dump that
 in the older branches
-all releases down to releases/0.4.7 were released for the first time after the "ReactOS foundation"
 dissolved already in 2015. So all are definitely fine to receive this commit.
-port back some EOL whitespace fixes as well in common.ver to sync the file to 100% to master head
2022-10-24 00:30:30 +02:00
Joachim Henze f6c11b91ea [0.4.7][NTUSER] Fix taskbar panes activation (#2046) (#3294) (#3697) (#3700), [SHELL32] (#4800)
This is a squashed backport of the following commits:
0.4.13-RC-53-g 4f628f6b16 (partial pick of shell32-changes for Miranda CORE-14439 & Winamp CORE-13584, explorer left out)
0.4.14-dev-369-g 141cf04239 (#2046) NTUSER
0.4.15-dev-1126-g 58b0558f94 (#3294) NTUSER
0.4.15-dev-2618-g 32b0cf6fc6 (#3697) NTUSER
0.4.15-dev-2621-g 59d4c11203 (#3700) NTUSER
0.4.15-dev-5242-g e6fb0e0c25 (#4800) Cleanup

brings us closer to releases/0.4.14

In the older branches it will fix the following bugs (or prevents introducing them):
CORE-13584 'Winamp 5.666 erroneously has a secret tab shown in taskbar'
CORE-14380 'Effective File Search 6.8.1 when you open up the app via desktop link there is no pane in taskbar'
CORE-14439 'Miranda IM 0.10.21 snap-to-monitor-border-feature brings ros to halt'
CORE-15655 'Click-N-Type Virtual Keyboard 3.03.0412 has no taskbar pane'
CORE-15669 'DVD Write Now 1.5.12 SP2 setup has no taskbar pane'
CORE-15716 'Photofiltr 7.2.1 has no taskbar pane'
CORE-15731 'Java JRE 6u45 setup, last page of setup has no taskbar pane'
CORE-16030 'Moo0 Audio Recorder - the taskbar icon does not appear'
(CORE-17330 Regression, many installers that should have only 1 taskbar pane, now have 2 of them erroneously)
2022-10-22 22:34:48 +02:00
Joachim Henze 08ac11d2da [0.4.7][CRT] Always initialize _[w]pgmptr with a *FULL* path to the current application CORE-12931
Otherwise fall back to the computed argv[0].
This is expected by some applications, for example Git.
Code is adapted from Wine.

Many thanks to Stanislav Motylkov for having investigated this bug!

fixes CORE-12931 and all its duplicates: CORE-13892 CORE-13898 CORE-14066

Fix picked from 0.4.10-dev-201-g f215f394d8
2022-10-07 03:47:27 +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 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 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 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 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 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 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 ace50e91c1 [0.4.7][DBGHELP] Fix 3 MSVC warnings about MiniDumpWriteDump() (#643)
- Fixes MSVC errors: "...\dll\win32\dbghelp\minidump.c(857) : error C4028: formal parameter 5 different from declaration", for parameters 5, 6 and 7.
- Fix spec file too.
CORE-7538

I could reproduce those warnings on MSVC2010SP1 x86.
Ftr Wine 7.0 uses the same spec for that func atm, see
https://fossies.org/linux/wine/dlls/dbghelp/dbghelp.spec (18 Jan 2022, 8523 Bytes)

fix picked from 0.4.10-dev-275-g 3766d836c7
2022-03-12 21:55:56 +01:00
Joachim Henze 6057f41b6b [0.4.7][SHELL32] Squashed port of several RunDlg and ShellExecuteW() fixes
This is a big backport, that brings us closer to releases/0.4.14/0.4.14-release-10-g1b0b852

The main motivation is to fix the regression:
CORE-6412 'FoxitReader4 starts directly instead of launching setup wizard'
which regressed by SVN r56438 == git e5491506f1

By porting back the following commits:

0.4.15-dev-2883-g 33c7c91b36 CORE-17351 CORE-16898 (#3797) Improve performance of Start-Run Dialog Box Options
0.4.14-dev-1016-g 4e721f780e CORE-12266 (#1854) [SHELL32] This fixes the ERROR_DDE_FAIL in the 'www.google.de' testcase
0.4.13-dev-790-g 0f16d44b66 CORE-6412 + CORE-12927
but in return we have to fix all the callers of ShellExecuteW() that relied on this ancient hack-code, and we do this by picking
0.4.13-dev-930-g cb77f1701f CORE-16299 [SHELL32][STOBJECT] ShellExecuteW() params part2
0.4.13-dev-860-g 944aba1fcc CORE-16299 [SHELL32] ShellExecuteW() params part1 (#1833)

0.4.12-dev-94-g 932a812c66 CORE-15434 [SHELL32] shlexec.cpp UNICODE_NULL Add backslash if path was like C: (#1152)
0.4.12-dev-49-g fad9f6677a CORE-15434 [SHELL32] dialogs.cpp (#1117) Addendum
0.4.12-dev-48-g c64d31e9b8 CORE-15434 [BROWSEUI] Add backslash for directory (#1121) C: C:\
0.4.12-dev-36-g 472787ffea CORE-15431 (#1117) Crash on %SYSTEMROOT%
0.4.12-dev-19-g 06d717e3bc CORE-15431 (#1111) Enable Environment Variables
0.4.10-dev-446-g db13b422b3 (#737) shlexec.cpp to avoid regression CORE-14886 "regsvr32 can no longer register dlls"
0.4.10-dev-419-g bfcbda227f (#665) Multiple parameters dialogs.cpp, shlexec.cpp, sdk/include/reactis/undocshell.h
0.4.10-dev-335-g e018ccea4b CORE-14469 (#681) [SHELL32] lpDirectory must have priority in ShellExecuteEx
0.4.10-dev-238-g c84f398306 CORE-14583 (#593) base/shell/explorer/traywnd.cpp
0.4.10-dev-106-g 222534a5a2 IDS_FILE_NOT_FOUND from that unrelated commit was reused to display errors of the RunDlg
0.4.8-dev-253-g 53edadb8c0 CORE-12882, CORE-13847 (#159) [BROWSEUI] SHExplorerParseCmdLine: Improve relative path handling
and a few whitespace-fixes in undocshell.h to bring the file 100% in sync to current 0.4.8
2022-02-20 21:29:07 +01:00
Joachim Henze c0b4dd453d [0.4.7][BCRYPT][CRYPT32][PSDK] Add ECDSA P256 to known algorithms CORE-16741
Add missing structs and handler in BCryptOpenAlgorithmProvider().
Fixes CORE-16741 and similar problems.

The modern internet is not waiting for ReactOS, needed to keep the RAPPS URLs working.
fix picked from:
0.4.15-dev-3603-g e0a47b7b5f [BCRYPT] Add BCRYPT_ECDSA_P256_ALGORITHM

To make this work, we need to sync CRYPT32 to WineStaging-3.3, picked that from:
0.4.9-dev-214-g a8b9a43ae8 [PSDK] Fix the build for msvc 2010. wincrypt.h
0.4.9-dev-208-g dedd08c38d [PSDK] Fix wide string literals in bcrypt.h. Should fix VC2010 build
0.4.9-dev-207-g a6265fc4b0 [BCRYPT] Improve stubs for functions needed by crypt32 aka fix build
0.4.9-dev-194-g a6e1034289 [CRYPT32] Sync with Wine Staging 3.3
0.4.9-dev-193-g e129995058 [PSDK] Update bcrypt.h and wincrypt.h
2022-02-02 22:20:49 +01:00
Joachim Henze 8ce0417afb [0.4.7][MKHIVE] Fix leaks and Implement RegDeleteKeyW() to mute a compile-time-warning CORE-18031
The motivation to upgrade this host-tool is to fix a compile-time warning:
  [4890/10620] Generating boot/bootdata/...oot/bootdata/system, boot/bootdata/BCD
  Binary hive maker
->RegDeleteKeyW(0x0xcab210, '') is UNIMPLEMENTED!
  [145/10684] Generating boot/bootdata/BCD
  Binary hive maker
  Creating binary hive: /home/jhenze/Release_WorkDir/Repo/output-MinGW-i386/reactos/boot/bootdata/BCD

Thw warning was most likely introduced when we started using mkhive in the hosttools, and is triggered
by livecd.inf having a [DelReg] section.

Warning fixed by implementing RegDeleteKeyW().
It can not delete full trees yet, but we also don't need that for our mkhive-usage yet.

While touching it, do also fix some other minor glitches and leaks.

This is a PARTIAL backport of the 15 commits from 0.4.11-dev, all to mkhive from 2018-10-09 to 2018-10-20 by hbelusca.
2022-01-30 03:27:40 +01:00
Joachim Henze 688875e411 [0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW
The main motivation to switch to that newer driver is, that our old one
simply can not read all isos. Especially complex ones made trouble and were
only shown as empty in explorer.
It is still possible to build and use the old driver when needed, only thing
that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe4

Porting back the state up to 0.4.8-release-100-g8f947b5 implies:

Fixing the following JIRA-IDs (or avoid introducing them):
CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'"
CORE-17405 "Fix a macro-copy-paste and shrink the binary size"
CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)"
CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead"
CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus"
CORE-14067 "CDFS_NEW assertions and exceptions"
CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW"
CORE-13184 "Restore ability to install from disk-image"

by picking the following commits:
0.4.8-release-100-g 8f947b5322 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029
0.4.8-release-80-g eb1ea19588 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405
0.4.8-release-62-g 8c07aad4a8 [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067
0.4.8-release-3-g 5d976d04e8 [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3c + 0.4.12-dev-432-g 3463b2db9f CORE-15659
0.4.8-RC-3-g 51f9494d48 [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8 CORE-14067
0.4.8-dev-1069-g a5e89014dc [CDFS_NEW] CORE-14315
0.4.8-dev-475-g a59d4674de [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128
0.4.8-dev-221-g 9d67a24799 [CDFS_NEW]
0.4.8-dev-220-g 67a7e45e35 [CDFS_NEW/DOC]
0.4.8-dev-219-g 6a3bbf24e0 [CDFS_NEW]
0.4.8-dev-218-g ec26cde4a1 [CDFS_NEW]
0.4.8-dev-217-g bc2378a356 [CDFS_NEW]
0.4.8-dev-216-g 5429771b99 [CDFS_NEW]
0.4.8-dev-215-g fd34548263 [CDFS_NEW] Sync with MS-PL driver
0.4.8-dev-164-g ec6b3ecbe4 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt
0.4.8-dev-160-g 2b217e4ecf [NTOSKRNL] Mute spam CcSetReadAheadGranularity()
0.4.8-dev-159-g 64cb138a67 [NTOSKRNL] Mute spam CcPurgeCacheSection()
0.4.8-dev-150-g f723d230a0 [CDFS_NEW]
0.4.8-dev-133-g faee3753ea [CDFS_NEW] CORE-14003
0.4.8-dev-132-g 1d777ffab5 [NTOSKRNL] iofunc.c CORE-14003
0.4.8-dev-131-g c3d5a3f2bd [NTOSKRNL] iofunc.c CORE-14003
0.4.8-dev-130-g 3b64f7f8fb [NTOSKRNL] ob/obref.c & co CORE-14003
0.4.8-dev-129-g 7eefe70294 [NTOSKRNL] io/iomgr.c & co CORE-14003
0.4.8-dev-127-g 5f255827d3 [CDFS_NEW]
0.4.8-dev-126-g 1bef48796e [NTOSKRNL] just a comment, superseded later
0.4.8-dev-125-g cbf0430b56 [CDFS_NEW]
0.4.8-dev-123-g f88fe43abd [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT)
0.4.8-dev-122-g 6c73385625 [CDFS_NEW] CORE-13184
0.4.8-dev-97-g 94298313c0 [CDFS_NEW]
0.4.8-dev-95-g e88eeb21af [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success
0.4.8-dev-94-g 03d5be6437 [CDFS_NEW]
0.4.8-dev-93-g fa1c60db50 [CDFS_NEW]
0.4.8-dev-92-g 8b2fd60829 [CDFS_NEW]
0.4.8-dev-91-g e4da7ecc50 [CDFS_NEW]
0.4.8-dev-90-g 7b19676e2b [CDFS_NEW]
0.4.8-dev-89-g 3d4b8783fd [CDFS_NEW]
0.4.8-dev-88-g 818025ecc8 [CDFS_NEW]
0.4.8-dev-87-g 2639dd6736 [CDFS_NEW]
0.4.8-dev-86-g 755bdb5d0b [CDFS_NEW]
0.4.8-dev-85-g 3cbcb1bade [CDFS_NEW]

and mute spam in opcode INSTEAD of picking:
0.4.8-dev-165-g 2284a457a3 [NTOSKRNL] oplock.c Fixup
0.4.8-dev-163-g d3d5853956 [NTOSKRNL] oplock.c Implement oplock-support
0.4.12-dev-232-g f488102c86 [CDFS] was also left out for now

I am aware, that the backport introduces white-space-glitches within CDFS_NEW.
I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 21:11:23 +01:00
Joachim Henze 560cb2d378 [0.4.7][SYSDM] Restore the general tabs layout and soft localization update
Although the new layout that I committed in the previous commit
was favored by community ratings votes 8:0,
some devs still preferred the old layout with the bigger logo
because they liked the easteregg. So this commit restores
that.

But it syncs to that features latest&greatest implementation
we have in 0.4.15-dev-1685-gd0c237a instead of reverting the
previous commit to not unnecessarily have many bugs with it
that were still affecting the older releases beforehand.

Aside from the general tabs dialogs layout this commit does
also fix some minor issues in the translations for the oldest
branches in pl-PL, jp-JA, zh-CN and zh-TW.

And it fixes an x64 issue in general.c for 0.4.7 and 0.4.8.
2021-02-01 22:02:32 +01:00
Joachim Henze a867fe15ae [0.4.7][EVTLIB] Silence some DPRINTs.
picked from 0.4.9-dev-726-g 10ed9621e4
2020-12-21 10:44:24 +01:00
Joachim Henze 4d93228e44 [0.4.7][SDK] Add UNIMPLEMENTED_ONCE macro
picked in squashed form from
0.4.8-dev-650-g 81eb3bbceb
0.4.9-dev-622-g c704cf5f87

I also ported that into all other release-branches >= 0.4.8 before.
The same MSVC-rls-fixed implementation.
2020-12-21 06:01:13 +01:00
Joachim Henze 835b508a1d [0.4.7][SDK] GCC baseaddress update
Addendum to 0.4.7-release-38-g ec85d9c62b
CORE-12752 was already fixed,
but using the "Motorbike"-game from CORE_16707, I could trigger a new
conflict between user32.dll and hid.dll.
Therefore move 3 potential colliders away.
2020-12-17 19:37:38 +01:00
Joachim Henze 235ab4ad86 [0.4.7][JSCRIPT] Fix regression CORE-13810 "Vypress Chat 2.1.9 MSI setup fatal error"
The regression was unhidden by MSI-winesync 1.5.10 almost 7years ago:
8939969e21 == SVN r57070

Finally we can fix it by adding MS enumerator extension to Jscript.
Many thanks to the patches author
Andreas Maier <staubim@quantentunnel.de>
JIRA-nick: andy-123

fix picked from commit 0.4.12-RC-18-g 9ebb42a4c0

It went afterward into master in slightly modified form as 0.4.13-dev-890-g 83dcae1
But I decided to take the older state from 0.4.12RC, so that I do not have to risk
touching releases/0.4.12 again to sync to "latest&greatest".

Due to the changed PROPF_* defines in jscript.h, I felt most safe by porting back also:
0.4.10-dev-188-g c6f49f5
0.4.10-dev-152-g 3f071cc
0.4.9-dev-248-g 8dba275
0.4.9-dev-120-g 004d830fe9 [INCLUDE/WINE] Import heap.h from Wine Staging 3.3
0.4.8-dev-722-g 3381ee4
2020-11-30 06:48:55 +01:00
Thomas Faber 8632b23f79 [0.4.7][IP] Silence "TCP operation failed" debug spam. CORE-17369
fix picked from commit 0.4.8-dev-1078-g ad68422a7b
2020-11-15 18:37:24 +01:00
Joachim Henze 86ab907e82 [0.4.7][EXPLORER] A massive upgrade
This squashed commit ports back almost all improvements
we did to explorer during 0.4.8-dev.
Main motivation is:
-fixing tons of bugs painting the systray icons, e.g. (but not exclusively) CORE-11378
-and to fix a regression about clock margins CORE-14272
-and the clocks vertical text placement
-Win+E behavior CORE-14199

Here is a list of the commits I ported back:

[PSDK] shellapi.h
0.4.8-dev-1053-g 8b78b0ff98
0.4.8-dev-982-g a64c33e787
0.4.8-dev-970-g 9d2139b7d8

[SHELL32]/[REACTOS]/[EXPLORER]
0.4.8-dev-984-g 131678a025
0.4.8-dev-971-g 5ecabcce59

[EXPLORER]
0.4.8-dev-1065-g f1535c2d6e tiny part of CORE-14306
0.4.8-dev-1064-g abdde0b764
0.4.8-dev-1054-g 3003471e64
0.4.8-dev-974-g 04498f3eb5
0.4.8-dev-944-g f5d679aeb9 fixes CORE-14272 Clock Margins
0.4.8-dev-936-g 556c485c8b
0.4.8-dev-935-g d11e7af5f2
0.4.8-dev-934-g c109dc9f24
0.4.8-dev-928-g 22d1e1017f
0.4.8-dev-925-g c54c5ebb5f
0.4.8-dev-924-g 488477d10d
0.4.8-dev-923-g 85d7dd4f83
0.4.8-dev-922-g 5a1984c998
0.4.8-dev-921-g 6c073e9539
0.4.8-dev-920-g 455bce68b5
0.4.8-dev-908-g 7f35908ad2
0.4.8-dev-860-g 3d75cc0814
0.4.8-dev-853-g 5ec441a867
0.4.8-dev-852-g bc43733e48
0.4.8-dev-851-g bbca71c4a5 [EXPLORER]&[ROSCTRLS]
0.4.8-dev-789-g cb8cc0d098
0.4.8-dev-788-g be2bf9b8c5
0.4.8-dev-787-g 851e0ca5a8
0.4.8-dev-786-g 2abd068398
0.4.8-dev-785-g 8c91a00fcf
0.4.8-dev-784-g 6c9629bb72
0.4.8-dev-783-g d66c6890f7
0.4.8-dev-691-g 2c8ed37605
0.4.8-dev-690-g 74e58d938e
0.4.8-dev-669-g 4b6d929be1 fixes CORE-14199
0.4.8-dev-46-g 2ed535da8a
0.4.8-dev-21-g 82b12ef4cf
0.4.8-dev-20-g 4238f22396

For now I intentionally did leave out
0.4.8-dev-684-g 71e66c69c1
to not make explorer import oleaut32 SysAllocString()/SysFreeString().
I also did not update the translations rc files.
2020-11-15 10:59:40 +01:00
Joachim Henze ec85d9c62b [0.4.7][SDK] Change gcc baseaddress for user32.dll to fix CORE-12752 regression
CORE-12752 Symptom "multiple programs refuse to start because
base address conflict between MSVCP71.dll
& our user32.dll (that can't be relocated by design)."

E.g:
-Photoshop CS2
-Avira Antivir 6.35.00.243 when selecting "Start update" from systray icon

It regressed by SVN r68838 == git
a9a2119c0c

The new base-address is manually crafted to same address that I used
for 0.4.9-RC-23-g
519cdd3c52
already. It is most likely not as effective in preventing
other relocations as the proper fix that was
created by a full recalculation of all dlls base addresses later in
0.4.10-dev-338-g
80bac79070

But it worked properly for me to solve CORE-12752 and today
I do fear I would have higher chances to unhide other
memory corruption bugs if I would do the proper thing.
So unless this would prove to cause any other issue, I will
stick with this minimal invasive approach for the older releases.
2020-11-13 16:46:49 +01:00
Joachim Henze 30e91fd856 [0.4.7][CONUTILS] Fix regression with file redirection of 'more' CORE-14592
In ConWrite(), emit an \r when a \n is encountered but not already preceded by \r.

And, don't emit \r\n when an \r alone is encountered.
This fixes the problem of extra newlines appearing when redirecting
"more" output to a file.

It regressed somewhere in between SVN [r68849-r73441], most likely with some
commit that touched 'conutils' or 'more'.

fix picked from commit 0.4.11-dev-1-g
b277cbdf22
2020-11-11 17:41:38 +01:00
Joachim Henze acd4cf6ade [0.4.7][NTOSKRNL] Restore section layout for NTOSKRNL to fix BSOD regression CORE-14683
Thomas Faber thinks that it's a bit more
safe to just move "after .rsrc" instead of the proper "after .reloc".
A temporary tribute until ROSBE-154 will be fixed properly.

For now we use this just for NTOSKRNL, but not for drivers yet, see
MODULE TYPE sdk/cmake/gcc.cmake
As using also for drivers would immediately lead to BSODs like CORE-16183.
To allow installing DVDWritenow without BSOD,
we need the script at least for ntoskrnl!

The regression was introduced by SVN r55835 == git
6ebf8c2537

This patch (after .rsrc) was already committed into 0.4.15-dev-220-g
d28677795e
2020-10-31 16:43:52 +01:00
Joachim Henze 3966ffa790 [0.4.7][RAPPS/ATL] Fast-forward both to state of 0.4.8-release-0-gd47d448
Due to infrastructure changes on 2018-02-17 (after initial 0.4.7rls)
we totally broke the rapps compatibility of all releases before 0.4.8
leaving rapps useless in those.

Therefore I decided to port back what is necessary to make rapps work
again also in this ancient release.

fixes CORE-14351 adapts to infrastructure changes
fixes CORE-14350 RAPPS Certificate pinning
fixes download from FTP
and merges many other improvements from GSOC 2017 back in time
2020-10-02 01:51:07 +02:00
Joachim Henze 31794c27eb [0.4.7] remove "dev" from version string and add the golden release-kiss 2017-11-24 21:02:01 +01:00
Giannis Adamopoulos 283afefc4e Add CPropertyPageImpl that allows us to make property pages object oriented 2017-10-26 12:37:08 +03:00
Giannis Adamopoulos e7c29bb1fc [ATL] Add CHAIN_MSG_MAP macro 2017-10-26 12:37:08 +03:00
Amine Khaldi ab3045c504 [INCLUDE/WINE] Update winternl.h. CORE-13762 2017-10-23 13:48:05 +01:00
Samuel Serapion 136fabd357 [CRT] Use MAX_PATH for buffer meant to contain an arbitrary path
The cFileName member of WIN32_FIND_DATA is an array of MAX_PATH(260). Using strcpy/wcscpy with the target buffer being smaller is potentially bad. Corresponds to CID 1401198 and 1401195.
2017-10-23 14:44:38 +02:00
Mark Jansen 31a11bba7e [ATL] Implement CDialogImpl
CORE-13903
2017-10-22 21:18:04 +02:00
Giannis Adamopoulos ee1cbf51e1 [PSDK] Add some missing definitions from IShellFolderBand 2017-10-22 20:03:32 +03:00