Commit Graph

299 Commits

Author SHA1 Message Date
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
c26145f70e
* fix up integration tests
* make recursive router lookup backtrack
2019-04-12 11:29:48 -04:00
Jeff Becker
e08986e457
fix previous commit 2019-03-27 09:53:37 -04:00
Jeff Becker
3a4d8f16a7
more 2019-03-27 08:36:27 -04:00
Jeff
1deafe444a serve non connected dht nodes 2019-03-27 00:07:57 -04:00
Jeff Becker
6c5a015f4f
unconditional reply 2019-02-23 12:22:34 -05:00
Jeff Becker
1694337cab
ONLY CHECK FOR ACTIVE DHT NODES 2019-02-23 11:46:29 -05: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
a00d6afc5e
Convert llarp_buffer_t to be a class with methods 2019-02-17 13:09:48 +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
66753430ad
fix it 2019-02-08 16:29:56 -05:00
Jeff Becker
e1522faeaa
add introspection rpc endpoint 2019-02-08 14:43:25 -05:00
Jeff Becker
e24b595191
more dht fixing, only pick the most up to date entity for reply 2019-02-08 08:42:12 -05:00
Jeff Becker
d7f715c632
don't send more than 1 introset in reply 2019-02-08 08:21:55 -05:00
Jeff
f0dc5f2b48 unbreak build 2019-02-07 18:04:28 -05:00
Jeff
0f777d822b Merge branch 'staging' of ssh://github.com/majestrate/loki-network into staging 2019-02-07 17:49:29 -05:00
Jeff
ba8313e57e limit replies on introset lookup, pick newest 2019-02-07 17:48:41 -05:00
Michael
729cd045f1
Convert llarp::Router into an abstract base class 2019-02-06 09:59:47 +00:00
Michael
1ba6507a2f
Tests for dht::ServiceAddressLookup 2019-02-05 21:35:46 +00:00
Michael
b1213c7a7c
Tests for dht::TagLookup 2019-02-05 21:18:38 +00:00
Ryan Tharp
4bf4faa956 make format 2019-02-04 16:41:33 -08:00
Michael
f3b0af9d2f
Create CopyableBuffer type 2019-02-02 23:21:35 +00:00
Michael
2de621b0ad
Disable copy constructing llarp_buffer_t 2019-02-01 01:58:13 +00: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
1f95f1e78f
More unit tests of dht internals 2019-01-26 00:40:40 +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
2d395cc3f9
Move code to correct home 2019-01-19 18:16:10 +00:00
Michael
550669e318
Fix typo in class name 2019-01-19 13:54:50 +00:00
Michael
80bd41916e
More tidying of dht code 2019-01-19 13:49:15 +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
6e38e85a79
Produce hierarchy of 'libraries' inside libllarp 2019-01-15 23:15:43 +00:00
Michael
79157414f3
Split crypto.hpp into 3 different files 2019-01-13 16:32:51 +00:00
Michael
04e0fe3ad7
Move crypto code to a subdirectory 2019-01-13 15:06:16 +00:00
Michael
081d4dfa32
Reorganise source into more folders 2019-01-11 01:19:49 +00:00
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00
Michael
167d5aca6d
Add test suite for bencode 2019-01-10 17:43:33 +00:00
Michael
516466f5be
Mark more AlignedBuffer constructors as explicit 2019-01-02 01:04:08 +00:00
Michael
ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:04 +00:00
Michael
58364a01c8
Remove array conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:01 +00:00
Michael
334161c9bb
Remove data() conversions from llarp::AlignedBuffer 2019-01-02 01:03:53 +00:00
Michael
8f053106e6
Add tests for llarp::dht::Key_t 2018-12-30 18:56:34 +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
3e37165749
Merge remote-tracking branch 'origin/master' 2018-12-20 12:23:01 -05:00
Jeff Becker
e7f5eeff51
use fewer allocations 2018-12-20 11:49:05 -05:00
Michael
037cb87523
Convert llarp::AlignedBuffer to be backed by std::array 2018-12-20 16:16:18 +00:00
Jeff Becker
6fc42dc7ad
fixes 2018-12-19 12:48:29 -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
4257b62e88
Add .cpp files for all .hpp files 2018-12-15 16:21:52 +00:00
Jeff Becker
be234e4b6e
* make format
* snode to snode direct traffic

* wire up dns on service node tun
2018-12-13 11:14:44 -05:00
Michael
85dde7b6b0
Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
Michael
e887b4e9c7
Move service* to llarp/ 2018-12-12 02:53:01 +00:00
Michael
5aa7f49470
Move routing* to llarp/ 2018-12-12 02:53:01 +00:00
Michael
b92ea0521b
Move router_contact.hpp to llarp/ 2018-12-12 02:53:01 +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
6358b25db0
Convert llarp_nodedb to be a true C++ class 2018-12-10 23:31:39 +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
Ryan Tharp
5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-03 13:43:21 +00:00
Ryan Tharp
7af23dcaad format 2018-11-03 06:23:05 -07:00
Ryan Tharp
67390de0c2 merge 2018-11-03 06:19:18 -07:00
Jeff Becker
2d279e83fd
initial tcp connect for epoll 2018-11-01 08:47:14 -04:00
despair
d425b5d308 implement tcp evloop on win32
(with its now-obsolete distinction between socketfd and fd)

sockets and file descriptors used to be distinct objects....back in the
16-bit Winsock 1.1 era, which needlessly complicated the 32-bit port
back then. these days one can use [Read|Write]File(2) to operate on
sockfds...which also have some of the semantics of [read|write]v(2)
i.e. the scatter-gather thing it's known for is done in async handler

-rick

variants are nice

added note to self

clang-format

link abyss properly

oops

shut up

*shrugs*

oops forgot to start winsock

moved our async io status flags to the base class

let derived classes override them as needed

this is probably a synchronous op _anyway_

fix typo

wtf
2018-10-30 00:16:33 -05: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
390333c787 Merge remote-tracking branch 'origin/master' 2018-10-21 10:58:01 -04:00
Jeff
146fa13837 merge 2018-10-21 10:57:36 -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
4158e422bb don't store introsets when forwarding a request 2018-09-30 12:02:42 -04:00
Jeff Becker
186a36cd4b
try fixing dht crash 2018-09-27 08:47:21 -04:00
Jeff Becker
4309ea3b97
better handling for introset propagation 2018-09-21 12:37:49 -04:00
Jeff Becker
5fb08c2139
check introset timestamps 2018-09-20 07:27:18 -04:00
Jeff Becker
29cf0c9ba5
don't propagate expired introsets 2018-09-19 13:58:02 -04:00
Jeff Becker
df53e79aff
fix windows 2018-09-19 07:56:12 -04:00
Jeff Becker
acc1b625b4
actually store introsets when found 2018-09-18 11:12:26 -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
0c1dfa4a27
check nodedb for routers not just dht peer list 2018-09-13 07:16:56 -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
6a828ea985
fix shadow build 2018-08-14 18:07:58 -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
28f6a76312 remove unused encoding functions 2018-07-30 11:39:35 +10:00
Jeff Becker
908716aca4 cleanup 2018-07-30 09:29:36 +10:00
Jeff Becker
e91f69a0ef * put sequence numbers in routing messages
* more endian crap

* don't tick logic too much
2018-07-25 08:34:46 +10:00
Jeff Becker
dbe4a35230 add sequence numbers to routing messages 2018-07-24 07:59:43 +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
Jeff Becker
2dec6428dc introset expiration 2018-07-18 10:25:24 +10:00
Jeff Becker
6945fe53a5 more also run make format 2018-07-17 14:37:50 +10:00
Jeff Becker
bce3cd85c6 initial implementation of find intro message for hidden service dht (not done yet) 2018-07-17 07:22:25 +10:00
Jeff Becker
0242e293c9 more 2018-07-16 13:32:13 +10:00
Jeff Becker
a68cfefaa6
make it compile and run make format 2018-07-13 09:36:51 -04:00
Ryan Tharp
14fac288fc relay job if you need to ask again (reapply, merge fix) 2018-07-13 09:28:16 +00:00
Ryan Tharp
8a7db419f9 reapply DHT changes 2018-07-13 09:27:57 +00:00
Jeff Becker
5bbaae4e2e
more 2018-07-12 14:21:44 -04:00
Jeff Becker
fe01c38d8e
* fix dht feedback loop
* start on dht lookups for hidden services

* make debug logging confurable on runtime with env var LLARP_DEBUG=1

* make eventloop tick only when we get traffic

* make testnet parameters configurable on runtime
2018-07-12 09:43:37 -04:00
Jeff Becker
bae4f746be
publish hidden service descriptors and acknoledge publish 2018-07-11 12:11:19 -04:00
Jeff Becker
39e100d0b2
refactor dht code to be split up a bit more 2018-07-11 09:20:14 -04:00