Commit Graph

759 Commits

Author SHA1 Message Date
Mark Qvist
30f71857ae Added docstrings. Added request size to receipts. Fixed link stale time calculation on newly created links with no actual activity. 2022-05-24 20:13:11 +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
5da66402dd Fixed rncp output 2022-05-23 09:23:37 +02:00
Mark Qvist
3bf5694238 Fixed naming conflict in resource advertisements 2022-05-23 08:54:07 +02:00
Mark Qvist
9e6a5d5d91 Fix announce rate targets on I2PInterface peers 2022-05-23 00:28:06 +02:00
Mark Qvist
cf3e47f469 Fixed interface mode inheritance 2022-05-23 00:06:26 +02:00
Mark Qvist
f8db5a545d Fixed interface mode check 2022-05-23 00:00:14 +02:00
Mark Qvist
a79f6e7efa Added rncp utility 2022-05-22 23:44:32 +02:00
Mark Qvist
d1cb07356c Fixed missing recursive progress callback allocation in segmented resource transfer 2022-05-22 21:05:07 +02:00
Mark Qvist
e811d54d0f Fixed bug in conditional resource acceptance callback 2022-05-22 19:09:44 +02:00
Mark Qvist
49c8ada478 Added standard identity storage folder 2022-05-22 19:09:16 +02:00
Mark Qvist
0ace84367b Improved link authentication callback 2022-05-22 19:08:03 +02:00
Mark Qvist
e63e6821e0 Updated Destination docstrings 2022-05-22 17:11:30 +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
44ba5624bc Added gateway mode to rnstatus 2022-05-22 15:16:58 +02:00
Mark Qvist
e9c5e3c189 Version bump 2022-05-22 14:29:29 +02:00
Mark Qvist
f3ff71d9b8 Implemented unknown path discovery 2022-05-22 14:18:58 +02:00
Mark Qvist
81b92ffdc1 Added gateway interface mode 2022-05-22 11:14:33 +02:00
Mark Qvist
ecc9e84bc2 Fixed typo 2022-05-18 00:47:29 +02:00
Mark Qvist
2b43436f56 Updated manual and documentation 2022-05-17 22:12:21 +02:00
Mark Qvist
b2d61843d0 Improved log output 2022-05-17 13:25:42 +02:00
Mark Qvist
d66c31b4e9 Added announce rate information to rnpath utility, added exit codes and improved table lookup. 2022-05-14 22:14:38 +02:00
Mark Qvist
e825b0b8ff Added Pipe Interface 2022-05-14 20:19:46 +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
600bd0e64d Updated documentation 2022-04-28 14:17:12 +02:00
Mark Qvist
123fd1de92 Configure IFAC size in bits 2022-04-28 11:51:04 +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
8e5b3b4e83 Cleanup 2022-04-27 13:31:44 +02:00
Mark Qvist
24b7cb777f Cleanup 2022-04-27 13:31:07 +02:00
Mark Qvist
cf1ca01a3b Configuration support for interface access codes 2022-04-27 13:21:53 +02:00
Mark Qvist
7c70f9d865 Set IFAC parameters on spawned interfaces 2022-04-27 13:20:46 +02:00
Mark Qvist
6cf9288b11 Improved AutoInterface peering timeout 2022-04-27 13:19:48 +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
4af14a712c Added timeout to rnpath utility 2022-04-20 13:40:07 +02:00
Mark Qvist
402b5fc461 Random hash length from truncated hash length 2022-04-20 13:08:21 +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
6d23da360d Added path table output to rnpath utility 2022-04-20 10:40:51 +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
b3a439993d Improved rnstatus output 2022-04-20 09:59:58 +02:00
Mark Qvist
5606b64317 Improved transport logging 2022-04-20 09:24:48 +02:00
Mark Qvist
3d38ef27d4 Improved announce logging 2022-04-20 09:04:12 +02:00
Mark Qvist
d53e8cf037 Bitrate guess on TCP and UDP interfaces 2022-04-18 18:09:31 +02:00
Mark Qvist
da297aeb64 Changed log level 2022-04-18 16:54:35 +02:00
Mark Qvist
282239fc57 Added interface announce queue stats to rnstatus 2022-04-18 16:41:38 +02:00
Mark Qvist
222437d851 Version bump 2022-04-18 16:26:08 +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
64593e27be Added announce cap setting 2022-04-17 20:14:20 +02:00
Mark Qvist
124ec006b4 Auto-set sensible interface rate defaults 2022-04-17 19:35:31 +02:00
Mark Qvist
dd55899775 Improved I2P interface display in rnstatus 2022-04-17 19:35:05 +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
5f36c8601f Improved rnstatus utility display 2022-04-17 19:08:48 +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
059b0743ef Improved rnstatus util display 2022-04-17 17:30:39 +02:00
Mark Qvist
4d4d39651f Improved rnstatus util display 2022-04-16 23:26:57 +02:00
Mark Qvist
6a1e6417bb Updated logging 2022-04-16 16:44:10 +02:00
Mark Qvist
39f1258d0e Added interface mode config shorthands 2022-04-16 16:42:59 +02:00
Mark Qvist
03d3478b5e Added interface mode shorthand 2022-04-15 22:13:59 +02:00
Mark Qvist
ee90605b30 Tweaked decay constant 2022-04-07 19:00:07 +02:00
Mark Qvist
04540f6e48 Changed config description 2022-04-06 15:51:27 +02:00
Mark Qvist
dc6877927e Updated license headers 2022-04-01 17:18:18 +02:00
Mark Qvist
7398e312fc Updated version 2022-03-28 15:20:14 +02:00
Mark Qvist
3051b6897d Updated filtering rules. Fixes #18. 2022-03-15 14:55:47 +01:00
Mark Qvist
550dfd44cb Improved cryptography API compatibility 2022-03-08 00:38:51 +01:00
Mark Qvist
95d3346da6 Fixed I2P interface missing attribute 2022-02-26 21:37:50 +01:00
Mark Qvist
d4aabc8b89 Added I2P base32 address output to rnstatus utility 2022-02-26 21:04:54 +01:00
Mark Qvist
cb023cde40 Fixed potential race condition in resource assembly 2022-02-26 18:27:11 +01:00
Mark Qvist
b8105e23ff Fixed TCP interface mode reference 2022-02-25 22:10:55 +01:00
Mark Qvist
4dfa62833c Restructured default config 2022-02-25 21:48:25 +01:00
Mark Qvist
15d027e11e Restructured default config and added config example to rnsd 2022-02-25 21:41:24 +01:00
Mark Qvist
f8272793b4 Tuned AutoInterface timeouts 2022-02-25 20:29:47 +01:00
Mark Qvist
3a215be859 Interface mode defaults 2022-02-25 18:56:09 +01:00
Mark Qvist
0e1279d012 Added Access Point interface mode 2022-02-25 18:47:55 +01:00
Mark Qvist
8ec356a28e Interface outbound option enabled by default 2022-02-25 13:31:52 +01:00
Mark Qvist
49d7808835 i2plib license 2022-02-24 01:45:42 +01:00
Mark Qvist
48184134e4 Improved I2P Interface 2022-02-24 01:30:10 +01:00
Mark Qvist
987ff0658b Version bump 2022-02-23 22:53:16 +01:00
Mark Qvist
27dea7c524 Implemented I2PInterface 2022-02-23 22:43:08 +01:00
Mark Qvist
9c6fd132d4 Work on I2P Interface 2022-02-23 22:15:06 +01:00
Mark Qvist
8d58bb62ab Work on I2P Interface 2022-02-23 21:47:30 +01:00
Mark Qvist
c357f7a94e Work on I2P Interface 2022-02-23 21:39:29 +01:00
Mark Qvist
4b3ead3db2 Work on I2P Interface 2022-02-23 21:29:18 +01:00
Mark Qvist
b62e9af5d4 Work on I2P Interface 2022-02-23 21:19:43 +01:00
Mark Qvist
fa82989a2e Preliminary I2P Interface support 2022-02-23 17:40:31 +01:00
Mark Qvist
257bd95da8 AutoInterface carrier loss detection 2022-02-22 20:16:02 +01:00
Mark Qvist
1ccfa9079c Work on AutoInterface recovery on WiFi carrier loss 2022-02-22 14:49:43 +01:00
Mark Qvist
57226201ff Fixed I2P tunneled config keyword 2022-02-22 14:45:36 +01:00
Mark Qvist
d9419cd895 Merge branch 'master' of github.com:markqvist/Reticulum 2022-02-22 14:43:19 +01:00
Mark Qvist
aae10ede72 Work on AutoInterface recovery on WiFi carrier loss 2022-02-22 14:43:14 +01:00
Mark Qvist
3f53c89d32 Added I2P-tunneled mode to TCP interfaces 2022-01-31 23:31:29 +01:00
Mark Qvist
b403441074 Version updated 2022-01-27 23:30:44 +01:00
Mark Qvist
d3a23e3b00 RNodeInterface firmware version check 2022-01-22 22:46:47 +01:00
markqvist
329d83587e
Merge pull request #10 from 4c3e/4c3e-osx-nameerror-fix
OSX NameError fix
2022-01-22 21:39:01 +01:00
Mark Qvist
0a4dd64434 Improved support for ESP32-based RNodes 2022-01-22 21:36:49 +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
f3d04ba90f Improved AutoInterface handling on Android 2022-01-12 12:12:04 +01:00
Mark Qvist
1d2564cedb Interface import on Android 2022-01-12 12:02:00 +01:00
Mark Qvist
bec8473695 Better Android detection 2022-01-12 11:50:03 +01:00
Mark Qvist
25620415a0 Updated platform utils 2022-01-12 11:18:24 +01:00
Mark Qvist
b6df952995 Platform version check for Windows 2022-01-12 10:16:59 +01:00
Mark Qvist
a72aaf12ca Platform version check for Windows 2022-01-12 10:07:44 +01:00
Mark Qvist
b978a993b2 Version update 2022-01-11 03:07:34 +01:00
Mark Qvist
5ae00264e8 Preliminaly ESP32 support for RNodeInterface 2022-01-11 03:07:03 +01:00
Mark Qvist
fdaa58a6fa Improved malformed packet detection 2022-01-11 03:06:16 +01:00
Mark Qvist
4253175627 Cleanup 2021-12-11 20:10:31 +01:00
Mark Qvist
81158c27e4 Cleanup 2021-12-11 18:41:28 +01:00
Mark Qvist
eeb424ecee Link request debug 2021-12-11 18:33:09 +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
9ff37543f3 Adjusted request timeout 2021-12-11 16:42:57 +01:00
Mark Qvist
974ca48cb4 Adjusted peering timing 2021-12-11 16:42:15 +01:00
Mark Qvist
167d48c8ce Updated peering timeouts 2021-12-11 15:41:34 +01:00
Mark Qvist
1c768e9219 Removed log statement 2021-12-10 18:55:17 +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
e1e31692d7 UDP socket contructor and doc update 2021-12-10 16:23:35 +01:00
Mark Qvist
293a834c35 Log output and cleanup 2021-12-10 14:48:30 +01:00
Mark Qvist
1bbdd9b3f5 Ignore interfaces on Darwin 2021-12-10 11:10:09 +01:00
Mark Qvist
d4b6b6ee59 Ignore interfaces on Darwin 2021-12-10 11:00:48 +01:00
Mark Qvist
fca03bbdce Ignore AWDL interfaces on Darwin 2021-12-10 10:58:28 +01:00
Mark Qvist
29aa4f9315 Updated AutoInterface IPv6 bind address 2021-12-10 10:35:25 +01:00
Mark Qvist
d5cac30a85 Log cleanup 2021-12-10 09:48:57 +01:00
Mark Qvist
006c70cd09 Updated documentation 2021-12-09 18:12:18 +01:00
Mark Qvist
02945f960d Updated timing 2021-12-09 17:44:19 +01:00
Mark Qvist
90174fcc28 Cleanup 2021-12-09 17:02:13 +01:00
Mark Qvist
c18ebed419 Added auto interface 2021-12-09 16:07:36 +01:00
Mark Qvist
4241990690 Implemented AutoInterface outbound traffic and multicast discovery listeners 2021-12-08 20:46:53 +01:00
Mark Qvist
3d49076602 Compatibility with IPv6 based interfaces 2021-12-08 20:45:41 +01:00
Mark Qvist
2e4fcc659c Added KISS framing option to TCP client interface 2021-12-06 13:07:12 +01:00
Mark Qvist
9e9606b8cf Systemd service support and documentation update 2021-12-05 16:05:43 +01:00
Mark Qvist
8be1acee0a Added auto reconnection for disconnected serial-based devices 2021-12-05 14:35:25 +01:00
Mark Qvist
ba39a69175 Timeout default structure updated 2021-12-05 11:45:13 +01:00
Mark Qvist
a692d29c90 Reconnect on serial port errors for KISS interface 2021-12-05 11:44:30 +01:00
Mark Qvist
1443f4c104 Updated umsgpack to 2.7.1 2021-12-01 19:20:24 +01:00
Mark Qvist
c44c6f9086 Conditional imports for serial-based interfaces 2021-12-01 13:57:40 +01:00
Mark Qvist
259c2aa397 Conditional imports for serial-based interfaces 2021-12-01 13:39:51 +01:00
Mark Qvist
10854bfdbc Added conditional import of netifaces 2021-12-01 11:46:19 +01:00
Mark Qvist
f5236878b0 Added Android platform detection 2021-12-01 11:40:44 +01:00
Mark Qvist
daf72f4237 Version updated 2021-12-01 11:40:31 +01:00
Mark Qvist
652b884d72 Added conditional import of netifaces 2021-12-01 11:39:40 +01:00
Mark Qvist
ea3716f48e Added Android platform detection 2021-12-01 11:39:06 +01:00
Mark Qvist
165e620043 Improved shutdown handling on interrupt. Updated gitignore. 2021-11-04 17:15:58 +01:00
Mark Qvist
58f43b163e Updated docs 2021-10-15 19:26:53 +02:00
Mark Qvist
448ea8ceb5 Added try statements for various callbacks 2021-10-15 14:36:50 +02:00
Mark Qvist
8d01586a5a Added RSSI and SNR to echo example 2021-10-12 18:04:55 +02:00
Mark Qvist
3e5f613f66 Fixed typo 2021-10-12 16:36:29 +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
fd13e20165 Updated version 2021-10-09 23:23:44 +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
4ef369cdd8 Added logfile rotation 2021-10-08 19:23:10 +02:00
Mark Qvist
b21e0bee20 Updated documentation 2021-10-08 18:30:17 +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
de800f0ea7 Updated log output 2021-10-08 11:57:23 +02:00
Mark Qvist
5dad76879c Improved known destination saving on shared instances 2021-10-08 08:52:50 +02:00
Mark Qvist
75c3180933 Improved shared instance and local client handling 2021-10-03 15:23:12 +02:00
Mark Qvist
cd6427cc9d Fixed rnstatus output 2021-09-25 23:56:56 +02:00
Mark Qvist
1749393732 Fixed rnstatus output 2021-09-25 23:44:59 +02:00
Mark Qvist
dcde5035b9 Updated docs 2021-09-25 23:22:33 +02:00
Mark Qvist
161eeca509 Updated logging 2021-09-25 15:39:42 +02:00
Mark Qvist
f25906d44e Improved path utility output 2021-09-25 11:27:43 +02:00
Mark Qvist
dd5133751e Updated utilities 2021-09-25 11:03:43 +02:00
Mark Qvist
7991db5c74 Added rnstatus utility 2021-09-24 20:10:04 +02:00
Mark Qvist
f5510f9777 Added verbosity options to rnsd 2021-09-24 20:05:24 +02:00
Mark Qvist
05e0b17fbf Improved rnprobe utility output. 2021-09-24 16:49:07 +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
81cdb0b7e6 Updated version 2021-09-24 15:34:33 +02:00
Mark Qvist
c71660a9c3 Added verbosity level to utilities 2021-09-24 15:34:03 +02:00
Mark Qvist
9c1ac46989 Added loglevel override 2021-09-24 15:18:06 +02:00
Mark Qvist
c5b792f64a Added rnprobe utility 2021-09-24 14:20:12 +02:00
Mark Qvist
76d75e9a3e Updated rnpath utility 2021-09-24 14:16:25 +02:00
Mark Qvist
1bc2d4015e Fixed bug in reverse table culling 2021-09-24 14:14:34 +02:00
Mark Qvist
ab4f3ad8ae Updated logging and default config 2021-09-24 14:13:31 +02:00
Mark Qvist
16dae81844 Fixed regression in TCPInterface client spawner. 2021-09-24 14:11:04 +02:00
Mark Qvist
e9e2ffbe0d Improved log output from local interfaces 2021-09-24 14:10:18 +02:00
Mark Qvist
dc36644a1e Added rnpath utility 2021-09-24 12:42:24 +02:00
Mark Qvist
8436bc5ba3 Update rnsd utility description 2021-09-24 11:26:29 +02:00
Mark Qvist
9323fd22ee Improved TCP client interface recovery 2021-09-24 11:20:10 +02:00
Mark Qvist
544e15afdf Added rnsd utility 2021-09-24 11:17:23 +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
aaf0ace027 Updated version 2021-09-18 23:32:08 +02:00
Mark Qvist
d8b76b4bc5 Improved config parsing 2021-09-18 23:24:12 +02:00
Mark Qvist
65e8487b39 Added TCP client reconnection on TCP socket drop 2021-09-18 22:49:04 +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
5e21bdd233 Improved link teardown handling. 2021-09-16 20:40:37 +02:00
Mark Qvist
f80e09cb5c Included six internally. 2021-09-11 16:03:35 +02:00
Mark Qvist
91d94f2f6f Fixed incorrect transfer size indications on single-packet request responses with msgpacked dictionaries as payloads. 2021-09-10 21:35:30 +02:00
Mark Qvist
534bb28900 Fixed removal of non-existing receipts. 2021-09-05 20:05:12 +02:00
Mark Qvist
5629a062a5 Added resource window timeout recalculations during transfer. 2021-09-03 22:53:25 +02:00
Mark Qvist
83232f0446 Work on resource timing. 2021-09-03 22:20:16 +02:00
Mark Qvist
aa794514b3 Work on resource timing. 2021-09-03 22:01:58 +02:00
Mark Qvist
07cf180ea8 Added continous resource timeout adjustment. Fixes missing response timeout check. 2021-09-03 21:08:20 +02:00
Mark Qvist
42a3d23e99 Optimised resource transfer timings. Improved request/response timeout handling. 2021-09-03 18:53:37 +02:00
Mark Qvist
d28c888d1c Improved link request/response handling. 2021-09-03 16:24:47 +02:00
Mark Qvist
58d48c18f4 Improved link request/response handling. 2021-09-03 16:23:31 +02:00
Mark Qvist
ecf0c55fd6 Improved link establishment. 2021-09-03 16:14:08 +02:00
Mark Qvist
32e4c262ef Improved link timeout handling. 2021-09-03 15:47:42 +02:00
Mark Qvist
f87a6a57df Added link error handling. 2021-09-03 15:08:38 +02:00
Mark Qvist
6373f159f8 Added link error handling. 2021-09-03 14:42:59 +02:00
Mark Qvist
ad9f548eeb Improved request timeout calculation and handling. 2021-09-03 14:22:53 +02:00
Mark Qvist
425f0153d0 Added flow control timeouts to AX.25 interface and optimised timeouts. 2021-09-03 10:56:49 +02:00
Mark Qvist
cd9daaefee Removed option to allow unencrypted links. 2021-09-03 10:13:48 +02:00
Mark Qvist
0fe76d50f6 Improved documentation. 2021-09-02 20:35:42 +02:00
Mark Qvist
9562803bb3 Optimised sent Fernet token data. 2021-09-02 18:42:17 +02:00
Mark Qvist
e9c89209c7 Optimised sent Fernet token data. 2021-09-02 18:34:58 +02:00
Mark Qvist
cd8de64201 Implemented ability to change MTU. 2021-09-02 18:00:03 +02:00
Mark Qvist
40f7a6d359 Added resource HMU/part request hash filter. Fixes #7. 2021-09-02 14:44:53 +02:00
Mark Qvist
0c96508cca Updated default config. 2021-08-29 13:48:12 +02:00
Mark Qvist
1fd59f1a02 Fixed resource sequencing fail handling. 2021-08-29 13:46:31 +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
972fcdee22 Fixed identity saving. 2021-08-29 01:24:21 +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
cdb08325cc Fixed timeout calculation condition. 2021-08-28 20:34:41 +02:00
Mark Qvist
62d954d7bf Fixed timeout calculation condition. 2021-08-28 20:21:50 +02:00
Mark Qvist
2678aeb6a1 Improved timeout calculation and handling. 2021-08-28 20:01:01 +02:00
Mark Qvist
6d441dac02 Better resource advertisement timeout. 2021-08-28 14:41:25 +02:00
Mark Qvist
2e7126ef39 Cleaned up log statements 2021-08-27 22:51:16 +02:00
Mark Qvist
c0f909850b Updated docs. 2021-08-27 19:54:57 +02:00
Mark Qvist
a199e4c929 Improved link and resource callbacks and resource handling. 2021-08-27 19:52:48 +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
212518a345 Implemented requests and responses of arbitrary sizes using resources. 2021-08-21 14:52:31 +02:00
Mark Qvist
1dc6655017 Implemented request and response API 2021-08-20 23:29:06 +02:00
Mark Qvist
69930e5652 Updated default config 2021-08-20 11:23:35 +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
6382409194 Added config options for UDP interface binding to network interface instead of IP. 2021-08-19 19:56:35 +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
ad67c553d7 Added exception when trying to remember an invalid public key 2021-05-20 22:30:54 +02:00
Mark Qvist
d68cfaa8f7 Optimised link establishment 2021-05-20 20:32:08 +02:00
Mark Qvist
e8ca88377a Updated documentation 2021-05-20 18:37:12 +02:00
Mark Qvist
db527b6759 Optimised announces to 151 bytes 2021-05-20 16:56:08 +02:00
Mark Qvist
ce405b9252 Migrated all asymmetric crypto operations to ECIES on Curve25519. 2021-05-20 15:31:38 +02:00
Mark Qvist
7f5625a526 Cleanup 2021-05-20 13:38:57 +02:00
Mark Qvist
f880edbeb8 Store GROUP destination symmetric key as bytes instead of base64 2021-05-20 12:44:12 +02:00
Mark Qvist
e746a80dca Fixed beacon data in KISSInterface 2021-05-17 22:01:56 +02:00
Mark Qvist
94813d95b1 Separate Ed25519 signature keys on links 2021-05-17 19:11:10 +02:00
Mark Qvist
aa93e475a4 Updated docs 2021-05-17 15:57:41 +02:00
Mark Qvist
8478782c18 Moved Reticulum to Curve25519 for ECDH exchanges and signatures 2021-05-17 14:05:13 +02:00
Mark Qvist
08dc980282 Added docstrings to Resource 2021-05-16 23:29:25 +02:00
Mark Qvist
dfb5af5dd1 Added docstrings, refactored method names. 2021-05-16 23:14:49 +02:00
Mark Qvist
3f1e2bc682 Changed method order 2021-05-16 23:14:19 +02:00
Mark Qvist
522204d8a5 Added Identity docstrings. Renamed Identity method. 2021-05-16 21:58:50 +02:00
Mark Qvist
e7f7d91276 Updated Destination docstring 2021-05-16 21:57:49 +02:00
Mark Qvist
e8f7e4a5b7 Fixed excessive resource hashmap size 2021-05-16 17:33:55 +02:00
Mark Qvist
235b1cea4c Refactored Transport method names 2021-05-16 16:48:54 +02:00
Mark Qvist
8496ee19d9 Refactored Resource method names 2021-05-16 16:43:34 +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
fe773c32e2 Implemented callback as default_app_data. Added docstrings to Destination. 2021-05-16 15:58:06 +02:00
Mark Qvist
27dbde1981 Updated docstrings 2021-05-16 15:52:45 +02:00
Mark Qvist
aa02931364 Refactored and documented Reticulum class 2021-05-16 13:02:46 +02:00
Mark Qvist
b2eebd90ea Refactored and documented Reticulum class 2021-05-16 12:55:50 +02:00
Mark Qvist
bdf1d289b0 Added default app data to destinations 2021-05-15 13:06:50 +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
0c76d6a15c Link inbound/outbound inactivity timers 2021-05-14 12:58:02 +02:00
Mark Qvist
f242abcf75 Version bump 2021-05-13 16:42:36 +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
54206d9101 Added thread locking to log output. Various housekeeping. 2021-05-03 20:24:44 +02:00
Mark Qvist
f275065b40 Implemented ID beaconing on RNode and KISS interfaces 2020-08-13 15:06:39 +02:00
Mark Qvist
a43d485630 Renamed UDPInterface 2020-08-13 12:37:54 +02:00
Mark Qvist
b9301a2a8a Fixed public exponent 2020-08-13 12:25:56 +02:00
Mark Qvist
bd098c338a Indentation and formatting cleanup 2020-08-13 12:15:56 +02:00
Mark Qvist
e4dfd052e6 Implemented recursive resource segmentation for large transfers 2020-08-12 21:49:59 +02:00
Mark Qvist
73a3516db8 Indentation rework 2020-08-12 20:59:13 +02:00
Mark Qvist
81804b5d19 Resource work 2020-08-12 20:58:32 +02:00
Mark Qvist
bf0e22d461 Indentation fix 2020-08-12 20:51:33 +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
90f2a84243 Work on bundles 2020-08-11 20:15:23 +02:00
Mark Qvist
19257b5975 Bundle class setup 2020-06-14 20:18:46 +02:00
Mark Qvist
e2122be006 Started bundle class 2020-06-14 18:33:01 +02:00
Mark Qvist
4ffe4482d3 Updated readme and fixed typos 2020-06-14 11:26:11 +02:00
Mark Qvist
459f6b792f Optimised resource transfers, fixed resource transfer regression, removed txdelay from UDPInterface. 2020-06-10 10:58:13 +02:00
Mark Qvist
24abb4cfa4 Fixed coding rate reference in RNodeInterface 2020-05-28 22:15:46 +02:00
Mark Qvist
0d069bf1d8 Fixed missing cr statement for RNodeInterface 2020-05-27 16:47:12 +02:00
Mark Qvist
8c2cfb0349 Added periodic ID option to RNode interface. Fixed RNode SNR stat indication. 2020-05-21 14:17:14 +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
e3bd91b82d Changed transport init 2020-05-14 16:23:13 +02:00
Mark Qvist
343f439ad9 Improved group destination error handling 2020-05-14 13:42:49 +02:00
Mark Qvist
14784d2c01 Added default create_receipt behaviour on packet 2020-05-14 12:20:59 +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
6903c7a2f6 Initial handling for local shared instance 2020-05-13 16:03:50 +02:00
Mark Qvist
27f5b8fb3e Fixed typo 2020-05-13 16:03:25 +02:00
Mark Qvist
a2e856762c Relaxed outbound error handling 2020-05-13 16:02:37 +02:00
Mark Qvist
06a43f6515 Removed stray log statement 2020-05-13 16:02:03 +02:00
Mark Qvist
d74f92ad15 Added local interface 2020-05-13 16:01:27 +02:00
Mark Qvist
be1ff8ec21 Resource transfer and receipt management optimisation 2020-05-13 13:08:48 +02:00
Mark Qvist
94164bb580 Updated readme 2020-05-13 09:31:43 +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
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
5f0f53eba1 Updated default config 2020-05-11 16:33:31 +02:00
Mark Qvist
d6757db6c6 Added TCP interface 2020-05-11 16:09:00 +02:00
Mark Qvist
556d95c381 Description in SerialInterface 2020-05-07 14:14:35 +02:00
Mark Qvist
8c506b0c78 Cleanup in interfaces 2020-05-06 14:34:19 +02:00
Mark Qvist
67fc7685ec Reworked serial interface with HDLC framing instead of timeouts 2020-05-06 14:34:03 +02:00
Mark Qvist
4c3a874b21 Fixed Python2 remnant in interfaces 2020-05-03 23:06:53 +02:00
Mark Qvist
a6ca0cd64f Changed resource retries 2020-04-28 22:23:14 +02:00
Mark Qvist
c9d1c938ff Implemented progress on resource initiator side. Made MDUs more obvious. 2020-04-28 20:50:57 +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
e9cfbb1118 Preparation for setuptools 2020-04-27 13:33:26 +02:00
Mark Qvist
1391c9ef3b Made running Transport a config choice 2020-04-27 12:04:14 +02:00
Mark Qvist
b78e0e9ec0 Updated default config with examples and explanations. 2020-04-27 10:19:49 +02:00
Mark Qvist
fa50e1d35b Migrated to Python3 2020-04-22 17:07:40 +02:00
Mark Qvist
a339ae3d28 Preliminary Python3 support 2020-04-22 12:07:13 +02:00
Mark Qvist
c962f2c7a8 Updated readme and default config 2020-03-07 22:49:24 +01: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
bcfcf4eb86 Link window optimisations 2018-12-31 20:33:55 +01:00
Mark Qvist
4d0ca28902 AX.25 TX delay 2018-12-01 11:42:39 +01:00
Mark Qvist
56808e49de AX.25 TX delay 2018-12-01 11:40:50 +01:00
Mark Qvist
15f2e976b8 AX.25 TX delay 2018-12-01 11:39:08 +01:00
Mark Qvist
be11f5ed68 AX.25 TX delay 2018-12-01 11:32:18 +01:00
Mark Qvist
cef5de5a00 Fixed RNode RSSI 2018-06-27 14:28:01 +02:00
Mark Qvist
deffcae419 RNode interface updates 2018-06-27 10:15:39 +02:00
Mark Qvist
c338694a9d RNode interface 2018-04-26 15:54:21 +02: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
f02715bced Added flow contorl for RNode interface 2018-04-26 10:38:29 +02:00
Mark Qvist
ce270f4615 Updated exit handler 2018-04-26 01:31:43 +02:00
Mark Qvist
77da69c37d Identity signer update 2018-04-26 01:16:16 +02:00
Mark Qvist
6a3eb8a1e3 AX.25 interface updates 2018-04-26 00:59:46 +02:00
Mark Qvist
5d977e09fb AX.25 interface updates 2018-04-26 00:54:48 +02:00
Mark Qvist
4e136eea03 File transfer example 2018-04-25 23:10:26 +02:00
Mark Qvist
aa9d0876d7 File transfer example 2018-04-25 23:05:30 +02:00
Mark Qvist
8aa2f8613a File transfer example 2018-04-25 22:46:05 +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
dc86f6884a Cleanup 2018-04-25 12:23:56 +02:00
Mark Qvist
db13ad08a9 Renamed Utilities to Examples 2018-04-25 10:47:55 +02:00
Mark Qvist
8082338657 Updated Echo example 2018-04-25 00:20:57 +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
23ff873c63 Tied link teardown to resource cancellation 2018-04-21 23:15:48 +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
8772db6736 Added plaintext link support 2018-04-16 22:04:28 +02:00