Jeff Becker
2d82e931da
try doing lookup from close router, randomize when above lookup threshold
2020-01-09 06:26:41 -05:00
Jeff Becker
8a5365d9a6
diversify endpoints
2020-01-07 13:00:15 -05:00
Jeff Becker
5ae428a114
Revert "remove call to link manager"
...
This reverts commit 3dd36fa11a
.
2019-12-30 11:13:17 -05:00
Jeff Becker
a5121c346c
remove call to link manager
2019-12-30 11:13:17 -05:00
Jeff Becker
d1a29884df
client side perf improvement
2019-12-30 11:13:17 -05:00
Jeff Becker
79c3c748e4
limit number of snode sessions client side
2019-12-30 05:19:03 -05:00
Stephen Shelton
2c6226f54a
Backup SNApp keys when migrating to new ed25519 crypto
2019-12-06 11:21:14 -07:00
Jeff Becker
0828307906
fix address mapping bug
2019-11-29 19:11:14 -04:00
Jeff Becker
8849173112
try async decrypt then verify
2019-11-29 19:11:14 -04:00
Jeff Becker
ba0fd223d9
reduce number of jobs we put onto the logic thread
2019-11-29 18:45:06 -04:00
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs
2019-11-22 16:23:19 -05:00
Jeff Becker
2c5561fc3c
make format
2019-11-05 12:01:34 -05:00
Jeff Becker
7ee026fa50
make path builds work again
2019-11-05 11:58:53 -05:00
jeff
32ed821763
Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography
2019-10-01 10:51:28 -04:00
jeff
7c691cf334
handover should be fixed now
2019-09-19 16:28:12 -04:00
jeff
6c2ebbb925
try fixing handover and add snapp traffic to multithreaded crypto workers
2019-09-19 10:41:31 -04:00
Jeff Becker
327c545530
finish multithread cryptography first pass
2019-09-16 12:12:05 -04:00
jeff
14c9ef15ed
try calling stuff in logic thread from event loop
2019-09-16 06:21:12 -04:00
Jeff Becker
1adae338ce
Merge remote-tracking branch 'origin/master'
2019-09-04 07:58:02 -04:00
Michael
edd0ec398f
Move thread stuff to subdirectory
2019-09-03 20:52:28 +01:00
Michael
4d8fe2a8a8
Move meta programming to subdirectory
2019-09-03 20:52:28 +01:00
Jeff Becker
c01112e4b7
tracy lock contention testing and other fun things
2019-09-03 11:56:56 -04:00
Jeff Becker
eabbb83149
use estimated build time instead of expiration time for delta when determining when to space out builds
2019-08-27 16:07:09 -04:00
Jeff Becker
e0424a91a7
bump path build handover window, check cooldown on build.
2019-08-27 16:00:00 -04:00
Jeff Becker
3c3338e801
Merge remote-tracking branch 'origin/master' into memlink
2019-08-21 10:53:25 -04:00
Michael
094b697b01
Replace StatusObject with underlying JSON type
2019-08-19 10:33:26 +01:00
Michael
16cdfbd5f0
clang-tidy modernize pass
2019-08-12 16:52:58 +01:00
Jeff Becker
c1f33bb1ac
initial mempipe implementation
2019-08-07 12:33:29 -04:00
Michael
f9e9227e19
Fix gcc trunk warnings
2019-08-02 10:29:08 +01:00
Jeff Becker
db2206664a
fix crashes in testnet
2019-07-29 11:10:20 -04:00
Jeff Becker
f48754c45d
make hop count and length configurable
2019-07-18 12:28:17 -04:00
Michael
e52492911d
Refactor endpoint state management to a new class
2019-07-15 10:15:51 +01:00
Jeff Becker
1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-07-12 09:53:52 -04:00
Michael
488695047f
Remove redundant else blocks
2019-07-09 22:54:46 +01:00
Jeff Becker
b9bcc2b775
make threadpool consice
2019-07-09 09:47:24 -04:00
Jeff Becker
fd911d0c52
make format
2019-07-08 10:22:47 -04:00
Jeff Becker
6467d21ba0
* fix testnet codepath
...
* add packet info for osx
2019-07-05 10:13:58 -04:00
Jeff Becker
81cab62bb9
* fix testnet codepath
...
* add packet info for osx
2019-07-05 08:07:06 -04:00
Jeff Becker
5874c38b38
swap path on inbound convo if expires soon
2019-07-01 17:35:49 -04:00
Jeff Becker
f211ff182a
pick ready paths for reply
2019-07-01 16:45:00 -04:00
Jeff Becker
d6ec528a72
start work on seperating ips out of endpoint
2019-07-01 10:56:56 -04:00
Jeff Becker
64e9622270
start seperating tun and endpoint
2019-07-01 09:44:25 -04:00
Jeff Becker
0146a967d0
fix convotag inbound state setting
2019-06-28 11:49:29 -04:00
Jeff Becker
6bca652182
choose first timestamp
2019-06-28 10:48:00 -04:00
Jeff Becker
0b90acff75
handle reply intro
2019-06-28 10:12:20 -04:00
Jeff Becker
b0612e2ee1
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-06-21 11:23:53 -04:00
Michael
b6b400baef
Tidy up pathbuilder code
2019-06-20 17:35:40 +01:00
Jeff Becker
5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-06-20 10:35:51 -04:00
Michael
08609f9e5a
Rename message files
2019-06-19 23:30:07 +01:00
Michael
8a058fcb34
Move other messages
2019-06-19 21:35:57 +01:00
Michael
d6751e3eeb
Move subset of messages to right directory
2019-06-19 21:35:26 +01:00
Jeff Becker
cd05fa6150
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-06-18 08:46:35 -04:00
Rick V
c6c31efec9
make format
2019-06-17 23:29:54 -05:00
Jeff Becker
30f6a8ccd2
make format
2019-06-17 09:05:37 -04:00
Jeff Becker
9c24fc15a8
try not spamming network with builds
2019-06-17 08:43:16 -04:00
Jeff Becker
5853e5e3f4
pass in path
2019-06-14 09:13:06 -04:00
Jeff Becker
a323003824
differentiate between inbound and outbound convos
2019-06-14 08:49:45 -04:00
Jeff Becker
2403ab8f86
ipv6
2019-06-11 12:44:05 -04:00
Jeff Becker
9ec41b8831
update RC expiration logic, lookup more often and remove stale entries
2019-06-10 08:47:21 -04:00
Jeff Becker
73c1538518
fix
2019-06-06 07:16:03 -04:00
Jeff Becker
f7ccbf0c78
eh
2019-06-06 07:10:18 -04:00
Jeff Becker
f8e2edae28
fix
2019-06-06 07:06:34 -04:00
Jeff Becker
223f2702d3
Merge branch 'fix-big-ooooofff'
2019-06-06 06:53:54 -04:00
Jeff Becker
a33dbce680
try switching logic
2019-06-06 06:52:27 -04:00
Jeff Becker
f8026b8a2d
use latest tag not oldest tag in inbound convos
2019-06-04 09:53:50 -04:00
Jeff Becker
39b1f104a8
revert
2019-06-04 09:43:49 -04:00
Jeff Becker
471a4bf6dd
use reply intro for inbound sessions
2019-06-04 09:34:24 -04:00
Michael
75430a234c
Convert to use memFn
2019-06-02 22:19:10 +01:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers
2019-05-28 20:45:08 +01:00
Michael
d49e57aa8d
Fix thread safety issue in service::Endpoint::ProcessDataMessage
2019-05-22 21:28:17 +01:00
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