Commit Graph

11 Commits

Author SHA1 Message Date
Andrea
a85c9bfc07
Uthernet2: use fcntl for better compatibility with MacOS. (#1269) 2024-03-02 12:34:38 +00:00
Andrea
b3e617f1e5
Uthernet II: the real hardware only decodes A0 and A1, so we introduce a 0x03 mask. (PR #1115)
Fixes #1113
2022-06-17 21:27:52 +01:00
tomcw
961625721b U2: Improve comment (#1100) 2022-05-20 08:04:49 +01:00
Andrea
60cbbb40db
Uthernet II: 2 fixes and minor changes (PR #1100)
* Enable virtual DNS by default.
* Improve handling of header size:
This fixes an issue in UDP, where it would not take the header size into account when deciding how much to read.
* IPRAW socket. Fix an issue where the header would include "our" IP Address.
The doc is not very clear 5.2.3: they say "destination". But for consistency with UDP (5.2.2) where it seems clear that this is the peer's ip, we replace with the "destination" of the socket, or the "source" of the packet.
* minor tweak: signal with SOCK_SYNSENT that a connection is being established.
* remove Socket::myErrno as it serves no purpose.
It is a duplicate of (sn_sr == W5100_SN_SR_SOCK_SYNSENT).
* add some logging when reading/writing on a closed socket.
2022-05-19 19:30:34 +01:00
Andrea
6a5ea92a4e
Uthernet II: add virtual DNS feature (PR #1097)
Uthernet II: add extended feature to virtualise DNS requests.
. This allows pure TCP/UDP sockets to run *without* MACRAW requests (and so without libpcap).
. Raw sockets will not work.
. Add configuration for Virtual DNS.
libpcap: ensure all functions check if the library is loaded before using it.
Uthernet 1: do NOT overwrite tfe_cannot_use as it should only reflect the availability of npcap on *this* system.
Add Copyright notice, and mention Virtual DNS in html.
2022-05-08 16:26:01 +01:00
Andrea
500c2e50b6
Uthernet II: handle TCP connection failure. (PR #1070) 2022-03-22 19:39:49 +00:00
Andrea
cdd360bdfe
Uthernet II: implement IPRAW sockets. (PR #1069) 2022-03-22 19:30:42 +00:00
Andrea
12d1a0e1fe
Card: cleanup interface. (PR #1059)
1) Remove Init()
2) Call Reset() via CardManager
3) Call Destroy() via CardManager (only used by Disks/Harddisk) on WM_DESTROY

The only "real" changes are in CSuperSerialCard: ensure destructor cleans up and remove Destroy().
2022-03-11 22:17:03 +00:00
Andrea
bbe2a7f8ee
Uthernet II card: support save/load state. (PR #1054)
NB. do not attempt to restore a UDP / TCP socket.
2022-03-07 21:08:31 +00:00
Kelvin Lee
80f3eaeb91
Various *Name() functions can simply return const std::string& (PR #1049) 2022-02-28 20:52:18 +00:00
Andrea
9f8c4d99af
Add Uthernet II support and make Uthernet I a Card. (PR #1047)
. tfe.cpp renamed to Uthernet1.cpp.
. add class NetworkBackend: common to both U1 and U2 cards, and abstracts Windows/Linux backends.
. modernise error message if WPCAP.DLL is not installed.
2022-02-27 17:26:48 +00:00