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

17 Commits

Author SHA1 Message Date
Daniel Collins
920b5ee2c3 Implemented new "address table" code for maintaining address uniqueness between
multiple IPXWrapper processes without needing a shared router thread.

Replaced router/rclient code with a single, per-process router thread.

Add addresses to the cache in the router main loop rather than winsock recv
functions.

Packets are no longer preceeded by an rpacket_header structure when relayed to
the local UDP sockets.

Each IPXWrapper instance creates a "private" UDP socket bound to a random port
on INADDR_ANY which is used for sending all packets and receiving unicast.

Bugfix: Check source socket number before relaying to a connected socket.
2012-11-11 20:26:50 +00:00
Daniel Collins
076792d94b Removed IP address fields from router_addr structure. 2012-11-03 23:13:53 +00:00
Daniel Collins
f72e88ea34 Iterate over interface broadcast addresses in sendto rather than storing a
single address in ipx_socket during router bind.
2012-11-03 12:57:34 +00:00
Daniel Collins
8820b7d478 Correctly initialise router_addr.remote_addr, use correct width for rpacket_header.src_ip and correctly set router copy of socket flags. 2011-09-19 23:49:16 +00:00
Daniel Collins
fd555ce7c2 Implemented IPX_RECEIVE_BROADCAST option, updated router/rclient API and added proper checks when receiving broadcast packets to the router main loop. 2011-09-17 23:47:31 +00:00
Daniel Collins
646ab3b011 Reduced packet data limit to 8192 bytes, the standard driver included with XP only supports 1467 anyway. 2011-09-17 19:54:53 +00:00
Daniel Collins
f560fae7ad Added header to packets sent from router to loopback sockets. 2011-09-17 19:17:13 +00:00
Daniel Collins
390663ba83 Implemented connect function. 2011-09-15 18:47:31 +00:00
Daniel Collins
9ac1da252a Store IP address and netmask in router_addr structure and check each packet originates from the bound interface rather than testing against all IPX interfaces. 2011-09-11 16:58:04 +00:00
Daniel Collins
8e06150325 Completed changes to allow for separate router processes. 2011-09-09 18:36:52 +00:00
Daniel Collins
11af1ba5d5 Added call handling to router code 2011-09-09 17:38:57 +00:00
Daniel Collins
6d6ac5f2c3 Listen for and accept/close client connections in router code. 2011-09-09 15:50:55 +00:00
Daniel Collins
b1828e0958 Implemented proper SO_REUSEADDR support and fixed getsockopt to return proper value when SOL_SOCKET/SO_BROADCAST is requested. 2011-09-08 18:28:01 +00:00
Daniel Collins
d046b6522d Switchover to new router code 2011-09-07 20:03:16 +00:00
Daniel Collins
37e9db8fba New router code on verge of completion 2011-08-29 13:58:45 +00:00
Daniel Collins
1a54e5208d More work on new router code. 2011-08-29 10:57:19 +00:00
Daniel Collins
9f62a21b30 Started rewrite of router code to be isolated from the rest of IPXWrapper. 2011-08-29 10:03:58 +00:00