Commit Graph

1153 Commits

Author SHA1 Message Date
markqvist
f5d77a1dfb
Merge pull request #252 from acehoss/bugfix/buffer-missing-segments
Bugfix: buffer missing segments
2023-03-05 17:59:03 +01:00
Aaron Heise
9c9f0a20f9
Handle sequence overflow when checking incoming message 2023-03-04 23:54:07 -06: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
Mark Qvist
d8f3ad8d3f Temporarily disabled extra-level log statement 2023-03-04 19:30:47 +01:00
Mark Qvist
a1b75b9746 Increased per-hop timeout 2023-03-04 19:30:23 +01:00
Mark Qvist
80f3bfaece Adjusted StreamDataMessage overhead calculation 2023-03-04 19:06:47 +01:00
Mark Qvist
37b2d8a6ec Fixed Link MDU output in phyparams() 2023-03-04 18:37:28 +01:00
Mark Qvist
777fea9cea Differentiate exception between link establishment callback, and internal RTT packet handling 2023-03-04 18:32:36 +01:00
Mark Qvist
bbfdd37935 Added check for link state before sending 2023-03-04 18:31:07 +01:00
Mark Qvist
07484725a0 Updated documentation 2023-03-04 17:57:18 +01:00
Mark Qvist
709b126a67 Updated strings in Buffer example 2023-03-04 17:56:50 +01:00
Mark Qvist
28e6302b3d Updated versions 2023-03-04 17:56:30 +01:00
Mark Qvist
27861e96f8 Updated documentation 2023-03-03 22:16:13 +01:00
markqvist
e36312a3cb
Merge pull request #250 from acehoss/feature/buffer
Buffer: send and receive binary data over Channel
2023-03-03 17:21:25 +01:00
Aaron Heise
5b5dbdaa91
Add example to documentation 2023-03-02 17:21:32 -06:00
Aaron Heise
99dc97365f
Merge remote-tracking branch 'origin/feature/buffer' into feature/buffer 2023-03-02 17:17:40 -06:00
Aaron Heise
aac2b9f987
Buffer: send and receive binary data over Channel
(also some minor fixes in channel)
2023-03-02 17:17:18 -06:00
Aaron Heise
067c275c46
Buffer: send and receive binary data over Channel
(also some minor fixes in channel)
2023-03-02 17:13:55 -06:00
Mark Qvist
58004d7c05 Updated documentation 2023-03-02 12:47:55 +01:00
Mark Qvist
aa0d9c5c13 Merge branch 'master' of github.com:markqvist/Reticulum 2023-03-02 12:05:06 +01:00
Mark Qvist
9e46950e28 Added output to echo example 2023-03-02 12:04:50 +01:00
markqvist
a6551fc019
Merge pull request #246 from gdt/fix-transmit-hash
AutoInterface: Drop embedded scope identifier on fe80::
2023-03-02 11:34:00 +01:00
markqvist
a06ae40797
Merge pull request #236 from faragher/master
Additional error messages for offline flashing.
2023-03-02 11:31:31 +01:00
markqvist
1db08438df
Merge pull request #248 from Erethon/hkdf-remove-dead-code
hkdf: Remove duplicate check if the salt is None
2023-03-02 11:29:18 +01:00
markqvist
89aa51ab61
Merge pull request #245 from acehoss/feature/channel
Channel: reliable delivery over Link
2023-03-02 11:27:15 +01:00
Dionysis Grigoropoulos
ddb7a92c15 hkdf: Remove duplicate check if the salt is None
The second if isn't needed since we initialize the salt with zeroes
earlier. If instead we meant to pass an empty bytes class to the HMAC
implementation, the end result would be the same, since it's gonna get
padded with zeroes in the HMAC code.
2023-03-01 16:22:51 +02: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
Aaron Heise
d2d121d49f
Fix broken Channel test 2023-02-28 08:38:36 -06:00
Aaron Heise
9963cf37b8
Fix exceptions on Channel shutdown 2023-02-28 08:38:23 -06:00
Aaron Heise
72300cc821
Revert "Only send proof if link is still active" 2023-02-28 08:24:13 -06:00
Aaron Heise
8168d9bb92
Only send proof if link is still active 2023-02-28 08:13:07 -06:00
Aaron Heise
8f0151fed6
Tidy up PR 2023-02-27 21:33:50 -06:00
Aaron Heise
d3c4928eda
Tidy up PR 2023-02-27 21:31:41 -06:00
Aaron Heise
68f95cd80b
Tidy up PR 2023-02-27 21:30:13 -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
44dc2d06c6
Add channel tests to all test suite
Also print name in each test
2023-02-26 11:47:46 -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
a61b15cf6a
Added channel example 2023-02-26 07:26:12 -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
Mark Qvist
9f06bed34c Updated readme and roadmap 2023-02-23 17:27:05 +01:00
Mark Qvist
3b1936ef48 Added EPUB output to documentation build 2023-02-23 17:25:38 +01:00
Michael Faragher
5b3d26a90a Additional error messages for offline flashing. 2023-02-22 12:49:24 -06:00
markqvist
b381a61be8
Update Changelog.md 2023-02-18 23:35:41 +01:00
Mark Qvist
1e2fa2068c Updated manual 2023-02-18 16:53:18 +01:00
Mark Qvist
c604214bb9 Improved RNode reconnection when serial device disappears 2023-02-18 13:31:22 +01:00