Commit Graph

157 Commits

Author SHA1 Message Date
Thomas Winget
baf8019fe5 Refactor Router code into more classes
This commit refactors functionality from the Router class into separate,
dedicated classes.
There are a few behavior changes that came as a result of discussion on
what the correct behavior should be.
In addition, many things Router was previously doing can now be provided
callback functions to alert the calling point when the asynchronous
action completes, successfully or otherwise.
2019-07-25 14:11:02 -04:00
Jeff Becker
1ee90f8852
do lookup for RC to neighboor even if we have them in our DHT buckets so we get an updated RC in reply 2019-07-19 13:21:20 -04:00
Jeff Becker
a0f32fde13
reduce logging 2019-07-17 08:25:51 -04:00
Jeff Becker
12d4bfc379
always ask peers for next closest 2019-07-15 14:15:53 -04:00
Jeff Becker
16e20a9e79
try fixing bootstrap 2019-07-15 12:56:09 -04:00
Michael
d6751e3eeb
Move subset of messages to right directory 2019-06-19 21:35:26 +01:00
Michael
b89689fec3
Refactor path build code 2019-06-18 22:51:41 +01:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers 2019-05-28 20:45:08 +01:00
Jeff Becker
73f1d34239
make format and revert stupid alloc changes 2019-05-20 08:19:33 -04:00
Jeff Becker
8bee0a3d5e
fix 2019-05-14 12:41:47 -04:00
Jeff Becker
06be908369
use 1 for dht exploration 2019-05-14 12:15:46 -04:00
Jeff Becker
018dd008ec
add custom single threaded allocator for utp buffers
fix up test net stuff
2019-05-09 16:28:56 -04:00
Jeff Becker
e80f7419b0
check for allowed by network 2019-05-09 08:48:21 -04:00
Jeff Becker
779b1f4df5
more timeout tweaks and disable profiling on service nodes 2019-05-06 10:21:47 -04:00
Michael
9ee525a006
Fix shadowing warnings 2019-04-26 00:21:19 +01:00
Michael
e33a33635c
Remove usage of raw new from service classes 2019-04-22 18:38:29 +01:00
Michael
c39c931d03
Remove IStateful virtual inheritance 2019-04-19 16:10:26 +01:00
Jeff Becker
05dc2fb679
decay profiles unconditionally 2019-04-16 13:30:07 -04:00
Jeff Becker
66432afdda
proper explore for clients 2019-04-16 13:00:24 -04:00
Jeff Becker
90e92c66c2
insert bootstrap nodes into nodedb and explore more 2019-04-16 12:44:51 -04:00
Jeff Becker
3a4d8f16a7
more 2019-03-27 08:36:27 -04:00
Jeff Becker
482dce28bd
make it work 2019-02-22 14:04:47 -05:00
Michael
13a9f65520
Fully define interface for dht::Context 2019-02-22 15:08:08 +00:00
Michael
048fa83c39
Finish replacement of Router with AbstractRouter 2019-02-14 22:31:31 +00:00
Jeff Becker
46222df421
refactor 2019-02-11 12:14:43 -05:00
Jeff Becker
e1522faeaa
add introspection rpc endpoint 2019-02-08 14:43:25 -05:00
Michael
729cd045f1
Convert llarp::Router into an abstract base class 2019-02-06 09:59:47 +00:00
Ryan Tharp
4bf4faa956 make format 2019-02-04 16:41:33 -08:00
Ryan Tharp
c3bf68b502
Merge branch 'staging' into dht_tests 2019-01-29 13:59:54 -08:00
Michael
f24f554a01
Convert llarp::Crypto into an abstract base class 2019-01-26 15:40:58 +00:00
Michael
3f320009d7
Introduce abstract class for dht::Context 2019-01-26 00:40:40 +00:00
Michael
40449df0f1
Split classes out of dht::Context 2019-01-26 00:40:40 +00:00
Michael
ccb5f6b696
Add tests for dht::TXOwnere 2019-01-19 18:16:40 +00:00
Michael
550669e318
Fix typo in class name 2019-01-19 13:54:50 +00:00
Michael
03d56c1591
Add test suites for dht bucket, kademlia and key 2019-01-19 01:41:14 +00:00
Michael
7296ebcbe8
Tidy dht code 2019-01-19 01:41:14 +00:00
Michael
da6cdfc0b2
More refactoring to continue to make dependency graph acylic 2019-01-15 23:15:44 +00:00
Michael
ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:04 +00:00
Michael
334161c9bb
Remove data() conversions from llarp::AlignedBuffer 2019-01-02 01:03:53 +00:00
Jeff Becker
49c898ed92
Merge remote-tracking branch 'origin/master' into staging 2018-12-26 11:27:11 -05:00
Jeff
4b2a1ea9f3 make format and attempt to fix #158 2018-12-23 08:29:11 -05:00
Jeff Becker
8c8172aeb1
Merge remote-tracking branch 'origin/master' into dev 2018-12-20 12:56:08 -05:00
Jeff Becker
cca19290de
session renegotiation, RC expiration, more utp unit tests, network isolation. 2018-12-19 11:17:41 -05:00
Ryan Tharp
46d488d9ab improve logging explanation for testnets 2018-12-18 18:53:11 +00:00
Jeff Becker
3115636024
try fixing crash 2018-12-18 13:36:19 -05:00
Michael
85dde7b6b0
Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
Michael
fddc8734d2
Move dht* to llarp/ 2018-12-12 02:53:01 +00:00
Michael
7be452092c
Convert llarp_crypto to be a true C++ class 2018-12-11 00:53:55 +00:00
Michael
f0fce5b68a
Convert llarp_router to be a true C++ class 2018-12-10 20:15:35 +00:00
Jeff Becker
fad734a5ce
strict types for pubkey, secretkey and routerid 2018-12-10 12:22:59 -05:00
Michael
30e9dca2e5
Convert llarp_logic to be a C++ class 2018-12-10 14:15:11 +00:00
Jeff Becker
622ed8d12e
fix crash on premature close of event loop (also make format) 2018-12-02 13:07:07 -05:00
Jeff Becker
e6037ff060
pack exit traffic 2018-11-28 11:38:20 -05:00
Jeff Becker
d25d35c06e
dht 2018-11-28 10:27:36 -05:00
Jeff Becker
10c2d1552d
don't connect to explored routers 2018-11-28 10:18:18 -05:00
Jeff
067f6c7b26 make format and make it compile with clang 2018-11-22 12:53:53 -05:00
Jeff Becker
cf57eca7c3
check keyspace distance and inform not found when next peer is not closer than previous peer 2018-11-22 09:20:49 -05:00
Jeff Becker
3dd466629b
check for nullptr 2018-11-19 12:14:35 -05:00
Jeff Becker
e0f1d985c8
more dht tweaks 2018-11-08 14:25:04 -05:00
Jeff Becker
38a92cb1a8
fixes for testnet 2018-11-08 10:15:02 -05:00
Michael Thorpe
33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
Jeff Becker
2d279e83fd
initial tcp connect for epoll 2018-11-01 08:47:14 -04:00
Jeff Becker
dbd2c41909
use event loop for time 2018-10-29 12:48:36 -04:00
Jeff
678f9e30eb call cleanup timer 2018-10-27 16:02:24 -04:00
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality 2018-10-21 10:19:49 -04:00
Jeff Becker
d3278946f2
ipv4 bogon checking 2018-10-15 08:02:32 -04:00
Jeff Becker
5fb08c2139
check introset timestamps 2018-09-20 07:27:18 -04:00
Jeff Becker
df53e79aff
fix windows 2018-09-19 07:56:12 -04:00
Jeff Becker
44cea54dea
avoid stack overflow 2018-09-15 07:54:08 -04:00
Jeff Becker
f5b8d552e1
path peer profiling
propagate introsets better
2018-09-14 10:50:37 -04:00
Jeff Becker
3af51cbe55
add path latency minimum checker
add min-latency option to hidden service config
2018-09-13 08:27:28 -04:00
Jeff Becker
c0afc97d41
better explore logic 2018-09-13 08:04:36 -04:00
Jeff Becker
832b24ba93
delete don't abort when building paths failed to key exchange
try making dht less talky

check timestamps on intros
2018-09-13 07:30:21 -04:00
Jeff Becker
c3a7f64344
expire introsets correctly and allow multiple tun if 2018-09-10 12:36:36 -04:00
Jeff Becker
96526058b2
update readme and make dht bootstrap work with low peer count 2018-09-09 08:27:56 -04:00
Jeff Becker
b23dab09fb
don't overwrite our RC, hide parameter. 2018-09-09 07:23:21 -04:00
Jeff Becker
ec143e11a4
explore via 1 router 2018-09-08 04:27:05 -04:00
Jeff Becker
5dfcd60df1
more 2018-09-06 16:31:58 -04:00
Jeff Becker
c3c388b6aa
remove iwp and start on curvecp
does not compile
2018-09-02 14:25:42 -04:00
Jeff Becker
973f86c900
it compiles 2018-08-31 08:46:54 -04:00
Jeff Becker
5228a81bae
more refactor
get rid of C api
2018-08-30 14:48:43 -04:00
Jeff Becker
b122fc59f8
refactor (not done) 2018-08-29 16:40:26 -04:00
Jeff Becker
199dad09dd
* kill dht feedback loop
* add dht exploration for discovering new routers

* tweak loopback testnet paramters to not be initially fully connected
2018-08-27 09:44:16 -04:00
Jeff Becker
ba12f3e5e2
prevent crash? 2018-08-23 11:34:43 -04:00
Jeff Becker
3625313304
clear pending dht tx 2018-08-23 11:29:43 -04:00
Jeff Becker
4e3acd0277
persist sessions between routers 2018-08-23 10:35:29 -04:00
Jeff Becker
1d3e9f6adc
make testnet no longer crash 2018-08-14 17:17:18 -04:00
Jeff Becker
e79708c1dc
hidden services sorta work 2018-08-10 17:34:11 -04:00
Jeff Becker
a9b28e5407
more fuxing around 2018-08-09 23:51:38 -04:00
Jeff Becker
86ec4dacc3 dht and testnet fixes 2018-08-04 12:59:32 +10:00
Jeff Becker
7622f6cef1 dht tweaks 2018-08-02 14:34:46 +10:00
Jeff Becker
6ffa2eed1c fix up dht 2018-08-02 11:41:40 +10:00
Jeff Becker
12ea412763 fix dumb dht mistake 2018-08-02 11:10:58 +10:00
Jeff Becker
bc1c49b092 dht fixes 2018-08-02 08:10:38 +10:00
Jeff Becker
02ca1796b2 all the files 2018-07-20 14:50:28 +10:00
Jeff Becker
7fbc21207f more hidden service stuff 2018-07-19 14:58:39 +10:00
Jeff Becker
97e11a28f6 make format 2018-07-19 08:50:16 +10:00
Jeff Becker
994a5fe928 dht fixups 2018-07-19 08:50:05 +10:00
Jeff Becker
7c518bc4da prefetch introset via tag (non working) 2018-07-19 06:58:16 +10:00
Jeff Becker
5d5757cbec more dht stuff 2018-07-18 13:10:21 +10:00