Aaron Heise
8f0151fed6
Tidy up PR
2023-02-27 21:33:50 -06:00
Aaron Heise
42935c8238
Make the PR have zero deletions
2023-02-27 21:15:25 -06:00
Aaron Heise
118acf77b8
Fix up documentation even more
2023-02-27 21:10:28 -06:00
Aaron Heise
661964277f
Fix up documentation for building
2023-02-27 19:05:25 -06:00
Aaron Heise
464dc23ff0
Add some internal documenation
2023-02-27 17:36:04 -06:00
Aaron Heise
c00b592ed9
System-reserved channel message types
...
- a message handler can return logical True to prevent subsequent message handlers from running
- Message types >= 0xff00 are reserved for system/framework messages
2023-02-26 11:39:49 -06:00
Aaron Heise
e005826151
Allow channel message handlers to short circuit
...
- a message handler can return logical True to prevent subsequent message handlers from running
2023-02-26 11:23:38 -06:00
Aaron Heise
fe3a3e22f7
Expose Channel on Link
...
Separates channel interface from link
Also added: allow multiple message handlers
2023-02-26 07:25:49 -06:00
Aaron Heise
68cb4a6740
Initial work on Channel
2023-02-25 18:23:25 -06:00
Michael Faragher
5b3d26a90a
Additional error messages for offline flashing.
2023-02-22 12:49:24 -06:00
Mark Qvist
c604214bb9
Improved RNode reconnection when serial device disappears
2023-02-18 13:31:22 +01:00
Mark Qvist
d02cdd5471
Added JSON output to rnstatus
2023-02-17 21:29:35 +01:00
Mark Qvist
b82ecf047a
Added Link establishment rate calculation
2023-02-17 09:54:18 +01:00
Mark Qvist
4d3570fe4c
Updated version
2023-02-15 12:28:06 +01:00
Mark Qvist
fc818f00f1
Merge branch 'master' of github.com:markqvist/Reticulum
2023-02-09 11:54:06 +01:00
Mark Qvist
a55d39b7d4
Added Link ID to response_generator callback signature
2023-02-09 11:52:54 +01:00
Dionysis Grigoropoulos
323c2285ce
rnodeconf: Typo fix on board versions
2023-02-04 17:16:57 +02:00
Mark Qvist
e9ae255f84
Added fallback version URL to rnodeconf updater
2023-02-04 14:18:11 +01:00
Mark Qvist
42dfee8557
Added Bluetooth pairing PIN output
2023-02-04 13:45:12 +01:00
Mark Qvist
1b55ac7f24
Added destination hash generation and announce functionality to rnid utility
2023-02-03 20:27:39 +01:00
Mark Qvist
d7aacba797
Cleanup
2023-02-03 10:13:36 +01:00
Mark Qvist
b92ddeccff
Cleanup
2023-02-03 08:29:32 +01:00
Mark Qvist
6fac96ec18
Mask entire header
2023-02-03 00:11:11 +01:00
Mark Qvist
53ceafcebd
Improved IFAC mask derivation
2023-02-02 23:59:02 +01:00
Mark Qvist
4df67304d6
Added payload masking to interfaces with IFAC enabled
2023-02-02 20:48:52 +01:00
Mark Qvist
ac07ba1368
Added Identity generation to rnid utility
2023-02-02 19:26:27 +01:00
Mark Qvist
ece064d46e
Updated version
2023-02-02 19:05:15 +01:00
Mark Qvist
08e480387b
Added signing and validation to rnid
2023-02-02 19:02:05 +01:00
Mark Qvist
f4241ae9c2
Added basic rnid utility
2023-02-02 17:45:59 +01:00
markqvist
3b2fbe02c6
Merge pull request #189 from Erethon/master
...
Fix bug where announce_identity could be undefined
2023-02-02 10:41:42 +01:00
Dionysis Grigoropoulos
6ecae615de
packet: Fix header_type matching according to IFAC
...
Ever since IFAC/Interface Access Codes were introduced, the header type
is one bit long and not two.
2023-01-27 15:29:06 +02:00
Dionysis Grigoropoulos
72ca6316f6
Fix bug where announce_identity could be undefined
2023-01-26 22:05:38 +02:00
Mark Qvist
e4f0b2dc39
Allow rnodeconf to provision RNodes from extracted firmwares on systems without prior tools installed
2023-01-14 20:47:34 +01:00
Mark Qvist
c5a586175d
Updated version
2023-01-14 15:06:30 +01:00
Mark Qvist
2a1ec6592c
Added autoinstall and updating from extracted RNode Firmwares to rnodeconf
2023-01-14 14:51:44 +01:00
Mark Qvist
eed7698ed3
Added firmware extraction from existing devices to rnodeconf
2023-01-14 13:20:19 +01:00
Mark Qvist
8d96673bec
Updated flasher paths
2023-01-14 00:55:34 +01:00
Mark Qvist
62a13eb0e8
Added RNode Bootstrap Console info to rnodeconf autoinstaller
2023-01-14 00:28:34 +01:00
Mark Qvist
78253093c7
Updated rnodeconf
2023-01-13 11:59:38 +01:00
Mark Qvist
63d54dbecb
Added console image flashing to rnodeconf
2023-01-11 13:56:41 +01:00
Mark Qvist
32922868b9
Updated rnodeconf install guide
2023-01-11 11:45:10 +01:00
Mark Qvist
274c7199b0
Updated version
2022-12-23 23:27:37 +01:00
Mark Qvist
7960226883
Fixed missing path invalidation on failed link establishments made from a shared instance client
2022-12-23 23:26:50 +01:00
Mark Qvist
bb74878e94
Reordered property assignment
2022-12-23 23:24:26 +01:00
Mark Qvist
5c2c935b6f
Updated version
2022-12-22 21:08:02 +01:00
Mark Qvist
8402541c73
Faster roaming path recovery for multiple interface non-transport instances
2022-12-22 20:17:09 +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
e9e98a00c2
Updated version
2022-12-22 15:07:36 +01:00
Mark Qvist
b305eb8e0a
Improved path response handling. Prepared destination path response handling for multi-path Transport.
2022-12-22 11:28:56 +01:00
Mark Qvist
dd7931d421
Added signal quality stats to announce log output
2022-12-22 11:26:59 +01:00
Mark Qvist
171457713b
Improved RNode hotplug over Bluetooth on Android
2022-12-20 15:17:46 +01:00
Mark Qvist
67ee8d6aab
Added originator check to path rediscovery on failed links
2022-12-19 01:31:00 +01:00
Mark Qvist
13fa7d49d9
Added automatic path rediscovery on failed link establishments
2022-12-19 01:15:49 +01:00
Mark Qvist
66d921e669
Improved resource advertisement retry handling
2022-12-19 01:10:34 +01:00
Mark Qvist
85f60ea04e
Added check for already transferring resource to Link class
2022-12-19 01:04:49 +01:00
Mark Qvist
4870e741f6
Added link request proof signature validation for every transport hop
2022-12-18 21:27:14 +01:00
Mark Qvist
f71c1986af
Added Heltec USB issue notice to autoinstaller
2022-12-16 23:34:31 +01:00
Mark Qvist
30d8e351dd
Updated version
2022-12-16 23:21:22 +01:00
Mark Qvist
d26bbbd59f
Merge branch 'master' of https://git.unsigned.io/markqvist/Reticulum
2022-12-15 17:14:15 +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
d5e0a461cf
Fixed invalid check for None
2022-11-25 00:42:22 +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
680d17fb98
Improved startup time for instances and programs connected to a shared instance
2022-11-24 13:28:22 +01:00
Mark Qvist
ab301cdb79
Updated version
2022-11-24 10:45:45 +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
de53a105a4
Improved time pretty-print function
2022-11-23 17:15:46 +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
36906f6567
Updated version
2022-11-03 18:05:13 +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
Mark Qvist
01e520b082
Adjusted I2P interface timings
2022-11-03 16:30:07 +01:00
Mark Qvist
1d2a0fe4c8
Improved I2P tunnel state detection. Fixed missing IFAC init on spawned I2P interfaces.
2022-11-03 15:22:34 +01: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
81ec701240
Updated version
2022-11-03 12:05:10 +01:00
Mark Qvist
5f7e37187f
Fixed local firmware cache location for rnodeconf
2022-11-03 12:03:26 +01:00
Mark Qvist
b9d73518dd
Improved rnodeconf firmware install
2022-11-03 00:42:46 +01:00
Mark Qvist
36052e2c61
Updated version
2022-11-02 22:34:52 +01:00
Mark Qvist
06d232f889
Added Bluetooth control interface for RNode interfaces on Android
2022-11-02 22:34:07 +01:00
Mark Qvist
f9b3c749e0
Improved cleanup on device disconnect
2022-11-02 20:44:09 +01:00
Mark Qvist
63a59753af
Implemented Bluetooth support for RNode interfaces on Android. Added Bluetooth/USB multiplexing and Bluetooth manager to interface.
2022-11-02 20:43:46 +01:00
Mark Qvist
20696e7827
Bluetooth support for RNode interfaces on Linux (via standard rfcomm driver)
2022-11-02 20:42:45 +01:00
Mark Qvist
fee9473cac
Improved rnodeconf timings
2022-11-02 01:23:23 +01:00
Mark Qvist
9bc5d91106
Added rnodeconf to package
2022-11-01 22:40:09 +01:00
Mark Qvist
45ae66e9bf
Updated bluetooth control commands for RNode interface
2022-11-01 20:27:41 +01:00
Mark Qvist
47db2a3bd5
Added log output control options
2022-11-01 20:26:55 +01:00
Mark Qvist
40cd961eab
Added better teardown handling on RNodeInterfaces
2022-10-30 23:13:44 +01:00
Mark Qvist
34cdd4bf0f
Improved RNode error reporting and teardown
2022-10-29 16:41:47 +02:00
Mark Qvist
b0ef58e5ca
Added support for writing to display framebuffer of connected RNodes
2022-10-29 14:28:53 +02:00
Mark Qvist
b6020b5ea8
Updated version
2022-10-29 14:28:06 +02:00
Mark Qvist
886b0ac0ca
Fixed Android interfaces import
2022-10-22 01:38:38 +02:00
Mark Qvist
ed4070a3d1
Removed stray import. Fixes #125 .
2022-10-22 01:05:08 +02:00
Mark Qvist
b479e14ca5
Improved handling of Android interfaces in apps without hardware access
2022-10-20 20:10:50 +02:00
Mark Qvist
81fc920bdf
Fixed AutoInterface peering hashes on WiFi devices that employ MAC address randomisation on reconnects and roaming
2022-10-19 11:57:09 +02:00
Mark Qvist
5b1b18e84a
Fixed incorrect behaviour in announce processing for instance-local destinations to roaming- or boundary-mode interfaces
2022-10-18 18:24:29 +02:00
Mark Qvist
9c8c143c62
Added logging to announce processing
2022-10-18 17:44:14 +02:00
Mark Qvist
db9858d75f
Cleanup
2022-10-16 00:11:40 +02:00
Mark Qvist
874405cbdd
Fixed missing announce cap on hotplugged interfaces
2022-10-15 23:14:47 +02:00
Mark Qvist
2a3f2b8bdc
Updated version
2022-10-15 14:57:57 +02:00
Mark Qvist
9aae06c694
Added Android-specific KISS interface
2022-10-15 14:57:16 +02:00
Mark Qvist
70ffc38c49
Android-specific import
2022-10-15 14:56:23 +02:00
Mark Qvist
73071b0755
Cleanup
2022-10-15 14:41:12 +02:00
Mark Qvist
ab697dc583
Android-specific import
2022-10-15 11:39:23 +02:00
Mark Qvist
ecc78fa45f
Added Android serial interface
2022-10-15 11:36:18 +02:00
Mark Qvist
e5309caf48
Added Android serial interface
2022-10-15 11:33:48 +02:00
Mark Qvist
094d2f2079
Cleanup
2022-10-15 11:31:34 +02:00
Mark Qvist
5111c32854
Fixed help text
2022-10-13 23:10:38 +02:00
Mark Qvist
60773ceb16
Return public identity for registered destinations in Identity.recall()
2022-10-13 20:43:38 +02:00
Mark Qvist
5d6c3dd891
Cleanup
2022-10-12 18:56:30 +02:00
Mark Qvist
a564dd2b2d
Cleanup
2022-10-12 18:06:21 +02:00
Mark Qvist
16cf1ab1ba
Fix debug output
2022-10-12 16:08:48 +02:00
Mark Qvist
47e326c8a9
Import Android-specific RNode interface on Android
2022-10-12 16:08:29 +02:00
Mark Qvist
9a7585cbef
Added platform detect function
2022-10-12 16:07:53 +02:00
Mark Qvist
902f7af64d
Added platform check
2022-10-12 15:14:42 +02:00
Mark Qvist
004bf27526
Added Android-specific RNode interface. Contains debug code. Not ready yet. Hang in there.
2022-10-12 15:11:02 +02:00
Mark Qvist
9cad90266e
Reverted RNode interface to exclude Android-specific logic
2022-10-12 15:00:21 +02:00
Mark Qvist
e9de01e10e
Added property default
2022-10-12 14:58:00 +02:00
Mark Qvist
372bedcd85
Added support for RNode interfaces on Android
2022-10-11 14:06:42 +02:00
Mark Qvist
d3525943c2
Updated version
2022-10-06 23:16:01 +02:00
Mark Qvist
cb55189e5c
Truncate name_hash to 80 bits. Take all array slices from Identity.NAME_HASH_LENGTH constant.
2022-10-06 23:14:32 +02:00
Mark Qvist
89d8342ce5
Improved logging. Reject mismatching keys on hash collision.
2022-10-04 22:42:59 +02:00
Mark Qvist
c18997bf5b
Cleanup
2022-10-04 22:41:58 +02:00
Mark Qvist
1e4dd9d6f0
Added note
2022-10-04 22:40:43 +02:00
Mark Qvist
7997fd104e
Fix destination hash construction and random blob extraction
2022-10-04 09:11:20 +02:00
Mark Qvist
7744c4ffe6
Updated version
2022-10-04 07:00:13 +02:00
Mark Qvist
8a61d2c8d5
Fixed missing validation in announce processing
2022-10-04 06:59:33 +02:00
Mark Qvist
b085127d6e
Fixed config dir path
2022-09-30 20:41:11 +02:00
Mark Qvist
76fb73f46c
Updated configuration path defaults
2022-09-30 20:37:46 +02:00
Mark Qvist
c18806c912
Updated deprecated threading API call and updated docs
2022-09-30 19:02:41 +02:00
Mark Qvist
2abd8a1aae
Updated docs and manual
2022-09-30 11:26:51 +02:00
Mark Qvist
7940ac0812
Updated docs and manual
2022-09-30 11:15:34 +02:00
Mark Qvist
8886ed5794
Fixed missing destination-side ephemeral key generation in link establishment
2022-09-29 22:47:10 +02:00
Mark Qvist
32ee4216fd
Changed log levels
2022-09-24 12:23:59 +02:00
Mark Qvist
571ad2c8fb
Added initial connection timeout option to TCPClientInterface
2022-09-15 15:35:28 +02:00
Mark Qvist
18f450c58b
Periodically try to connect RNodes that were unavailable at startup. Closes #87 .
2022-09-14 17:43:07 +02:00
Mark Qvist
b3d85b583f
Place config in .config dir by default
2022-09-14 16:21:34 +02:00
Mark Qvist
03695565ba
Added rnsd warning on start as client
2022-09-14 00:13:20 +02:00
Mark Qvist
3e380a8fc7
Fixed rendering in rnpath utility
2022-09-14 00:07:23 +02:00
Mark Qvist
921987c999
Added table persist on local client disconnect
2022-09-13 22:32:00 +02:00
Mark Qvist
75e32af1c5
Added periodic data persistence for shared and standalone instances
2022-09-13 20:17:25 +02:00
Mark Qvist
9775893840
Improved known destination saving
2022-09-06 19:43:46 +02:00
Mark Qvist
4042dd6ef7
Added locking and timeouts to table saving routines
2022-09-06 18:05:02 +02:00
Mark Qvist
af538e0489
Improved shutdown handling and table saving
2022-09-06 17:42:13 +02:00
Mark Qvist
c55e1e9628
Version bump
2022-09-06 12:24:46 +02:00
Mark Qvist
be02586133
Added detach handler to TCP Server Interface
2022-09-06 12:23:52 +02:00
Mark Qvist
383f96d82a
Updated version
2022-07-09 15:46:42 +02:00
Mark Qvist
ebef2da7a8
Fixed incorrect allocation size in resource advertisements after switching to 128-bit address space
2022-07-09 15:46:19 +02:00
Mark Qvist
eae788957a
Updated version
2022-07-08 12:01:13 +02:00
Mark Qvist
045a9d8451
Fixed a race condition in link establishment flow
2022-07-08 11:14:35 +02:00
Mark Qvist
3d979e2d65
Added Android compatibility to AES proxy class
2022-07-08 00:22:30 +02:00
Mark Qvist
5158613501
Fixed missing config section check
2022-07-08 00:21:48 +02:00
Mark Qvist
8cff18f8ce
Improved cache handling
2022-07-02 15:15:47 +02:00
Mark Qvist
5e072affe4
Changed job timing
2022-07-02 13:34:17 +02:00
Mark Qvist
fc4c7638a6
Added cache job scheduler
2022-07-02 13:24:07 +02:00
Mark Qvist
532f9ee665
Added cache cleaning
2022-07-02 13:12:54 +02:00
Mark Qvist
4a725de935
Improved rnx interactive mode
2022-07-02 10:38:35 +02:00
Mark Qvist
2335a71427
Fixed --no-auth option in rncp
2022-07-02 09:48:15 +02:00
Mark Qvist
3e70dd6134
Fixed --no-auth option in rncp
2022-07-02 09:33:05 +02:00
Mark Qvist
d33154bfdb
Cleanup
2022-07-02 08:45:40 +02:00
Mark Qvist
bc39a1acf1
Fixed static size index
2022-07-01 21:16:01 +02:00
Mark Qvist
40560a31f2
Version updated
2022-07-01 10:27:31 +02:00
Mark Qvist
2e19304ebf
Fixed static length calculation in proof destination generation
2022-06-30 19:33:35 +02:00
Mark Qvist
1cd7c85a52
Cleanup
2022-06-30 19:32:47 +02:00
Mark Qvist
171f43f4e3
Cleanup
2022-06-30 19:32:29 +02:00
Mark Qvist
09a1088437
Added description about Fernet modifications
2022-06-30 19:32:08 +02:00
Mark Qvist
e19438fdcc
Added license headers
2022-06-30 19:10:51 +02:00
Mark Qvist
5faf13d505
Expanded address space to 128 bits
2022-06-30 14:02:57 +02:00
Mark Qvist
aa255d0713
Tuned I2PInterface socket timeouts
2022-06-13 15:45:53 +02:00
Mark Qvist
5a8152c589
Fixed I2PInterface status not being set on connectable interfaces
2022-06-12 21:34:54 +02:00
Mark Qvist
8a24dbae40
Added filter option to rnstatus utility
2022-06-12 19:08:47 +02:00
Mark Qvist
2166294a7a
Optimised resource transfer speed on faster links
2022-06-12 18:56:49 +02:00
Mark Qvist
8042f5eaa1
Improved log output
2022-06-12 18:55:06 +02:00
Mark Qvist
ae8fcb88d8
Resource timeout tuning
2022-06-12 13:28:05 +02:00
Mark Qvist
d7a444556a
Tuned TCP socket options
2022-06-12 11:50:09 +02:00
Mark Qvist
3c81f93d4a
Added link accept option to API
2022-06-12 11:49:24 +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
548cbd50d8
Improved I2PInterface error handling and stability
2022-06-11 13:52:56 +02:00
Mark Qvist
6b06875c42
Fixed potential undefined variable
2022-06-11 13:42:08 +02:00
Mark Qvist
d7262c7cbe
Fixed socket leak in I2PInterface
2022-06-11 11:27:01 +02:00
Mark Qvist
8451bbe7e6
Tuned resource window
2022-06-10 18:17:48 +02:00
Mark Qvist
1ac7238347
Cleanup
2022-06-10 17:05:00 +02:00
Mark Qvist
68cd79768b
Added internal python-only AES-128-CBC implementation
2022-06-09 21:13:34 +02:00
Mark Qvist
2c1b3a0e5b
Optimised resource performance over varied network topologies
2022-06-09 19:29:33 +02:00
Mark Qvist
02968baa76
Added establishment cost property to Link
2022-06-09 19:28:31 +02:00
Mark Qvist
513a82e363
Updated link test
2022-06-09 17:14:43 +02:00
Mark Qvist
be6910e4e0
Work on Resource optimisation
2022-06-09 17:00:27 +02:00
Mark Qvist
0a8b755230
Transport optimisations
2022-06-09 16:54:47 +02:00
Mark Qvist
d334613888
Removed delay
2022-06-09 16:48:31 +02:00
Mark Qvist
14bdcaf770
Added size print function
2022-06-09 14:46:36 +02:00
Mark Qvist
592c405067
Cleanup
2022-06-09 14:46:02 +02:00
Mark Qvist
648e9a68b8
Added profiling info to LocalInterface
2022-06-09 14:45:00 +02:00
Mark Qvist
26dae3830e
Fixed unclosed socket in AutoInterface
2022-06-09 08:48:55 +02:00
Mark Qvist
7916b8e7f4
Automatic switch to internal backend on missing PyCA module
2022-06-08 21:25:46 +02:00
Mark Qvist
c46b98f163
Added python-only fallback for SHA-256 and SHA-512
2022-06-08 21:03:58 +02:00
Mark Qvist
86061f9f47
Cleanup
2022-06-08 19:47:51 +02:00
Mark Qvist
e0b795b4d0
Added internal python-only implementation of Ed25519
2022-06-08 19:47:09 +02:00
Mark Qvist
34efbc6100
Cleanup
2022-06-08 17:05:15 +02:00