Hi All,
Thanks for everyone that tested the previous Winsock 2.2 binary and for your reports. Since last week, I've done a lot of bug fixing and implemented new features, and this should reduce the number of crashes you might have seen. As always, please follow the same testing procedure as described in the last email (create a .local file for the .exe and copy the dll in the same directory). I am highly interested in the following apps: Opera, Mozilla, Outlook, P2P Applications, Bittorrent.
Changelog: - Made stubs return error instead of success, so calling apps don't crash - Implemented blocking hook/callbacks, which were required for cancelling Async requests and WS1.1 functionality. - Rewrote QuerySetA<->QuerySetW conversion functions as not to overwrite, corrupt the heap and properly convert all the time. - Implemented getprotobyname/getprotobyaddr - Fixed 4 infinite loops which were hit in some cases. - Fixed cleanup on WSACleanup - Fixed SOL_PROTOINFO_A support in getsockopt - Added support for restarting lookup if WSASocketW fails with special error code - Fixed WSALookupService* functions to handle failuers with the right error codes - Added registry notifications for live catalog changes monitoring - Added code to write to the registry if entries are missing - Added RAS Auto-dial helper implementation, still incomplete.
Best regards, Alex Ionescu
Hello again,
I recently noticed a large regression in this release which made it almost unusable in most applications. I apologize for the oversight, and I've included a fixed binary, which also fixes some name resolution bugs.
Best regards, Alex Ionescu
Changelog:
Revision: 24 Author: Date: 10:20:46 PM, October 29, 2005 Message: - Fix regression in getxyent which made all requests get overwritten and fail. - Re-export getaddrinfo/getnameinfo, since many XP apps have them hard-coded and removing them actually causes more problems. ----
Revision: 23 Author: Date: 10:08:12 PM, October 29, 2005 Message: - Don't enter the startup lock in a loop. Fixes regressions with all apps. - Don't export getnameinfo/getaddrinfo, since they contain bugs: this way, the apps will use their internal replacement code. ----
Revision: 22 Author: Date: 8:38:40 PM, October 29, 2005 Message: - Major fixes in getxbyxx.c: * Allocate bigger buffer in case our estimate RNR_BUFFER_SIZE is not big enough. * Update and fix GUID names and usage * Rename some variables and reformat a bit * Add RAS Auto-dial call in gethostbyname * Use WsSockHeap instead of LocalAlloc/Free * Update gethostbyname to try the call again in case the first time failed, but this time without supplying a name. ----
Revision: 21 Author: Date: 8:11:32 PM, October 29, 2005 Message: - Enable full debugging for now - Fix typo in WSNoteSuccessfulHostentLookup - Support RAS-Autodial in gethostbyname ----
Revision: 20 Author: Date: 5:39:10 PM, October 29, 2005 Message: - Make sure the hash table is valid before attempting to lookup (fixes issue when given socket -1) ----
Revision: 19 Author: Date: 5:25:18 PM, October 29, 2005 Message: - Support RAS-Autodial restart in connect() ----
Revision: 18 Author: Date: 3:15:58 PM, October 29, 2005 Message: - Implement CopyQuerySetW helper to create a copy of a Query Set by using the existing convesion functions. - Actually implement caching in LookupServiceBegin in case of RAS Auto-dial - Simplify LookupServiceBegin to use a goto error instead of repetitive errorcode checks. ----
Revision: 17 Author: Date: 3:06:22 PM, October 29, 2005 Message: - Update NSQUERY to support restarting. - Add RAS Auto-dial call to LookupServiceNext to support restart. ----
Alex Ionescu wrote:
Hi All,
Thanks for everyone that tested the previous Winsock 2.2 binary and for your reports. Since last week, I've done a lot of bug fixing and implemented new features, and this should reduce the number of crashes you might have seen. As always, please follow the same testing procedure as described in the last email (create a .local file for the .exe and copy the dll in the same directory). I am highly interested in the following apps: Opera, Mozilla, Outlook, P2P Applications, Bittorrent.
Changelog:
- Made stubs return error instead of success, so calling apps don't crash
- Implemented blocking hook/callbacks, which were required for
cancelling Async requests and WS1.1 functionality.
- Rewrote QuerySetA<->QuerySetW conversion functions as not to
overwrite, corrupt the heap and properly convert all the time.
- Implemented getprotobyname/getprotobyaddr
- Fixed 4 infinite loops which were hit in some cases.
- Fixed cleanup on WSACleanup
- Fixed SOL_PROTOINFO_A support in getsockopt
- Added support for restarting lookup if WSASocketW fails with special
error code
- Fixed WSALookupService* functions to handle failuers with the right
error codes
- Added registry notifications for live catalog changes monitoring
- Added code to write to the registry if entries are missing
- Added RAS Auto-dial helper implementation, still incomplete.
Best regards, Alex Ionescu
Hi,
It turns out there was another big bug that I released the binary with, related to a recent untested RAS Auto-dial feature, which made the DLL crash almost instantly in most programs.
I've fixed the build and this time did some extensive testing to avoid having another bad release. I've tested, with success, IE6, Filezilla, Firefox, Thundebird, Outlook Express, MIRC. As well, I'm happy to report that MSN Messenger 7.5 and Azureus also work fine on my system, so add those 2 apps to known working.
I'm still interested in Opera, other P2P clients, Chat clients, IRC clients and Mozilla itself.
Thanks again!
Best regards, Alex Ionescu
Changelog:
Revision: 27 Author: Date: 1:23:52 PM, October 30, 2005 Message: - Fix regressions/bugs in last patch: * Fix Query validation checks * Fix Query signature not being set anywhere - Fix DLL_THREAD_DETACH leaking into DLL_PROCESS_DETACH due to missing break; statement. ----
Revision: 26 Author: Date: 1:35:21 AM, October 30, 2005 Message: - Major refactoring of NS Query Object: * Remove active calls field and operations * Add RefCount member and provide referencing/dereferencing mechanisms * Implement WsNqValidateAndReference for validation and referencing * Add preliminary special support for providers supporting NSPIoctl * Rewrite most of WsNqLookupServiceNext to work with more optimized semantics and NSPIoctl support. * Fixed some potential locking/race issues. ----
Revision: 25 Author: Date: 11:03:00 PM, October 29, 2005 Message: - Fix WsRasLoadHelperDll: * Do proper check for initialization * Actually save the loaded DLL handle after loading the DLL, instead of failing - Make the NS Query object initalizer set TryAgain to TRUE so that RAS Auto-Dial will function normally. ----
Alex Ionescu wrote:
Hello again,
I recently noticed a large regression in this release which made it almost unusable in most applications. I apologize for the oversight, and I've included a fixed binary, which also fixes some name resolution bugs.
Best regards, Alex Ionescu
Alex Ionescu wrote:
Hi,
It turns out there was another big bug that I released the binary with, related to a recent untested RAS Auto-dial feature, which made the DLL crash almost instantly in most programs.
I've fixed the build and this time did some extensive testing to avoid having another bad release. I've tested, with success, IE6, Filezilla, Firefox, Thundebird, Outlook Express, MIRC. As well, I'm happy to report that MSN Messenger 7.5 and Azureus also work fine on my system, so add those 2 apps to known working.
I'm still interested in Opera, other P2P clients, Chat clients, IRC clients and Mozilla itself.
Thanks again!
Best regards, Alex Ionescu
Changelog:
Revision: 27 Author: Date: 1:23:52 PM, October 30, 2005 Message:
- Fix regressions/bugs in last patch:
- Fix Query validation checks
- Fix Query signature not being set anywhere
- Fix DLL_THREAD_DETACH leaking into DLL_PROCESS_DETACH due to missing
break; statement.
Revision: 26 Author: Date: 1:35:21 AM, October 30, 2005 Message:
- Major refactoring of NS Query Object:
- Remove active calls field and operations
- Add RefCount member and provide referencing/dereferencing mechanisms
- Implement WsNqValidateAndReference for validation and referencing
- Add preliminary special support for providers supporting NSPIoctl
- Rewrite most of WsNqLookupServiceNext to work with more optimized
semantics and NSPIoctl support.
- Fixed some potential locking/race issues.
Revision: 25 Author: Date: 11:03:00 PM, October 29, 2005 Message:
- Fix WsRasLoadHelperDll:
- Do proper check for initialization
- Actually save the loaded DLL handle after loading the DLL, instead of
failing
- Make the NS Query object initalizer set TryAgain to TRUE so that RAS
Auto-Dial will function normally.
Alex Ionescu wrote:
Hello again,
I recently noticed a large regression in this release which made it almost unusable in most applications. I apologize for the oversight, and I've included a fixed binary, which also fixes some name resolution bugs.
Best regards, Alex Ionescu
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Alex,
I take that this DLL is to be tested on Windows XP only or should it work on 2000 as well?
James M.
Hi,
After more reports from some users, I have implemented 6 new functions which were in use by many popular programs. Although much of the DLL is still unimplemented, the remaining calls are mostly for highly advanced behaviour which would be seen in either spyware of winsock firewalls, or for deprecated 16-bit support or highly unusual APIs. Since those aren't a priority right now and I haven't been able to find any application using them right now, I've chosen this version to be the "code freeze" version, which will be committed later. With the new functions (thanks to Jirka and David for finding the apps), Opera now works, as well as SmartFTP and probably a lot more applications. Here is the updated compatibility list that I've made:
Firefox, Opera, Filezilla, Thunderbird, IE 6, OE 6, Azureus, Microsoft Terminal Services Client, Skype, Google Talk, World of Warcraft, MIRC, XChat, MSN Messenger, SmartFTP.
This list is satisfactory to me, as it includes almost all the biggest network applications out there. I am now looking for any final showstoppers before focusing on mswsock.dll, so I've posted this mail on the General Mailing List as well, hoping to get more testers.
Thanks for testing!
Best regards, Alex Ionescu
PS. You may notice that the binary is larger then the Microsoft DLL, even though it is less functional. This is because it is a debug version, compiled without optimizations.
Revision: 30 Author: Date: 12:30:29 AM, November 1, 2005 Message: - Add UNIMPLEMENTED wherever it was missing.
Revision: 29 Author: Date: 12:27:26 AM, November 1, 2005 Message: - Implement WSANtohl, WSANtohs, WSAHtonl, WSAHtons. Opera now works. - Fix some GetNameInfoW to return correct failure.
Revision: 28 Author: Date: 4:25:38 PM, October 30, 2005 Message: - Implement WSAStringToAddressA/W. This makes SmartFTP work with IP lookups, but hostname lookup still fail due to bugs in the application itself.
Alex Ionescu wrote:
Hi,
It turns out there was another big bug that I released the binary with, related to a recent untested RAS Auto-dial feature, which made the DLL crash almost instantly in most programs.
I've fixed the build and this time did some extensive testing to avoid having another bad release. I've tested, with success, IE6, Filezilla, Firefox, Thundebird, Outlook Express, MIRC. As well, I'm happy to report that MSN Messenger 7.5 and Azureus also work fine on my system, so add those 2 apps to known working.
I'm still interested in Opera, other P2P clients, Chat clients, IRC clients and Mozilla itself.
Thanks again!
Best regards, Alex Ionescu
Changelog:
Revision: 27