Mark Qvist
d67c8eb1cd
Fixed potential division by zero
2023-12-25 11:39:24 +01:00
Mark Qvist
60a604f635
Carrier change flag on listener replace
2023-12-06 00:06:45 +01:00
Mark Qvist
b68dbaf15e
Updated log levels
2023-11-08 15:23:29 +01:00
Mark Qvist
b584832b8f
Fixed logging error messages when a local client connects while instance is starting up
2023-11-06 11:06:14 +01:00
Mark Qvist
7a6ed68482
Set socket options
2023-11-05 22:57:03 +01:00
Mark Qvist
43a6e280c0
Fixed bluetooth read timeouts on Android in environments with hight 2.4G noise
2023-11-02 16:08:49 +01:00
Mark Qvist
628777900e
Fixed attribute
2023-11-02 12:44:57 +01:00
Mark Qvist
12e87425dc
Adjusted timings
2023-11-02 12:24:42 +01:00
Mark Qvist
873f049e20
Fixed redundant rediscovery path request
2023-11-02 04:35:57 +01:00
Mark Qvist
0e12442a28
Local interface bitrate simulation
2023-10-27 18:12:53 +02:00
Mark Qvist
cf125daf5c
Added link quality calculation to RNode interface
2023-10-24 01:40:17 +02:00
Mark Qvist
67c7395ea7
Improved shared interface reconnection on service restart
2023-10-18 23:18:59 +02:00
Mark Qvist
1abacca9bf
Fixed missing command definition
2023-10-08 18:02:38 +02:00
Mark Qvist
0a9366ba6e
Updated Android log level on bluetooth failure
2023-10-02 17:39:19 +02:00
Mark Qvist
9f58860842
Added missing super init on Android interfaces
2023-10-02 17:36:33 +02:00
Mark Qvist
fb4e53f6e3
Configured announce ingress limit defaults
2023-10-01 11:39:24 +02:00
Mark Qvist
3c4791a622
Implemented announce ingress control
2023-10-01 00:16:32 +02:00
Mark Qvist
52028aa44c
Added ingress control config option
2023-09-30 21:07:22 +02:00
Mark Qvist
0fd75cb819
Added announce frequency sampling to interfaces
2023-09-30 19:11:10 +02:00
Mark Qvist
8e4a1e3ffa
Increased AutoInterface peering timeout on Android
2023-09-20 00:53:51 +02:00
Mark Qvist
155ea24008
Added channel CSMA parameter stats to RNode Interface
2023-09-18 00:45:38 +02:00
Mark Qvist
9889b479d1
Fixed inadverdent AutoInterface multi-IF deque hit for resource transfer retries
2023-09-14 22:14:31 +02:00
Mark Qvist
13c45cc59a
Added channel stat reporting and airtime controls to RNode interface
2023-09-13 21:15:32 +02:00
SebastianObi
6dcfe2cad6
Fixed missing init of 'r_stat_snr'.
...
This this will otherwise lead to the error:
AttributeError: 'RNodeInterface' object has no attribute 'r_stat_snr'
2023-06-07 17:43:14 +02:00
SebastianObi
f206047908
Fixed missing init of 'r_stat_snr'.
...
This this will otherwise lead to the error:
AttributeError: 'RNodeInterface' object has no attribute 'r_stat_snr'
2023-06-07 17:42:44 +02:00
Mark Qvist
a06e752b76
Added multi-interface duplicate deque to AutoInterface
2023-05-11 19:54:26 +02:00
Mark Qvist
5e5d89cc92
Removed dependency on netifaces.
2023-05-04 23:19:43 +02:00
Mark Qvist
a3bee4baa9
Removed netifaces dependency from AutoInterface
2023-05-04 17:55:58 +02:00
Mark Qvist
7e9998b4fd
Use included platform detection method
2023-05-03 12:21:57 +02:00
markqvist
79abe93139
Merge pull request #278 from VioletEternity/windows-so_reuseaddr
...
Use SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR on Windows
2023-05-03 12:18:49 +02:00
Mark Qvist
3300541181
Fixed invalid error code in conditional. Fixes #284 .
2023-05-02 17:45:30 +02:00
Mark Qvist
3848059f19
Only use ifname for link-local discovery scopes. Fixes #283 .
2023-05-02 17:39:06 +02:00
Maya
ba7838c04e
Use SO_EXCLUSIVEADDRUSE instead of SO_REUSEADDR on Windows.
...
On Linux, SO_REUSEADDR is used so that a socket in TIME-WAIT state can
be rebound after a listening process is restarted. It does not allow two
processes to listen on the exact same (addr, port) combination. However,
on Windows, it does, and SO_EXCLUSIVEADDRUSE is required to reproduce
the Linux behavior.
Reticulum relies on an error being returned by bind() that reuses
the same (addr, port) combination as another process to detect whether
there is a shared instance already running. Setting SO_EXCLUSIVEADDRUSE
makes this detection process work on Windows as well.
2023-04-19 03:03:15 +01:00
Mark Qvist
fac4973329
Fixed potential race condition in announce queue handling for AutoInterface
2023-03-09 18:32:14 +01:00
Mark Qvist
226004da94
Ignore lo0 in all cases. Fixes #237 .
2023-03-07 16:43:10 +01:00
Aaron Heise
6d9d410a70
Address multiple issues with Buffer and Channel
...
- StreamDataMessage now packed by struct rather than umsgpack for a more predictable size
- Added protected variable on LocalInterface to allow tests to simulate a low bandwidth connection
- Retry timer now has exponential backoff and a more sane starting value
- Link proves packet _before_ sending contents to Channel; this should help prevent spurious retries especially on half-duplex links
- Prevent Transport packet filter from filtering out duplicate packets for Channel; handle duplicates in Channel to ensure the packet is reproven (in case the original proof packet was lost)
- Fix up other tests broken by these changes
2023-03-04 23:37:58 -06:00
Greg Troxel
e273900e87
AutoInterface: Drop embedded scope identifier on fe80::
...
The code previously dropped scope identifiers expressed as a trailing
"%ifname", which happens on macOS. On NetBSD and OpenBSD (and likely
FreeBSD, not tested), the scope identifier is embedded. Drop that
form of identifier as well, because we keep address and ifname
separate, and because the scope identifier must not be part of
computing the hash of the address.
Resolves #240 , failure to peer on NetBSD and OpenBSD.
2023-02-28 10:19:46 -05:00
Mark Qvist
c604214bb9
Improved RNode reconnection when serial device disappears
2023-02-18 13:31:22 +01:00
Mark Qvist
c34c268a6a
Added carrier change detection flag to AutoInterface
2022-12-22 18:20:34 +01:00
Mark Qvist
8fcdc4613c
Adjusted loglevels
2022-12-22 18:20:13 +01:00
Mark Qvist
f645fa569b
Fixed AutoInterface multicast echoes failing on interfaces with rolling MAC addresses on every re-connect
2022-12-22 17:46:46 +01:00
Mark Qvist
171457713b
Improved RNode hotplug over Bluetooth on Android
2022-12-20 15:17:46 +01:00
Mark Qvist
30d8e351dd
Updated version
2022-12-16 23:21:22 +01:00
Mark Qvist
2a264fa7d6
Fixed invalid driver proxy for Qinheng CH34x chips on Android
2022-12-15 17:14:09 +01:00
Mark Qvist
f692e81b8e
Fixed AutoInterface roaming on Android devices that rotate Ethernet/WiFi MAC addresses on reconnect
2022-11-24 17:19:01 +01:00
Mark Qvist
cecb4b3acb
Fixed buffered input stream reader not working on Android API levels < 30
2022-11-23 20:39:49 +01:00
Mark Qvist
f22504d080
Improved I2P recovery time on unresponsive tunnels
2022-11-03 22:47:08 +01:00
Mark Qvist
f22e5cc200
Fixed socket references. Closes #146 .
2022-11-03 19:51:04 +01:00
Mark Qvist
88b88b9b64
Fixed missing check for socket state
2022-11-03 18:03:00 +01:00
Mark Qvist
76fcad0b53
Added better I2P state visibility to rnstatus util
2022-11-03 17:49:25 +01:00