jeff
75f9643776
attempt to fix snode traffic ip rewrite bug
4 years ago
jeff
fac5502c55
if Router::SendToOrQueue fails propagate that failure in LRCM handler
4 years ago
jeff
b6d63968c4
* correct unit tests for exit context so they pass
...
* when providing an ip address for inbound links dont throw if they are valid
4 years ago
jeff
2aaed895f3
disable exits in RCs
4 years ago
Jeff Becker
3619356406
attempt fixing 100% cpu use on relays
4 years ago
Jeff Becker
ff130e2b5e
die if we are a relay and don't have any inbound links
4 years ago
Jeff Becker
8c3621cead
fix issue #1328
4 years ago
Jeff Becker
37e16291cb
working on linux with root
4 years ago
Jeff Becker
576c6ec9d4
fix serialize order of dict in peer stats and make the unit tests match this change
4 years ago
Jeff Becker
e9aa200e8c
make formatting happy
4 years ago
Rick V
5c34665fce
move win32 lokimq patch
4 years ago
Jeff Becker
4bb214eba0
attempt fix for libunbound on win32
...
* run unbound stuff in another thread because LOL windows
* because unbound runs in another thread callbacks for libunbound need to be wrapped in a deferred call so they are done in the logic thread
* bump sqlite3 dep because it's gone, repin hash.
4 years ago
Jeff Becker
301cb6d32f
fix issue #1320 (allow providing ip/port in bind section of config)
4 years ago
Stephen Shelton
83d337ddfd
Send response on error conditions in API request
4 years ago
Stephen Shelton
b037cf0ae4
Handle get_peer_stats request's list of router ids
4 years ago
Stephen Shelton
4699280d97
Crude attempt at retrying lokid connection
4 years ago
Stephen Shelton
1d9c337021
Grab lokimq::ConnectionID on connection attempt
4 years ago
Stephen Shelton
eedf7ca599
Add implementation of get_peer_stats API
4 years ago
Stephen Shelton
bbc1cd5a31
Stub out get_peer_stats LMQ API request
4 years ago
Stephen Shelton
c07dcaa2ef
Handle service node privkeys response correctly
4 years ago
Stephen Shelton
acb0248f94
Use LMQ request instead of command for lokid ping
4 years ago
Stephen Shelton
9deee9e542
Add bencoding serialization to PeerStats
4 years ago
Stephen Shelton
159447b984
Don't "safely" visit relays in RouterHive
4 years ago
Stephen Shelton
305795315b
Specify disabling RC gossiping (testing only) properly
4 years ago
Stephen Shelton
0f074cff8c
Remove ambguity WRT loading and passing of Config
4 years ago
Stephen Shelton
f607b99dbe
Fixes to Context::Configure with default config
4 years ago
Stephen Shelton
ced2ac64fb
Remove last remnants of 'worker'
4 years ago
Stephen Shelton
cdaa28bfd3
Use QueueDiskIO instead of diskworker for db flushing
4 years ago
Stephen Shelton
88c3e9ce00
Remove worker thread parameter from Router constructors
4 years ago
Stephen Shelton
ec20d94c6b
Fix Context::Configure()
4 years ago
Stephen Shelton
ed47ba998f
Minor fixes around Context
4 years ago
Stephen Shelton
552dcce5fd
Use inheritance to handle Hive injection
4 years ago
Stephen Shelton
b0d8568452
Remove llarp C API usage from RouterHive
4 years ago
Stephen Shelton
84c83a2400
Add specialized subclass of Router for Hive
4 years ago
Stephen Shelton
e38a507551
<3 Windows (prefer fs::path::string() over native())
4 years ago
Stephen Shelton
93bafcf142
Set up sqlite3 deps 'if NOT TAGRET sqlite3'
4 years ago
Stephen Shelton
186a35c0e2
Appease clang (fixes for minor compilation errors)
4 years ago
Stephen Shelton
fd230dd93b
<3 apple
4 years ago
Stephen Shelton
6e1a23cdc7
Use pkg_check_modules instead of find_package for sqlite3
4 years ago
Stephen Shelton
0ecdda7a89
make format
4 years ago
Stephen Shelton
4aa6f8e2df
Use find_package() for sqlite3
4 years ago
Stephen Shelton
aeb0c2be3a
Remove ability to stop routers from gossiping for now
4 years ago
Stephen Shelton
bdac43e19f
Peer stats test which artificially stops a router from gossiping its RC
4 years ago
Stephen Shelton
63f41d6a98
Introduce mutex for hive's routers
4 years ago
Stephen Shelton
3b6f84c68c
Peek at peer stats db in test_peer_stats
4 years ago
Stephen Shelton
c4cbbd6731
RouterHive: store router contexts by routerId instead of index
4 years ago
Stephen Shelton
d1b629f494
RouterHive ConnectionAttemptEvent
4 years ago
Stephen Shelton
d69d538f1a
Add missing files
4 years ago
Stephen Shelton
b2a72dd46a
Initial test_peer_stats hive test
4 years ago
Stephen Shelton
2453fff10b
Piggyback on link callbacks to add peer stats
4 years ago
Stephen Shelton
cb8e5354f5
Add some breadcrumbs about how ILinkLayer's callbacks are used
4 years ago
Stephen Shelton
c9faddc8e4
Use fs::path since mac doesn't support std::filesystem
4 years ago
Stephen Shelton
5a8f390b3b
Make mutex mutable, fix typo
4 years ago
Stephen Shelton
023e061146
Make [router]:enable-peer-stats only valid for client
4 years ago
Stephen Shelton
54017652d6
log--
4 years ago
Stephen Shelton
d897099e1d
Track traffic peerstats
4 years ago
Stephen Shelton
77b98459dd
Implement RouterID serialization in sqlite_orm
4 years ago
Stephen Shelton
a9ce319e76
Make llarp_time_t serializable in sqlite_orm
4 years ago
Stephen Shelton
aa1c8f257f
Sort out peerstats receive <-> expiry windows
4 years ago
Stephen Shelton
4b4284ccf4
PeerDb sqlite optimizations
4 years ago
Stephen Shelton
5e05defc76
Add API query for peer stats, other related fixes
4 years ago
Stephen Shelton
595288e046
Add PeerDb::handleGossipedRC
4 years ago
Stephen Shelton
7109ddc951
Add PeerDb::modifyPeerStats()
4 years ago
Stephen Shelton
4f4192e272
constexpr
4 years ago
Stephen Shelton
2a30e7dac2
Add PeerDb to Router
4 years ago
Stephen Shelton
cc6e9c882a
Use foo.snode as peerstats unique id, test file-backed db
4 years ago
Stephen Shelton
a30806b375
Some sqlite_orm related fixes
4 years ago
Stephen Shelton
8adb6295fc
Initialize sqlite_orm and start interacting with it
4 years ago
Stephen Shelton
73c9ddff52
Begin peer stats infrastructure
4 years ago
Jeff Becker
2c0c6aa819
log error instead of executing job
4 years ago
Jeff Becker
d7ff6c579c
address feedback from jason
...
* split up ipv6 netmask
* revert iwp ack interval change
* c++17-isms in ip range map
* lambda-ize nodedb
* mutable lambdas in transit hops
* perfect forwarding of args in abstract router
* mutable lambdas in lokid rpc client
* notes in readme about nproc
4 years ago
Jeff Becker
d85c7bc628
remove wrapper and just use a lambda that throws on non empty value
4 years ago
Jeff Becker
a0dc2e795c
add a wrapper that always throws with a custom error message
...
use that wrapper for lokid.jsonrpc
4 years ago
Jeff Becker
a9109aa91b
* deprecate old unused lokid rpc options
...
* use lokimq::address in config and in lokid rpc
* bump lokimq submodule
4 years ago
Jeff Becker
80919a3b76
address feedback.
...
* use exceptions when fetching identity key instead of std::optional, will throw on fail
* fix up config options for endpoint auth and add better docs
* add llarp::serive::AuthType enum for controlling what kind of endpoint auth to use
4 years ago
Jason Rhinelander
a7c42ab2bd
Use lokimq's hex/base32z encoding/decoding
4 years ago
Jeff Becker
e85efcf7ce
move include so it's included on all platforms including windows
4 years ago
Jeff Becker
00aa78c80a
it's safe to call reply from another thread because all it does is fufill a promoise
4 years ago
Jeff Becker
0f21eeccb0
* rework exit codepath to allow multiple exits
...
* rework net code for ip ranges to be cleaner
* clean up endpoint auth code
* refactor config to validate network configs before setting up endpoints
* remove buildone from path/pathbuilder.cpp so we don't spam connection attempts
4 years ago
Jeff Becker
3cdca30a74
more auth shit
4 years ago
Jeff Becker
0d6e3bcd89
fix crashing tests
4 years ago
Jeff Becker
98a3b45f16
disable logging to see why ci tests die like a sucka
4 years ago
Jeff Becker
63b56d55a9
check pw and pw_dir to be not null so that if either are null it bails to else block
4 years ago
Jeff Becker
2371e416bd
dont use $HOME when checking for default data dir
4 years ago
Jeff Becker
e13e886df9
fix up event loop crap so that unit tests pass
4 years ago
Jeff Becker
e95b9d530e
fix unit tests, make them pass
4 years ago
Jeff Becker
1779f33506
fix makefile fromat target
...
use lokimq::address instead of std::string or std::string_view
4 years ago
Jeff Becker
ca9e015ca4
virtual destructor
4 years ago
Jeff Becker
397d558af8
wtf
4 years ago
Jeff Becker
59eb1b0842
make format
4 years ago
Jeff Becker
f1e7fc2cba
make format and update submodule
4 years ago
Jeff Becker
f4971a88fd
use lokimq workers instead of llarp: 🧵 :ThreadPool
4 years ago
Jeff Becker
5abf111159
endpoint auth whitelist
4 years ago
Jeff Becker
9f11b03016
enable exit node again
4 years ago
Jeff Becker
a42d3d51c3
more
4 years ago
Jeff Becker
1e8368b636
make it compile
4 years ago
Jeff Becker
61c5808765
exit authentication (initial)
4 years ago
Jeff Becker
be01808a6b
more
4 years ago
Jeff Becker
c5dbb670ca
set sane defaults for config, implement lmq rpc server, update lokinetmon
4 years ago
Jeff Becker
6bbf7beaf5
add stubs for lmq rpc server
4 years ago