Commit Graph

8131 Commits

Author SHA1 Message Date
dr7ana
5c6c6bcfee config addr change
- the one addr to rule them all, and its name was oxen::quic::Address
- no more vectors of inbound/outbound junk
2024-01-31 07:54:12 -08:00
dr7ana
c149651d64 A soothing re-nomenclatura 2024-01-31 07:54:12 -08:00
dr7ana
47bedfd8da Review fixes + misc fixes 2024-01-31 07:54:12 -08:00
Jason Rhinelander
0de50b176b Untangle Endpoint::LookupServiceAsync
- .snodes don't need to support SRV records, so remove that
- untangle the mess of captured lambdas capturing other lambdas
  capturing other lambdas; we still need a chain of nested lambdas
  because we have a chain of callbacked events, but hiding the nesting
  by capturing them in other lambdas didn't improve anything.
2024-01-31 07:54:12 -08:00
dr7ana
68e67c881b {Remote,Local}RC's
- RemoteRC supplants most of the functionality throughout the code of RouterContact
- Next step will be to sort out CI issues, then see if we can get rid of either LocalRC (and therefore RouterContact entirely)
2024-01-31 07:54:12 -08:00
dr7ana
632f4ee70b RC refactor layout
- Local and Remote RC's now implemented with discrete functionalities and uses
2024-01-31 07:54:12 -08:00
Jason Rhinelander
431490fb8b Give up for now 2024-01-31 07:54:12 -08:00
Jason Rhinelander
ca5ed01b2c Bump libquic to latest for static build fixes 2024-01-31 07:54:12 -08:00
Jason Rhinelander
c3641ab22c Turn off terrible new cmake 3.24+ default 2024-01-31 07:54:12 -08:00
Jason Rhinelander
46482c03a6 Remove unused file 2024-01-31 07:54:12 -08:00
Jason Rhinelander
b3c3dcf33a Bump armhf static build to bullseye
Use backports for cmake because ngtcp2 needs 3.20+.
2024-01-31 07:54:12 -08:00
Jason Rhinelander
63b8fd49cc Don't export CC
This was causing cmake to double-invoke ccache for compilation units,
and broke oxen-mq's local zmq build for the same reason.
2024-01-31 07:54:12 -08:00
dr7ana
cb2a2cf6e3 Weird clang unused variable CI fix 2024-01-31 07:54:12 -08:00
Jason Rhinelander
eb37796b65 Bump oxen-mq for libzmq llvm static build fix 2024-01-31 07:54:12 -08:00
dr7ana
98583b8f58 Windows CI fixes
- some weird function call business
- string formatting
- etc
2024-01-31 07:54:12 -08:00
dr7ana
c46c18ea30 Bump libzmq static; remove patches 2024-01-31 07:54:12 -08:00
Jason Rhinelander
57c471e7a2 Bump WinDivert to latest
There are some bugfix releases, but also the upstream hash was wrong for
the current release anyway (upstream changed it?).
2024-01-31 07:54:12 -08:00
Jason Rhinelander
b909f537fe Default libcrypt to whether or not we find it
Also deliberately don't provide the function at all if we aren't
compiled with libcrypt so that we can't link if we try to call it when
not available.
2024-01-31 07:54:12 -08:00
Jason Rhinelander
6d6301daee Disable Router Hive & DEB builds
They aren't useful right now.
2024-01-31 07:54:12 -08:00
dr7ana
acf494098a squash 2024-01-31 07:54:12 -08:00
dr7ana
127ac2c9aa windows fixes 2024-01-31 07:54:12 -08:00
dr7ana
5596ffd9d7 CI Fixes, squash 2024-01-31 07:54:12 -08:00
Jason Rhinelander
19f9a8f122 Temporarily disable building/running test suite 2024-01-31 07:54:12 -08:00
dr7ana
57393ea740 Review fixes
- cleaned up include-what-you-use errors (mostly quoted includes)
- misc fixes
2024-01-31 07:54:12 -08:00
Jason Rhinelander
3d44e58e34 Fix systemd linkage 2024-01-31 07:54:12 -08:00
Jason Rhinelander
52b175772f Bring oxen-encoding back in as a submodule
As long as it's loaded before oxen-mq or libquic, this should end up
being the one that gets used in oxen-mq/libquic, and so we don't have to
update those when we want something in a newer oxen-encoding.
2024-01-31 07:54:12 -08:00
Jason Rhinelander
f21facfd39 Add format.sh detection of include problems 2024-01-31 07:54:12 -08:00
dr7ana
f574cd798f Clang format include sorting + CMake
- includes are now sorted in consistent, logical order; first step in an attempt to fix the tomfoolery (no relation to Tom) brought in by include-what-you-use
- shuffled around some cmake linking to simplify dependency graph
- superfluous files removed
2024-01-31 07:54:12 -08:00
dr7ana
12a89328fe Cmake restructuring 2024-01-31 07:54:12 -08:00
Jason Rhinelander
b597ae5a94 "Refactor" aka delete Crypto/CryptoManager
- Get rid of CryptoManager.
- Get rid of Crypto.
- Move all the Crypto instance methods to llarp::crypto functions.
  (None of them needed to be methods at all, so this is simple).
- Move sodium/ntru initialization into static initialization.
- Add llarp::csrng, which is an available llarp::CSRNG instance which is
  a bit easier than needing to construct a `CSRNG rng{};` in various
  places.
- Various related small simplifications/cleanups.
2024-01-31 07:54:12 -08:00
dr7ana
c0b19de963 Review commit 2024-01-31 07:54:12 -08:00
dr7ana
66ec886480 Compilation fixes
- almost all errors have been commented out for refactor or already refactored
- committing this prior to sorting out the cmake structure
- upcoming include-what-you-use application
2024-01-31 07:54:12 -08:00
dr7ana
88fd0852db Outbound context absorbed sendcontex
- message transmission routed through refactored handling
- still work to be done, but now to make it compile at least
2024-01-31 07:54:12 -08:00
dr7ana
6338f3b3cd introset and message transmission underway
- message handling through classes that inherit from PathSet
- cleanups around link_manager
- etc etc
2024-01-31 07:54:12 -08:00
dr7ana
cc08c7cdaa initial commit for next PR 2024-01-31 07:54:12 -08:00
Thomas Winget
5441e27fa4 implement sending "path control" (onioned control) message
TODO: handle at transit hop, handle at terminal hop, create and handle responses
2024-01-31 07:54:12 -08:00
Jason Rhinelander
b805f55ba8 Coalesce from_string/from_string_view
The version taking a string_view will already be perfectly callable with
a string, so just combine them into one.
2024-01-31 07:54:12 -08:00
Jason Rhinelander
cb6d594a89 Remove RC key rotation
We don't have/want this anymore (and on top of that, we *never* used
it in the first place and it probably didn't even work).
2024-01-31 07:54:12 -08:00
Jason Rhinelander
570e87e1d4 Remove optional relay whitelist disabling
Whitelisting is now always-on for relays.  Disabling the option is never
used and is unsupported/unmaintained (it was, in theory, to allow
lokinet as a separate usage in a non-service-node relay mode, i.e. on a
completely separate network).

Confusingly, the option was enabled by the `[lokid]:enabled` config
parameter.
2024-01-31 07:54:12 -08:00
Jason Rhinelander
0b45024883 Remove router nickname
I don't think Kee needs it anymore.
2024-01-31 07:54:12 -08:00
Jason Rhinelander
98f2d02103 Untangle messy nested dependency tree
lokinet-cryptography depends on lokinet-base which depends on
lokinet-cryptography.

Fixed this but splitting lokinet-cryptography into the libntrup code
(which is what is really needed) and the llarp/crypto code (which isn't
needed for lokinet-base).
2024-01-31 07:54:12 -08:00
dr7ana
e4315cdc69 More message handling underway 2023-10-16 11:05:07 -07:00
dr7ana
6b1e3fbbc0 Touched up path build message handling 2023-10-16 06:39:57 -07:00
dr7ana
a6f901a3a9 RIP everything 2023-10-12 13:37:45 -07:00
dr7ana
577f5e61ea De-mutexing
- mutexes in nodedb and rc_lookup_handler removed
- implemented thread-safe queueing to event loop for previously locked accesses
2023-10-12 11:46:41 -07:00
dr7ana
5ccec24470 callsafe
- Added call_get to ev.hpp to queue event loop operations w/ a return value
- de-mutexed NodeDB and made all operations via event loop. Some calls to NodeDB methods (like ::put_if_newer) were wrapped in call->get's, but some weren't. All function bodies were using mutex locks
2023-10-12 06:43:18 -07:00
dr7ana
c8dae875b5 Path routing partially implementing
- Reworking how paths to services and snodes
- pushing for Tom to rebase for path handling
2023-10-11 14:17:11 -07:00
Thomas Winget
2cc02d7b60 handle path build requests, generate responses 2023-10-11 05:35:07 -07:00
dr7ana
bd81357f62 Path message transmission
- implementing DHT message transmission methods and surrounding functionalities across paths
2023-10-10 13:50:04 -07:00
dr7ana
65bd224cf0 Exit endpoints implemented
- free standing functions in link_manager
- sign and serialize functionalities siloed in llarp/messages/exit.hpp
2023-10-06 08:35:34 -07:00