Commit Graph

223 Commits

Author SHA1 Message Date
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
Mark Qvist 522204d8a5 Added Identity docstrings. Renamed Identity method. 2021-05-16 21:58:50 +02:00
Mark Qvist 235b1cea4c Refactored Transport method names 2021-05-16 16:48:54 +02:00
Mark Qvist 55c0f44e58 Refactored Packet method names 2021-05-16 16:42:07 +02:00
Mark Qvist cd2f49272d Refactored Link method names 2021-05-16 16:37:12 +02:00
Mark Qvist d03b7d7a52 Refactored Identity method names 2021-05-16 16:15:57 +02:00
Mark Qvist aa02931364 Refactored and documented Reticulum class 2021-05-16 13:02:46 +02:00
Mark Qvist 43de693f01 Fixed typo 2021-05-15 10:57:54 +02:00
Mark Qvist a60e4fc5f1 Renamed has_path method 2021-05-14 21:36:44 +02:00
Mark Qvist 51ab2d3488 Implemented app_data recall from announces, better destination registration handling and link inactivity querying. 2021-05-13 16:41:23 +02:00
Mark Qvist bd098c338a Indentation and formatting cleanup 2020-08-13 12:15:56 +02:00
Mark Qvist 6b2b66aa25 Moving large transfers to recursive resource segmentation 2020-08-12 20:48:16 +02:00
Mark Qvist 4a3ee622ec Work on bundles 2020-08-12 14:06:29 +02:00
Mark Qvist e2122be006 Started bundle class 2020-06-14 18:33:01 +02:00
Mark Qvist 3819485c20 Better comments on outbound transport 2020-05-15 10:05:18 +02:00
Mark Qvist 3ca06bbf3a Fixed shared instance transport for 1-hop destinations. Path request forwarding to local clients behind shared instance. 2020-05-15 09:41:26 +02:00
Mark Qvist 8a69f7e88c Implemented systemwide shared instance 2020-05-14 16:31:23 +02:00
Mark Qvist e0e1868e50 Transport handling of announces and path requests for shared instance 2020-05-13 20:33:10 +02:00
Mark Qvist 27f5b8fb3e Fixed typo 2020-05-13 16:03:25 +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 3a2b12f9ad Cleanup and logging 2020-05-11 21:27:42 +02:00
Mark Qvist 49fce1e1cb Destination table is now stored on exit 2020-05-11 21:05:04 +02:00
Mark Qvist 481d43ad72 Fixed path request response on system-local destinations when Transport is disabled 2020-04-27 17:26:49 +02:00
Mark Qvist 1391c9ef3b Made running Transport a config choice 2020-04-27 12:04:14 +02:00
Mark Qvist a339ae3d28 Preliminary Python3 support 2020-04-22 12:07:13 +02:00
Mark Qvist 8e558814eb Implemented transport table cleanup 2020-03-07 11:20:09 +01:00
Mark Qvist d169c3d9c1 Cleanup 2020-03-06 22:48:07 +01:00
Mark Qvist 3bbda5a4b4 Transmit proofs only on relevant interface 2020-03-06 22:45:05 +01:00
Mark Qvist d754ed989c Implemented transport for links 2020-03-06 22:20:50 +01:00
Mark Qvist 67b13bca25 Updated path requests 2020-03-06 14:28:26 +01:00
Mark Qvist 33ce3ef48f Implemented path requests 2020-03-06 12:55:05 +01:00
Mark Qvist 09a19aed72 Strip transport headers at final hop 2020-03-06 09:51:59 +01:00
Mark Qvist a24a9623d3 Fixed resource transfers timing out over fast links 2020-03-04 21:25:55 +01:00
Mark Qvist 7867d7ded9 Implemented basic multi-hop transport 2020-03-01 16:56:49 +01:00
Mark Qvist 8e19d5bd97 Implemented loop detection for pathfinding and congestionn avoidance for announce rebroadcasts. 2019-11-10 13:56:04 +01:00
Mark Qvist 64c30488c2 Implemented announce propagation 2019-11-10 10:45:52 +01:00
Mark Qvist 6cdbab7e31 Work on announce routing 2019-11-09 23:47:42 +01:00
Mark Qvist c03bce5547 RNode interface 2018-04-26 13:20:43 +02:00
Mark Qvist 540bde4cd4 Transport job callback in thread 2018-04-26 11:29:21 +02:00
Mark Qvist aa9d0876d7 File transfer example 2018-04-25 23:05:30 +02:00
Mark Qvist d69f3c2c34 Implemented elliptic curve signatures and verify on links, auto proofs on links 2018-04-25 22:08:17 +02:00
Mark Qvist 0c49ca8458 Packet hashlist save to disk 2018-04-24 18:01:52 +02:00
Mark Qvist eed78798f2 Flow control for KISS interfaces, Transport Identity implemented 2018-04-24 17:50:58 +02:00
Mark Qvist 5c94324230 Resource timing, retries 2018-04-23 23:42:16 +02:00
Mark Qvist 260f8bbaf1 Implemented link timeouts and keepalive 2018-04-21 16:12:42 +02:00
Mark Qvist ece4f732f4 Implemented RTT measurements on link establishment and link teardown procedure 2018-04-21 13:54:22 +02:00
Mark Qvist de8d9cf722 Implemented resources 2018-04-18 23:31:17 +02:00
Mark Qvist 19d9b1a4a5 Proof handling 2018-04-17 17:46:48 +02:00
Mark Qvist dedea6ba11 Refactored packet type naming 2018-04-16 22:09:23 +02:00
Mark Qvist 75e0cb039d Implemented links 2018-04-16 17:14:01 +02:00
Mark Qvist 5f7694afdd Cleanup 2018-04-08 13:41:03 +02:00
Mark Qvist 0ce144c760 Cleanup, added interface placeholders. 2018-04-04 17:14:26 +02:00
Mark Qvist 217ab1c2eb Cleanup 2018-04-04 15:26:34 +02:00
Mark Qvist 0196c94672 Refactored to new naming scheme. Implemented KISS interface. 2018-04-04 14:14:22 +02:00