within netne.inf add the missing PCI\VEN_10EC&DEV_8029.DeviceDesc
I noticed it missing when testing with 86box VM selecting adapter "[PCI] Realtek RTL8029AS". Addendum to last commit.
While at it: compactify some of the infs a bit on the older branches:
writing here only the sizes for releases/0.4.14:
- nete1000.inf 9.204 -> 3.050bytes will fit into a single NTFS-cluster now (or within MFT) => endgoal reached
- netne.inf 1.636 -> 1.625bytes will fit into a single NTFS-cluster now (or within MFT) => endgoal reached
- netrtl.inf 4.139 -> 3.956bytes will fit into a single NTFS-cluster now (or within MFT) => endgoal reached
the files on even older branches became either the same size, or smaller.
Main goal of this backport is to be able to place infs outside of media/inf and instead next to their (drivers) implementation.
Specifically this ports back:
0.4.15-dev-8227-g 32d615fc10 [DD] Keep the network drivers infs 8.3 like on MS Windows (#7007)
0.4.15-dev-2763-g 6924b8ff39 [NE2000] Combine two INF files into one for ISA and PCI cards
0.4.15-dev-122-g f4e37f9363 [CMAKE] Support file lists in add_cd_file for all cases. Addendum to 6b48d54
0.4.15-dev-121-g 6b48d54c39 [CMAKE] Fix driver inf files generation for livecd CORE-16975. Addendum to 019f21e
partially 0.4.15-dev-52-g 019f21ee1d [MEDIA][CMAKE] Create add_driver_inf cmake function
*.inf files for drivers can now be placed along with the driver code
Left out for now the moving of cdrom.inf, disk.inf, fdc.inf and usbstor.inf (because there are *_new for those due to the new storage stack)
- I compiled that for testing with RosBE2.1.6 GCCwin4.7.2 dbg+rls, MSVC2010dbg+rls, and for all 4 configs I created bootcd, livecd, hybridcd and bootcdregtest on each release-branch.
All of them succeeded and all files were placed where they belong within the isos.
- I also tested installing with releases/0.4.14 bootcd onto a BTRFS partition, and then accessing that partition from a releases/0.4.7 livecd. Worked.
CORE-17819 This allows Microsoft VirtualPC 2004/2007 to boot LiveCD SAFEMODE to desktop,
the regular mode booted also without that addition already.
Fix picked from 0.4.15-dev-1537-g b1c460d34e
This commit was part of a much bigger PR3396, which I don't pick entirely today.
For CORE-17819 only this part is actually needed.
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.
(dll/ntdll/ldr/ldrinit.c:1649) LdrpInitializeProcessCompat: Not applying automatic fix for winver 0xa00 due to policy
(win32ss/gdi/gdi32/objects/text.c:543) GdiBCExtTextOut nothing
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()
by porting back:
0.4.15-dev-6231-g a5360f542f [IPHLPAPI] Formatting only, no functional change
partially 0.4.15-dev-4492-g 03422451b3 [IPHLPAPI] Add a missing \n in an ERR() logging within ipstats_reactos.c getNumRoutes(). And strip a good-path TRACE in return in the same func.
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)
partially 0.4.13-dev-14-g f9a967b2ae [IPHLPAPI] Fix misc 64 bit issues (only the parts in iphlpapi_main.c with the format strings)
only whitespace fixes within [TCPIP][IP][LWIP]
fix CORE-18328 'FileZilla 3.8 unable to list content of a remote directory due to undue ECONNRESET'
I tested to list the contents of ftp.heise.de and downloaded some files from its pub.
by porting back:
0.4.15-dev-5870-g 9f9b81e396 [AFD] ReceiveActivity: Don't return STATUS_FILE_CLOSED in case of FCB overread CORE-18328 (#4972)
Optimize IOCTL_CONSOLE_FILL_OUTPUT_ATTRIBUTE and IOCTL_CONSOLE_FILL_OUTPUT_CHARACTER for speed by using cache.
a part of CORE-18838
It is faster because it minimizes the amount of pointer dereferences within the for-loops.
fix picked from 0.4.15-dev-5881-g 3526ffc094
---------
also partially pick unrelated cleanup from:
0.4.14-dev-439-g 75f188c200 (only the change in blue.c)
---------
and take back with me some whitespace-tweaks to bring the file closer to todays releases/0.4.14
First part with the typo in the assert was introduced by 5579428b4f
which was merged into ros by a merge-task during 0.4.8-dev'ing.
releases/0.4.7 didn't have that code yet.
fix picked from 0.4.15-dev-5035-g f308c6a2bc
----------
[NTFS] Do not print debug message for every function call by default
That 2nd part was picked from 0.4.13-dev-450-g 1552434940
----------
And for all the files that I had to touch for the 2nd part in the older branches,
I ported back also some EOL-whitespace-fixes within like they were done during 0.4.15-dev'ing.
warnings can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
[3138/12848] Linking C shared module base\services\shsvcs\shsvcs.dll
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllInstall' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllRegisterServer' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllUnregisterServer' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllCanUnloadNow' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllGetClassObject' should be PRIVATE
[7287/12848] Linking C shared module drivers\multimedia\bdasup\bdasup.sys
drivers\multimedia\bdasup\bdasup.def : warning LNK4104: export of symbol 'DllInitialize' should be PRIVATE
The fix picks the parts of 0.4.13-dev-721-g b6135732d4 that are relevant for releases/0.4.12
and it intentionally leaves out similar issues in the MSXML3, OLE32 and RSAENH.
Ftr: MSVC2010 warns about those modules as well in similar manner, but whenever we tried to fix those,
we got into trouble with MSVC afterwards, see for example commit bff824b2 from 2015 (which explained the revert)
or the 2nd failed attempt via 0.4.15-dev-185-g cbe8a9f997 + 0.4.15-dev-186-g 38b438b0f6 + 0.4.15-dev-187-g 0ea110cda9 in 2020 (which didn't explain the revert).
Those 3 modules MSXML3, OLE32 and RSAENH won't get fixed (and both: MSVC2010 and GCC4.7.2 will continue to warn about them in master head)
until Hermes will find a way to solve CORE16380.
For the record: These glitches actually do affect also GCC4.7.2 builds, but that compiler does no similar checks/warns
until 0.4.13-dev-720-g 2becb000c8 which I do not intend to port back for now.
-----
And another interesting detail is, that for MSVC2010 the 0.4.11-release-126-g8105439 currently does not complain about
the LNK4104 in any module, but for 0.4.12-release-115-ga01cc94 (== before this commit) it does, although in both
revisions the spec-file of SHSVCS is 100% the same.
(Uneducated guess: Could that mean that 0.4.12-dev-1045-g 23373acbb9 played any role here maybe???)
Or the detection for MSVC2010 got activated by some other commit during 0.4.12-dev'ing.
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
I am not sure why this line in id_queue.cpp was added.
I don't know how I could improve that case.
Then, disable it, for the time being.
It regressed by 4b9cf2e339 (r71252). CORE-12441 CORE-17371
fix picked from 0.4.15-dev-2740-g ba77a09c04
While touching uniata do also PARTIALLY port back some bm_devs.h changes:
0.4.15-dev-1522-g 88d36c93a2 (Properly mark ReactOS diff from upstream)
Changes to specific files and their effects are as follows:
create.cpp - Allows booting past second stage with UDFS media inserted without BSOD
close.cpp - Allows shutdown without hang
dircntrl.cpp - Allows New Hardware Wizard not to hang on initial third phase install
It began to crash with the introduction of the UDFS driver in SVN r74901 == git 3a104c8f20
Fix picked from 0.4.15-dev-3326-g a91f5e8e4d
NDIS MSVC Release build regressed by 0.4.12-dev-637-g 1b2ca28107
fix picked from 0.4.13-dev-879-g 68bcc2df7c
This allows building NDIS in 'ninja bootcd' after 'configure -DCMAKE_BUILD_TYPE=Release' again
for compiler MSVC 2010SP1 16.0.40219.1 with RosBE 2.1.6
and completely syncs the NDIS code to releases/0.4.13
JIRA-user "Illen" reported booting from his Z170 controller worked up to
0.4.12-dev-936-g89aaf0e
and would refuse booting - beginning with uniata commit
0.4.12-dev-937-g
b546130731
For sure this workaround is just a temporary and no proper solution,
but was confirmed to be working by "Illen". We have no clear understanding of the real bug yet.
Can be replaced by something better at any time.
It was just committed into the RC, master remains affected.
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.
On my system, this reduces the configure-time by a factor of two.
The last parameter of USBPORT_ParseConfigurationDescriptor is a pointer
to a boolean indicating whether any alternate interface settings were
found for the specified interface.
Interpreting it as an alternate setting value, as we did before,
would always override the alternate setting to '1' (if any alternate
descriptors were present), therefore selecting the wrong interface
setting, and possibly causing a buffer overflow on the InterfaceList's
Pipes array.
Found by Special Pool.
There can be other descriptors between the config descriptor and the
first interface descriptor, so we specifically need to check for
the interface descriptor type and skip anything before that.
We also need to guard against bLength == 0, which would cause an
infinite loop, instead of doing a second bDescriptorType check.