jeff
1537ad18df
format
2020-08-28 11:35:10 +00:00
jeff
75f550434c
change assert to throw an exception instead when service node has no peer stats enable.
...
update unit tests so it passes on debian sid
2020-08-28 11:26:50 +00:00
jeff
5391e6a66a
initial config overriding on runtime
2020-08-27 12:43:53 +00:00
jeff
f6f56029d3
working netlink route poker
2020-08-24 20:23:26 -04:00
jeff
b0bb0b7609
initial route poking
2020-08-24 20:21:55 -04:00
jeff
2aaed895f3
disable exits in RCs
2020-08-24 20:19:51 -04:00
Jeff Becker
ff130e2b5e
die if we are a relay and don't have any inbound links
2020-08-24 20:19:51 -04:00
Stephen Shelton
4699280d97
Crude attempt at retrying lokid connection
2020-07-23 10:54:39 -06:00
Stephen Shelton
0f074cff8c
Remove ambguity WRT loading and passing of Config
2020-07-06 13:38:02 -06:00
Stephen Shelton
f607b99dbe
Fixes to Context::Configure with default config
2020-07-02 12:25:16 -06:00
Stephen Shelton
cdaa28bfd3
Use QueueDiskIO instead of diskworker for db flushing
2020-07-02 10:36:12 -06:00
Stephen Shelton
552dcce5fd
Use inheritance to handle Hive injection
2020-07-02 10:25:10 -06:00
Stephen Shelton
84c83a2400
Add specialized subclass of Router for Hive
2020-07-02 10:22:57 -06:00
Stephen Shelton
0ecdda7a89
make format
2020-07-02 10:22:04 -06:00
Stephen Shelton
aeb0c2be3a
Remove ability to stop routers from gossiping for now
2020-07-02 10:22:03 -06:00
Stephen Shelton
bdac43e19f
Peer stats test which artificially stops a router from gossiping its RC
2020-07-02 10:22:03 -06:00
Stephen Shelton
d1b629f494
RouterHive ConnectionAttemptEvent
2020-07-02 10:22:02 -06:00
Stephen Shelton
b2a72dd46a
Initial test_peer_stats hive test
2020-07-02 10:16:19 -06:00
Stephen Shelton
2453fff10b
Piggyback on link callbacks to add peer stats
2020-07-02 10:13:26 -06:00
Stephen Shelton
023e061146
Make [router]:enable-peer-stats only valid for client
2020-07-02 10:13:25 -06:00
Stephen Shelton
d897099e1d
Track traffic peerstats
2020-07-02 10:13:24 -06:00
Stephen Shelton
5e05defc76
Add API query for peer stats, other related fixes
2020-07-02 10:13:22 -06:00
Stephen Shelton
595288e046
Add PeerDb::handleGossipedRC
2020-07-02 10:13:22 -06:00
Stephen Shelton
2a30e7dac2
Add PeerDb to Router
2020-07-02 10:13:21 -06:00
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
2020-07-02 11:13:32 -04:00
Jeff Becker
a9109aa91b
* deprecate old unused lokid rpc options
...
* use lokimq::address in config and in lokid rpc
* bump lokimq submodule
2020-07-02 11:13:31 -04:00
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
2020-07-02 11:13:31 -04:00
Jason Rhinelander
a7c42ab2bd
Use lokimq's hex/base32z encoding/decoding
2020-07-02 11:13:31 -04:00
Jeff Becker
e13e886df9
fix up event loop crap so that unit tests pass
2020-07-02 11:10:06 -04:00
Jeff Becker
1779f33506
fix makefile fromat target
...
use lokimq::address instead of std::string or std::string_view
2020-07-02 11:07:34 -04:00
Jeff Becker
397d558af8
wtf
2020-07-02 11:07:34 -04:00
Jeff Becker
59eb1b0842
make format
2020-07-02 11:07:34 -04:00
Jeff Becker
f1e7fc2cba
make format and update submodule
2020-07-02 11:07:34 -04:00
Jeff Becker
f4971a88fd
use lokimq workers instead of llarp: 🧵 :ThreadPool
2020-07-02 11:07:34 -04:00
Jeff Becker
be01808a6b
more
2020-07-02 11:07:33 -04:00
Jeff Becker
c5dbb670ca
set sane defaults for config, implement lmq rpc server, update lokinetmon
2020-07-02 11:07:33 -04:00
Jeff Becker
6bbf7beaf5
add stubs for lmq rpc server
2020-07-02 11:07:33 -04:00
Jeff Becker
1175a583d2
initial working code
2020-07-02 11:07:32 -04:00
Jeff Becker
9bfff61d08
initial wack at lokimq
2020-07-02 11:07:32 -04:00
Stephen Shelton
fd4b03f896
WIP: LokidRpcClient
2020-07-02 11:07:32 -04:00
Stephen Shelton
17026a0b21
Remove libabyss and rpc::Caller/rpc::Server
2020-07-02 11:07:32 -04:00
Jeff Becker
d5b4dbe052
more
2020-07-02 11:07:32 -04:00
Jeff Becker
b1259e25c5
set sane defaults for config, implement lmq rpc server, update lokinetmon
2020-07-02 11:07:31 -04:00
Jeff Becker
fb8b8e2e56
add stubs for lmq rpc server
2020-07-02 11:07:31 -04:00
Jeff Becker
ad882d0d70
initial working code
2020-07-02 11:07:31 -04:00
Jeff Becker
0006751d80
initial wack at lokimq
2020-07-02 11:07:31 -04:00
Stephen Shelton
91725a8530
WIP: LokidRpcClient
2020-07-02 11:07:31 -04:00
Stephen Shelton
11951510bf
Remove libabyss and rpc::Caller/rpc::Server
2020-07-02 11:07:30 -04:00
Jeff Becker
800668348a
add regression test for key backup bug
2020-06-08 08:42:10 -04:00
Jeff Becker
019168fef0
remove unused local variable
2020-06-05 11:40:19 -04:00
Jeff Becker
1899debfb5
unfug transit hops
2020-06-05 11:40:18 -04:00
Stephen Shelton
193060d602
Undo client-related changes to RC creation
...
This partially reverts changes from
1497b829bd
and intsead only prevents
clients from saving their RC to disk.
2020-06-04 15:02:05 -06:00
Stephen Shelton
980853804d
Remove log statement
2020-06-04 13:34:15 -06:00
Stephen Shelton
cecafb3215
Undo unintentional revert?
2020-06-04 13:32:38 -06:00
Stephen Shelton
d8b12ce764
Let KeyManager assemble key filenames
2020-06-04 12:38:35 -06:00
Stephen Shelton
1497b829bd
Ignore our self.signed file if we're a client
2020-06-04 11:05:23 -06:00
Jeff
45cda241f0
Merge pull request #1272 from majestrate/exit-nodes-2020-05-16
...
exit traffic via snapps
2020-06-01 14:42:43 -04:00
Jeff Becker
acecb23eb3
make libuv event loop logic queue size configurable.
...
remove logic constructor that is no-op.
add constant for default logic queue size
add constant for transit hop queue size
2020-06-01 09:17:44 -04:00
Rick V
1340cd0dce
remove some string conversions entirely
2020-05-26 23:09:16 -05:00
Rick V
f62214cf8c
first pass fix wstring path conversions
2020-05-26 20:48:07 -05:00
Jeff Becker
39f8f17b53
dont set callback if non provided
2020-05-23 16:07:21 -04:00
Jeff Becker
c826d0a0b1
increase transit hop limits
2020-05-23 16:07:20 -04:00
Jason Rhinelander
3bb24580a4
make format
2020-05-20 19:48:13 -03:00
Jason Rhinelander
ebd2142114
Don't use std::optional::value() because f u macos
...
This replaces all use of std::optional's `opt.value()` with `*opt`
because macOS is great and the ghost of Steve Jobs says that actually
supporting std::optional's value() method is not for chumps before macOS
10.14. So don't use it because Apple is great.
Pretty much all of our use of it actually is done better with operator*
anyway (since operator* doesn't do a check that the optional has a
value).
Also replaced *most* of the `has_value()` calls with direct bool
context, except for one in the config section which looked really
confusing at a glance without a has_value().
2020-05-20 19:18:28 -03:00
Jeff Becker
1780e86faa
fix up unit tests, make them all pass
2020-05-15 08:38:04 -04:00
Jason Rhinelander
dccc663f31
Miss Match demands her name be removed from the code
...
(i.e. fix speeling mistack: missmatch -> mismatch)
2020-05-13 22:35:15 -03:00
Jeff
e6a85d7176
Merge pull request #1263 from jagerman/c++17-niceties
...
C++17 niceties
2020-05-12 16:07:27 -04:00
Jason Rhinelander
e470a6d73e
C++17 niceties
...
- class template argument deduction lets us write `std::unique_lock
foo{mutex}` instead of `std::unique_lock<mutex_type> foo{mutex}` which
makes the `unique_lock` and `shared_lock` functions unnecessary.
- Replace GNU-specific warn_unused_result attribute with C++17-standard
[[nodiscard]]
- Remove pre-C++17 workaround code for fold expressions, void_t
2020-05-12 16:42:35 -03:00
Jeff
a5b09c47e1
Merge pull request #1262 from notlesh/bandaids-for-sockaddr-refactor-2020-05-11
...
Bandaids for sockaddr refactor 2020 05 11
2020-05-12 12:04:59 -04:00
Stephen Shelton
aee96e53a3
Refactor Addr -> IpAddress/SockAddr
2020-05-06 14:38:44 -06:00
Jeff Becker
01cc2c86bf
format
2020-05-06 11:37:15 -04:00
Jeff Becker
f1edca9fa1
additional cleanup of cruft
2020-05-04 14:39:14 -04:00
Jeff Becker
1cbf50296c
only add endpoint for hidden service if not service node
2020-05-04 12:58:46 -04:00
Jeff Becker
6aa79b7ca9
set network section
2020-05-04 12:36:29 -04:00
Jason Rhinelander
cd7fd1b6ad
FIXME fix the FIXME
2020-05-04 13:27:14 -03:00
Stephen Shelton
960dc37c1f
Refactor TunEndpoint::Configure() (partially)
2020-05-04 11:07:21 -04:00
Stephen Shelton
f2a26adcaa
Move all [endpoint] options to [network]
2020-05-04 11:07:21 -04:00
Stephen Shelton
dd9ab0f1d5
Remove ability to have multiple endpoints/snodes from config
2020-05-04 11:07:21 -04:00
Stephen Shelton
2bc908cd40
Remove [dns]:local-dns in favor of [dns]:bind
2020-05-04 11:05:52 -04:00
Stephen Shelton
779658edd0
Refactor ExitEndpoint's config, mv dns ops from [network] to [dns]
2020-05-04 11:05:51 -04:00
Stephen Shelton
21ad442b55
Remove NetConfig_t
2020-05-04 11:05:51 -04:00
Stephen Shelton
df01770466
Rename SnappConfig -> EndpointConfig
2020-05-04 11:05:51 -04:00
Stephen Shelton
93b35c92a7
Eradicate service::Config
2020-05-04 11:05:51 -04:00
Jason Rhinelander
1697bf90fe
C++17
...
Compiles with C++17, replaces ghc::filesystem with std::filesystem,
nonstd::optional with std::optional, and llarp::string_view with
std::string_view.
2020-05-01 17:43:27 -03:00
Stephen Shelton
f8439dab61
Misc aesthetic tweaks
2020-04-29 14:19:48 -06:00
Stephen Shelton
526b1320b7
Some maybe-fixes for RouterHive post config cleanup
2020-04-24 11:18:25 -06:00
Jeff
54a7843bc5
Merge pull request #1186 from notlesh/config-cleanup-2020-03-13
...
Config cleanup
2020-04-24 12:49:08 -04:00
Jason Rhinelander
3c6aa002b8
Fix errors and warnings compiling on mac
2020-04-10 14:26:50 -03:00
Stephen Shelton
ca24f25665
Make fewer assumptions about config state
...
This handles values missing when config is created through RouterHive.
2020-04-07 17:52:14 -06:00
Stephen Shelton
de8e44ba21
Re-apply clang-format rules after rebasing
2020-04-07 14:41:11 -06:00
Stephen Shelton
be014175e9
Consolidate logging initialization logic
2020-04-07 14:27:31 -06:00
Stephen Shelton
6909e20588
Fix logging initialization and flush at program exit
2020-04-07 14:27:30 -06:00
Stephen Shelton
d3bcc05aa6
Organize some constants and default values
2020-04-07 14:26:32 -06:00
Stephen Shelton
91206725cb
Inject a default bootstrap file if none in conf
2020-04-07 14:26:31 -06:00
Stephen Shelton
7ea8d62640
Use fs::path over std::string for files
2020-04-07 14:26:30 -06:00
Stephen Shelton
4f77080f75
Remove optional<> from block-bogons
2020-04-07 14:23:53 -06:00
Stephen Shelton
adfcbd1d0b
Slight cleanup of k:v option maps
2020-04-07 14:23:11 -06:00
Stephen Shelton
6fd270ba09
Rip out link type spec and factory
...
We only support IWP now, so this is all effectively dead code.
2020-04-07 14:22:53 -06:00
Stephen Shelton
733efbab40
Reflect removal of accessors on config structs
2020-04-07 14:20:31 -06:00
Stephen Shelton
5b520a4dff
Simplify connection limit constants
2020-04-07 14:13:27 -06:00