IPXWrapper Changelog

What's new in IPXWrapper 0.6.1

Jun 12, 2019
  • Added support for LLC and Novell "raw" 802.3 Ethernet frame formats.
  • Fix weird crashes during exit on some systems.
  • Added support for sending/receiving frames using Win10Pcap.
  • Added missing DirectPlay registry keys to support games which enumerate them (e.g. Virtua Cop).

New in IPXWrapper 0.6.0 (Jun 12, 2019)

  • Feature: Implemented support for sending/receiving real IPX frames on the wire using WinPcap.
  • Bugfix: Include IPX socket number in address cache hash table key.
  • Bugfix: Correctly initialise local sa_family of SPX client sockets.
  • Bugfix: Fix 3+ players in some/most DirectPlay games.
  • Bugfix: Fix memory leaks in DirectPlay service provider.

New in IPXWrapper 0.5.0 (Jun 12, 2019)

  • Bugfix: Allow address reuse when only the binding socket has SO_REUSEADDR.
  • Bugfix: Initialise the ptype of IPX sockets created with a nonzero protocol value correctly.
  • Bugfix: Removed conflicting send and connect functions.
  • Bugfix: Fixed segfault in recvfrom when called with NULL addrlen.
  • Update: Log entry and target DLL of stub calls.
  • Feature: Implemented support for SPX stream sockets over TCP.
  • Feature: Added workarounds for Jane's Combat Simulations: WWWII Fighters.

New in IPXWrapper 0.4.1 (Jun 12, 2019)

  • Feature: Added workaround for point-to-point links.
  • Feature: Added option to automatically add Windows Firewall exceptions during DLL initialisation. Disabled by default.

New in IPXWrapper 0.4.0 (Jun 12, 2019)

  • Bugfix: Fixed a crash in closesocket.
  • Bugfix: Properly handle interface indexes when some are disabled.
  • Bugfix: Fixed a deadlock caused by getsockopt.
  • Update: Implemented new address cache which stores the full sockaddr structure for each remote socket.
  • Cleanup: Integer types for storing 32 and 48-bit addresses and functions for manipulating them.
  • Cleanup: Rewrote registry access code.
  • Cleanup: Implemented library functions for loading and saving configuration.
  • Cleanup: Configuration data written to registry in more sensible format.
  • Bugfix: Always use correct DLL names when logging calls in stub DLLs.
  • Bugfix: Properly handle interfaces without an IP address set.
  • Feature: Support interfaces with multiple assigned IP addresses.
  • Update: Periodically reload the interfaces and cache the result so the list can be used in more contexts without a performance hit.
  • Cleanup: Check if packets were sent from us by using the source IPX address and local interface list rather than maintaining a list of local IP addresses.
  • Feature: Wildcard interface at index 0 to send/recv packets on all interfaces.
  • Update: Removed options to disable source IP address filtering and selective broadcasting.
  • Update: Removed ipxrouter program, no longer needed.
  • Cleanup: Removed out-of-process router support, multiple instances now keep a list of bound addresses in shared memory.
  • Cleanup: Update the address cache in the router main loop rather than including the source IP in a header prefixed to the relayed packet.
  • Update: Each instance of IPXWrapper binds to a random UDP port for sending and receiving packets. The "normal" port is shared for receiving broadcasts only.
  • Bugfix: Check source socket number before relaying to a connected socket.
  • Update: Store IPX sockets in a hash table rather than a linked list.
  • Cleanup: Removed RETURN and RETURN_WSA macros used by the WinSock code.
  • Cleanup: Use some IPXWrapper library code for interface and registry handling in ipxconfig.
  • Bugfix: Don't skip interfaces immediately after disabled ones.