Mark Qvist
f01074e5b8
Implemented link establishment on ultra low bandwidth links
2023-10-27 18:16:52 +02:00
Mark Qvist
bed71fa3f8
Added physical layer link stats to link and packet classes
2023-10-24 01:41:12 +02:00
Mark Qvist
8908022b88
Updated license headers
2023-09-29 10:31:20 +02:00
Mark Qvist
7e34b61f37
Added link status check on identify
2023-09-21 14:12:32 +02:00
Mark Qvist
08bfd923ea
Fixed possible invalid comparison in link watchdog job
2023-08-05 15:10:00 +02:00
Mark Qvist
049733c4b6
Fixed race condition for link initiators on timed out link establishment
2023-06-13 19:20:54 +02:00
Mark Qvist
bab779a34c
Fixed race condition for link initiators on timed out link establishment
2023-06-13 16:10:47 +02:00
Mark Qvist
4f78973751
Fixed race condition when timed-out link receives a late establishment proof a few milliseconds after it has timed out
2023-06-02 21:24:49 +02:00
Mark Qvist
1542c5f4fe
Fixed received link packet proofs not resetting watchdog stale timer
2023-05-11 16:22:44 +02:00
Mark Qvist
a4c64abed4
Initial framework for channel windowing
2023-05-10 18:43:17 +02: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
777fea9cea
Differentiate exception between link establishment callback, and internal RTT packet handling
2023-03-04 18:32:36 +01: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
42935c8238
Make the PR have zero deletions
2023-02-27 21:15:25 -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
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
b82ecf047a
Added Link establishment rate calculation
2023-02-17 09:54:18 +01:00
Mark Qvist
a55d39b7d4
Added Link ID to response_generator callback signature
2023-02-09 11:52:54 +01:00
Mark Qvist
bb74878e94
Reordered property assignment
2022-12-23 23:24:26 +01:00
Mark Qvist
85f60ea04e
Added check for already transferring resource to Link class
2022-12-19 01:04:49 +01: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
8886ed5794
Fixed missing destination-side ephemeral key generation in link establishment
2022-09-29 22:47:10 +02:00
Mark Qvist
5faf13d505
Expanded address space to 128 bits
2022-06-30 14:02:57 +02:00
Mark Qvist
02968baa76
Added establishment cost property to Link
2022-06-09 19:28:31 +02:00
Mark Qvist
592c405067
Cleanup
2022-06-09 14:46:02 +02:00
Mark Qvist
e0b795b4d0
Added internal python-only implementation of Ed25519
2022-06-08 19:47:09 +02:00
Mark Qvist
94edc8eff3
Implemented proxies to pyca X25519
2022-06-08 17:03:40 +02:00
Mark Qvist
e2aeb56c12
Renamed file
2022-06-08 15:54:48 +02:00
Mark Qvist
06fffe5a94
Use internal implementation for X25519 key exchanges
2022-06-08 13:36:23 +02:00
Mark Qvist
4bd5f05e0e
Moved Link Fernet to internal implementation
2022-06-08 12:34:31 +02:00
Mark Qvist
19a033db96
Freed RNS from dependency on PyCA HMAC, HKDF and hashes
2022-06-07 15:48:23 +02:00
Mark Qvist
49ed335e19
Cleanup
2022-05-26 16:52:28 +02:00
Mark Qvist
33fac728f8
Improved link stale process and timeout calculations
2022-05-26 16:49:02 +02:00
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
3bf5694238
Fixed naming conflict in resource advertisements
2022-05-23 08:54:07 +02:00
Mark Qvist
0ace84367b
Improved link authentication callback
2022-05-22 19:08:03 +02:00
Mark Qvist
b2d61843d0
Improved log output
2022-05-17 13:25:42 +02:00
Mark Qvist
cf1ca01a3b
Configuration support for interface access codes
2022-04-27 13:21:53 +02:00
Mark Qvist
dc6877927e
Updated license headers
2022-04-01 17:18:18 +02:00
Mark Qvist
550dfd44cb
Improved cryptography API compatibility
2022-03-08 00:38:51 +01:00
Mark Qvist
cb023cde40
Fixed potential race condition in resource assembly
2022-02-26 18:27:11 +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
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