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

211 Commits

Author SHA1 Message Date
Daniel Collins
07275d870c Dump interfaces at startup to aid with debugging. 2012-11-30 17:14:12 +00:00
Daniel Collins
3558f2196e Periodically update the address table and correctly remove entries. 2012-11-18 18:29:05 +00:00
Daniel Collins
0faeb985d2 Properly initialise address table. 2012-11-18 17:00:36 +00:00
Daniel Collins
d9ee86d985 Updated changelog and readme. 2012-11-17 23:07:27 +00:00
Daniel Collins
7b6501526c Removed config_version, cleaned up config code and implemented set_primary_iface. 2012-11-12 20:59:32 +00:00
Daniel Collins
50bb5a3868 Implemented reg_check_value to check if a value exists. 2012-11-12 20:42:55 +00:00
Daniel Collins
f29bbb7f06 Updated ipxconfig to use some C utility functions and new config variables. 2012-11-11 23:57:35 +00:00
Daniel Collins
d921d206f0 Create main config key before attempting to create interface config key. 2012-11-11 22:48:56 +00:00
Daniel Collins
b453669229 Cleaned up most of the winsock code and removed the RETURN/RETURN_WSA macros. 2012-11-11 22:21:22 +00:00
Daniel Collins
9046a8ba1d Removed router_port option from main_config. 2012-11-11 20:58:56 +00:00
Daniel Collins
2a06601f53 Use a hash table instead of a linked list for storing the IPX sockets. 2012-11-11 20:54:43 +00:00
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
8dc0d0aaa3 Removed ipxrouter program. 2012-11-11 14:01:09 +00:00
Daniel Collins
1f77b0f90e Removed bcast_all, src_filter and iface_mode options. The former two are now
implemented by the wildcard interface.
2012-11-10 22:24:47 +00:00
Daniel Collins
6c1ab421da Implemented wildcard interface support. 2012-11-10 19:55:59 +00:00
Daniel Collins
2aa64787ab Fixed ipx_to_string. 2012-11-10 17:05:41 +00:00
Daniel Collins
076792d94b Removed IP address fields from router_addr structure. 2012-11-03 23:13:53 +00:00
Daniel Collins
2dd19ce6d7 Perform source address filtering using the IPs registered with the IPX interface
of the target address rather than the one in the router_addr structure.

Bugfix: Don't overwrite packet IP address on first relay.
2012-11-03 23:07:42 +00:00
Daniel Collins
2f9677c3d2 Replaced single_iface option with iface_mode. 2012-11-03 13:11:16 +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
f087fc26b1 Removed addr_cache_ttl and iface_ttl from main_config structure. 2012-11-03 02:14:14 +00:00
Daniel Collins
d8a0dcf5c8 Removed ip_is_local and associated code. Test for packets originating from us by
attempting to fetch an interface using the IPX source address instead.
2012-11-03 02:03:46 +00:00
Daniel Collins
57e4f27bb8 Implemented (virtual) interface address cache and ipx_interface utility functions. 2012-11-03 01:21:25 +00:00
Daniel Collins
bee68d52b9 Store zero or more IPs in ipx_interface structures rather than one. 2012-11-02 20:45:10 +00:00
Daniel Collins
7fe8d74f22 Implemented config saving functions and added log_level to main_config. 2012-10-28 15:53:54 +00:00
Daniel Collins
39c6e18b46 Implemented registry writing functions.
Implemented random (locally-administered) MAC address generator.

Added config options for single interface mode.
2012-10-28 13:08:36 +00:00
Daniel Collins
46b62c450c Added .gitignore file. 2012-10-26 20:58:27 +01:00
Daniel Collins
6c35bd884e Use "DEVELOPMENT BUILD" as the version string rather than trying to get the SVN revision number. 2012-10-26 20:44:31 +01:00
Daniel Collins
b95d88a5c4 Generate header dependencies on the fly using gcc -MM. 2012-10-21 12:08:31 +00:00
Daniel Collins
c6e1cc9665 Bugfix for addr48_from_string. 2012-10-21 11:02:09 +00:00
Daniel Collins
32bf06ebed Implemented string-to-addr{32,48} functions and added headers. 2012-10-21 11:00:03 +00:00
Daniel Collins
e96c9db3e2 Moved address cache and interface TTL values into main_config. 2012-10-21 10:33:20 +00:00
Daniel Collins
ebcf1673e2 REFACTOR ALL THE THINGS. 2012-10-21 10:26:52 +00:00
Daniel Collins
c836c55ee4 Implemented function for formatting complete IPX addresses as strings.
Bugfix: mkstubs.pl used wrong DLL number for calls to log_call.
2012-10-20 19:21:59 +00:00
Daniel Collins
0f6c458bcc Implemented new address cache. 2012-10-20 18:06:11 +00:00
Daniel Collins
7b2437ade3 Added ipxwrapper-0.4.x branch for heavy development work. 2012-10-19 21:05:50 +00:00
Daniel Collins
97b303822d Fixed a deadlock. 2012-07-22 19:29:39 +00:00
Daniel Collins
999500b865 Fixed a couple of interface ordering bugs. 2012-07-22 18:57:06 +00:00
Daniel Collins
f000b16d03 Fixed bug causing closesocket() to crash if used on the oldest existing IPX socket when newer ones exist. 2012-07-21 23:30:22 +00:00
Daniel Collins
7239a8ea63 Added 0.3.4 release tag. 2012-05-10 14:03:38 +00:00
Daniel Collins
a5837f0fdc Added workaround for games that break WinSock IP support by clearing the environment (Carmageddon II). 2012-05-10 01:18:25 +00:00
Daniel Collins
23c934c192 Added some debug messages 2012-05-09 23:35:21 +00:00
Daniel Collins
702a895d69 Updated changelog. 2012-01-14 15:34:13 +00:00
Daniel Collins
6169193e62 Fixed makefile 2012-01-14 15:30:26 +00:00
Daniel Collins
b9dd65e736 Updated readme. 2012-01-09 13:48:54 +00:00
Daniel Collins
09a3f7e91a Added DirectPlay registry dump for win64 machines. 2012-01-03 16:10:20 +00:00
Daniel Collins
f1fa666c00 Log stub DLL name rather than target DLL when logging calls. 2011-11-16 22:29:27 +00:00
Daniel Collins
e7c6358044 Updated logging API. 2011-11-16 21:32:59 +00:00
Daniel Collins
4266b85cc9 Cleaned up error handling in SPInit and updated changelog. 2011-11-14 02:59:15 +00:00
Daniel Collins
406b4710bc Log version/revision and compile time while initializing ipxwrapper.dll. 2011-11-14 02:21:29 +00:00