Jeff Becker
d423ee02d2
use shared_ptr
5 years ago
Jeff Becker
986e831579
make bundle-rc option configurable on snode tld
5 years ago
Jeff Becker
e0892f7d23
gfdi
5 years ago
Jeff Becker
407f895c86
ooff
5 years ago
Jeff Becker
5b49008bca
more
5 years ago
Jeff Becker
a97e1e37a7
dont filter intros they are already good
6 years ago
Jeff Becker
e060082441
hook every dns for .loki and .snode when applicable
...
make {n,h}uint{32,16}_t templated type.
6 years ago
Jeff
59e6a4bc3d
make snode work again probably
6 years ago
Jeff Becker
20ba2c7b8c
try not to die
6 years ago
Jeff Becker
cde4fcc00a
queue pending traffic
6 years ago
Jeff Becker
bb47d612b3
more
6 years ago
Jeff Becker
0b68d3db5d
move stuff arround so that flushing queues are done in the correct event loops
...
TODO: locking
6 years ago
Jeff Becker
2a7ebce8f4
Merge remote-tracking branch 'origin/master'
6 years ago
Jeff Becker
5e0acc1197
separate upstream/downstream flush
6 years ago
Jeff Becker
d50b18d7b0
try fixing leak also make format
6 years ago
Michael
725ee293c1
Refactor well named functionality in service::Endpoint into new struct
6 years ago
Jeff
27fac68716
fix
6 years ago
Jeff
01906c5d94
Merge remote-tracking branch 'origin/master'
6 years ago
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
6 years ago
Jeff Becker
0529e45ebe
more
6 years ago
Jeff Becker
6711296b26
finish converting to shared_ptr
6 years ago
Jeff Becker
99c29cf05a
prepare for ios/android jazz
...
move to use std::shared_ptr instead of bare pointers so we can
multithread everything.
6 years ago
Jeff Becker
5872573e91
rename Logic and Crypto functions to GetLogic and GetCrypto
6 years ago
Jeff Becker
a2912ff860
Merge remote-tracking branch 'origin/master'
6 years ago
Michael
e33a33635c
Remove usage of raw new from service classes
6 years ago
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format
6 years ago
Michael
94ad84363a
Move CachedTagResult and TagLookupJob to its own component
6 years ago
Michael
6bf54e0925
Remove AsyncKeyExchange, HiddenServiceAddressLookup and OutboundContext to their own components
6 years ago
Michael
3db6d80928
Remove unnecessary llarp:: qualifiers
6 years ago
Michael
2412ed59ee
Move SendContext to its own component
6 years ago
Jeff Becker
57dc6cc965
make bundling rc in path builds configurable on runtime
6 years ago
Jeff Becker
2be3401e08
* refactor profiling function names
...
* utp link layer make ping less active, pre-emptive pump faster
6 years ago
Jeff Becker
9503cc66f0
add disk worker based file flusher logger
...
make format
remove package.json
6 years ago
Jeff Becker
a45d6db0e0
better profiling
6 years ago
Jeff
c64fbf7cc5
Merge branch 'master' of ssh://github.com/majestrate/loki-network
6 years ago
Jeff Becker
28e07903b6
put reply intro
6 years ago
Jeff
95119a0fe1
always use random paths for lookups
6 years ago
Jeff Becker
e178a70929
use shared_ptr for event loop
6 years ago
Jeff
3783fb0e14
fix inbound sessions
6 years ago
Jeff Becker
c910a2a2fb
more
6 years ago
Jeff
60a42a83a3
better introset publish logic
6 years ago
Jeff Becker
aea9944c3d
mark success on profiles and remove pending lookup
6 years ago
Jeff Becker
b9207ce3e0
unconditionally update introset on dead path
6 years ago
Jeff Becker
24e7151ff5
log and don't remove path on died
6 years ago
Jeff Becker
b849ff9a94
handle path death better
6 years ago
Jeff Becker
74f9949537
aaaaaa
6 years ago
Jeff
aa08d20480
ensure router is known
6 years ago
Jeff
ed10ef0b7d
don't shift only build
6 years ago
Jeff Becker
714f5c6b5e
more
6 years ago
Jeff Becker
9e531c026c
fix warning on hop selection
6 years ago
Jeff Becker
8e2b99907f
mark nodes timeout on lookup timeout
6 years ago
Jeff Becker
1882ffc016
don't publish or use bad routers with endpoints
6 years ago
Jeff Becker
f5b9bd40ed
track lookup fails and kill outbound context if too many
6 years ago
Jeff Becker
5d3833ef1a
fix dumb as shit path building that causes premature termiantion because of duplicate hops
6 years ago
Jeff Becker
6489ea2152
make it work
6 years ago
Jeff Becker
8a4c0ce841
more
6 years ago
Jeff Becker
280d85d478
handle protocol discard
6 years ago
Jeff Becker
df17866ff7
breaking protocol change, bundle source txid on outside of path transfer message.
6 years ago
Jeff Becker
a5557e0902
always use current intro for reply
6 years ago
Jeff Becker
c9a4c77fb9
better chill with path building
6 years ago
Jeff Becker
6a09348c47
today's work
6 years ago
Jeff Becker
eceb55623c
more
6 years ago
Jeff Becker
159415c363
delay dns resolution for snode until we have a session with it
6 years ago
Jeff Becker
f8d6becce8
make whitelist happy
6 years ago
Jeff Becker
ef13ec7499
Merge remote-tracking branch 'origin/staging' into staging
6 years ago
Jeff
5c941263e9
Merge pull request #339 from michael-loki/dht_context_testing
...
Solidify interfaces
6 years ago
Michael
4fb2b39f74
Format changes
6 years ago
Jeff Becker
5642179019
publish retry on failure for introset publishing
6 years ago
Jeff Becker
a81a483cc2
build paths if we don't have enough
6 years ago
Jeff Becker
21ab744b17
build one path if we don't have a path for remote intro on send
6 years ago
Jeff Becker
c7e100787b
swap intros should only swap intros
6 years ago
Jeff Becker
eecc00211f
squash commits and make convotags more "reliable" (probably)
6 years ago
Jeff Becker
5dde4e6351
use source path's intro as being able to reply on convo tags
6 years ago
Jeff Becker
762728c7ec
fix
6 years ago
Jeff Becker
3baf89e8ce
more
6 years ago
Jeff Becker
262000570b
use source path's intro as being able to reply on convo tags
6 years ago
Jeff Becker
b511242632
increment sequence number on good send only
6 years ago
Jeff Becker
b1dd10c007
fix previous commit
6 years ago
Jeff Becker
393e70dfa6
publish new introset on path death
6 years ago
Rick V
5a3947ca5c
clang-format
6 years ago
Jeff Becker
445ed05b32
make format
6 years ago
Michael
887fb4ac62
Replace insert(make_pair()) with emplace()
6 years ago
Michael
048fa83c39
Finish replacement of Router with AbstractRouter
6 years ago
Jeff Becker
550fc3c439
Revert "tweaking handover logic"
...
This reverts commit 50bfe5d810
.
6 years ago
Jeff Becker
50bfe5d810
tweaking handover logic
6 years ago
Jeff Becker
1921704b78
tweak timeout
6 years ago
Jeff Becker
46222df421
refactor
6 years ago
Jeff Becker
05cd1b7f8e
extract more status info for outbound context
6 years ago
Jeff Becker
1a929f9383
send control messages if too quiet to keep convotags alive as needed
6 years ago
Jeff Becker
9a2f11a212
try expiring convos
6 years ago
Jeff Becker
6df133cab2
remove dead sessions when done
6 years ago
Jeff Becker
66753430ad
fix it
6 years ago
Jeff Becker
e1522faeaa
add introspection rpc endpoint
6 years ago
Jeff Becker
6fa10019d0
testnet tweak
6 years ago
Jeff Becker
32ecf64c57
fix testnet
6 years ago
Jeff
4c4f3faf83
Merge pull request #284 from michael-loki/abstract_router
...
Convert llarp::Router into an abstract base class
6 years ago
Jeff Becker
90e45a810a
limit number of concurrent dht lookups from dns to 4
6 years ago
Jeff Becker
f84256d554
* lower lookup timeout for introsets
...
* correct previous commit for dns stuff
* allow for multiple parallel introset lookups
6 years ago
Jeff Becker
b40055181d
lower path build timeout to 15s
...
tweak various dns stuff
6 years ago
Michael
729cd045f1
Convert llarp::Router into an abstract base class
6 years ago
Jeff Becker
a953b34a45
fix crash
6 years ago
Ryan Tharp
fefb012bf8
fix llvm 3.8
6 years ago
Michael
f3b0af9d2f
Create CopyableBuffer type
6 years ago
Michael
2de621b0ad
Disable copy constructing llarp_buffer_t
6 years ago
Ryan Tharp
f20ac0f6e9
Merge branch 'staging' into crypto_interface
6 years ago
Jeff Becker
f1cf63fce7
add initial localhost.loki handling in dns
6 years ago
Michael
f24f554a01
Convert llarp::Crypto into an abstract base class
6 years ago
Jeff Becker
e164970b00
make format
6 years ago
Ryan Tharp
31f196a6eb
Merge pull request #236 from michael-loki/dht_tests
...
Add test suites for dht bucket, kademlia and key
6 years ago
Michael
7296ebcbe8
Tidy dht code
6 years ago
Ryan Tharp
332336060c
Always have a key early (even if no key file set) so you don't regen keys twice
6 years ago
Ryan Tharp
1ba5b75082
Merge branch 'master' of https://github.com/neuroscr/loki-network
6 years ago
Ryan Tharp
c24751f3c1
Jeff approved workaround to read Keyfile early so Name() can be correct during set up/configuration
6 years ago
Michael
da6cdfc0b2
More refactoring to continue to make dependency graph acylic
6 years ago
Michael
081d4dfa32
Reorganise source into more folders
6 years ago
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library
6 years ago
Michael
df4fd0ef56
Fix some low hanging performance issues
6 years ago
Michael
ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer
6 years ago
Michael
1410d0a0cf
Remove byte* conversion operators from llarp::AlignedBuffer
6 years ago
Michael
58364a01c8
Remove array conversion operators from llarp::AlignedBuffer
6 years ago
Michael
334161c9bb
Remove data() conversions from llarp::AlignedBuffer
6 years ago
Jeff Becker
ec57c72e08
fix testnet
6 years ago
Jeff Becker
e835c5f69a
add graceful stop for path builders and friends
6 years ago
Jeff Becker
3a8818980f
make path length configurable on compile time
6 years ago
Jeff Becker
8c8172aeb1
Merge remote-tracking branch 'origin/master' into dev
6 years ago
Michael
037cb87523
Convert llarp::AlignedBuffer to be backed by std::array
6 years ago
Jeff Becker
8e6046ff1c
order downstream packets
6 years ago
Jeff Becker
46bee291c2
order downstream packets
6 years ago
Jeff Becker
6fc42dc7ad
fixes
6 years ago
Jeff Becker
e787165da9
expire old snode sessions
6 years ago
Jeff Becker
09e01adf32
flush snode traffic queues
6 years ago
Michael
85dde7b6b0
Move remaining include/llarp headers to llarp/
6 years ago
Michael
e887b4e9c7
Move service* to llarp/
6 years ago
Michael
fddc8734d2
Move dht* to llarp/
6 years ago
Jeff
f2c8b204c2
Merge pull request #129 from majestrate/dev
...
update introset when paths are dead
6 years ago
Jeff Becker
30a6a6bac6
always unset updatingIntroSet on response
6 years ago
Jeff Becker
d3348e8721
update introset if we have no good paths
6 years ago
Michael
7be452092c
Convert llarp_crypto to be a true C++ class
6 years ago
Michael
6358b25db0
Convert llarp_nodedb to be a true C++ class
6 years ago
Michael
f0fce5b68a
Convert llarp_router to be a true C++ class
6 years ago
Jeff Becker
fad734a5ce
strict types for pubkey, secretkey and routerid
6 years ago
Michael
30e9dca2e5
Convert llarp_logic to be a C++ class
6 years ago
Jeff Becker
622ed8d12e
fix crash on premature close of event loop (also make format)
6 years ago
Jeff Becker
82af91213a
build one
6 years ago
Jeff Becker
e11e83c397
fix pathbuilder
6 years ago
Jeff Becker
7de2ce72ad
wire up snode to dns (maybe)
6 years ago
Jeff Becker
85f9f46362
snode stubs (initial)
6 years ago
Jeff
a33f334bc2
better exit path logic
6 years ago
Jeff
736b313c4c
fix previous commit
6 years ago
Jeff
05652af7a4
tick exit
6 years ago
Jeff Becker
5d0a9d7dc7
make format
6 years ago
Jeff Becker
0ac6deff00
logging, fix hidden services
6 years ago
Jeff Becker
12a4022a56
make testnet compile
6 years ago
Jeff Becker
a202bc58a8
use correct path roles
6 years ago
Jeff Becker
130307bc94
build paths with correct role
6 years ago
Jeff Becker
5357b4b69f
make clang happy, disable netns by default (for now)
6 years ago
Jeff Becker
d37daf7996
Merge branch 'master' into dev
6 years ago
Jeff Becker
7214f242e0
rip out old threadpool code
6 years ago
Jeff Becker
5dbe41608f
more exit stuff
6 years ago
Jeff Becker
f40e4c0c84
more exit stuff
6 years ago
Jeff Becker
38a92cb1a8
fixes for testnet
6 years ago
Michael Thorpe
33bfaf7ecd
Enable -Wextra
...
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
6 years ago
Michael Thorpe
4f794277bc
Fix compile issue in endpoint.cpp
6 years ago
Jeff
1f7e0d79e6
make Endpoint::HasPathToService behavior correct
6 years ago
Jeff
50f37d8ede
don't use endpoint's paths
6 years ago
Jeff Becker
dbd2c41909
use event loop for time
6 years ago
Jeff
5ec9b651df
ony publish to near router
6 years ago
Jeff
78448174f5
don't propagate introset too far
6 years ago
Jeff Becker
4411d85040
fix headers
6 years ago
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality
6 years ago
Jeff
cc3908f025
more changes
6 years ago
Jeff Becker
e6a8edffbf
call hook
6 years ago
Jeff Becker
7960752430
fix crash
6 years ago
Jeff
1da0f9f6f5
path randomization for lookups on failure
6 years ago
Jeff Becker
f72a954029
log endpoint when requesting introset
6 years ago
Jeff Becker
acaeb26f45
shift intro if expired before building next message
6 years ago
Jeff Becker
252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset
6 years ago
Jeff
0023c15d0f
fix introset expiration
6 years ago
Jeff Becker
a7f8da4cbc
fix double free
6 years ago
Jeff
bb3bed11dc
try better handover logic again
6 years ago
Jeff
07871827d0
swap intro
6 years ago
Jeff
608768628a
don't rebuild
6 years ago
Jeff
78b82f9a5e
try not killing paths
6 years ago
Jeff
a1fd9a0f93
don't publish every build
6 years ago
Jeff
78e601807d
fix
6 years ago
Jeff
9a60c08810
only publish when we have at least 3 established paths
6 years ago
Jeff
e5208b65cc
mark session active
6 years ago
Jeff Becker
832e1849b2
remove log and swap intros
6 years ago
Jeff Becker
98df3b09f2
only use good routers
6 years ago
Jeff Becker
746e95994e
stricter profiling and better handover
6 years ago
Jeff Becker
f19f78b573
try better handover logic
6 years ago
Jeff
b7eea47336
fall through
6 years ago
Jeff
77b2903bda
logging and add DST awareness to timestamps
6 years ago
Jeff
f3d446dafb
handover logic fix, remove and add logging
6 years ago
Jeff Becker
0f7c7c871f
reduce log levels and don't establish outbound send context for previously made inbound sessions
6 years ago
Jeff Becker
23cff0bee3
try fixing all that tun shit, YOLO
6 years ago
Jeff Becker
9e8563a884
cache convo tag and drop traffic
6 years ago
Jeff Becker
1eef5387b6
update introset on message drop
6 years ago
Jeff Becker
681e669fd8
try better publish logic and timeouts for requests
6 years ago
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
6 years ago
Jeff Becker
8878e5c4d1
redundancy with outbound contexts
...
have multiple outbound contexts and send on the one that is alive
6 years ago
Jeff Becker
869b758365
more
6 years ago
Jeff Becker
fa5389cb05
docstrings and manual rebuild if the path expires soon
6 years ago
Jeff Becker
724a093da7
syntax
6 years ago
Jeff Becker
17a8ac13ad
fix logic
6 years ago
Jeff Becker
d71882259e
try spacing path building out more wide in time so that intros don't die in the same small interval
6 years ago
Jeff Becker
9a062f79fb
use parent endpoint paths when we can more
6 years ago
Jeff Becker
b40dd30c7a
linear backoff for path building to lessen strain on the network
6 years ago
Jeff Becker
7b0860aec0
Merge remote-tracking branch 'ryan/master'
6 years ago
Jeff Becker
dc47a0630b
try using parent endpoint's pathset if outbound context does not have a path to a router
6 years ago
Jeff Becker
c9bfe640b7
increment sequence number so we don't spam new intro frames
6 years ago
Ryan Tharp
89d41dd365
Merge branch 'master' into master
6 years ago
Jeff Becker
b273676a63
more logic for dead sessions to prevent segfault
6 years ago
Jeff Becker
16508a99db
tweak timeouts more
6 years ago
Jeff Becker
2d18cfcdd7
tweak timeout
6 years ago
Jeff Becker
d298e4f124
use intros only if they don't expire soon
6 years ago
Jeff Becker
5dfaeebb16
mark sessions dead/inactive
6 years ago
Jeff Becker
9a20daa1ce
add send timeouts
6 years ago
Jeff Becker
983c72f032
use 6 paths by default
6 years ago
Jeff Becker
3af93954f3
actually publish via far router
6 years ago
Ryan Tharp
0e6d85f6c9
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Jeff Becker
79680a4f6b
try not killing paths if they get data
...
use correct mainloop
6 years ago
Jeff Becker
17d2aa1df1
track path data usage and don't kill paths when under heavy use
6 years ago
Jeff Becker
97bae70817
close sessions on link close not on destructor
6 years ago
Ryan Tharp
eef2dbaaf4
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Jeff Becker
4309ea3b97
better handling for introset propagation
6 years ago
Jeff Becker
a91f54cc8a
when we get an invalid introset in response call handler if exists with empty result instead of timing out
6 years ago
Ryan Tharp
6cb073aa02
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Jeff
d9424ca04b
fix macos compile
6 years ago
Ryan Tharp
18c1e7094f
undo llvm 3.8 fixme, Jeff said he fixed it
6 years ago
Ryan Tharp
29a304f928
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Jeff Becker
5fb08c2139
check introset timestamps
6 years ago
Jeff Becker
8588aaa60b
dont use expired intros when shifting intros and lookup introsets via near router.
6 years ago
Jeff Becker
5d5db06cbf
update handover logic a bit
6 years ago
Jeff Becker
8901123b34
try better handover
6 years ago
Ryan Tharp
8f5b172d33
merge?
6 years ago
Ryan Tharp
f283923cb7
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Ryan Tharp
9f33edeed0
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Jeff Becker
be38ea70f0
try fixing CI builds
6 years ago
Jeff Becker
62bae2075b
proper shift
6 years ago
Jeff Becker
f110f3f3ad
tweak parameters for path build and obtain path if we have none
6 years ago
Jeff Becker
8e4b0a7963
fix reply logic
6 years ago
Jeff Becker
c31fd5fcde
make hidden services work again (probably)
6 years ago
Jeff Becker
5ebe3cc97c
limits and have clients use ephemeral identity
6 years ago
Jeff Becker
d83eb54739
only shift introset when we get a drop that matches current intro set
6 years ago
Jeff Becker
ebe30e81c9
try unscrewing things up
6 years ago
Jeff Becker
8d679b00a7
only log errors on sessions made with utp
...
only rebuild paths when introset changes router for outbound context
6 years ago
Jeff Becker
d1f1dd3c84
publish intro to multiple routers
6 years ago
Jeff Becker
2cf5e14ae9
lookup routers for intros
6 years ago
Jeff Becker
271acaf7e9
better intro shift logic, also actually shift intros
6 years ago