Commit Graph

568 Commits

Author SHA1 Message Date
Jeff Becker
5921086391
common codepath for sending protocol frames 2019-04-23 13:35:20 -04:00
Jeff Becker
6711296b26
finish converting to shared_ptr 2019-04-23 12:13:22 -04:00
Jeff Becker
8484e29c9b
turn more stuff into std::shared_ptr
remove dead codepaths
2019-04-23 10:47:23 -04:00
Jeff Becker
99c29cf05a
prepare for ios/android jazz
move to use std::shared_ptr instead of bare pointers so we can
multithread everything.
2019-04-23 10:28:59 -04:00
Jeff Becker
5872573e91
rename Logic and Crypto functions to GetLogic and GetCrypto 2019-04-23 09:20:01 -04:00
Jeff Becker
a2912ff860
Merge remote-tracking branch 'origin/master' 2019-04-23 09:12:36 -04:00
Michael
3a8715d8e4
Fix introset tests 2019-04-23 10:25:03 +01:00
michael-loki
e36ddfb093 Fixup casing (#543)
* Rename Identity.hpp to identity.hpp

* Rename Identity.cpp to identity.cpp

* Rename Info.hpp to info.hpp

* Rename Intro.cpp to intro.cpp

* Rename Intro.hpp to intro.hpp
2019-04-22 20:24:23 -05:00
Michael
98e691f315
Tidy up more parts of the service/ directory 2019-04-22 22:28:10 +01:00
Michael
2d2c0e3ac2
Make introset PoW be a unique_ptr 2019-04-22 22:19:51 +01:00
Jeff Becker
d5162c2aad
dont kill active exit paths 2019-04-22 13:55:07 -04:00
Michael
e33a33635c
Remove usage of raw new from service classes 2019-04-22 18:38:29 +01:00
Jeff Becker
c0d7b53328
make it work 2019-04-22 10:00:59 -04:00
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 2019-04-22 08:25:25 -04:00
Michael
33c80b7c16
Move service::Session to its own componet 2019-04-21 19:39:50 +01:00
Michael
94ad84363a
Move CachedTagResult and TagLookupJob to its own component 2019-04-21 19:39:50 +01:00
Michael
6bf54e0925
Remove AsyncKeyExchange, HiddenServiceAddressLookup and OutboundContext to their own components 2019-04-21 19:39:50 +01:00
Michael
3db6d80928
Remove unnecessary llarp:: qualifiers 2019-04-21 19:39:50 +01:00
Michael
2412ed59ee
Move SendContext to its own component 2019-04-21 19:39:50 +01:00
Michael
84fc90dc82
Remove dependency on service::endpoint 2019-04-21 19:39:50 +01:00
Michael
c39c931d03
Remove IStateful virtual inheritance 2019-04-19 16:10:26 +01:00
Jeff Becker
57dc6cc965
make bundling rc in path builds configurable on runtime 2019-04-18 07:49:54 -04:00
Jeff Becker
2be3401e08
* refactor profiling function names
* utp link layer make ping less active, pre-emptive pump faster
2019-04-17 10:46:00 -04:00
Jeff Becker
9503cc66f0
add disk worker based file flusher logger
make format

remove package.json
2019-04-16 09:20:48 -04:00
Jeff Becker
a45d6db0e0
better profiling 2019-04-16 07:44:55 -04:00
Jeff Becker
cab85b8f85
dont stomp existing convotags 2019-04-12 14:37:43 -04:00
Jeff Becker
5399b93270
make format and readd win32 console color logging 2019-04-11 11:36:20 -04:00
Jeff
c64fbf7cc5 Merge branch 'master' of ssh://github.com/majestrate/loki-network 2019-04-10 09:50:01 -04:00
Jeff Becker
28e07903b6
put reply intro 2019-04-10 09:19:32 -04:00
Jeff
95119a0fe1 always use random paths for lookups 2019-04-09 15:20:02 -04:00
Jeff Becker
e178a70929
use shared_ptr for event loop 2019-04-08 08:01:52 -04:00
Jeff
3783fb0e14 fix inbound sessions 2019-04-06 09:52:04 -04:00
Jeff Becker
c910a2a2fb
more 2019-04-05 10:58:22 -04:00
Jeff
60a42a83a3 better introset publish logic 2019-04-01 15:56:11 -04:00
Jeff Becker
aea9944c3d
mark success on profiles and remove pending lookup 2019-03-31 11:18:47 -04:00
Jeff Becker
b9207ce3e0
unconditionally update introset on dead path 2019-03-30 10:06:09 -04:00
Jeff Becker
24e7151ff5
log and don't remove path on died 2019-03-30 09:12:48 -04:00
Jeff Becker
b849ff9a94
handle path death better 2019-03-30 09:02:10 -04:00
Michael
3bada02d89
Fixup one ASAN warning 2019-03-29 01:02:41 +00:00
Jeff Becker
74f9949537
aaaaaa 2019-03-27 16:33:15 -04:00
Jeff
aa08d20480 ensure router is known 2019-03-26 22:47:27 -04:00
Jeff
ed10ef0b7d don't shift only build 2019-03-26 22:38:23 -04:00
Jeff Becker
714f5c6b5e
more 2019-03-26 17:01:20 -04:00
Jeff Becker
9e531c026c
fix warning on hop selection 2019-03-26 16:41:41 -04:00
Jeff
30aebce091
Merge pull request #441 from loki-project/staging
Staging
2019-03-25 14:31:15 -04:00
Jeff Becker
8e2b99907f
mark nodes timeout on lookup timeout 2019-03-25 12:47:44 -04:00
Jeff Becker
1882ffc016
don't publish or use bad routers with endpoints 2019-03-25 11:56:15 -04:00
michael-loki
94ba88bafc
Fix missing override 2019-03-25 01:54:37 +00:00
Jeff Becker
f5b9bd40ed
track lookup fails and kill outbound context if too many 2019-03-21 11:39:13 -04:00
Jeff
4c611ea935 make macos happy 2019-03-19 09:22:15 -04:00
Jeff Becker
5d3833ef1a
fix dumb as shit path building that causes premature termiantion because of duplicate hops 2019-03-11 09:58:31 -04:00
Jeff Becker
6489ea2152
make it work 2019-03-08 12:26:29 -05:00
Jeff Becker
8a4c0ce841
more 2019-03-08 12:00:13 -05:00
Jeff Becker
280d85d478
handle protocol discard 2019-03-08 11:00:45 -05:00
Jeff Becker
df17866ff7
breaking protocol change, bundle source txid on outside of path transfer message. 2019-03-08 10:33:49 -05:00
Jeff Becker
a5557e0902
always use current intro for reply 2019-03-08 09:48:09 -05:00
Jeff Becker
c9a4c77fb9
better chill with path building 2019-03-08 09:36:24 -05:00
Jeff Becker
6a09348c47
today's work 2019-03-07 17:53:36 -05:00
Jeff Becker
eceb55623c
more 2019-03-07 10:17:29 -05:00
Jeff Becker
159415c363
delay dns resolution for snode until we have a session with it 2019-03-01 14:10:42 -05:00
Jeff Becker
71302ee48b
Merge remote-tracking branch 'origin/staging' into fix-libabyss-352 2019-02-27 07:55:38 -05:00
Jeff Becker
f8d6becce8
make whitelist happy 2019-02-27 07:55:26 -05:00
Jeff
db504e8044
Merge pull request #354 from despair86/dev
regression fixes
2019-02-26 17:40:48 -05:00
Rick V
975b4ca743
clang-format 2019-02-26 15:48:03 -06:00
Jeff Becker
ef13ec7499
Merge remote-tracking branch 'origin/staging' into staging 2019-02-26 07:55:27 -05:00
Michael
e4cf1f245c
Convert most of llarp to use Printer 2019-02-24 23:46:44 +00:00
Michael
b80ecfa4d6
Use string_view for string_view 2019-02-24 23:46:44 +00:00
Jeff
5c941263e9
Merge pull request #339 from michael-loki/dht_context_testing
Solidify interfaces
2019-02-22 12:56:06 -05:00
Michael
4fb2b39f74
Format changes 2019-02-22 17:18:54 +00:00
Jeff Becker
5642179019
publish retry on failure for introset publishing 2019-02-21 14:55:31 -05:00
Jeff Becker
a81a483cc2
build paths if we don't have enough 2019-02-21 14:26:59 -05:00
Jeff Becker
21ab744b17
build one path if we don't have a path for remote intro on send 2019-02-21 13:21:16 -05:00
Jeff Becker
c7e100787b
swap intros should only swap intros 2019-02-21 13:00:37 -05:00
Jeff Becker
eecc00211f
squash commits and make convotags more "reliable" (probably) 2019-02-21 12:47:35 -05:00
Jeff Becker
5dde4e6351
use source path's intro as being able to reply on convo tags 2019-02-21 12:46:08 -05:00
Jeff Becker
762728c7ec
fix 2019-02-21 12:13:27 -05:00
Jeff Becker
3baf89e8ce
more 2019-02-21 11:45:33 -05:00
Jeff Becker
262000570b
use source path's intro as being able to reply on convo tags 2019-02-21 11:21:41 -05:00
Jeff Becker
b511242632
increment sequence number on good send only 2019-02-20 08:42:50 -05:00
Jeff Becker
b9a0531057
make dht work again ._. 2019-02-20 08:29:12 -05:00
Jeff Becker
ee95c1ed0c
make dht work again ._. 2019-02-20 08:28:35 -05:00
Jeff Becker
b1dd10c007
fix previous commit 2019-02-19 12:04:06 -05:00
Jeff Becker
393e70dfa6
publish new introset on path death 2019-02-19 11:58:58 -05:00
Rick V
5a3947ca5c
clang-format 2019-02-18 17:58:12 -06:00
Jeff Becker
445ed05b32
make format 2019-02-18 14:44:41 -05:00
Michael
887fb4ac62
Replace insert(make_pair()) with emplace() 2019-02-18 10:35:23 +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
550fc3c439
Revert "tweaking handover logic"
This reverts commit 50bfe5d810.
2019-02-14 08:49:07 -05:00
Jeff Becker
50bfe5d810
tweaking handover logic 2019-02-12 09:24:36 -05:00
Jeff Becker
1921704b78
tweak timeout 2019-02-12 07:41:13 -05:00
Jeff Becker
46222df421
refactor 2019-02-11 12:14:43 -05:00
Jeff Becker
05cd1b7f8e
extract more status info for outbound context 2019-02-09 10:39:39 -05:00
Jeff Becker
1a929f9383
send control messages if too quiet to keep convotags alive as needed 2019-02-09 10:26:20 -05:00
Jeff Becker
9a2f11a212
try expiring convos 2019-02-09 09:37:24 -05:00
Jeff Becker
6df133cab2
remove dead sessions when done 2019-02-09 09:15:54 -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
6fa10019d0
testnet tweak 2019-02-08 09:12:31 -05:00
Jeff Becker
27ce591f52
add note 2019-02-08 08:05:09 -05:00
Jeff Becker
2dfb53ef13
prevent deadlock 2019-02-08 08:04:12 -05:00
Jeff Becker
32ecf64c57
fix testnet 2019-02-07 09:27:28 -05:00
Jeff
4c4f3faf83
Merge pull request #284 from michael-loki/abstract_router
Convert llarp::Router into an abstract base class
2019-02-06 19:09:31 -05:00
Jeff
d10ddd7afd Merge remote-tracking branch 'github/staging' into staging 2019-02-06 11:39:55 -05:00
Jeff Becker
90e45a810a
limit number of concurrent dht lookups from dns to 4 2019-02-06 10:52:00 -05:00
Jeff Becker
f84256d554
* lower lookup timeout for introsets
* correct previous commit for dns stuff
* allow for multiple parallel introset lookups
2019-02-06 10:05:25 -05:00
Jeff Becker
b40055181d
lower path build timeout to 15s
tweak various dns stuff
2019-02-06 08:02:17 -05:00
Michael
729cd045f1
Convert llarp::Router into an abstract base class 2019-02-06 09:59:47 +00:00
Ryan Tharp
5769e5c716
Merge pull request #259 from michael-loki/more_dht_tests
More dht tests
2019-02-05 14:06:29 -08:00
Ryan Tharp
8614911e17
Merge pull request #278 from majestrate/staging
lower utp fragment size by 512 bytes
2019-02-05 14:06:17 -08:00
Ryan Tharp
6446074881
Merge pull request #267 from michael-loki/abseil
Import abseil LTS 20181200
2019-02-05 14:06:02 -08:00
Michael
b1213c7a7c
Tests for dht::TagLookup 2019-02-05 21:18:38 +00:00
Jeff Becker
a953b34a45
fix crash 2019-02-05 10:06:53 -05:00
Ryan Tharp
4bf4faa956 make format 2019-02-04 16:41:33 -08:00
Ryan Tharp
fefb012bf8 fix llvm 3.8 2019-02-04 16:29:09 -08:00
Michael
6055829df4
Remove tl::optional and use absl::optional always 2019-02-03 02:13:31 +00:00
Michael
7ca3e13e78
Rename to ManagedBuffer 2019-02-03 00:48:10 +00: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
Ryan Tharp
f20ac0f6e9
Merge branch 'staging' into crypto_interface 2019-01-29 13:59:05 -08:00
Jeff Becker
f1cf63fce7
add initial localhost.loki handling in dns 2019-01-28 10:26:35 -05:00
Michael
f24f554a01
Convert llarp::Crypto into an abstract base class 2019-01-26 15:40:58 +00:00
Michael
40449df0f1
Split classes out of dht::Context 2019-01-26 00:40:40 +00:00
Jeff Becker
e164970b00
make format 2019-01-24 10:14:54 -05:00
Jeff
832ad942aa
Merge pull request #237 from despair86/dev
separate header and implementation
2019-01-23 15:27:19 -05:00
Jeff Becker
cbfbdc506d
Merge branch 'staging' of ssh://github.com/loki-project/loki-network into staging 2019-01-23 12:33:00 -05:00
Rick V
ac639ce2b9
clang-format 2019-01-22 18:17:06 -06:00
Rick V
3232a98b2c
clang-format, include <iterator>, fix size_type casts for ILP32 and LLP64 data models 2019-01-22 18:16:58 -06:00
Ryan Tharp
31f196a6eb
Merge pull request #236 from michael-loki/dht_tests
Add test suites for dht bucket, kademlia and key
2019-01-22 15:15:22 -08:00
Jeff Becker
465a3d3e43
redo ini parser 2019-01-22 09:13:26 -05:00
Michael
7296ebcbe8
Tidy dht code 2019-01-19 01:41:14 +00:00
Ryan Tharp
332336060c Always have a key early (even if no key file set) so you don't regen keys twice 2019-01-17 18:28:30 -08:00
Jeff Becker
41e8691702
make format 2019-01-17 09:02:50 -05:00
Ryan Tharp
1ba5b75082 Merge branch 'master' of https://github.com/neuroscr/loki-network 2019-01-16 21:25:37 +00:00
Ryan Tharp
c24751f3c1 Jeff approved workaround to read Keyfile early so Name() can be correct during set up/configuration 2019-01-16 13:12:24 -08:00
Ryan Tharp
dc1bd9acb4 include notes on closing braces 2019-01-16 13:09:52 -08: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
a3463120cc
Move net components into a distinct folder 2019-01-11 01:42:02 +00:00
Michael
081d4dfa32
Reorganise source into more folders 2019-01-11 01:19:49 +00:00
Michael
fa2b466ffe
Reorganise tests to mirror source layout 2019-01-11 00:12:52 +00:00
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00
Michael
df4fd0ef56
Fix some low hanging performance issues 2019-01-07 22:15:41 +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
1410d0a0cf
Remove byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:03 +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
Jeff Becker
0ff214f43f
fixes 2018-12-29 10:44:25 -05:00
Jeff Becker
ec57c72e08
fix testnet 2018-12-27 13:27:43 -05:00
Jeff
d626b26b30
Merge pull request #184 from loki-project/staging
merge Staging into master
2018-12-27 13:05:28 -05:00
Jeff Becker
1b59cc491d
less allocations in message parsing and keep exit paths alive with activity 2018-12-27 09:32:37 -05:00
Jeff Becker
49c898ed92
Merge remote-tracking branch 'origin/master' into staging 2018-12-26 11:27:11 -05:00
Jeff
74448d8ef4 make it compile on osx 2018-12-24 16:10:35 -05:00
Jeff Becker
21d1998a38
add graceful stop for path builders and friends 2018-12-24 11:10:56 -05:00
Jeff Becker
e835c5f69a
add graceful stop for path builders and friends 2018-12-24 11:09:05 -05:00
Jeff Becker
3a8818980f
make path length configurable on compile time 2018-12-21 15:25:41 -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
8e6046ff1c
order downstream packets 2018-12-20 07:41:39 -05:00
Jeff Becker
46bee291c2
order downstream packets 2018-12-20 07:41:17 -05:00
Jeff Becker
6fc42dc7ad
fixes 2018-12-19 12:48:29 -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
Jeff Becker
e787165da9
expire old snode sessions 2018-12-13 07:27:14 -05:00
Jeff Becker
09e01adf32
flush snode traffic queues 2018-12-12 13:37:03 -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
7a52638add
Move handlers* to llarp/ 2018-12-12 02:53:01 +00:00
Michael
fddc8734d2
Move dht* to llarp/ 2018-12-12 02:53:01 +00:00
Jeff
f2c8b204c2
Merge pull request #129 from majestrate/dev
update introset when paths are dead
2018-12-11 10:54:59 -05:00
Jeff Becker
30a6a6bac6
always unset updatingIntroSet on response 2018-12-11 10:51:21 -05:00
Jeff Becker
d3348e8721
update introset if we have no good paths 2018-12-11 10:24:52 -05: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
1d1bde2e88
add dnslib 2018-12-03 17:22:59 -05: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
82af91213a
build one 2018-12-02 10:26:26 -05:00
Jeff Becker
7bc3d94895
try fixing rdns for local interace's address 2018-11-30 09:14:30 -05:00
Jeff Becker
11372c9544
Merge branch 'dev' into snode-endpoint 2018-11-29 09:34:19 -05:00
Jeff Becker
e11e83c397
fix pathbuilder 2018-11-29 09:18:53 -05:00
Jeff Becker
7de2ce72ad
wire up snode to dns (maybe) 2018-11-29 09:01:13 -05:00
Jeff Becker
85f9f46362
snode stubs (initial) 2018-11-29 08:12:35 -05:00
Jeff Becker
e3e337b96f
Merge branch 'master' into dev 2018-11-26 17:53:42 -05:00
Jeff Becker
7e4d74cbfc
add initial jni stuff for lokinet android. i fucking hate android so god damn much. 2018-11-26 17:46:22 -05:00
Jeff
5351ea5e22
Merge pull request #83 from majestrate/master
better config settings for defaults
2018-11-26 08:41:28 -05:00
Jeff Becker
7e3038fc26
better config settings for defaults 2018-11-26 08:39:04 -05:00
Jeff Becker
62533dda1d
better config settings for defaults 2018-11-26 08:29:45 -05:00
Jeff Becker
a81b88cc93
Merge remote-tracking branch 'origin/master' into dev 2018-11-25 11:59:47 -05:00
Jeff
a33f334bc2 better exit path logic 2018-11-25 11:58:27 -05:00
Jeff Becker
83c1488dd6
Merge remote-tracking branch 'origin/master' into dev 2018-11-25 09:37:16 -05:00