Commit Graph

4677 Commits (ae96458f8ab1f1a34c44a811d3cdc502c11adae6)

Author SHA1 Message Date
Jeff eeb93343c0 rpc fixes for lokinet gui
only add stats for services when we have them
2 years ago
audric 41405be612 summary status: no services means not running 2 years ago
Audric Ackermann ad6d206aa6
add version and uptime to summary status endpoint 2 years ago
majestrate 8a849e81df
Merge pull request #1858 from jagerman/omq-11
Crank oxen-mq to (1.2.)11; switch to oxen-encoding
2 years ago
Jason Rhinelander d02558350a
Crank oxen-mq to (1.2.)11; switch to oxen-encoding
- Update oxen-mq submodule to latest stable
- Add oxen-encoding submodule
- Convert all oxenmq encoding usage to oxenc
- Modernize cmake handling of oxenmq/oxenc
2 years ago
majestrate f8b6b9d34b
Merge pull request #1856 from Bilb/fix-num-path-built-summary-status
fix numPaths value in Router::ExtractSummaryStatus
2 years ago
Audric Ackermann d9467f4dee fix numPaths value in Router::ExtractSummaryStatus 2 years ago
Jeff ac9fb9d479 use quad nine as default upstream dns 2 years ago
Jeff 810e3cc9c2 dont capture flow_addr, results in compiler error on sid 2 years ago
majestrate 838183e36e
Merge pull request #1748 from majestrate/liblokinet-udp-api-2021-09-19
liblokinet updates
2 years ago
Jeff 582fdeda27 add close_reason parameter to quic::Endpoint::close_connection defaulting to emtpy string 2 years ago
Jeff 95efe8f4e5 bump ngtcp2 to v0.1.0 tag 2 years ago
Jeff Becker 04b23416ed do less allocations in lokinet_hex_tobase32z 2 years ago
Jeff Becker 743bc2433a resolve race condition in udp flow and packet handling 2 years ago
Jeff Becker 635f4bcd8c make it compile 2 years ago
Jeff Becker 5286d442fb updates:
* add udptest example
* fix up udp codepath in liblokinet
2 years ago
Jeff Becker 65b29a1b70 add liblokinet custom logger 2 years ago
Jeff Becker f5157c31da make it compile 2 years ago
Jeff Becker b225ec1043 thread safety stuff 2 years ago
Jeff Becker ba57ab04aa wire up liblokient_udp_* 2 years ago
Jeff Becker 1c70b0f42f add lokinet_hex_to_base32z 2 years ago
Jeff Becker bbb082931a more logging 2 years ago
Jeff Becker 66de680884 sanity check 2 years ago
Jeff Becker 8c8f97adda more logging 2 years ago
Jeff Becker 38d4cec7d1 log errors on decoding 2 years ago
Jeff Becker c5b5ff7810 typo fix 2 years ago
Jeff Becker 2428cc189e llarp::BootstrapConfig update
* make routers member a llarp::BootstrapList
2 years ago
Jeff Becker c4b1a9c074 lokinet_add_bootstrap_rc
* allow bootstrap lists to be passed in
2 years ago
Jeff fc444741f1 move constant to new header
create llarp/constants/time.hpp for time/duration constants
2 years ago
Jeff 5fac6c84d8 detect timeskip and thaw network when we think it happened. 2 years ago
Jeff 38c6d99375 wire up sigusr1 to trigger a network thaw on non win32 platforms 2 years ago
majestrate 27619f5fb4
Merge pull request #1838 from majestrate/sd_notify_extra_info-2022-01-13
redo systemd status line
2 years ago
Jeff b3d9cd463f route poker: allow not blackholing routes.
allow runtime configuration to disable ip blackholing.
2 years ago
Jeff 205584acdf redo systemd status line to include number of paths and endpoint count. optionally warn about low path success. 2 years ago
majestrate 2c44ffe85b
Update llarp/router/route_poker.cpp
Co-authored-by: Jason Rhinelander <jason@imaginary.ca>
2 years ago
Jeff 27ba3e044d
prevent segfault in route poker if Init() is not called 3 years ago
majestrate 9e4bd2cd44
Merge pull request #1801 from majestrate/introset-publish-spam-fix-2021-11-16
prevent introset publish spam
3 years ago
Jeff Becker 061aebc964
reword auto-routing config comment 3 years ago
Jeff Becker 14ffdb6639
configurable route poker
this allows you to use exit nodes without forcing routes over the interface, useful for using lokinet with an exit and selectively routing over the lokinet interface using an external socks proxy or binding to device explicitly.

* make route poker configurable, defaults to enabled but allows disabling it on runtime if desired
* add config option [network]:auto-routing to enable/disable route poker
3 years ago
Jeff Becker da887dc559
implement exit node pooling, allows users to use multiple exits for an address range.
mappings per ip stick to the same exit, each new ip is mapped to a random exit in the specified pool.

make exit-auth multi value
3 years ago
Jeff 776e9227fd
make serivce::Endpoint::EnsurePathToService have a default timeout as a named constant. 3 years ago
Jeff 301b19bd0f
do not send buggy reply as rpc 3 years ago
Jeff 388fc53380
match io loop event order on windows/apple to match linux.
on win32/apple reading packets from the interface does not count as an io operation.
manually trigger pump on win32/apple to pretend that it is an io event.
add platform quark function MaybeWakeUpperLayers on vpn::Interface to manaully wake up the other components on platforms that need that (ones on which packet io is not done via io events).
on non linux platforms, use uv_prepare_t instead of uv_check_t as the former triggers before blocking for io, instead of after. this better matches linux's order of operations in libuv.
3 years ago
Jeff Becker 0e2b0edaf6
when lokinet looses ip4 connectivity libunbound used to freak out and only use ip6 after such an event.
as a result dns queries stop working because we blackhole ip6 routes if exit mode is on.
this prevents this case from being hit.
3 years ago
Jeff Becker ec8d990163
demote log statement levels 3 years ago
Jeff Becker 172c2dec45
create new constexpr for the staleness window for introsets and use it in publishing introsets and intro selection 3 years ago
Jason Rhinelander 189c4bfba4
Also consider last publish; eliminate unwanted condition
We don't really carry about when the last regen was attempted, but
rather about when the last publish was attempted (or succeeded).
3 years ago
Jeff Becker 8ba03de44e
match timeouts in introset selection spread with logic for publishing 3 years ago
Jason Rhinelander 5115162066 Use libuv's cached current time for `time_now()`
We are calling time_now() a huge amount, and it is a major consumer of
CPU cycles, but we don't need it: most of the time the current event
loop time is enough.
3 years ago
Jason Rhinelander b2ee003329 Optimization: eliminate unneeded shared_ptrs
We have a few cases where we're making an extra shared_ptr which we copy
into a lambda, which then results in an extra unnecessary refcount
decrement in the parent; this changes them to give an rvalue reference
to the lambda to avoid the extra incr/decr instead.

The one in Session::Pump is particularly noticeable and shows up in
profiling.
3 years ago