1
0
mirror of https://github.com/solemnwarning/ipxwrapper synced 2024-12-30 16:45:37 +01:00
ipxwrapper/changes.txt

128 lines
4.1 KiB
Plaintext

Version 0.3.1:
Bugfix: Fixed deadlock in DirectPlay service provider.
Bugfix: Properly release event and lock objects when destroying a service
provider instance.
Update: Open logfile with FILE_FLAG_WRITE_THROUGH instead of calling
FlushFileBuffers after every write for performance.
Update: Include thread ID with every log message.
Feature: Implemented IPX_EXTENDED_ADDRESS socket option.
Version 0.3:
Cleanup: Moved certain library functions out of ipxwrapper.c and tidied up.
Cleanup: Removed winstuff.h, added wsnwlink.h from Wine.
Cleanup: Merged EnumProtocolsA and EnumProtocolsW into a single function.
Cleanup: Locking code partially cleaned up.
Feature: Support separate router process to allow for multiple processes
using IPX sockets.
Bugfix: Return correct value when SO_BROADCAST is requested from getsockopt.
Feature: Support address reuse with SO_REUSEADDR.
Bugfix: Properly terminate worker threads.
Bugfix: Load symbols from correct DLL on first try to prevent corruption of
system error code.
Feature: New DirectPlay service provider for IPX.
Bugfix: Correctly initialise common controls in ipxconfig.
Feature: Load interfaces on each bind/getsockopt call to allow configuration
changes without restarting.
Bugfix: Load EnumProtocolsA/EnumProtocolsW directly from mswsock.dll to avoid
stack overflow under certain conditions.
Bugfix: Correctly store protocol names at end of EnumProtocols buffer.
Feature: Implemented windows 95/98 WSHEnumProtocols function.
Feature: Implemented connect, send and getpeername functions.
Update: Max packet (data) size reduced to 8KiB.
Feature: Implemented IPX_RECEIVE_BROADCAST option.
Update: Added ipxconfig icon.
Version 0.2.2:
Feature: Redesigned ipxconfig UI.
Cleanup: Use wrapper function to read registry values in ipxconfig.
Bugfix: Only create registry key when saving configuration.
Bugfix: Correctly order interfaces when first interface has the force
primary flag set.
Bugfix: Added missing exports to wsock32.dll and mswsock.dll.
Update: Log DLL and function names in ipxwrapper.log when call logging
is enabled.
Bugfix: Correctly terminate stub DLL names.
Version 0.2.1:
Bugfix: Delay stub DLL LoadLibrary calls until first API call as using
LoadLibrary in DllMain crashes under some conditions.
Bugfix: Updated recv, recvfrom and WSARecvEx functions to release mutex
before calling recv to avoid deadlocks in multithreaded applications.
Bugfix: Correctly terminate symbol names used within stub DLLs.
Cleanup: Combined common code between recv, recvfrom and WSARecvEx.
Feature: Optionally log names of all WinSock calls.
Bugfix: Store correct DLL name in stub DLLs.
Cleanup: Replace assert calls with proper error checks in ipxconfig.
Cleanup: Cleaned up logging code and added timestamps using GetTickCount.
Cleanup: Call r_ winsock calls directly in router code to prevent it from
generating extra log messages.
Bugfix: Fixed buffer overflow when converting certain addresses to text.
Version 0.2:
Implemented ioctlsocket() function with support for FIONREAD.
Load interface settings from the registry.
Wrote graphical configuration program.
Store IPX network/node number in the NIC structure and a pointer to the
bound interface in the socket structure.
Host addresses referenced by IPX network AND node numbers, expire 60
seconds after the last recieved packet.
Updated winsock wrapper functions to behave closer to the original
winsock implementation.
Only require SO_BROADCAST for receiving broadcast packets if the win95
SO_BROADCAST bug is enabled, which it is by default.
Restrict UDP broadcasts and receives to selected interfaces by default.
Allow UDP port to be changed in configuration program.
Store router buffer globally so it can be free'd rather than leaking
64KiB every time the IPXWrapper DLL is unloaded.
Changed Makefile to build stripped binaries.
Version 0.1:
Initial release