Commit Graph

586 Commits

Author SHA1 Message Date
Jeff Becker
e85cc1bc8a
fix 2019-05-22 13:47:33 -04:00
Jeff Becker
64c7ed42fc
make format 2019-05-22 12:20:50 -04:00
Jeff Becker
9c96aecf3f
move llarp::Logic to std::shared_ptr
add sequence numbers to HSD messages

begin work on network isolation code

add more docs
2019-05-22 12:20:03 -04:00
Michael
a83be769e2
More explicit error when keyfile is not a valid file 2019-05-18 18:34:25 +01:00
Jeff Becker
8da3b51589
more hax 2019-05-17 07:18:42 -04:00
Jeff Becker
f832c9a593
use shared_ptr 2019-05-11 10:13:35 -04:00
Jeff
e21f1020ee don't std::move 2019-05-11 08:48:54 -04:00
Jeff
06f8bb2f42 add blacklist-snode option 2019-05-10 12:19:33 -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
85fcb4bd84
fix it up 2019-05-09 11:54:22 -04:00
Jeff Becker
1d74585637
don't crash when we get no routers from lookup 2019-05-09 11:51:21 -04:00
Jeff Becker
7b03b63d13
more sighup code 2019-05-07 14:15:22 -04:00
Jeff Becker
a53da68700
start work on sighup 2019-05-07 13:46:38 -04:00
Michael
1744ae7686
Tidy up service endpoint a bit more 2019-05-07 09:29:47 +01:00
Jeff Becker
d423ee02d2
use shared_ptr 2019-05-03 09:15:03 -04:00
Jeff Becker
986e831579
make bundle-rc option configurable on snode tld 2019-05-02 14:11:44 -04:00
Jeff Becker
e0892f7d23
gfdi 2019-05-02 12:33:53 -04:00
Jeff Becker
407f895c86
ooff 2019-05-02 12:31:08 -04:00
Jeff Becker
5b49008bca
more 2019-05-02 12:23:31 -04:00
Jeff Becker
a97e1e37a7
dont filter intros they are already good 2019-05-02 09:47:22 -04:00
Jeff Becker
e060082441
hook every dns for .loki and .snode when applicable
make {n,h}uint{32,16}_t templated type.
2019-05-01 09:40:10 -04:00
Jeff
59e6a4bc3d make snode work again probably 2019-04-30 17:36:27 -04:00
Jeff Becker
20ba2c7b8c
try not to die 2019-04-30 12:57:59 -04:00
Jeff Becker
cde4fcc00a
queue pending traffic 2019-04-30 12:49:34 -04:00
Jeff Becker
bb47d612b3
more 2019-04-30 12:07:17 -04:00
Jeff Becker
0b68d3db5d
move stuff arround so that flushing queues are done in the correct event loops
TODO: locking
2019-04-30 11:09:42 -04:00
Jeff Becker
2a7ebce8f4
Merge remote-tracking branch 'origin/master' 2019-04-30 11:01:13 -04:00
Jeff Becker
5e0acc1197
separate upstream/downstream flush 2019-04-30 09:56:39 -04:00
Jeff Becker
d50b18d7b0
try fixing leak also make format 2019-04-30 08:22:15 -04:00
Michael
725ee293c1
Refactor well named functionality in service::Endpoint into new struct 2019-04-30 02:06:31 +01:00
Jeff
27fac68716 fix 2019-04-28 14:22:38 -04:00
Jeff
01906c5d94 Merge remote-tracking branch 'origin/master' 2019-04-28 13:33:27 -04:00
Michael
0b4d787042
More work on router docker image
- Multi-stage docker build (final image only 15MB!)
- Build in release mode
    - Fix bug with release mode
    - Fix compiler being dumb AF
    - Disable FORTIFY for now
- Enable LTO when making a staticly linked release
- Fix some gcc specific warnings
- Refactor cmake stuff into multiple files
2019-04-28 17:04:52 +01:00
Jeff Becker
0529e45ebe
more 2019-04-25 13:15:56 -04:00
Jeff Becker
6711296b26
finish converting to shared_ptr 2019-04-23 12:13:22 -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
e33a33635c
Remove usage of raw new from service classes 2019-04-22 18:38:29 +01:00
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 2019-04-22 08:25:25 -04: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
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
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
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 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
Jeff Becker
f5b9bd40ed
track lookup fails and kill outbound context if too many 2019-03-21 11:39:13 -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
f8d6becce8
make whitelist happy 2019-02-27 07:55:26 -05:00
Jeff Becker
ef13ec7499
Merge remote-tracking branch 'origin/staging' into staging 2019-02-26 07:55:27 -05: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
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
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
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 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
Jeff Becker
a953b34a45
fix crash 2019-02-05 10:06:53 -05:00
Ryan Tharp
fefb012bf8 fix llvm 3.8 2019-02-04 16:29:09 -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
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
Jeff Becker
e164970b00
make format 2019-01-24 10:14:54 -05: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
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
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
Michael
da6cdfc0b2
More refactoring to continue to make dependency graph acylic 2019-01-15 23:15:44 +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
df4fd0ef56
Fix some low hanging performance issues 2019-01-07 22:15:41 +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
ec57c72e08
fix testnet 2018-12-27 13:27:43 -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
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
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
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
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
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
a33f334bc2 better exit path logic 2018-11-25 11:58:27 -05:00
Jeff
736b313c4c fix previous commit 2018-11-25 09:35:52 -05:00
Jeff
05652af7a4 tick exit 2018-11-25 09:32:18 -05:00
Jeff Becker
5d0a9d7dc7
make format 2018-11-22 10:53:11 -05:00
Jeff Becker
0ac6deff00
logging, fix hidden services 2018-11-22 10:52:04 -05:00
Jeff Becker
12a4022a56
make testnet compile 2018-11-22 09:29:10 -05:00
Jeff Becker
a202bc58a8
use correct path roles 2018-11-21 09:30:14 -05:00
Jeff Becker
130307bc94
build paths with correct role 2018-11-21 09:22:45 -05:00
Jeff Becker
5357b4b69f
make clang happy, disable netns by default (for now) 2018-11-19 08:39:35 -05:00
Jeff Becker
d37daf7996
Merge branch 'master' into dev 2018-11-19 06:57:29 -05:00
Jeff Becker
7214f242e0
rip out old threadpool code 2018-11-19 06:56:40 -05:00
Jeff Becker
5dbe41608f
more exit stuff 2018-11-14 13:02:27 -05:00
Jeff Becker
f40e4c0c84
more exit stuff 2018-11-14 07:23:08 -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
Michael Thorpe
4f794277bc
Fix compile issue in endpoint.cpp 2018-11-03 20:17:28 +00:00
Jeff
1f7e0d79e6 make Endpoint::HasPathToService behavior correct 2018-11-03 11:27:52 -04:00
Jeff
50f37d8ede don't use endpoint's paths 2018-11-03 09:35:54 -04:00
Jeff Becker
dbd2c41909
use event loop for time 2018-10-29 12:48:36 -04:00
Jeff
5ec9b651df ony publish to near router 2018-10-23 13:15:22 -04:00
Jeff
78448174f5 don't propagate introset too far 2018-10-23 13:04:35 -04:00
Jeff Becker
4411d85040
fix headers 2018-10-23 08:40:34 -04:00
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality 2018-10-21 10:19:49 -04:00
Jeff
cc3908f025 more changes 2018-10-19 07:34:27 -04:00
Jeff Becker
e6a8edffbf
call hook 2018-10-16 11:57:17 -04:00
Jeff Becker
7960752430
fix crash 2018-10-16 07:14:41 -04:00
Jeff
1da0f9f6f5 path randomization for lookups on failure 2018-10-15 17:20:05 -04:00
Jeff Becker
f72a954029
log endpoint when requesting introset 2018-10-15 11:43:41 -04:00
Jeff Becker
acaeb26f45
shift intro if expired before building next message 2018-10-15 09:45:42 -04:00
Jeff Becker
252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset 2018-10-11 07:41:10 -04:00
Jeff
0023c15d0f fix introset expiration 2018-10-10 17:31:03 -04:00
Jeff Becker
a7f8da4cbc
fix double free 2018-10-09 08:10:20 -04:00
Jeff
bb3bed11dc try better handover logic again 2018-10-08 17:24:00 -04:00
Jeff
07871827d0 swap intro 2018-10-08 16:41:50 -04:00
Jeff
608768628a don't rebuild 2018-10-08 16:05:05 -04:00
Jeff
78b82f9a5e try not killing paths 2018-10-08 15:57:30 -04:00
Jeff
a1fd9a0f93 don't publish every build 2018-10-06 12:09:37 -04:00
Jeff
78e601807d fix 2018-10-06 12:04:46 -04:00
Jeff
9a60c08810 only publish when we have at least 3 established paths 2018-10-06 12:03:54 -04:00
Jeff
e5208b65cc mark session active 2018-10-06 11:41:24 -04:00
Jeff Becker
832e1849b2
remove log and swap intros 2018-10-04 14:15:22 -04:00
Jeff Becker
98df3b09f2
only use good routers 2018-10-04 13:51:45 -04:00
Jeff Becker
746e95994e
stricter profiling and better handover 2018-10-04 12:48:26 -04:00
Jeff Becker
f19f78b573
try better handover logic 2018-10-04 09:03:48 -04:00
Jeff
b7eea47336 fall through 2018-10-02 11:41:40 -04:00
Jeff
77b2903bda logging and add DST awareness to timestamps 2018-10-02 11:29:37 -04:00
Jeff
f3d446dafb handover logic fix, remove and add logging 2018-10-02 11:00:34 -04:00
Jeff Becker
0f7c7c871f
reduce log levels and don't establish outbound send context for previously made inbound sessions 2018-10-01 14:10:25 -04:00
Jeff Becker
23cff0bee3
try fixing all that tun shit, YOLO 2018-10-01 13:16:15 -04:00
Jeff Becker
9e8563a884
cache convo tag and drop traffic 2018-10-01 11:45:55 -04:00
Jeff Becker
1eef5387b6
update introset on message drop 2018-10-01 10:31:54 -04:00
Jeff Becker
681e669fd8
try better publish logic and timeouts for requests 2018-10-01 10:18:17 -04:00
Jeff Becker
36c927fc79
premptively build path to selected intro's router every time we don't have it if we get an introset update, on the outbound context 2018-09-28 11:46:47 -04:00
Jeff Becker
8878e5c4d1
redundancy with outbound contexts
have multiple outbound contexts and send on the one that is alive
2018-09-28 08:22:50 -04:00
Jeff Becker
869b758365
more 2018-09-27 13:29:26 -04:00
Jeff Becker
fa5389cb05
docstrings and manual rebuild if the path expires soon 2018-09-27 12:15:40 -04:00
Jeff Becker
724a093da7
syntax 2018-09-27 07:09:00 -04:00
Jeff Becker
17a8ac13ad
fix logic 2018-09-27 07:07:20 -04:00
Jeff Becker
d71882259e
try spacing path building out more wide in time so that intros don't die in the same small interval 2018-09-27 06:51:30 -04:00
Jeff Becker
9a062f79fb
use parent endpoint paths when we can more 2018-09-26 10:06:48 -04:00
Jeff Becker
b40dd30c7a
linear backoff for path building to lessen strain on the network 2018-09-26 09:04:25 -04:00
Jeff Becker
7b0860aec0
Merge remote-tracking branch 'ryan/master' 2018-09-26 07:22:27 -04:00
Jeff Becker
dc47a0630b
try using parent endpoint's pathset if outbound context does not have a path to a router 2018-09-26 07:16:54 -04:00
Jeff Becker
c9bfe640b7
increment sequence number so we don't spam new intro frames 2018-09-26 06:52:57 -04:00
Ryan Tharp
89d41dd365
Merge branch 'master' into master 2018-09-24 13:57:40 -07:00
Jeff Becker
b273676a63
more logic for dead sessions to prevent segfault 2018-09-24 15:50:52 -04:00
Jeff Becker
16508a99db
tweak timeouts more 2018-09-24 13:33:54 -04:00
Jeff Becker
2d18cfcdd7
tweak timeout 2018-09-24 13:14:05 -04:00
Jeff Becker
d298e4f124
use intros only if they don't expire soon 2018-09-24 13:13:29 -04:00
Jeff Becker
5dfaeebb16
mark sessions dead/inactive 2018-09-24 11:52:25 -04:00
Jeff Becker
9a20daa1ce
add send timeouts 2018-09-24 11:34:56 -04:00
Jeff Becker
983c72f032
use 6 paths by default 2018-09-24 10:46:43 -04:00
Jeff Becker
3af93954f3
actually publish via far router 2018-09-24 10:31:58 -04:00
Ryan Tharp
0e6d85f6c9 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-24 13:24:42 +00:00
Jeff Becker
79680a4f6b
try not killing paths if they get data
use correct mainloop
2018-09-24 08:56:07 -04:00
Jeff Becker
17d2aa1df1
track path data usage and don't kill paths when under heavy use 2018-09-24 07:36:47 -04:00
Jeff Becker
97bae70817
close sessions on link close not on destructor 2018-09-24 06:23:11 -04:00
Ryan Tharp
eef2dbaaf4 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 21:55:11 +00:00
Jeff Becker
4309ea3b97
better handling for introset propagation 2018-09-21 12:37:49 -04:00
Jeff Becker
a91f54cc8a
when we get an invalid introset in response call handler if exists with empty result instead of timing out 2018-09-21 12:17:26 -04:00
Ryan Tharp
6cb073aa02 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 11:06:57 +00:00
Jeff
d9424ca04b fix macos compile 2018-09-20 10:32:31 -04:00
Ryan Tharp
18c1e7094f undo llvm 3.8 fixme, Jeff said he fixed it 2018-09-20 12:48:06 +00:00
Ryan Tharp
29a304f928 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-20 12:45:19 +00:00
Jeff Becker
5fb08c2139
check introset timestamps 2018-09-20 07:27:18 -04:00
Jeff Becker
8588aaa60b
dont use expired intros when shifting intros and lookup introsets via near router. 2018-09-20 07:08:12 -04:00
Jeff Becker
5d5db06cbf
update handover logic a bit 2018-09-19 12:20:34 -04:00
Jeff Becker
8901123b34
try better handover 2018-09-19 09:59:14 -04:00
Ryan Tharp
8f5b172d33 merge? 2018-09-19 06:24:36 -07:00
Ryan Tharp
f283923cb7 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 12:28:48 +00:00
Ryan Tharp
9f33edeed0 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 12:22:34 +00:00
Jeff Becker
be38ea70f0
try fixing CI builds 2018-09-19 07:50:18 -04:00
Jeff Becker
62bae2075b
proper shift 2018-09-18 20:17:35 -04:00
Jeff Becker
f110f3f3ad
tweak parameters for path build and obtain path if we have none 2018-09-18 19:56:26 -04:00
Jeff Becker
8e4b0a7963
fix reply logic 2018-09-18 18:54:04 -04:00
Jeff Becker
c31fd5fcde
make hidden services work again (probably) 2018-09-18 17:32:17 -04:00
Jeff Becker
5ebe3cc97c
limits and have clients use ephemeral identity 2018-09-18 16:56:22 -04:00
Jeff Becker
d83eb54739
only shift introset when we get a drop that matches current intro set 2018-09-18 16:15:18 -04:00
Jeff Becker
ebe30e81c9
try unscrewing things up 2018-09-18 13:48:26 -04:00
Jeff Becker
8d679b00a7
only log errors on sessions made with utp
only rebuild paths when introset changes router for outbound context
2018-09-18 11:05:56 -04:00
Jeff Becker
d1f1dd3c84
publish intro to multiple routers 2018-09-18 10:48:06 -04:00
Jeff Becker
2cf5e14ae9
lookup routers for intros 2018-09-18 10:04:46 -04:00
Jeff Becker
271acaf7e9
better intro shift logic, also actually shift intros 2018-09-18 09:38:26 -04:00
Jeff Becker
96716a39ef
send link layer keep alive and track bad intros 2018-09-18 09:02:52 -04:00
Jeff Becker
0c1e22650e
try calcuating tcp checksums right
try tracking convo tags correctly
2018-09-18 07:08:47 -04:00
Jeff Becker
8d6e7df94d
update convo tag and intro 2018-09-18 06:18:57 -04:00
Jeff Becker
1471e90fb5
intro handover 2018-09-17 20:32:11 -04:00
Jeff Becker
6dfed968ea
use correct parameter 2018-09-17 12:27:16 -04:00
Jeff Becker
bc3b411dbf
make it right 2018-09-17 12:22:11 -04:00
Jeff Becker
217f4a0d3f
use correct intro in tag tracking 2018-09-17 12:12:42 -04:00
Jeff Becker
9ffcf66e58
more checks less logging 2018-09-17 11:32:37 -04:00
Jeff Becker
f029b9508c
pick router closest in keyspace for lookups and publishing 2018-09-17 08:10:44 -04:00
Jeff Becker
c900e9d004
increment iterator 2018-09-17 07:45:35 -04:00
Jeff Becker
4f691b8974
make tun write correct number of bytes
try doing correct ip checksum and for upper layers that need it too

supported right now are icmp, tcp, and udp. more will come later
probably.
2018-09-16 08:06:19 -04:00
Jeff Becker
f5b8d552e1
path peer profiling
propagate introsets better
2018-09-14 10:50:37 -04:00
Jeff Becker
354df88367
more ip endpoint fixes
spam dht with lookups less
2018-09-14 09:43:42 -04:00
Jeff Becker
76e87aa608
more debug logging
timed out paths are not expired
2018-09-13 09:07:00 -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
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
b947e55616
fix leak on sign/encrypt fail 2018-09-12 19:21:59 -04:00
Jeff Becker
b56d25730e
improve send rate 2018-09-12 09:29:42 -04:00
Jeff Becker
6f4e998910
fix previous commit 2018-09-11 12:31:53 -04:00
Jeff Becker
3d424b57a7
client side endpoint improvements 2018-09-11 12:21:43 -04:00
Jeff Becker
ac2c14437f
god damnit 2018-09-11 12:04:00 -04:00
Jeff Becker
a9b259985e
add data discarded message in routing layer to indicate
a path no longer exists.
2018-09-11 11:28:36 -04:00
Jeff Becker
baf2e1fb3c
client improvements
for real do correct timestamp comparison for introsets
2018-09-11 09:21:35 -04:00
Jeff Becker
2993e834a0
fix ip stuff 2018-09-10 15:31:29 -04:00
Jeff Becker
2eca0005c1
fix up more stuff 2018-09-10 13:37:28 -04:00
Jeff Becker
c3a7f64344
expire introsets correctly and allow multiple tun if 2018-09-10 12:36:36 -04:00
Jeff Becker
b96887ddb2
various fixes and tweaks 2018-09-10 09:43:36 -04:00
Jeff Becker
1952ece99d
more logging 2018-09-10 07:08:09 -04:00
Ryan Tharp
742a0b8da7 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-06 00:32:06 +00:00
Jeff Becker
c3c388b6aa
remove iwp and start on curvecp
does not compile
2018-09-02 14:25:42 -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
d3eef5c8b7
more netns code 2018-08-26 08:51:22 -04:00
Ryan Tharp
8724ddd792 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-23 22:51:23 +00:00
Jeff
7af9ed0f70 Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-08-23 14:02:13 -04:00
Jeff
367258551b fix osx build 2018-08-23 14:02:02 -04:00