Commit Graph

48 Commits

Author SHA1 Message Date
markqvist
04925d8004
Merge pull request #601 from deavmi/patch-2
Allow binding to IPv6 (if present)
2024-11-20 14:28:46 +01:00
Tristan B. Velloza Kildaire
63ad2afe3f Reapply "Allow binding to IPv6 (if present)"
This reverts commit 61712d322a.
2024-11-04 13:25:55 +02:00
Tristan B. Velloza Kildaire
61712d322a Revert "Allow binding to IPv6 (if present)"
This reverts commit f55004a574.
2024-11-04 13:25:46 +02:00
Tristan B. Velloza Kildaire
3599066356 Revert "Test"
This reverts commit 18c2a38b97.
2024-11-04 13:05:27 +02:00
Tristan B. Velloza Kildaire
18c2a38b97
Test 2024-11-04 13:02:45 +02:00
Tristan B. Velloza Kildaire
f55004a574
Allow binding to IPv6 (if present)
If an interface has an IPv6 address record associated with it then, and only then, prefer that.

Otherwise AF_INET is used (Ipv4 address)
2024-11-03 17:54:59 +02:00
Tristan B. Velloza Kildaire
1768ddc459
Determine AF FAMILY from getaddrinfo BEFORE socket ctor
Before we call the `socket.socket(...)` constructor function, let us first provide `self.target_ip` and `self.target_port` to `socket.getaddrinfo(...)` (static function) and then get the AF family from it. Then we pass this into the ctor
2024-11-03 14:37:28 +02:00
Mark Qvist
83a2999d29 Revert AF_INET6 addition to TCPInterface, since it breaks normal IPv4 connectivity for interface 2024-10-06 10:01:55 +02:00
Tristan Brice Velloza Kildaire
5c6ee07d66 TCPInterface
- When connect(s, Bool)` is called construct a socket that supports both address families
2024-09-05 00:07:35 +02:00
Mark Qvist
7a6ed68482 Set socket options 2023-11-05 22:57:03 +01:00
Mark Qvist
0fd75cb819 Added announce frequency sampling to interfaces 2023-09-30 19:11:10 +02:00
Mark Qvist
5e5d89cc92 Removed dependency on netifaces. 2023-05-04 23:19:43 +02:00
Mark Qvist
0f19ced9d3 Fixed missing IFAC identity init on spawned TCP clients. Closes #137. 2022-11-03 14:16:00 +01:00
Mark Qvist
c18806c912 Updated deprecated threading API call and updated docs 2022-09-30 19:02:41 +02:00
Mark Qvist
571ad2c8fb Added initial connection timeout option to TCPClientInterface 2022-09-15 15:35:28 +02:00
Mark Qvist
af538e0489 Improved shutdown handling and table saving 2022-09-06 17:42:13 +02:00
Mark Qvist
be02586133 Added detach handler to TCP Server Interface 2022-09-06 12:23:52 +02:00
Mark Qvist
8042f5eaa1 Improved log output 2022-06-12 18:55:06 +02:00
Mark Qvist
d7a444556a Tuned TCP socket options 2022-06-12 11:50:09 +02:00
Mark Qvist
513a82e363 Updated link test 2022-06-09 17:14:43 +02:00
Mark Qvist
c6df6293b2 Added hardware MTU parameter to interfaces 2022-05-29 15:43:50 +02:00
Mark Qvist
cf3e47f469 Fixed interface mode inheritance 2022-05-23 00:06:26 +02:00
Mark Qvist
3871d8615e Added per-interface announce rate control 2022-05-14 18:09:38 +02:00
Mark Qvist
7c70f9d865 Set IFAC parameters on spawned interfaces 2022-04-27 13:20:46 +02:00
Mark Qvist
d53e8cf037 Bitrate guess on TCP and UDP interfaces 2022-04-18 18:09:31 +02:00
Mark Qvist
dc6877927e Updated license headers 2022-04-01 17:18:18 +02:00
Mark Qvist
b8105e23ff Fixed TCP interface mode reference 2022-02-25 22:10:55 +01:00
Mark Qvist
3f53c89d32 Added I2P-tunneled mode to TCP interfaces 2022-01-31 23:31:29 +01:00
4c3e
b96cbf1014
OSX NameError fix
Had the following error when trying to run Reticulum on OSX High Sierra:
line 115, in set_timeouts_osx
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
NameError: name 'sock' is not defined
This fix resolved the problem for me.
2022-01-21 01:34:55 +00:00
Mark Qvist
2e4fcc659c Added KISS framing option to TCP client interface 2021-12-06 13:07:12 +01:00
Mark Qvist
10854bfdbc Added conditional import of netifaces 2021-12-01 11:46:19 +01:00
Mark Qvist
652b884d72 Added conditional import of netifaces 2021-12-01 11:39:40 +01:00
Mark Qvist
60917f0eea Fixed interface detachment on TCP initiator interfaces 2021-10-08 17:06:00 +02:00
Mark Qvist
7991db5c74 Added rnstatus utility 2021-09-24 20:10:04 +02:00
Mark Qvist
7e9d608530 Improved shutdown handling for local shared instances 2021-09-24 16:42:31 +02:00
Mark Qvist
3d4ac0126b Added signal handler and interface detachment oon exit. 2021-09-24 16:09:07 +02:00
Mark Qvist
16dae81844 Fixed regression in TCPInterface client spawner. 2021-09-24 14:11:04 +02:00
Mark Qvist
9323fd22ee Improved TCP client interface recovery 2021-09-24 11:20:10 +02:00
Mark Qvist
acae9e34c2 Improved link status detection and recovery of TCP interfaces over unreliable IP links. 2021-09-23 16:07:57 +02:00
Mark Qvist
65e8487b39 Added TCP client reconnection on TCP socket drop 2021-09-18 22:49:04 +02:00
Mark Qvist
ce00822cb0 Work on tunnels 2021-09-18 18:11:23 +02:00
Mark Qvist
2b8b95da2b Added config options for TCP server interface binding to network interface instead of IP. 2021-08-19 20:13:53 +02:00
Mark Qvist
06a43f6515 Removed stray log statement 2020-05-13 16:02:03 +02:00
Mark Qvist
be1ff8ec21 Resource transfer and receipt management optimisation 2020-05-13 13:08:48 +02:00
Mark Qvist
c595fdd54b Optimised resource transfer implementation 2020-05-12 16:45:51 +02:00
Mark Qvist
bf49eb2475 TCP performance improvements 2020-05-12 08:50:51 +02:00
Mark Qvist
d121562b22 Cleanup 2020-05-11 21:52:20 +02:00
Mark Qvist
d6757db6c6 Added TCP interface 2020-05-11 16:09:00 +02:00