Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] The Everything Refactor #2212

Open
wants to merge 312 commits into
base: dev
Choose a base branch
from
Open

[WIP] The Everything Refactor #2212

wants to merge 312 commits into from

Conversation

dr7ana
Copy link
Collaborator

@dr7ana dr7ana commented Oct 16, 2023

(This PR is tracking all of the experimental code going in for the quic refactor; it will eventually move to dev once it works again, but is just here to track the branch until then).

@dr7ana dr7ana marked this pull request as draft October 16, 2023 18:23
@jagerman jagerman changed the title [WIP] Messaging Refactor [WIP] Messaging Refactor (general quicwip branch PR) Nov 27, 2023
@dr7ana dr7ana mentioned this pull request Jan 26, 2024
dr7ana and others added 27 commits January 31, 2024 07:54
- message transmission routed through refactored handling
- still work to be done, but now to make it compile at least
- 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
- 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.
- 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
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.
- cleaned up include-what-you-use errors (mostly quoted includes)
- misc fixes
They aren't useful right now.
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.
There are some bugfix releases, but also the upstream hash was wrong for
the current release anyway (upstream changed it?).
- some weird function call business
- string formatting
- etc
This was causing cmake to double-invoke ccache for compilation units,
and broke oxen-mq's local zmq build for the same reason.
Use backports for cmake because ngtcp2 needs 3.20+.
dr7ana added 28 commits June 2, 2024 14:29
- Packets coming in and out of full clients need their IP src/dest addresses re-written
- Lokinet's TUN device sucks up all packets aimed at the if range, correctly addressing them to the proper outbound
- On reception, lokinet's TUN device addresses correctly for the mapped application receiving the packet
- Brought a lil somethin' somethin' from libquic for CI
- Bump oxenmq to cpp20 branch
- Revert cpr to 1.9 stable for subproject curl dep bug
- libevent loop ticker now handles all execution of `Router::tick()`
- Formatting concept to enable oxen-logging printing for custom objects was updated with libquic vbump to require boolean member variable
- Members added in base objects to be inherited through
@dr7ana dr7ana marked this pull request as ready for review September 25, 2024 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants