| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | More logging in circmgr. | Nick Mathewson | 2021-01-26 | 1 | -5/+25 | |
| | | ||||||
| * | Cleanup on DirInfo::circ_params. | Nick Mathewson | 2020-12-22 | 1 | -8/+15 | |
| | | ||||||
| * | Implement the "circwindow" and "ExtendByEd25519ID" parameters | Nick Mathewson | 2020-12-22 | 2 | -7/+28 | |
| | | | | | | | These necessitated a little complexity for our circuit creation/extension API; we might want to refactor that down the road. | |||||
| * | Check ipv6 exit policies when trying to connect to an ipv6 port specifically | Nick Mathewson | 2020-12-22 | 2 | -1/+10 | |
| | | ||||||
| * | Simplification: Every relay is in the same family as itself. | Nick Mathewson | 2020-12-17 | 1 | -7/+2 | |
| | | ||||||
| * | Make sure that a circuit doesn't use relays in the same family | Lunar | 2020-12-16 | 1 | -3/+7 | |
| | | | | | | | | | | | | | | We implement `Relay::in_same_family` which is in turn used by `ExitPathBuilder::pick_path` to avoid picking relays in the same family. Compared to the original C implementation, we are missing support for options EnforceDistinctSubnets and NodeFamilySets. This has only been very lightly tested so far. Closes: #43 | |||||
| * | Write a few misc unit tests | Nick Mathewson | 2020-12-15 | 1 | -1/+1 | |
| | | ||||||
| * | Basic support for IPv6 and begin flags. | Nick Mathewson | 2020-12-15 | 2 | -14/+21 | |
| | | | | | | | We now have a way to tell a circuitmgr whether we require ipv4/ipv6 support for a target address in an exit policy, and we use similar logic to set begin flags. | |||||
| * | Implement a notion of "circuit dirtiness", as in Tor. | Nick Mathewson | 2020-12-15 | 1 | -6/+33 | |
| | | ||||||
| * | Fix some clippy warnings. | Nick Mathewson | 2020-12-15 | 1 | -3/+7 | |
| | | ||||||
| * | circmgr: refactor and bugfix a bit. | Nick Mathewson | 2020-12-14 | 1 | -28/+83 | |
| | | | | | | | | | Notably, turn the hashmap into its own type. This will help with other refactoring and fixes in the future. Also notably, fix the code we use when a pending circuit is complete. There's still a design flaw there though. | |||||
| * | tor-circmgr: update documentation | Nick Mathewson | 2020-12-14 | 2 | -2/+23 | |
| | | ||||||
| * | Give more information if we fail to create a pending circuit. | Nick Mathewson | 2020-12-14 | 1 | -5/+7 | |
| | | ||||||
| * | Remove now-unused busted From<TargetCircUsage> for CircUsage | Nick Mathewson | 2020-12-14 | 1 | -19/+0 | |
| | | ||||||
| * | tor-circmgr: always remove closed circuits from the list. | Nick Mathewson | 2020-12-14 | 1 | -8/+8 | |
| | | ||||||
| * | tor-circmgr: Use a better key type for our circuit map. | Nick Mathewson | 2020-12-14 | 1 | -70/+88 | |
| | | | | | | | | We now use the unique id of each non-pending circuit as its key in the map. I wish I could do this without copying, but I don't see a great way to do that while keeping the pending entries in the same map for now. | |||||
| * | Remember the actual usable ports for an exit after we've built a circuit | Nick Mathewson | 2020-12-14 | 3 | -52/+154 | |
| | | | | | | | | | Previously we'd just remember the port that we _wanted_ a circuit for, and forget all the ports that it _could_ support. This is part of a bigger circmgr revision/refactoring pass; there should be cleanups before I merge this. | |||||
| * | De-parameterize ChanMgr and everything that wraps it. | Nick Mathewson | 2020-12-08 | 2 | -21/+6 | |
| | | | | | | | | | | | | | | | This makes a whole lot of our code simpler, and makes it so that CircMgr and DirMgr no longer need to have anything parameterized over transports, either. Instead of boxing Transport inside of ChanMgr, I've made a new Connection trait that goes from a ChanTarget* straight to a Channel. This lets us avoid having to box the intermediate TLS object. [*] Actually, a copy of the information from a ChanTarget. Ick, but I had to make a copy to avoid parameterizing Connecter::build_channel. | |||||
| * | Mark some XXXX issues as XXXX-A1. | Nick Mathewson | 2020-12-07 | 3 | -8/+5 | |
| | | ||||||
| * | Fix typo in pick_path(). | Alexander Færøy | 2020-12-05 | 1 | -1/+1 | |
| | | | | | | | This patch fixes a minor typo in the error case when looking for a middle relay for a 3-hop circuit where the error message should say "No middle relay found" and not "No exit relay found". | |||||
| * | Implement correct (?) weighting for path selection. | Nick Mathewson | 2020-12-02 | 2 | -21/+7 | |
| | | ||||||
| * | When retiring circuits, do it by ID, not by reference. | Nick Mathewson | 2020-12-01 | 1 | -8/+8 | |
| | | ||||||
| * | tor-dirclient: add timeouts | Nick Mathewson | 2020-12-01 | 1 | -2/+2 | |
| | | | | | | | | | This adds two timeouts in total: one for sending begin, and getting headers, and one for getting the rest of the data. These timeouts are way too long right now, but at least the code is there. | |||||
| * | Fix a couple of new clippy warnings. | Nick Mathewson | 2020-11-28 | 1 | -1/+1 | |
| | | ||||||
| * | Add a function to retire circuits. | Nick Mathewson | 2020-11-24 | 1 | -0/+29 | |
| | | ||||||
| * | Add support for using fallback directories in path construction | Nick Mathewson | 2020-11-19 | 5 | -37/+74 | |
| | | | | | | | This is mainly a refactoring commit, with a little new code. It also adds #[derive(Copy,Clone)] for a few types. | |||||
| * | Add a notion of a one-hop fallback path. | Nick Mathewson | 2020-11-17 | 1 | -7/+11 | |
| | | | | | These have a FallbackDirectory as target, rather than a Relay. | |||||
| * | Refactor first-hop handling types a bit | Nick Mathewson | 2020-11-17 | 1 | -7/+13 | |
| | | | | | | | This lets us have the notion of "get the first hop of a path as some kind of a chantarget", which will make it easier to write other path types. | |||||
| * | Note an unpleasantness in the circmgr api. | Nick Mathewson | 2020-11-16 | 1 | -0/+1 | |
| | | ||||||
| * | Move closed-check for circuits into an atomicbool. | Nick Mathewson | 2020-11-13 | 1 | -1/+1 | |
| | | ||||||
| * | Make Arc<>-ness of ClientCirc explicit. | Nick Mathewson | 2020-11-12 | 2 | -11/+15 | |
| | | ||||||
| * | Make the Arc-ness of channels more explicit. | Nick Mathewson | 2020-11-12 | 1 | -1/+2 | |
| | | | | | | | Previously every channel was a secret Arc<>, which I think is bad style, and which stopped us from using weak references in other places. | |||||
| * | tor-circmgr: timeout and retry support. | Nick Mathewson | 2020-11-11 | 2 | -3/+40 | |
| | | ||||||
| * | Isolate async_std usage in a new tor_rtcompat crate. | Nick Mathewson | 2020-11-11 | 2 | -16/+6 | |
| | | | | | | Like tor_llcrypto, this crate is meant to expose only the part of other crates (in this case, a async runtime crate) that we use. | |||||
| * | Use anyhow in tor-circmgr and tor-chanmgr | Nick Mathewson | 2020-11-11 | 4 | -20/+4 | |
| | | ||||||
| * | circmgr: Make sure circmgr can be shared among threads | Nick Mathewson | 2020-11-04 | 1 | -8/+6 | |
| | | ||||||
| * | Make 'netdir' no longer a field in circmgr. | Nick Mathewson | 2020-11-02 | 1 | -12/+13 | |
| | | ||||||
| * | Add a tiny bit of cleanup logic to tor-circmgr | Nick Mathewson | 2020-11-02 | 1 | -4/+17 | |
| | | ||||||
| * | Document tor-circmgr | Nick Mathewson | 2020-11-02 | 5 | -7/+107 | |
| | | ||||||
| * | Implement rudimentary circuit-manager functionality | Nick Mathewson | 2020-11-02 | 3 | -1/+193 | |
| | | | | | | This code is meant to "get or launch a circuit as appropriate." It's super dodgy, but it is probably good enough for a first pass. | |||||
| * | Add a new circuit-manager crate and move path selection there. | Nick Mathewson | 2020-11-02 | 5 | -0/+182 | |
