Daniel Collins
6f468a2316
Load main configuration from ipxwrapper.ini ( #15 ).
2024-06-25 12:05:06 +01:00
Daniel Collins
c16b73bce4
Initial packet coalescing prototype.
...
This introduces "packet coalescing" for the DOSBox transport - when an
application is sending an absurd number of tiny IPX packets in rapid
succession we try to batch them up into a container packet to be sent
through the DOSBox server.
This will hopefully improve how certain games behave when using the
DOSBox transport option, but will break compatibility with anything not
specifically supporting this special message framing.
2023-12-10 13:00:16 +00:00
Daniel Collins
e4dc937e44
Merge branch 'master' into profiling
2023-10-18 23:12:12 +01:00
Daniel Collins
e9c45b8ac5
Fix select(), add some tests.
2023-10-18 20:24:05 +01:00
Daniel Collins
056ec4b115
Split interface.[ch] into two files to fix ipxconfig link error.
2023-09-14 00:30:03 +01:00
Daniel Collins
a6e56f76ce
Provide WinPcap headers rather than expecting them on the host.
2023-09-02 15:02:52 +01:00
Daniel Collins
904b60d21b
Log function profiling statistics every 10 seconds.
2019-08-24 16:06:41 +01:00
Daniel Collins
7e6280b560
Record times taken within stub functions
...
Reporting not done yet.
Call logging broken (for now).
2019-08-23 20:25:14 +01:00
Daniel Collins
3bcfed65a6
Fix source manifest and test-prep target.
...
ipx-bench and ipx-echo aren't needed for the test suite.
2017-09-23 16:54:34 +01:00
Daniel Collins
fe21cbb973
Add unit tests for address cache.
2017-09-20 00:19:58 +01:00
Daniel Collins
62c72e5279
Delete tests/tap/basic.o in clean and update .gitignore
2017-09-20 00:13:33 +01:00
Daniel Collins
7017d4cf94
Create missing directory under .d/
2017-09-12 17:48:33 +01:00
Daniel Collins
bdf829766f
Tidy up Makefile and rework build dependency generation.
2017-09-12 17:43:12 +01:00
Daniel Collins
1304e84d54
Merge remote-tracking branch 'origin/master' into llc-support
2017-08-19 19:16:06 +01:00
Daniel Collins
d9133fd8dd
Compile with -mno-ms-bitfields
...
As of GCC 4.7, the default behaviour when targetting Windows is for
packed structures to use Microsoft's broken struct packing rules.
2017-08-05 10:36:08 +01:00
Daniel Collins
79e286259f
Added -static-libgcc to DLL link commands.
...
Newer GCCs seem to pull in libgcc when building ipxwrapper.dll
2017-08-02 22:55:19 +01:00
Daniel Collins
659641d436
Added unit tests for Ethernet frame (de)serialising functions.
2017-03-29 20:34:32 +01:00
Daniel Collins
b7b4a953d8
Refactored Ethernet frame (de)serialisation.
...
Reworked the (de)serialising of Ethernet frames into seperate functions in
preparation for supporting IEEE 802.2 LLC frames.
2017-03-28 23:29:38 +01:00
Daniel Collins
67acb100a3
Implement crude benchmarking tools
...
These tools can be used to measure RTT, packet loss, and sendto()/recv() call
duration on one end with a specified minimum delay between sendto() calls to
emulate some different loads.
2015-12-15 22:22:06 +00:00
Daniel Collins
e5085ba1d9
Implemented basic DirectPlay test suite.
2015-11-26 00:10:49 +00:00
Daniel Collins
5ff0855485
Replace test suite.
...
Dump most of the old "unit" tests which were more system tests and only tested
a small amount of functionality against the host.
The new test suite is a lot more thorough and tests an arbitrary Windows version
over the network rather than testing within the host's WinSock environment.
More documentation detailing how to run this will follow.
2014-10-04 14:46:11 +01:00
Daniel Collins
dcd484702e
Build with newer toolchain.
...
Various fixups to build under win-builds.org toolchain rather than MinGW. No
longer builds under MinGW as I have removed headers/definitions that it lacks.
2014-06-26 13:22:10 +01:00
Daniel Collins
043ce1495e
Refactor address conflict detection.
...
Detect multiple sockets bound to the same address within a session by creating
a named mutex. Multiple handles to a mutex may exist and closing the last one
destroys it.
2014-06-19 19:42:09 +01:00
Daniel Collins
4fd24354a5
Refactored ipxconfig, allow enabling Ethernet encapsulation.
2014-04-18 14:45:09 +01:00
Daniel Collins
4cf1ec88aa
Implemented support for loading interfaces from WinPcap.
2014-04-18 00:31:59 +01:00
Daniel Collins
3974a2337c
Added stub calls for WinPcap.
2014-04-14 23:19:36 +01:00
Daniel Collins
09aacc71f9
Wrote unit tests for connecting to SPX sockets.
2014-01-25 22:32:28 +00:00
Daniel Collins
390f83ddc0
Wrote unit tests for sending/receiving IPX packets.
2014-01-25 22:32:28 +00:00
Daniel Collins
942848cd4f
Wrote socket creation unit tests.
2014-01-25 22:32:27 +00:00
Daniel Collins
533e35729d
Refactored bind tests to use Test::More and prove.
2014-01-03 21:14:59 +00:00
Daniel Collins
e7c19c3d42
Fixed addr32_from_string and addr48_from_string.
2014-01-03 21:12:50 +00:00
Daniel Collins
223bfeb35a
Automatically add exceptions to Windows Firewall
...
If enabled (default is off) and running as an admin, add the running executable
to the Windows Firewall exception list during DLL initialisation.
2013-12-11 20:23:48 +00:00
Daniel Collins
fab32bf974
Use get_main_config() to load correct log level from registry in stub DLLs.
2012-12-01 14:34:14 +00:00
Daniel Collins
d95b7d92b5
Replaced BIN_FILES/SRC_FILES variables in Makefile with external manifest files
...
and updated for current tree.
2012-11-30 21:01:32 +00:00
Daniel Collins
466c0e3f0d
Implemented basic testing framework and tests for bind behaviour.
2012-11-30 20:21:10 +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
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
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
ebcf1673e2
REFACTOR ALL THE THINGS.
2012-10-21 10:26:52 +00:00
Daniel Collins
0f6c458bcc
Implemented new address cache.
2012-10-20 18:06:11 +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
6169193e62
Fixed makefile
2012-01-14 15:30:26 +00:00
Daniel Collins
406b4710bc
Log version/revision and compile time while initializing ipxwrapper.dll.
2011-11-14 02:21:29 +00:00
Daniel Collins
c18a6747b3
Added DirectPlay registry key and updated readme.
2011-09-19 13:23:54 +00:00
Daniel Collins
82c3d8f242
Moved icon-related stuff to subdir.
2011-09-19 00:49:31 +00:00
Daniel Collins
f8b53b1d1b
Added ipxconfig icon.
2011-09-18 22:24:26 +00:00
Daniel Collins
a778b55e0a
Updated SRC_FILES and changelog.
2011-09-18 22:00:25 +00:00
Daniel Collins
d9684fd53b
Added icon for ipxrouter.
2011-09-18 15:43:13 +00:00