-
Notifications
You must be signed in to change notification settings - Fork 223
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
base: dev
Are you sure you want to change the base?
Commits on Jan 31, 2024
-
Outbound context absorbed sendcontex
- message transmission routed through refactored handling - still work to be done, but now to make it compile at least
Configuration menu - View commit details
-
Copy full SHA for 88fd085 - Browse repository at this point
Copy the full SHA 88fd085View commit details -
- 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
Configuration menu - View commit details
-
Copy full SHA for 66ec886 - Browse repository at this point
Copy the full SHA 66ec886View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0b19de - Browse repository at this point
Copy the full SHA c0b19deView commit details -
"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.
Configuration menu - View commit details
-
Copy full SHA for b597ae5 - Browse repository at this point
Copy the full SHA b597ae5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 12a8932 - Browse repository at this point
Copy the full SHA 12a8932View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for f574cd7 - Browse repository at this point
Copy the full SHA f574cd7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f21facf - Browse repository at this point
Copy the full SHA f21facfView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 52b1757 - Browse repository at this point
Copy the full SHA 52b1757View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d44e58 - Browse repository at this point
Copy the full SHA 3d44e58View commit details -
- cleaned up include-what-you-use errors (mostly quoted includes) - misc fixes
Configuration menu - View commit details
-
Copy full SHA for 57393ea - Browse repository at this point
Copy the full SHA 57393eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 19f9a8f - Browse repository at this point
Copy the full SHA 19f9a8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5596ffd - Browse repository at this point
Copy the full SHA 5596ffdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 127ac2c - Browse repository at this point
Copy the full SHA 127ac2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for acf4940 - Browse repository at this point
Copy the full SHA acf4940View commit details -
Disable Router Hive & DEB builds
They aren't useful right now.
Configuration menu - View commit details
-
Copy full SHA for 6d6301d - Browse repository at this point
Copy the full SHA 6d6301dView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for b909f53 - Browse repository at this point
Copy the full SHA b909f53View commit details -
There are some bugfix releases, but also the upstream hash was wrong for the current release anyway (upstream changed it?).
Configuration menu - View commit details
-
Copy full SHA for 57c471e - Browse repository at this point
Copy the full SHA 57c471eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c46c18e - Browse repository at this point
Copy the full SHA c46c18eView commit details -
- some weird function call business - string formatting - etc
Configuration menu - View commit details
-
Copy full SHA for 98583b8 - Browse repository at this point
Copy the full SHA 98583b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb37796 - Browse repository at this point
Copy the full SHA eb37796View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb2a2cf - Browse repository at this point
Copy the full SHA cb2a2cfView commit details -
This was causing cmake to double-invoke ccache for compilation units, and broke oxen-mq's local zmq build for the same reason.
Configuration menu - View commit details
-
Copy full SHA for 63b8fd4 - Browse repository at this point
Copy the full SHA 63b8fd4View commit details -
Bump armhf static build to bullseye
Use backports for cmake because ngtcp2 needs 3.20+.
Configuration menu - View commit details
-
Copy full SHA for b3c3dcf - Browse repository at this point
Copy the full SHA b3c3dcfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 46482c0 - Browse repository at this point
Copy the full SHA 46482c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3641ab - Browse repository at this point
Copy the full SHA c3641abView commit details -
Configuration menu - View commit details
-
Copy full SHA for ca5ed01 - Browse repository at this point
Copy the full SHA ca5ed01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 431490f - Browse repository at this point
Copy the full SHA 431490fView commit details -
- Local and Remote RC's now implemented with discrete functionalities and uses
Configuration menu - View commit details
-
Copy full SHA for 632f4ee - Browse repository at this point
Copy the full SHA 632f4eeView commit details -
- 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)
Configuration menu - View commit details
-
Copy full SHA for 68e67c8 - Browse repository at this point
Copy the full SHA 68e67c8View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 0de50b1 - Browse repository at this point
Copy the full SHA 0de50b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47bedfd - Browse repository at this point
Copy the full SHA 47bedfdView commit details -
Configuration menu - View commit details
-
Copy full SHA for c149651 - Browse repository at this point
Copy the full SHA c149651View commit details -
- the one addr to rule them all, and its name was oxen::quic::Address - no more vectors of inbound/outbound junk
Configuration menu - View commit details
-
Copy full SHA for 5c6c6bc - Browse repository at this point
Copy the full SHA 5c6c6bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 472fcc7 - Browse repository at this point
Copy the full SHA 472fcc7View commit details -
Configuration menu - View commit details
-
Copy full SHA for d35073c - Browse repository at this point
Copy the full SHA d35073cView commit details -
path build message handling mostly finished
there are a few TODOs which merit further discussion
Configuration menu - View commit details
-
Copy full SHA for 3bc8c30 - Browse repository at this point
Copy the full SHA 3bc8c30View commit details -
path control messages and onioning fleshed out
- control messages can be sent along a path - the path owner onion-encrypts the "inner" message for each hop in the path - relays on the path will onion the payload in both directions, such that the terminal relay will get the plaintext "inner" message and the client will get the plaintext "response" to that. - control messages have (mostly, see below) been changed to be invokable either over a path or directly to a relay, as appropriate. TODO: - exit messages need looked at, so they have not yet been changed for this - path transfer messages (traffic from client to client over 2 paths with a shared "pivot") are not yet implemented
Configuration menu - View commit details
-
Copy full SHA for bf2665b - Browse repository at this point
Copy the full SHA bf2665bView commit details -
omit breaking RC stuff pending refactor
It seems RC refactor will obviate the need for a "get individual RC" method, so this comments out some usage of that to sidestep build errors, rather than correcting them in a way that will just be wasted.
Configuration menu - View commit details
-
Copy full SHA for 62a88b3 - Browse repository at this point
Copy the full SHA 62a88b3View commit details -
path control message response status changes
change path control message inner message response to take just a string, which will be a bt-encoded response with an early key for status. If there is a timeout we pass a bt dict that only has that as the status, else the response we de-onioned should have either an OK status or some other error. change messages to use new status key correctly call Path::EnterState on path build response
Configuration menu - View commit details
-
Copy full SHA for 2bea5e7 - Browse repository at this point
Copy the full SHA 2bea5e7View commit details -
Lots of code was using 32-byte nonces for xchacha20 symmetric encryption, but this just means 8 extra bytes per packet wasted as chacha is only using the first 24 bytes of that nonce anyway. Changing this resulted in a lot of dead/dying code breaking, so this commit also removes a lot of that (and comments a couple places with TODO instead) Also nounce -> nonce where it came up.
Configuration menu - View commit details
-
Copy full SHA for 6572149 - Browse repository at this point
Copy the full SHA 6572149View commit details -
Configuration menu - View commit details
-
Copy full SHA for 04e9fd5 - Browse repository at this point
Copy the full SHA 04e9fd5View commit details -
It's unnecessary abstraction that barely simplifies anything, and is now only used in one single place anyway, which is easily replaced with a (unabstracted) lambda.
Configuration menu - View commit details
-
Copy full SHA for 957280e - Browse repository at this point
Copy the full SHA 957280eView commit details -
preconstructed dicts for error/timeout/ok
also move messages' statuses into their own namespace
Configuration menu - View commit details
-
Copy full SHA for f995b30 - Browse repository at this point
Copy the full SHA f995b30View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0000c6b - Browse repository at this point
Copy the full SHA 0000c6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7fdecef - Browse repository at this point
Copy the full SHA 7fdecefView commit details -
onion encrypt path build frames
path build frames should be onioned at each hop to avoid a bad actor controlling two nodes in a path being able to know (with certainty, temporal correlation is hard to avoid) that they're hops on the same path. This is desirable as in the worst case someone could be your edge hop and terminal hop on a path, and now the terminal hop knows your IP making the path basically pointless.
Configuration menu - View commit details
-
Copy full SHA for 00f30f2 - Browse repository at this point
Copy the full SHA 00f30f2View commit details -
also deserialize to unsigned string where possible/useful so to not have unnecessary reinterpret_casts all over the place.
Configuration menu - View commit details
-
Copy full SHA for cd27121 - Browse repository at this point
Copy the full SHA cd27121View commit details -
remove rc_lookup_handler, relocating useful parts
RC "lookup" is being replaced with "gimme all recently updated RCs". As such, doing a lookup on a specific RC is going away, as is network exploration, so a lot of what RCLookupHandler was doing will no longer be relevant. Functionality from it which was kept has moved to NodeDB, as it makes sense for that functionality to live where the RCs live.
Configuration menu - View commit details
-
Copy full SHA for 611d277 - Browse repository at this point
Copy the full SHA 611d277View commit details -
We're removing the notion of find/lookup a singular RC, so this gets rid of all functions which did that and replaces their usages with something sensible.
Configuration menu - View commit details
-
Copy full SHA for f6594a3 - Browse repository at this point
Copy the full SHA f6594a3View commit details -
implement and use "gossip_rc" command
TODO: refactor or remove RCGossiper and revisit RC regen and when-to-gossip logic.
Configuration menu - View commit details
-
Copy full SHA for e29e23b - Browse repository at this point
Copy the full SHA e29e23bView commit details -
NodeDB RCs don't need insertion time
We will want some notion of "when did we receive it" for RCs (or RouterIDs, details tbd), but that will be per-source as a means to form some metric of consensus/trust on which relays are *actually* on the network. Clients don't have a blockchain daemon to pull this from, so they have to ask many relays for the full list of relays and form a trust model on that (bootstrapping problem notwithstanding).
Configuration menu - View commit details
-
Copy full SHA for 10984b2 - Browse repository at this point
Copy the full SHA 10984b2View commit details -
Relays will now re-sign and gossip their RCs every 6 hours (minus a couple random minutes) using the new gossip_rc message. Removes the old RCGossiper concept
Configuration menu - View commit details
-
Copy full SHA for 6b728a0 - Browse repository at this point
Copy the full SHA 6b728a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb7c90d - Browse repository at this point
Copy the full SHA fb7c90dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 74e7f14 - Browse repository at this point
Copy the full SHA 74e7f14View commit details -
Add command to fetch RCs from remote node
This command will be called periodically by clients to maintain a list of RCs of active relay nodes. It will require another command (future commit) to fetch the RouterIDs from many nodes and reconcile those so we have some notion of good-ness of the RCs we're getting; if we get what seems to be a bad set of RCs (this concept not yet implemented), we will choose a different relay to fetch RCs from. These are left as TODOs for now.
Configuration menu - View commit details
-
Copy full SHA for e37ef78 - Browse repository at this point
Copy the full SHA e37ef78View commit details -
Implement fetch RouterIDs method and usage
Periodically clients will fetch the set of RouterIDs for all relays on the network. It will request this list from a number (12, currently) of relays, but as we are likely to be requesting from more relays than we want to have edge connections, this request will itself be relayed to the target source via one of our edges. As we can't trust our edge to do this honestly, the responses are signed by the source relay. TODO: the responses from all (12) relays are collected, then processed together. The reconciliation of their responses is not yet implemented. TODO: the source selection for this method obviously requires sources to begin with, but this is the method by which we learn of those...bootstrapping is still a bit in-progress, and will need to be finished for this. TODO: make Router call this periodically, as with RC fetching.
Configuration menu - View commit details
-
Copy full SHA for a42d1c1 - Browse repository at this point
Copy the full SHA a42d1c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52cd9e1 - Browse repository at this point
Copy the full SHA 52cd9e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for af424cd - Browse repository at this point
Copy the full SHA af424cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9329ad0 - Browse repository at this point
Copy the full SHA 9329ad0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 040fc86 - Browse repository at this point
Copy the full SHA 040fc86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ac4a9a - Browse repository at this point
Copy the full SHA 5ac4a9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 07fc024 - Browse repository at this point
Copy the full SHA 07fc024View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab24f4b - Browse repository at this point
Copy the full SHA ab24f4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d6b8b55 - Browse repository at this point
Copy the full SHA d6b8b55View commit details -
Configuration menu - View commit details
-
Copy full SHA for baabfab - Browse repository at this point
Copy the full SHA baabfabView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bb8558 - Browse repository at this point
Copy the full SHA 9bb8558View commit details -
move from vectors to unordered_sets
- When receiving a request to fetch RouterID's, the remote endpoint fulfilling the request stores them in an unordered set. When the request caller receives that payload, it is loaded into a vector in the same order. However, we should just load it directly into an unordered set to enforce both the order and that none appear twice - The trust model will have to operate on multiple large lists of RouterID's and RC's efficiently, and maintaining a sort order ensures the values are workable immediately after deserialization
Configuration menu - View commit details
-
Copy full SHA for e1a5d93 - Browse repository at this point
Copy the full SHA e1a5d93View commit details -
pull yourself up by your bootstraps sonny
- initial/subsequent fetching combined for RouterContacts and RouterIDs - bootstraps fallback implemented and looped into fetch logic
Configuration menu - View commit details
-
Copy full SHA for 483b79a - Browse repository at this point
Copy the full SHA 483b79aView commit details -
- greedy evaluation of returned rid's, simplifying post-processing logic to simple frequency comparison per rid against a constant threshold - tidied up link_manager request/response handling - TODO: - review and decide thresholds - evaluate necessity and potential implementation of rc comparison
Configuration menu - View commit details
-
Copy full SHA for e02ddd6 - Browse repository at this point
Copy the full SHA e02ddd6View commit details -
- bootstrap cooldown implemented with 1min timer in case all bootstraps fail - set comparison implemented in non-initial and non-bootstrap rc fetching; set comparison in rid fetching is done every fetch - nodedb get_random functions refactored into conditional/non-conditional methods. Conditional search implements reservoir sampling for one-pass accumulation of n random rcs
Configuration menu - View commit details
-
Copy full SHA for 63a57d5 - Browse repository at this point
Copy the full SHA 63a57d5View commit details -
- disable reachability testing with config option; required to be done on testnet - reachability testing pipeline through link_manager executes pings similar to storage server. connection established hook reports successful reachability, while connection closed callback (with non-default error code) reports unsuccessful testing
Configuration menu - View commit details
-
Copy full SHA for ec88706 - Browse repository at this point
Copy the full SHA ec88706View commit details -
trust model edge case handling
- Once we have our set of returned rc's and accepted rid's (ones that were found locally), the remainder are placed in an "unconfirmed" state - Once there, they have five subsequent successful fetches to be found in request response, at which point their verification counter is incremented and their attempt counter is reset - If they appear three times, they are "promoted" and moved to our "known_{rid,rc}" list
Configuration menu - View commit details
-
Copy full SHA for 44696b1 - Browse repository at this point
Copy the full SHA 44696b1View commit details -
- redoing link_manager functions again to implement previously ignored review comments on several PRs - conceptually merging "whitelist_routers" and new "known_{rids,rcs}", s.t. we can completely eliminate white/red/gray/green/etc lists in favor of something that isn't dumb
Configuration menu - View commit details
-
Copy full SHA for 32e55b0 - Browse repository at this point
Copy the full SHA 32e55b0View commit details -
- Up and running locally, no connections yet - Next: flip testnet and do the gosh dang thing
Configuration menu - View commit details
-
Copy full SHA for 66ad28a - Browse repository at this point
Copy the full SHA 66ad28aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 267a698 - Browse repository at this point
Copy the full SHA 267a698View commit details -
- straightened out setting of public addr and public port in config vs listen ("bind") addr - fixed small bug in router contact writing and saving
Configuration menu - View commit details
-
Copy full SHA for 6a32148 - Browse repository at this point
Copy the full SHA 6a32148View commit details -
Configuration menu - View commit details
-
Copy full SHA for aeb0798 - Browse repository at this point
Copy the full SHA aeb0798View commit details -
Configuration menu - View commit details
-
Copy full SHA for 686c7e0 - Browse repository at this point
Copy the full SHA 686c7e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03976d8 - Browse repository at this point
Copy the full SHA 03976d8View commit details -
Some of these were wrong (trying to use formats that didn't work); this updates them all to new-style logging.
Configuration menu - View commit details
-
Copy full SHA for e43833a - Browse repository at this point
Copy the full SHA e43833aView commit details -
This doesn't really have a purpose.
Configuration menu - View commit details
-
Copy full SHA for 6231b49 - Browse repository at this point
Copy the full SHA 6231b49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72276e3 - Browse repository at this point
Copy the full SHA 72276e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed87b73 - Browse repository at this point
Copy the full SHA ed87b73View commit details -
Remove duplicate connection closing method
`deregister_peer` does the exact same thing as `close_connection` so just remove it. Also removes an unnecessary loop dispatch call (because we *have* to be in the logic thread already to be able to touch the variables we are touching before the dispatch).
Configuration menu - View commit details
-
Copy full SHA for be61373 - Browse repository at this point
Copy the full SHA be61373View commit details -
Configuration menu - View commit details
-
Copy full SHA for 950ebfe - Browse repository at this point
Copy the full SHA 950ebfeView commit details -
- TODO: discuss authentication for nodes connecting to bootstrap seed - crit log num connected/RC's, conn open/closed, etc
Configuration menu - View commit details
-
Copy full SHA for 4b426f5 - Browse repository at this point
Copy the full SHA 4b426f5View commit details -
- nodes now send their RC to the bootstrap seed on making a request - allows the bootstrap seed to distribute RCs
Configuration menu - View commit details
-
Copy full SHA for c4f0a70 - Browse repository at this point
Copy the full SHA c4f0a70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c3f7dc - Browse repository at this point
Copy the full SHA 4c3f7dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b7997e - Browse repository at this point
Copy the full SHA 0b7997eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2405d36 - Browse repository at this point
Copy the full SHA 2405d36View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7568b71 - Browse repository at this point
Copy the full SHA 7568b71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c92c30 - Browse repository at this point
Copy the full SHA 9c92c30View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d9e3ae - Browse repository at this point
Copy the full SHA 3d9e3aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 384cb7a - Browse repository at this point
Copy the full SHA 384cb7aView commit details -
Configuration menu - View commit details
-
Copy full SHA for ba6c8ee - Browse repository at this point
Copy the full SHA ba6c8eeView commit details -
We are reinterpret_cast'ing the version to a string to send it as raw bytes, but it was sending \x00\x00\x09 instead of \x00\x09\x0a because the version constant was actually a uint16_t array. This just makes the version constant a uint8_t array instead so that it works (and I am not at all worried about any version component getting larger than 255).
Configuration menu - View commit details
-
Copy full SHA for dab6e90 - Browse repository at this point
Copy the full SHA dab6e90View commit details -
Configuration menu - View commit details
-
Copy full SHA for aabd413 - Browse repository at this point
Copy the full SHA aabd413View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb62185 - Browse repository at this point
Copy the full SHA eb62185View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4328212 - Browse repository at this point
Copy the full SHA 4328212View commit details -
Configuration menu - View commit details
-
Copy full SHA for 329acaf - Browse repository at this point
Copy the full SHA 329acafView commit details -
Fix pubkey parsing to be read as bytes
from_string was trying to parse it as base32z.snode Also leave FIXMEs behind for the badly named methods (both in RouterID itself and in ancestor classes).
Configuration menu - View commit details
-
Copy full SHA for ff3a495 - Browse repository at this point
Copy the full SHA ff3a495View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3161683 - Browse repository at this point
Copy the full SHA 3161683View commit details -
Configuration menu - View commit details
-
Copy full SHA for b8c8a2c - Browse repository at this point
Copy the full SHA b8c8a2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 97fe3c6 - Browse repository at this point
Copy the full SHA 97fe3c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd96497 - Browse repository at this point
Copy the full SHA cd96497View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cf5805 - Browse repository at this point
Copy the full SHA 0cf5805View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96c93c9 - Browse repository at this point
Copy the full SHA 96c93c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for f00137a - Browse repository at this point
Copy the full SHA f00137aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e88839 - Browse repository at this point
Copy the full SHA 0e88839View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c25124 - Browse repository at this point
Copy the full SHA 4c25124View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e1f4dd - Browse repository at this point
Copy the full SHA 1e1f4ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 90a530a - Browse repository at this point
Copy the full SHA 90a530aView commit details -
Replace GetBestNetIF with quic::Address version
It is now called get_best_public_address, and takes (bool, port) argument to return an optional quic::Address to make life easier: the caller now can just give the default port to set, and we keep the C sockaddr* more constrained.
Configuration menu - View commit details
-
Copy full SHA for 6505c7b - Browse repository at this point
Copy the full SHA 6505c7bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d6cc702 - Browse repository at this point
Copy the full SHA d6cc702View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8bdfb20 - Browse repository at this point
Copy the full SHA 8bdfb20View commit details -
Configuration menu - View commit details
-
Copy full SHA for fcbfc19 - Browse repository at this point
Copy the full SHA fcbfc19View commit details -
This is, apparently, the only way to move an element out of a std::set.
Configuration menu - View commit details
-
Copy full SHA for cb39f64 - Browse repository at this point
Copy the full SHA cb39f64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f99ead - Browse repository at this point
Copy the full SHA 8f99eadView commit details -
Configuration menu - View commit details
-
Copy full SHA for 30ea679 - Browse repository at this point
Copy the full SHA 30ea679View commit details -
Configuration menu - View commit details
-
Copy full SHA for a591d44 - Browse repository at this point
Copy the full SHA a591d44View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbad0d5 - Browse repository at this point
Copy the full SHA dbad0d5View commit details -
- pending conns container stops them from being counted towards active conns in the interim - un-abstracted pendingmessages vs pendingdatamessages vs pendingcontrolmessages (gross) - fixed bootstrap fetching and storage!
Configuration menu - View commit details
-
Copy full SHA for 9f0766f - Browse repository at this point
Copy the full SHA 9f0766fView commit details -
Configuration menu - View commit details
-
Copy full SHA for bf6e705 - Browse repository at this point
Copy the full SHA bf6e705View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42da1b0 - Browse repository at this point
Copy the full SHA 42da1b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ab40a7 - Browse repository at this point
Copy the full SHA 5ab40a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1364e4c - Browse repository at this point
Copy the full SHA 1364e4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for caa7b7a - Browse repository at this point
Copy the full SHA caa7b7aView commit details -
- implemented ngtcp2 ping to keep connections alive - fixed weird lambda captures - fetch logic - lets see what happens
Configuration menu - View commit details
-
Copy full SHA for cc97fe1 - Browse repository at this point
Copy the full SHA cc97fe1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89975a0 - Browse repository at this point
Copy the full SHA 89975a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f143bb - Browse repository at this point
Copy the full SHA 7f143bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d56c97 - Browse repository at this point
Copy the full SHA 4d56c97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b8c8fd - Browse repository at this point
Copy the full SHA 7b8c8fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4251172 - Browse repository at this point
Copy the full SHA 4251172View commit details -
- new btdc method used to ensure no junk at the end of our bt data - DRYed out the RC code - check inbound bootstraps against all registered routers, not just whitelist - libquic vbump
Configuration menu - View commit details
-
Copy full SHA for 22879b6 - Browse repository at this point
Copy the full SHA 22879b6View commit details -
- try closing the connection via link::Endpoint like we probably should be doing.. - testing out dropping stream constructor, godspeed
Configuration menu - View commit details
-
Copy full SHA for 75e3127 - Browse repository at this point
Copy the full SHA 75e3127View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ce0385 - Browse repository at this point
Copy the full SHA 4ce0385View commit details -
It's a gross implementation, and even if it wasn't, using it takes more code than not using it.
Configuration menu - View commit details
-
Copy full SHA for 86f2906 - Browse repository at this point
Copy the full SHA 86f2906View commit details -
Configuration menu - View commit details
-
Copy full SHA for 961763d - Browse repository at this point
Copy the full SHA 961763dView commit details -
Add
exact
argument to get_n_random_rcsIf given and true then return nullopt if we don't find the requested number; otherwise return them even if there aren't as many as we requested.
Configuration menu - View commit details
-
Copy full SHA for 687d655 - Browse repository at this point
Copy the full SHA 687d655View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae38dc7 - Browse repository at this point
Copy the full SHA ae38dc7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e73605 - Browse repository at this point
Copy the full SHA 0e73605View commit details -
- laying the groundwork for functional client->service node connections. this requires ALPNs verification as a secondary method of identification to the remote key - refactored btreq stream creation to use improved stream creation logic in libquic
Configuration menu - View commit details
-
Copy full SHA for 3e9d5a9 - Browse repository at this point
Copy the full SHA 3e9d5a9View commit details -
re-abstraction for client connections
- pending_conns removed in favor of direct creation of link::Connection objects in link::Endpoint::{service,client}_conn containers - conn lookup maps removed, they were pointless
Configuration menu - View commit details
-
Copy full SHA for 9cc0536 - Browse repository at this point
Copy the full SHA 9cc0536View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cbec98 - Browse repository at this point
Copy the full SHA 1cbec98View commit details -
zero cost exception handling my ass
- rework bootstrap loading to move all logic into BootstrapList object - ability to parse lists and dicts of bootstraps implemented - netid parsing refers to the correct fallback - cross your fingers boys here we go
Configuration menu - View commit details
-
Copy full SHA for 6171846 - Browse repository at this point
Copy the full SHA 6171846View commit details -
Configuration menu - View commit details
-
Copy full SHA for 38c1008 - Browse repository at this point
Copy the full SHA 38c1008View commit details -
If you start without -DWITH_SETCAP=OFF, but then later re-run cmake, SETCAP is still set (and so still gets tried). This fixes it.
Configuration menu - View commit details
-
Copy full SHA for 6bb65cc - Browse repository at this point
Copy the full SHA 6bb65ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9153ba3 - Browse repository at this point
Copy the full SHA 9153ba3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b37b5b - Browse repository at this point
Copy the full SHA 9b37b5bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e9dce1 - Browse repository at this point
Copy the full SHA 8e9dce1View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0b6277 - Browse repository at this point
Copy the full SHA c0b6277View commit details -
Configuration menu - View commit details
-
Copy full SHA for 674edab - Browse repository at this point
Copy the full SHA 674edabView commit details -
Configuration menu - View commit details
-
Copy full SHA for 95fe45e - Browse repository at this point
Copy the full SHA 95fe45eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c12f06 - Browse repository at this point
Copy the full SHA 2c12f06View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb19e14 - Browse repository at this point
Copy the full SHA fb19e14View commit details -
- removed superfluous typedefs obfuscating what is actually happening - Builder -> PathBuilder; next is moving PathSet into PathBuilder - enum -> enum class where appropriate - ran linter
Configuration menu - View commit details
-
Copy full SHA for 9cc3efc - Browse repository at this point
Copy the full SHA 9cc3efcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6073377 - Browse repository at this point
Copy the full SHA 6073377View commit details -
- misc libquic fixes squashed into this - thread-safe wrapping
Configuration menu - View commit details
-
Copy full SHA for 261fc6b - Browse repository at this point
Copy the full SHA 261fc6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12381c8 - Browse repository at this point
Copy the full SHA 12381c8View commit details -
- When two relays are repeatedly attempting connections to one another simultaneously, the connection initiated by the RouterID that appears first (in lexicographical order) is deferred to. The connection initiated by the other endpoint is marked to close quietly (w/o executing callbacks), and is rejected in the TLS verification hook - Bypassing callback execution is critical, as it will clean-up the link::Connection object for the connection that is being deferred to; this results in BOTH connections being destroyed.
Configuration menu - View commit details
-
Copy full SHA for 7970ad2 - Browse repository at this point
Copy the full SHA 7970ad2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 722b03b - Browse repository at this point
Copy the full SHA 722b03bView commit details
Commits on Feb 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 861d573 - Browse repository at this point
Copy the full SHA 861d573View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f8e1ad - Browse repository at this point
Copy the full SHA 5f8e1adView commit details -
Configuration menu - View commit details
-
Copy full SHA for fbd1935 - Browse repository at this point
Copy the full SHA fbd1935View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fe8c6f - Browse repository at this point
Copy the full SHA 0fe8c6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27f09f0 - Browse repository at this point
Copy the full SHA 27f09f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62002c3 - Browse repository at this point
Copy the full SHA 62002c3View commit details
Commits on Feb 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a79a5d2 - Browse repository at this point
Copy the full SHA a79a5d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b15f3e7 - Browse repository at this point
Copy the full SHA b15f3e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d3e68a - Browse repository at this point
Copy the full SHA 2d3e68aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b733415 - Browse repository at this point
Copy the full SHA b733415View commit details -
Configuration menu - View commit details
-
Copy full SHA for cba6cd8 - Browse repository at this point
Copy the full SHA cba6cd8View commit details
Commits on Feb 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5004fbc - Browse repository at this point
Copy the full SHA 5004fbcView commit details
Commits on Feb 5, 2024
-
Squashed commits for merge errors afer fixing client-refactor:
- Deprecate pathset, smashed into PathBuilder (renamed to PathHandler) - Re-abstraction of sessions and PathHandlers - Renamed PathBuilder -> PathHandler to more accurately reflect purpose - {Service,Exit}Handler will remain as PathHandlers, though currently no path-sharing amongst sessions being managed is to be implemented. Handlers will maintain their own paths for both lookups and initiating sessions, while sessions will manage their paths independantly. - Session object handling necessitates the differentiation between outbound and inbound sessions. Initiators of sessions are entirely responsible for dictating the chosen path on which the session communicates, and must therefore continually build and manage paths for the negotiated session. - Outbound sessions are now {Service,Exit}Sessions - Inbound sessions are implemented with InboundSession, which is agnostic to the type of service being operated locally (service vs exit, client vs relay, etc). When the Session initiator signals a switch to a different path, it will be assigned to the InboundSession object by {Service,Exit}Endpoint, which manages local services and exits
Configuration menu - View commit details
-
Copy full SHA for ac6255c - Browse repository at this point
Copy the full SHA ac6255cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 25f13c9 - Browse repository at this point
Copy the full SHA 25f13c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for b1f0f37 - Browse repository at this point
Copy the full SHA b1f0f37View commit details
Commits on Feb 6, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e495637 - Browse repository at this point
Copy the full SHA e495637View commit details
Commits on Feb 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 76f720e - Browse repository at this point
Copy the full SHA 76f720eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53552ad - Browse repository at this point
Copy the full SHA 53552adView commit details
Commits on Feb 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f541d0b - Browse repository at this point
Copy the full SHA f541d0bView commit details
Commits on Feb 12, 2024
-
- brought up libev loop implementation from libquic - this will streamline deprecating the old IP_packet, UDPHandle, and other types
Configuration menu - View commit details
-
Copy full SHA for 800c62b - Browse repository at this point
Copy the full SHA 800c62bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d7b973 - Browse repository at this point
Copy the full SHA 0d7b973View commit details -
- old types almost entirely deprecated (ip_packet, sockaddr, etc) - need to touch base with the team to discuss packet routing and the like
Configuration menu - View commit details
-
Copy full SHA for e6d4814 - Browse repository at this point
Copy the full SHA e6d4814View commit details
Commits on Feb 14, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 28194aa - Browse repository at this point
Copy the full SHA 28194aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for b7b9398 - Browse repository at this point
Copy the full SHA b7b9398View commit details -
- C++ bumped 17 -> 20 - clang-format (plus all clangs) -> 17
Configuration menu - View commit details
-
Copy full SHA for 8cc152a - Browse repository at this point
Copy the full SHA 8cc152aView commit details
Commits on Mar 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 44e7c1b - Browse repository at this point
Copy the full SHA 44e7c1bView commit details
Commits on Mar 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for bf2f367 - Browse repository at this point
Copy the full SHA bf2f367View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0af37a - Browse repository at this point
Copy the full SHA d0af37aView commit details -
Configuration menu - View commit details
-
Copy full SHA for bb5f1b3 - Browse repository at this point
Copy the full SHA bb5f1b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a8c6673 - Browse repository at this point
Copy the full SHA a8c6673View commit details
Commits on Mar 18, 2024
-
templated remoteaddress object
- eliminated {client,relay}address - better loops in new key types
Configuration menu - View commit details
-
Copy full SHA for d8f9702 - Browse repository at this point
Copy the full SHA d8f9702View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0203b3 - Browse repository at this point
Copy the full SHA d0203b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for b037c04 - Browse repository at this point
Copy the full SHA b037c04View commit details
Commits on Mar 19, 2024
-
- there is one key difference between the address classes: ClientAddress can be constructed with an ONS name, and can therefore exist in one of 2 dual states (pubkey vs ONS)
Configuration menu - View commit details
-
Copy full SHA for 0301bc8 - Browse repository at this point
Copy the full SHA 0301bc8View commit details
Commits on Mar 22, 2024
-
- cleaned up config parsing using the better Address/IP types and quic::Address where appropriate - created new templated address_map using concepts constraining local types to quic::Address and IPRange, and remote types to {Client,Relay}Address - now the correct local addresses and ranges can be passed to the correct handlers and endpoints for remote and local exit/service operation - basically fully configured ::RemoteHandler - deleted deprecated object files previously removed from compilation
Configuration menu - View commit details
-
Copy full SHA for abb16b1 - Browse repository at this point
Copy the full SHA abb16b1View commit details
Commits on Mar 27, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6a20b3d - Browse repository at this point
Copy the full SHA 6a20b3dView commit details
Commits on Mar 29, 2024
-
Restructuring, session initiation
- combined {exit,service}::Endpoint into handlers::LocalEndpoint - combined {exit,service}::Handler into handlers::RemoteHandler - BaseSession subsumed {Client,Relay}Session -> OutboundSession - Session initialization code underway
Configuration menu - View commit details
-
Copy full SHA for aae23c1 - Browse repository at this point
Copy the full SHA aae23c1View commit details
Commits on Apr 2, 2024
-
- It became increasingly tedious to partition the address types between {Client,Relay}Address, as a client can operate an exit or hidden service while a relay could also be operating a hidden service. The client's hidden service would terminate in a `.loki` while the relay's would terminate in a `.snode`, complicating the ONS logic implemented in ClientAddress - Address types were partitioned into {Network,Relay}Address; NetworkAddress conceptually encapsulates all remote hidden services (agnostic of client vs relay) and exit nodes being operated on the network: RelayAddress specifically designates an addressible relay to be used in scopes excluding hidden services and exit nodes
Configuration menu - View commit details
-
Copy full SHA for bbbc433 - Browse repository at this point
Copy the full SHA bbbc433View commit details
Commits on Apr 3, 2024
-
- Session initiation code laid out from path build to successful session object creation - NullEndpoint renamed to more apt descriptor
Configuration menu - View commit details
-
Copy full SHA for 0eaf854 - Browse repository at this point
Copy the full SHA 0eaf854View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7918df - Browse repository at this point
Copy the full SHA b7918dfView commit details -
- Path building logic in ::PathHandler is broken up into 3 functions. This allows paths built outside of the usual PathHandler::Tick() logic (ex: paths for initiating sessions) to implement custom logic and path handling - RemoteHandler now uses segmented build logic to create a path upon session initiation without storing the created path internally
Configuration menu - View commit details
-
Copy full SHA for b06473d - Browse repository at this point
Copy the full SHA b06473dView commit details -
Removed outer hash for path messages
- if a hop can generate the symmetric key and decrypt its respective payload, then the concept of checking a hash is somewhat pointless - hmac generation and validation removed
Configuration menu - View commit details
-
Copy full SHA for 8262f04 - Browse repository at this point
Copy the full SHA 8262f04View commit details
Commits on Apr 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ecd7744 - Browse repository at this point
Copy the full SHA ecd7744View commit details
Commits on Apr 8, 2024
-
- DRYed out symm. enc. in path-building and session initiation - onwards to unifying session initiation/path-build into one-shot
Configuration menu - View commit details
-
Copy full SHA for cbaa175 - Browse repository at this point
Copy the full SHA cbaa175View commit details -
- correctly looks up introset locally, stores on successful request-response if not found locally - fetched introset used for recursive path-build through pivots - serialize/deserialize logic DRYs out implementation - session init handling laid out
Configuration menu - View commit details
-
Copy full SHA for 597927a - Browse repository at this point
Copy the full SHA 597927aView commit details
Commits on Apr 9, 2024
-
Router prefiguring, ons resolve
- LocalEndpoint and RemoteHandler properly configured using values from ::NetworkConfig - ONS range mappings passed to config now resolved by RemoteHandler at earliest possible phase in Router::run()
Configuration menu - View commit details
-
Copy full SHA for a1a3254 - Browse repository at this point
Copy the full SHA a1a3254View commit details -
Configuration menu - View commit details
-
Copy full SHA for ee961cf - Browse repository at this point
Copy the full SHA ee961cfView commit details -
- LocalEndpoint logic for regenerating and publishing introset - 'publish_intro' performed over path messages: to be revised upon evaluating determinism in dht key comparison with every relay holding the entire network's RC's at all time - surrounding logic left unchanged to be revised as per previous bullet -- can also likely deprecate "order" field with more massaging - futher deprecation of "is_relayed" bool field would require different endpoints for relays to call
Configuration menu - View commit details
-
Copy full SHA for 791155d - Browse repository at this point
Copy the full SHA 791155dView commit details -
- TunEndpoint and LocalEndpoint prefiguring - Fully removed service::Address and all uses of AddressVariant_t in favor of the improved NetworkAddress type - Fully removed exit/* and most of service/*
Configuration menu - View commit details
-
Copy full SHA for 078d0df - Browse repository at this point
Copy the full SHA 078d0dfView commit details
Commits on Apr 10, 2024
-
- Fixed final bencode.h dependencies in AlignedBuffer that was pending refactor of other types - Last traces of any non-oxenc bencode are done - Next is TCP listeners!
Configuration menu - View commit details
-
Copy full SHA for 9e6a334 - Browse repository at this point
Copy the full SHA 9e6a334View commit details
Commits on Apr 12, 2024
-
- Was able to repurpose a lot of the code from the ill-fated ev-dns implementation - TCP{Handle,Socket} implemented to parallelize UDP{Handle,Socket} in functionality - TCP implementation takes in a callback that receives an IPPacket; can also be easily reconfigured to hanle a UDPPacket by simply changing the callback type and the constructor called in llarp/ev/tcp.cpp::tcp_read_cb()
Configuration menu - View commit details
-
Copy full SHA for d9cee71 - Browse repository at this point
Copy the full SHA d9cee71View commit details -
Netif and quic Tunnel reduction
- link::TunnelManager will be re-implemented in link::QUICTunnel to make and accept TCP connections - Will be simplified using Libevent and hooked into the new LocalEndpoint/RemoteHandler model - TCP{Handle,Socket} ownership model will be revised to more monadic model; this will allow the TCPSockets (sockets representing accepted connections) to function entirely independantly of the bound socket
Configuration menu - View commit details
-
Copy full SHA for 6e5d841 - Browse repository at this point
Copy the full SHA 6e5d841View commit details
Commits on Apr 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 849c645 - Browse repository at this point
Copy the full SHA 849c645View commit details
Commits on Apr 18, 2024
-
- EmbeddedEndpoint removed for solo implementation of TunEndpoint for all instances except non-embedded clients - Deprecated TransitHopInfo, TransitHopID; absorbed into TransitHop - Reworked PathContext internal storage of TransitHops, both mutators/setters/getters - Straightened out success conditions of path building - Session initiation and path respective path building code is almost done being laid out - Full steam ahead buddy
Configuration menu - View commit details
-
Copy full SHA for fee6cd6 - Browse repository at this point
Copy the full SHA fee6cd6View commit details
Commits on Apr 19, 2024
-
Session initation, authentication
- Session initiation/handling session initiation request logic finished; still to loop in TCP logic and handlers - remove SessionAuthPolicy from OutboundSession - auth token mapping passed to RemoteHandler; ONS auth mappings resolved with ONS range mappings - auth_static_tokens passed to LocalEndpoint; received auth verify passed tokens against that
Configuration menu - View commit details
-
Copy full SHA for afe20e8 - Browse repository at this point
Copy the full SHA afe20e8View commit details -
- TCP handles and connections are now looped into session initiation and reception - I'm tired
Configuration menu - View commit details
-
Copy full SHA for 8938c06 - Browse repository at this point
Copy the full SHA 8938c06View commit details
Commits on Apr 22, 2024
-
TCP tunnel differentiated inbound/outbound
- TCP backend is differentiated in Inbound vs Outbound sessions, as one listens while the other connects - These pathways are mroe discretely implemented, and the logic may move into the derived classes instead - Now to add hooks to connect TCP server/client to backend (app or system TUN)
Configuration menu - View commit details
-
Copy full SHA for 5b9ad10 - Browse repository at this point
Copy the full SHA 5b9ad10View commit details
Commits on Apr 24, 2024
-
Client session refactor, datagram pipelining
- LocalEndpoint/RemoteHandler combined into SessionEndpoint for ambidextrous session management - Data message routing in/out of paths implemented using callbacks for receiving datagrams differently for embedded vs full clients - Tunneled QUIC endpoints (no-UDP endpoints) implemented with TCP client/server endpoints on embedded/full clients - Lots of surrounding work on the above points
Configuration menu - View commit details
-
Copy full SHA for 8a45350 - Browse repository at this point
Copy the full SHA 8a45350View commit details
Commits on May 28, 2024
-
- libquic bumped for needed ip methods - bumped nlohmann, cpr, CLI11, oxen-encoding, pybind11, sqlite_orm - span-lite, ghc-filesystem, and uvw removed after shift to C++20
Configuration menu - View commit details
-
Copy full SHA for 4ef9754 - Browse repository at this point
Copy the full SHA 4ef9754View commit details -
- Tunnel IP assignment requires robust IP assignment - With the correct implementation of max_ip/next_ip retrieval from ip and ip_range objects, we can now implement IPRangeIterator to manage this
Configuration menu - View commit details
-
Copy full SHA for ce16778 - Browse repository at this point
Copy the full SHA ce16778View commit details
Commits on May 29, 2024
-
TUN/Session IP routing negotiation
- TUN endpoint assigns a local IP to route traffic for inbound/outbound sessions - Config mappings pre-loaded and superside ip iteration
Configuration menu - View commit details
-
Copy full SHA for 4979f9a - Browse repository at this point
Copy the full SHA 4979f9aView commit details
Commits on Jun 2, 2024
-
TUN ip packet re-writing; deps bump
- 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
Configuration menu - View commit details
-
Copy full SHA for f755d26 - Browse repository at this point
Copy the full SHA f755d26View commit details
Commits on Jun 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6a7e973 - Browse repository at this point
Copy the full SHA 6a7e973View commit details
Commits on Jun 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for d455a36 - Browse repository at this point
Copy the full SHA d455a36View commit details
Commits on Jun 14, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5f61469 - Browse repository at this point
Copy the full SHA 5f61469View commit details -
Configuration menu - View commit details
-
Copy full SHA for fcf62fb - Browse repository at this point
Copy the full SHA fcf62fbView commit details
Commits on Jun 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 52ceb26 - Browse repository at this point
Copy the full SHA 52ceb26View commit details
Commits on Jun 25, 2024
-
- libevent loop ticker now handles all execution of `Router::tick()`
Configuration menu - View commit details
-
Copy full SHA for c15b3b1 - Browse repository at this point
Copy the full SHA c15b3b1View commit details
Commits on Aug 14, 2024
-
Aggregated bugfix commits and logging fixes
- 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
Configuration menu - View commit details
-
Copy full SHA for dfa0e52 - Browse repository at this point
Copy the full SHA dfa0e52View commit details
Commits on Aug 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9e300d2 - Browse repository at this point
Copy the full SHA 9e300d2View commit details
Commits on Aug 23, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ec2dbd3 - Browse repository at this point
Copy the full SHA ec2dbd3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b48abc - Browse repository at this point
Copy the full SHA 5b48abcView commit details
Commits on Aug 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ab30bf2 - Browse repository at this point
Copy the full SHA ab30bf2View commit details
Commits on Aug 29, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b794430 - Browse repository at this point
Copy the full SHA b794430View commit details
Commits on Aug 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ca7fc07 - Browse repository at this point
Copy the full SHA ca7fc07View commit details
Commits on Sep 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 35e05b3 - Browse repository at this point
Copy the full SHA 35e05b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 036fbe2 - Browse repository at this point
Copy the full SHA 036fbe2View commit details
Commits on Sep 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c155db3 - Browse repository at this point
Copy the full SHA c155db3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a381c8 - Browse repository at this point
Copy the full SHA 8a381c8View commit details
Commits on Sep 9, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 104ba6d - Browse repository at this point
Copy the full SHA 104ba6dView commit details
Commits on Sep 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ea6d62c - Browse repository at this point
Copy the full SHA ea6d62cView commit details
Commits on Sep 13, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e3d80ea - Browse repository at this point
Copy the full SHA e3d80eaView commit details
Commits on Sep 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for fe9d229 - Browse repository at this point
Copy the full SHA fe9d229View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe717b9 - Browse repository at this point
Copy the full SHA fe717b9View commit details
Commits on Sep 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ec32167 - Browse repository at this point
Copy the full SHA ec32167View commit details
Commits on Sep 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5b522e6 - Browse repository at this point
Copy the full SHA 5b522e6View commit details
Commits on Sep 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c874387 - Browse repository at this point
Copy the full SHA c874387View commit details
Commits on Sep 24, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8495517 - Browse repository at this point
Copy the full SHA 8495517View commit details
Commits on Sep 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 3103194 - Browse repository at this point
Copy the full SHA 3103194View commit details