Commit Graph

633 Commits

Author SHA1 Message Date
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
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
9a4325ce8e Constant time X25519 exchange 2022-06-08 15:52:37 +02:00
Mark Qvist
06fffe5a94 Use internal implementation for X25519 key exchanges 2022-06-08 13:36:23 +02:00
Mark Qvist
7a596882a8 Cleanup 2022-06-08 12:52:42 +02:00
Mark Qvist
76f86f782a Moved Destination Fernet to internal implementation 2022-06-08 12:37:24 +02:00
Mark Qvist
4bd5f05e0e Moved Link Fernet to internal implementation 2022-06-08 12:34:31 +02:00
Mark Qvist
5d3a0efc89 Moved Identity Fernet to internal implementation 2022-06-08 12:29:51 +02:00
Mark Qvist
d1a461a2b3 Added multi-backend abstraction for AES-128 CBC primitive 2022-06-08 12:21:50 +02:00
Mark Qvist
0b1e7df31a Added internal Fernet implementation 2022-06-07 17:38:57 +02:00
Mark Qvist
301661c29e Set SHA-256 as default hash for HMAC 2022-06-07 17:33:08 +02:00
Mark Qvist
b2b6708e8f Added python-only implementation of PKCS7 padding 2022-06-07 17:32:22 +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
5bb510b589 Added internal python-only HKDF 2022-06-07 15:26:45 +02:00
Mark Qvist
f1dcda82ac Added internal python-only HMAC implementation 2022-06-07 15:25:41 +02:00
Mark Qvist
d24f3a490a Added internal abstraction to SHA-256 2022-06-07 15:21:19 +02:00
Mark Qvist
715a84c6f2 Moved hashing to native python3 hashlib 2022-06-07 12:51:41 +02:00
Mark Qvist
379e56b2ce Socket option check for OpenWRT compatibility 2022-06-07 12:40:50 +02:00
Mark Qvist
c6df6293b2 Added hardware MTU parameter to interfaces 2022-05-29 15:43:50 +02:00
Mark Qvist
9e20ba2dac Implemented I2PInterface recovery on I2P router restart 2022-05-28 02:24:01 +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
49616a36cf Fixed I2P controller startup when event loop is not immediately ready 2022-05-26 09:54:56 +02:00
Mark Qvist
1e77f85cd4 Fixed rnx version output 2022-05-26 00:03:37 +02:00
Mark Qvist
9e316ab989 Fixed deprecated options in asyncio API for Python 3.10. Fixes #58. 2022-05-25 23:11:01 +02:00
Mark Qvist
94749e0dde Updated default configs 2022-05-25 23:10:05 +02:00
Mark Qvist
a6dbc53209 Improved status display for I2P interfaces 2022-05-25 21:44:49 +02:00
Mark Qvist
3af5a8f3ed Improved I2P server tunnel error handling. Fixes #13. 2022-05-25 21:23:52 +02:00
Mark Qvist
fb5172ff10 Improved I2P client tunnel error handling 2022-05-25 20:18:06 +02:00
Mark Qvist
d3ab0878e0 Improved I2P interface display in rnstatus 2022-05-25 15:50:54 +02:00
Mark Qvist
7848b7e396 Fixed invalid reference in rnx 2022-05-25 15:08:45 +02:00
Mark Qvist
fc80dd2614 Improved rnstatus output 2022-05-25 14:21:04 +02:00
Mark Qvist
417ac9f8da Added rnx remote command utility 2022-05-24 20:14:43 +02:00
Mark Qvist
fe5e74bc2b Improved rncp arguments 2022-05-24 20:13:54 +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
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