Commit Graph

8112 Commits

Author SHA1 Message Date
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
dr7ana
4ed6a01e02 following up before Tom meeting 2023-10-04 07:12:16 -07:00
Thomas Winget
f35f7fe3f2 refactor path build message construction, no more async nonsense 2023-10-04 04:17:30 -07:00
dr7ana
206bd0b85e wawaweewa 2023-10-03 13:11:51 -07:00
dr7ana
1a9f977208 Message method implementation continued
- tons of surrounding stupid refactoring required
2023-10-03 13:00:32 -07:00
dr7ana
ad007ff832 libquic/oxen-mq/oxenc version bumps 2023-09-29 10:44:31 -07:00
dr7ana
d9ead7d0f6 crypto and message encoding
- libsodium calls streamlined and moved away from stupid typedefs
- buffer handling taken away from buffer_t and towards ustrings and strings
- lots of stuff deleted
- team is working well
- re-implementing message handling in proper link_manager methods
2023-09-29 10:29:05 -07:00
dr7ana
ae319091d6 libquic bump 2023-09-26 10:55:03 -07:00
dr7ana
d0c3837384 libquic bparser merged
- bumped version to latest main branch commit
- wired up callbacks to set RPC request stream on creation
- methods for I/O of control and data messages through link_manager
2023-09-25 13:52:23 -07:00
dr7ana
a3e6cec7e7 Address type migration + libquic bump
- llarp/router/router.hpp, route_poker, and platform code moved to libquic Address types
- implementing required methods in link_manager for connection establishment
- coming along nicely
2023-09-19 13:15:59 -07:00
dr7ana
bfa9629779 More carving + libquic bump
- bumped libquic to begin implementing dependent features on connection open/close signals
- more gutting of interface classes
2023-09-18 14:50:23 -07:00
dr7ana
aaf688cf81 Deleted a lot
- RIP llarp/iwp/* and most of llarp/link
2023-09-15 14:15:03 -07:00
dr7ana
ffb90e87dc libquic bump 2023-09-14 12:16:13 -07:00
dr7ana
fd527d612f Carving through llarp/link 2023-09-14 07:54:51 -07:00
dr7ana
d1b7eee7c8 Zlib version bump 1.2.13 -> 1.3 2023-09-14 05:20:13 -07:00
dr7ana
a4272c4503 Added span backport 2023-09-14 05:08:10 -07:00
dr7ana
7f8207d5d3 Nuked superfluous interface classes
RIP:
- i_link_manager
- i_outbound_message_handler
- i_gossiper
- i_outbound_session_maker
- i_rc_lookup_handler
2023-09-13 13:34:34 -07:00
dr7ana
821cbeaacf warnings_as_errors fixes 2023-09-13 12:29:30 -07:00
dr7ana
7ce517bd2d oxen-libquic update; no leak warn deprecated 2023-09-13 10:39:11 -07:00
dr7ana
81aa044baa kitware CI deps
- stupid warn deprecated stupid
2023-09-13 10:15:54 -07:00