Commit Graph

204 Commits

Author SHA1 Message Date
Mark Qvist
045a9d8451 Fixed a race condition in link establishment flow 2022-07-08 11:14:35 +02:00
Mark Qvist
8cff18f8ce Improved cache handling 2022-07-02 15:15:47 +02:00
Mark Qvist
bc39a1acf1 Fixed static size index 2022-07-01 21:16:01 +02:00
Mark Qvist
2685e043ea Fixed missing check for zero-length packets on IFAC-enabled interfaces. Fixes #65. 2022-06-11 18:52:33 +02:00
Mark Qvist
d39c1893e7 Cleanup 2022-06-11 14:11:58 +02:00
Mark Qvist
0a8b755230 Transport optimisations 2022-06-09 16:54:47 +02:00
Mark Qvist
33fac728f8 Improved link stale process and timeout calculations 2022-05-26 16:49:02 +02:00
Mark Qvist
c24233845e Implemented bandwidth cap for recursive path requests 2022-05-23 19:49:48 +02:00
Mark Qvist
c0fbde5ad1 Added recursive path request loop avoidance 2022-05-23 18:14:45 +02:00
Mark Qvist
a79f6e7efa Added rncp utility 2022-05-22 23:44:32 +02:00
Mark Qvist
109132e09d Fixed expired AP and roaming paths not being removed at correct time. 2022-05-22 15:43:46 +02:00
Mark Qvist
f3ff71d9b8 Implemented unknown path discovery 2022-05-22 14:18:58 +02:00
Mark Qvist
3871d8615e Added per-interface announce rate control 2022-05-14 18:09:38 +02:00
Mark Qvist
8636259886 Added roaming and boundary interface modes 2022-05-13 21:03:51 +02:00
Mark Qvist
af1a05ff6a Added announce queue dropping to rnpath utility 2022-05-13 16:18:13 +02:00
Mark Qvist
1b50f5267a Improved announce queue processing 2022-05-13 15:45:09 +02:00
Mark Qvist
b8ca89c2b6 Cleanup 2022-04-28 10:58:26 +02:00
Mark Qvist
79725a1637 Cleanup 2022-04-28 10:56:19 +02:00
Mark Qvist
1a2da0d7c7 Drop IFAC packets on non-IFAC interfaces 2022-04-28 10:38:34 +02:00
Mark Qvist
5d90ea565a Implemented interface authentication and virtual network segmentation 2022-04-27 19:00:09 +02:00
Mark Qvist
b701cdd07f Generalised transport transmit handler 2022-04-27 13:50:56 +02:00
Mark Qvist
ecffa1a7eb Cleanup 2022-04-20 20:28:14 +02:00
Mark Qvist
9fef53d083 Updated propagation timing 2022-04-20 20:06:44 +02:00
Mark Qvist
0db64610b1 Added reverse path detection 2022-04-20 19:29:25 +02:00
Mark Qvist
38aeb1ab3b Improved logging 2022-04-20 12:58:00 +02:00
Mark Qvist
b0a21b3aa9 Improved logging 2022-04-20 12:56:43 +02:00
Mark Qvist
5e6a1add6b Improved logging and rnpath output 2022-04-20 11:22:52 +02:00
Mark Qvist
104b186047 Added drop path ability to rnpath utility 2022-04-20 11:12:21 +02:00
Mark Qvist
1be00a5c41 Improved announce logging 2022-04-20 10:08:55 +02:00
Mark Qvist
71e5eef8c1 Improved announce logging 2022-04-20 10:08:30 +02:00
Mark Qvist
5606b64317 Improved transport logging 2022-04-20 09:24:48 +02:00
Mark Qvist
c9de260e00 Cleanup 2022-04-18 16:25:11 +02:00
Mark Qvist
31104c6e9c Implemented bandwidth-based announce propagation calculation 2022-04-18 16:23:24 +02:00
Mark Qvist
cc0c01661d Fixed a possible race condition in Transport startup when a local shared instance was restarted and client apps reconnect 2022-04-17 19:34:12 +02:00
Mark Qvist
2f71296816 Basic interface rate estimation 2022-04-17 19:07:32 +02:00
Mark Qvist
7923322d92 Linearized announce propagation delays for supporting up to 128 hops 2022-04-17 18:27:35 +02:00
Mark Qvist
fef5ed6bad Cleanup 2022-04-17 17:37:27 +02:00
Mark Qvist
6a1e6417bb Updated logging 2022-04-16 16:44:10 +02:00
Mark Qvist
ee90605b30 Tweaked decay constant 2022-04-07 19:00:07 +02:00
Mark Qvist
dc6877927e Updated license headers 2022-04-01 17:18:18 +02:00
Mark Qvist
3051b6897d Updated filtering rules. Fixes #18. 2022-03-15 14:55:47 +01:00
Mark Qvist
0e1279d012 Added Access Point interface mode 2022-02-25 18:47:55 +01:00
Mark Qvist
fdaa58a6fa Improved malformed packet detection 2022-01-11 03:06:16 +01:00
Mark Qvist
81158c27e4 Cleanup 2021-12-11 18:41:28 +01:00
Mark Qvist
0273328b23 Link proof debug 2021-12-11 18:19:51 +01:00
Mark Qvist
20dfbcf0cc Link activation time 2021-12-11 17:26:45 +01:00
Mark Qvist
c96e067839 Added proper requester interface detection for path requests for destinations behind local clients. 2021-12-11 16:50:03 +01:00
Mark Qvist
df39cff520 Added recovery to local shared interfaces if master RNS instance is restarted 2021-12-10 18:32:24 +01:00
Mark Qvist
448ea8ceb5 Added try statements for various callbacks 2021-10-15 14:36:50 +02:00
Mark Qvist
1cf6570c2d Added RSSI and SNR reporting to packets on supported interfaces 2021-10-12 16:34:17 +02:00
Mark Qvist
66ce58f0f4 Implemented path updating for moving nodes 2021-10-09 22:13:27 +02:00
Mark Qvist
e8ee26f78d Emission timestamp in announce. 2021-10-09 21:36:01 +02:00
Mark Qvist
c0fb419fe1 Fixed Resource string representation. Added emission timestamp in announce. 2021-10-09 21:30:34 +02:00
Mark Qvist
4ca00c6973 Added path expiry check to tunnel restoration 2021-10-08 17:09:31 +02:00
Mark Qvist
95f81cab7f Added path expiry check to tunnel restoration 2021-10-08 17:09:11 +02:00
Mark Qvist
60917f0eea Fixed interface detachment on TCP initiator interfaces 2021-10-08 17:06:00 +02:00
Mark Qvist
75c3180933 Improved shared instance and local client handling 2021-10-03 15:23:12 +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
1bc2d4015e Fixed bug in reverse table culling 2021-09-24 14:14:34 +02:00
Mark Qvist
dc36644a1e Added rnpath utility 2021-09-24 12:42:24 +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
6362e04567 Cleanup 2021-09-18 21:52:28 +02:00
Mark Qvist
711b754dcc Implemented tunnel saving/restoring. 2021-09-18 21:47:37 +02:00
Mark Qvist
1351316f17 Implemented endpoint tunneling and path restoration on intermittent link layer connections. 2021-09-18 20:38:23 +02:00
Mark Qvist
7af14cec84 Work on tunnels 2021-09-18 20:33:42 +02:00
Mark Qvist
0687ee2231 Work on tunnels 2021-09-18 20:31:43 +02:00
Mark Qvist
872075a31e Work on tunnels 2021-09-18 20:13:51 +02:00
Mark Qvist
d8f0380aa9 Work on tunnels 2021-09-18 20:10:39 +02:00
Mark Qvist
569f9bd2b1 Work on tunnels 2021-09-18 19:46:28 +02:00
Mark Qvist
450b88d0f0 Work on tunnels 2021-09-18 19:14:30 +02:00
Mark Qvist
1cb9df109a Work on tunnels 2021-09-18 19:12:09 +02:00
Mark Qvist
80455c9614 Work on tunnels 2021-09-18 19:08:45 +02:00
Mark Qvist
c1e280d896 Work on tunnels 2021-09-18 18:54:57 +02:00
Mark Qvist
4a2925cdea Work on tunnels 2021-09-18 18:54:01 +02:00
Mark Qvist
7f38c32e90 Work on tunnels 2021-09-18 18:40:49 +02:00
Mark Qvist
8646be0dcf Work on tunnels 2021-09-18 18:40:27 +02:00
Mark Qvist
6b3cc07740 Work on tunnels 2021-09-18 18:35:10 +02:00
Mark Qvist
3b57b0013b Work on tunnels 2021-09-18 18:34:00 +02:00
Mark Qvist
24d8f39dd1 Work on tunnels 2021-09-18 18:33:28 +02:00
Mark Qvist
58e4bf3c80 Work on tunnels 2021-09-18 18:32:12 +02:00
Mark Qvist
1da8a0c8f1 Work on tunnels 2021-09-18 18:26:50 +02:00
Mark Qvist
8b8d4410ef Work on tunnels 2021-09-18 18:21:32 +02:00
Mark Qvist
7d804daa8f Work on tunnels 2021-09-18 18:19:42 +02:00
Mark Qvist
ce00822cb0 Work on tunnels 2021-09-18 18:11:23 +02:00
Mark Qvist
534bb28900 Fixed removal of non-existing receipts. 2021-09-05 20:05:12 +02:00
Mark Qvist
42a3d23e99 Optimised resource transfer timings. Improved request/response timeout handling. 2021-09-03 18:53:37 +02:00
Mark Qvist
0fe76d50f6 Improved documentation. 2021-09-02 20:35:42 +02:00
Mark Qvist
b694cbdc91 Improved announce handling for local clients. 2021-08-29 12:43:54 +02:00
Mark Qvist
71c3333e10 Improved announce handling for local clients. 2021-08-29 12:28:30 +02:00
Mark Qvist
781cb4712d Fixed request packet receipts timing out in spite of delivery. 2021-08-28 23:53:51 +02:00
Mark Qvist
2678aeb6a1 Improved timeout calculation and handling. 2021-08-28 20:01:01 +02:00
Mark Qvist
2e7126ef39 Cleaned up log statements 2021-08-27 22:51:16 +02:00
Mark Qvist
f719d44db5 Transport optimisations 2021-08-21 20:23:36 +02:00
Mark Qvist
af890d91d2 Fixed race condition in outbound handling packet filter 2021-08-21 19:42:01 +02:00
Mark Qvist
4fd3d26714 Fixed UDP broadcast echo packets not being filtered. 2021-08-19 17:05:07 +02:00
Mark Qvist
384a7db974 Implemented link peer identification 2021-08-19 14:10:37 +02:00
Mark Qvist
e8ca88377a Updated documentation 2021-05-20 18:37:12 +02:00
Mark Qvist
ce405b9252 Migrated all asymmetric crypto operations to ECIES on Curve25519. 2021-05-20 15:31:38 +02:00
Mark Qvist
dfb5af5dd1 Added docstrings, refactored method names. 2021-05-16 23:14:49 +02:00