Commit Graph

185 Commits (dev-next)

Author SHA1 Message Date
Stephen Shelton acb0248f94
Use LMQ request instead of command for lokid ping 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 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
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 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 f4971a88fd
use lokimq workers instead of llarp:🧵:ThreadPool 4 years ago
Jeff Becker 5abf111159
endpoint auth whitelist 4 years ago
Jeff Becker a42d3d51c3
more 4 years ago
Jeff Becker 61c5808765
exit authentication (initial) 4 years ago
Jeff Becker 1175a583d2
initial working code 4 years ago
Stephen Shelton 13b0a4f2fc
WIP: LokidRpcClient 4 years ago
Jeff Becker 9bfff61d08
initial wack at lokimq 4 years ago
Stephen Shelton fd4b03f896
WIP: LokidRpcClient 4 years ago
Jeff Becker d5b4dbe052
more 4 years ago
Jeff Becker b1259e25c5
set sane defaults for config, implement lmq rpc server, update lokinetmon 4 years ago
Jeff Becker fb8b8e2e56
add stubs for lmq rpc server 4 years ago
Jeff Becker ad882d0d70
initial working code 4 years ago
Stephen Shelton 78256e3228
WIP: LokidRpcClient 4 years ago
Jeff Becker 0006751d80
initial wack at lokimq 4 years ago
Stephen Shelton 91725a8530
WIP: LokidRpcClient 4 years ago
Stephen Shelton 11951510bf
Remove libabyss and rpc::Caller/rpc::Server 4 years ago
Jason Rhinelander 26ecf23ad8 Silence various warnings 4 years ago
Stephen Shelton 839fb42ba4
Hard code RPC's expectedHostname to 'localhost' 4 years ago
Stephen Shelton aee96e53a3
Refactor Addr -> IpAddress/SockAddr 4 years ago
Stephen Shelton 273270916e
The Great Wall of Blame
This commit reflects changes to clang-format rules. Unfortunately,
these rule changes create a massive change to the codebase, which
causes an apparent rewrite of git history.

Git blame's --ignore-rev flag can be used to ignore this commit when
attempting to `git blame` some code.
4 years ago
Jeff Becker 99c814e6b0
fix dns rebinding vuln in jsonrpc 4 years ago
Jeff Becker bf0416cab8
remove Time_t, add operator overload for printing llarp_time_t and add to_json function for serializing llarp_time_t to json 4 years ago
Jeff Becker d2d109e92c
llarp_time_t is now using std::chrono 4 years ago
Jason Rhinelander 54186c4a89 Replace absl string_view with string_view from lokimq
When we add loki-mq has a dependency we can just alias it, but for now
it's easier to copy the header than add the whole submodule library.
4 years ago
Jason Rhinelander 089056ca5b Remove all ABSL_ATTRIBUTE_UNUSED uses 4 years ago
Jason Rhinelander ac1486d0be Replace absl::optional with optional-lite
Step 1 of removing abseil from lokinet.

For the most part this is a drop-in replacement, but there are also a
few changes here to the JSONRPC layer that were needed to work around
current gcc 10 dev snapshot:

- JSONRPC returns a json now instead of an optional<json>.  It doesn't
  make any sense to have a json rpc call that just closes the connection
  with returning anything.  Invoked functions can return a null (default
  constructed) result now if they don't have anything to return (such a
  null value won't be added as "result").
4 years ago
Stephen Shelton 2cade16c0e
s/LogInfo/LogDebug/ @ 'updating SN list' 4 years ago
Jason Rhinelander 95b0eeda29 Add support for lokid's "unchanged" response
If we pass the last block hash to lokid it can give us an "unchanged"
response instead of the service node states to tell us that there is no
updated needed.
4 years ago
Jason Rhinelander 1ba1e04390 Separate json SN parsing definition/declaration
No changes to code here (committing this separately to make the changes
in the following commit easier to follow).
4 years ago
Jason Rhinelander 416c71e554 Fix json api bind IP
Only the port was being used, the IP was being ignored and it was always
binding to localhost.
5 years ago
Jeff Becker 64b5537fe0
rpc clean up logic, dont fetch list as client AND dont ping lokid as client 5 years ago
Jeff Becker e5f92eaa79
only ping lokid if a service node 5 years ago
Jason Rhinelander 638fb25b47 Put version info into a compiled file
This rewrites the version info using lokid's approach of compiling it
into a .cpp file that gets generated as part of the build (*not* during
the configure stage).

Among other things, this means that changing the version no longer
invalidates ccache or cmake dependencies, and because it depends on
`.git/index` git commits will cause the version to be regenerated,
making the commit tag more reliable (currently if you rebuild without
running cmake your git commit tag doesn't update).
5 years ago
Stephen Shelton 211a5f7a03 Remove typo in version changes 5 years ago
Jeff Becker 4fdff7f233
consolidate versions 5 years ago
Jeff Becker c9d38d421b clang fixes 5 years ago
Jeff Becker 1ddc2b40aa another attempt at travis fix 5 years ago
Jeff Becker f29083f765 more travis fixes 5 years ago
Jeff Becker d880eec1de
ping lokid rpc 5 years ago
jeff c33324455a use correct rpc call to lokid 5 years ago
jeff 265da6f37b use get_service_nodes rpc endpoint 5 years ago
Michael 0721ce4d34
Add rpc call to get current addresses for our node 5 years ago
Michael 01611c2282
Convert RPC endpoint to be a lookup table 5 years ago
Michael f326c93b5b
Apply Jeff's comments 5 years ago
Michael 15cb49c9bd
Introduce --background to only start JSON RPC
fixes #853
5 years ago
Michael d467e2618b
Support version over jsonrcp 5 years ago
Michael 4d8fe2a8a8
Move meta programming to subdirectory 5 years ago
Michael 1aec0dfa2b
Move logging to subdirectory 5 years ago
Michael 094b697b01
Replace StatusObject with underlying JSON type 5 years ago
Michael 16cdfbd5f0
clang-tidy modernize pass 5 years ago
Michael 488695047f
Remove redundant else blocks 5 years ago
Michael 75430a234c
Convert to use memFn 5 years ago
Jeff Becker 1e57a7082d
don't log ips 5 years ago
Jeff Becker 372bc40032
add member to rpc response indicating weither or not a peer is a service node 5 years ago
Jeff Becker 8484e29c9b
turn more stuff into std::shared_ptr
remove dead codepaths
5 years ago
Jeff Becker 3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 5 years ago
Jeff Becker 5399b93270
make format and readd win32 console color logging 5 years ago
Jeff 97b9c679b0 don't use bootstrap nodes for first hops in paths 5 years ago
Jeff Becker 990049f423
make rpc do basic auth and shit like that 5 years ago
Michael 31441b46dc
Convert from rapidjson to use nlohmann::json 5 years ago
Jeff Becker 86098b198f
clear errno and log invalid data 5 years ago
Michael 4fb2b39f74
Format changes 5 years ago
Michael 4132f883a7
Make libabyss mandatory 5 years ago
Michael a0125ffe86
Move abyss/json to llarp/util/json 5 years ago
Jeff Becker 1d958d95de
* make rpc compile right
* make link sessions introspectable
* make utp write buffers fully flush each tick
5 years ago
Michael 048fa83c39
Finish replacement of Router with AbstractRouter 5 years ago
Jeff 555711b70d
Merge pull request #303 from michael-loki/no_new
Replace usage of new/delete with unique_ptr/stack allocation
5 years ago
Jeff Becker 46222df421
refactor 5 years ago
Michael 67b5d48095
Replace usage of new/delete with unique_ptr/stack allocation 5 years ago
Jeff Becker e1fceb3636
fix it (again) 5 years ago
Jeff Becker 66753430ad
fix it 5 years ago
Jeff Becker e1522faeaa
add introspection rpc endpoint 5 years ago
Michael 729cd045f1
Convert llarp::Router into an abstract base class 5 years ago
Jeff Becker 18c4107ff6
* wire up jsonrpc caller for lokid integration
* add jsonrpc caller http basic auth
5 years ago
Jeff Becker 519cec50ac
update libabyss rpc endpoints for service nodes 5 years ago
Michael da6cdfc0b2
More refactoring to continue to make dependency graph acylic 6 years ago