Details
-
Improvement
-
Resolution: Fixed
-
Major
-
September 2016
Description
I played around with ws2_32_new and managed to fix some bugs and make it working for me.
A summary of ws2_32_new changes (the rest is described with each atomic commit) :
- Don't use local variable for UpcallTable. Return error code from WSPStartup in WsTpAllocate. Add some checks
- Fix reading PackedCatalogItem in WsTcEntryInitializeFromRegistry
- Read protocol provider catalog from registry. Fix protocol range check in WsTcLoadProvider
- Read namespace provider catalog from registry
- Implement WSAEnumNamespaceProvidersA/W
- Implement WSAEnumProvidersA/W based on WSCEnumProviders. Don't return protocol with iProtocol == 0 (based on winetest)
- Some fixes in GetAddrInfoW according to the addrinfo wine tests
- Use internal parsing of IPv4 address as the other function is more general (based on winetest)
- Fix WSAStartup based on wine tests
- Small fixes to getxyDataEnt
- Add some checks to inet_addr based on wine tests
- Add some checks and use dynamic memory for constructing DatabasePath in GetProtoOpenNetworkDatabase
- Add error checks for namespace catalog entry list reading from registry
- Add some checks in WSALookupService(Begin/Next/End) based on wine tests
- Add some checks in setsockopt based on wine tests
- Add some checks in WSASocketW based on wine tests
- Fix DPRINT in sendto
- Add some DPRINTs
With attached patches I have the following results:
ws2_32:getaddrinfo 397 tests executed (0 marked as todo, 119 failures), 0 skipped.
ws2_32:ioctlsocket 19 tests executed (0 marked as todo, 2 failures), 0 skipped.
ws2_32:nostartup 5 tests executed (0 marked as todo, 0 failures), 0 skipped.
ws2_32:protocol 28 tests executed (0 marked as todo, 0 failures), 0 skipped.
ws2_32:recv 19 tests executed (0 marked as todo, 0 failures), 0 skipped.
ws2_32:sock 570181 tests executed (0 marked as todo, 179 failures), 11 skipped.
ws2_32:WSAStartup 395 tests executed (0 marked as todo, 0 failures), 0 skipped.
Here is the description of the patches:
database.patch - adds protocol and network files, adds alias for mail protocol
msafd.patch - small fixes to msafd that should be applicable even without ws2_32_new
mswsock.patch - a copy of the patch that I attached to CORE-10024
ws2_32_new.patch - my patch
ws2_32_new_registry.patch - adds needed registry entries on tcpip install. should be applicable even now
Please note that only small fixes are my work.
Most of the work was already done by andy-123 and Alex.
I hope for a good review.
Attachments
Issue Links
- blocks
-
CORE-9680 Cant start GOG galaxy beta
- Resolved
-
CORE-10491 DrugVokrug (friendsAround) messenger fails to show interface
- Resolved
-
CORE-11993 [PATCH] Fix all testIcmpSendEcho tests in iphlpapi
- Resolved
-
CORE-10573 Rewrite of ping
- Resolved
- is blocked by
-
CORE-12008 ping: setsockopt error since r72746
- Resolved
-
CORE-10533 PATCH: Fix local network resolving
- Resolved
- is duplicated by
-
CORE-10305 [PATCH] [MSAFD] Enable WSAVERNOTSUPPORTED
- Resolved
- relates to
-
CORE-10024 PATCH: Implement nsplookup-functioncs at mswsock
- Resolved
-
CORE-12000 Disable ws2_32:sock test_address_list_query()
- Resolved
-
ROSTESTS-243 [PATCH] Add tests for kernel32 GetComputerNameEx return values
- Resolved
-
ROSTESTS-244 [PATCH] Add tests for iphlpapi GetNetworkParams
- Resolved