Commit Graph

529 Commits

Author SHA1 Message Date
Stephen Shelton
552dcce5fd
Use inheritance to handle Hive injection 2020-07-02 10:25:10 -06:00
Stephen Shelton
1e95625f27
<3 apple -- avoid std::optional::value() 2020-07-02 10:22:07 -06:00
Stephen Shelton
186a35c0e2
Appease clang (fixes for minor compilation errors) 2020-07-02 10:22:06 -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
3b6f84c68c
Peek at peer stats db in test_peer_stats 2020-07-02 10:22:02 -06:00
Stephen Shelton
d1b629f494
RouterHive ConnectionAttemptEvent 2020-07-02 10:22:02 -06:00
Stephen Shelton
d69d538f1a
Add missing files 2020-07-02 10:16:19 -06:00
Stephen Shelton
b2a72dd46a
Initial test_peer_stats hive test 2020-07-02 10:16:19 -06:00
Stephen Shelton
a9ce319e76
Make llarp_time_t serializable in sqlite_orm 2020-07-02 10:13:23 -06:00
Stephen Shelton
aa1c8f257f
Sort out peerstats receive <-> expiry windows 2020-07-02 10:13:23 -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
7109ddc951
Add PeerDb::modifyPeerStats() 2020-07-02 10:13:21 -06:00
Stephen Shelton
cc6e9c882a
Use foo.snode as peerstats unique id, test file-backed db 2020-07-02 10:12:14 -06:00
Stephen Shelton
a30806b375
Some sqlite_orm related fixes 2020-07-02 10:12:14 -06:00
Stephen Shelton
8adb6295fc
Initialize sqlite_orm and start interacting with it 2020-07-02 10:12:13 -06:00
Stephen Shelton
73c9ddff52
Begin peer stats infrastructure 2020-07-02 10:12:11 -06:00
Jason Rhinelander
a7c42ab2bd
Use lokimq's hex/base32z encoding/decoding 2020-07-02 11:13:31 -04:00
Jason Rhinelander
271ded7a1f
Fix test variable scope
These variables need to persist past the end of the lambda and weren't;
release builds didn't seem to mind access the freed memory, but Debug
builds triggered failures.
2020-07-02 11:13:31 -04:00
Jeff Becker
8fc52fcbbe
increase test timeout 2020-07-02 11:13:31 -04:00
Jeff Becker
c9a2222d39
Revert "bump submodules"
This reverts commit 0de2b994fa3e3252eae46d39960dd17872184050.
2020-07-02 11:13:30 -04:00
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
2020-07-02 11:13:30 -04:00
Jeff Becker
2ef2e6171a
bump submodules 2020-07-02 11:13:30 -04:00
Jeff Becker
3cdca30a74
more auth shit 2020-07-02 11:13:30 -04:00
Jeff Becker
0d6e3bcd89
fix crashing tests 2020-07-02 11:13:30 -04:00
Jeff Becker
0787b6e2fd
load config differently for unit tests because they run as root in CI for some reason 2020-07-02 11:13:29 -04:00
Jeff Becker
98a3b45f16
disable logging to see why ci tests die like a sucka 2020-07-02 11:12:50 -04:00
Jeff Becker
b6a7b5ccfb
only run catch2 tests in gdb and add assert to unit test 2020-07-02 11:12:05 -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
456f9d4ba1
remove GNU-ism 2020-07-02 11:10:06 -04:00
Jeff Becker
0a889d7042
fix up iwp unit test 2020-07-02 11:10:06 -04:00
Jeff Becker
e95b9d530e
fix unit tests, make them pass 2020-07-02 11:10:06 -04:00
Jeff Becker
f4971a88fd
use lokimq workers instead of llarp:🧵:ThreadPool 2020-07-02 11:07:34 -04:00
Stephen Shelton
11951510bf
Remove libabyss and rpc::Caller/rpc::Server 2020-07-02 11:07:30 -04:00
Stephen Shelton
0aa43c6b07
Pass RuntimeOptions instead of 'bool isRelay' 2020-07-01 08:38:56 -06:00
Stephen Shelton
b5d6a73ffd
Rip out most of C API 2020-06-29 13:55:59 -06:00
Jeff Becker
6984cda3a6
add pybind and router hive to ci 2020-06-08 15:50:12 -04:00
Jeff Becker
b8e1ffa83e
add comments and improve the regression test 2020-06-08 15:36:47 -04:00
Jeff Becker
3d2990f90d
use llarp::LogSilencer to shut up loging in unit tests 2020-06-08 09:26:53 -04:00
Jeff Becker
a73335579a
silence logging in regression test 2020-06-08 09:07:49 -04:00
Jeff Becker
800668348a
add regression test for key backup bug 2020-06-08 08:42:10 -04:00
Stephen Shelton
1497b829bd
Ignore our self.signed file if we're a client 2020-06-04 11:05:23 -06:00
Jeff Becker
328c7a398e
make sure event loop owns logic so that logic call does not use seperate thread 2020-05-23 16:07:20 -04:00
Jeff Becker
00143e63f4
put replay filters on transit hops to reduce retransmissions. 2020-05-23 16:07:20 -04:00
Jason Rhinelander
d05e6716cb Remove llarp::str(string_view)
It was a workaround for pre-C++17 std::string which didn't support
passing a string_view to various functions/operators.  There's only one
place left that needs an explicit conversion, and that's where it is
used as a map key; so just be explicit there and remove llarp::str()
everywhere else.
2020-05-21 17:05:30 -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
Jason Rhinelander
bdc9c7bfa8 Move IPRange out of net.hpp; free up TruncateV6 etc.
- Move IPRange into its own net/ip_range.hpp

- Move the static net::IPPacket::TruncateV6, etc. functions to free
net::TruncateV6, etc. functions (now from net/ip.hpp instead of
net/ip_packet.hpp).

- Make net::TruncateV6 and net::ExpandV4 constexpr.

- Add IPRange::FromIPv4 factory function (to replace the iprange_ipv4
free function)
2020-05-20 19:18:27 -03:00
Stephen Shelton
807bfc5302
Initialize Config with LoadConfig in all key manager tests 2020-05-20 15:54:23 -06:00
Stephen Shelton
fa6845b206
Use global RC file paths instead of redefining them 2020-05-20 15:54:23 -06:00
Stephen Shelton
ac225eb65e
Testing: explicitly initialize variable 2020-05-20 15:54:22 -06:00