| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | Fix a few clippy warnings | Nick Mathewson | 2020-12-17 | 2 | -5/+8 | |
| | | | ||||||
| * | | Merge remote-tracking branch 'origin/mr/8' into main | Nick Mathewson | 2020-12-17 | 2 | -28/+26 | |
| |\ \ | ||||||
| | * | | Handle an error in circuit.rs without crashing. | George Kadianakis | 2020-12-17 | 1 | -1/+4 | |
| | | | | ||||||
| | * | | Simplify RelayCellBody::recognized() method. | George Kadianakis | 2020-12-17 | 1 | -27/+22 | |
| | | | | | | | | | | | | | | | | | | | self is no longer mutable. Co-authored-by: David Goulet <[email protected]> | |||||
| * | | | Merge remote-tracking branch 'origin/mr/6' into main | Nick Mathewson | 2020-12-17 | 4 | -3/+45 | |
| |\ \ \ | ||||||
| | * | | | Make sure that a circuit doesn't use relays in the same family | Lunar | 2020-12-16 | 4 | -3/+45 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | |||||
| * | | | | Merge remote-tracking branch 'origin/mr/7' into main | Nick Mathewson | 2020-12-17 | 4 | -0/+97 | |
| |\ \ \ \ | ||||||
| | * | | | | Adds issue creation templates for bugs, features, proposals and documentation. | Gaba | 2020-12-17 | 4 | -0/+97 | |
| | | |/ / | |/| | | ||||||
| * | | | | Download and use consensus diffs. | Nick Mathewson | 2020-12-17 | 3 | -18/+104 | |
| | | | | | | | | | | | | | | | | | | | | | Had to refactor a few methods for database access, and fix a bug where we were storing valid_until times with the wrong information. | |||||
| * | | | | Add a function to see if a document looks like a diff. | Nick Mathewson | 2020-12-17 | 1 | -0/+6 | |
| | | | | | ||||||
| * | | | | Whoops: add fuzzers code. | Nick Mathewson | 2020-12-17 | 3 | -0/+51 | |
| |/ / / | ||||||
| * | | | Mention tor-consdiff in list of crates | Nick Mathewson | 2020-12-17 | 1 | -0/+2 | |
| | | | | ||||||
| * | | | consdiff: disallow usize::MAX as a line number. | Nick Mathewson | 2020-12-17 | 1 | -1/+11 | |
| | | | | | | | | | | | | | This prevents some overflow cases; found by fuzzing. | |||||
| * | | | Add a fuzzer to tor-consdiff | Nick Mathewson | 2020-12-17 | 1 | -8/+20 | |
| | | | | | | | | | | | | | | | | This fuzzer checks both implementations and makes sure they give the same result. | |||||
| * | | | consdiff: move responsibility for checking sort order into iterator | Nick Mathewson | 2020-12-17 | 1 | -23/+43 | |
| | | | | ||||||
| * | | | More tests for tor-consdiff. | Nick Mathewson | 2020-12-17 | 3 | -75/+191 | |
| | | | | ||||||
| * | | | tor-consdiff: document everything. | Nick Mathewson | 2020-12-17 | 2 | -33/+162 | |
| | | | | ||||||
| * | | | consdiff: use real error messages | Nick Mathewson | 2020-12-17 | 2 | -25/+26 | |
| | | | | ||||||
| * | | | consdiff: extract Error type to new module. | Nick Mathewson | 2020-12-17 | 3 | -19/+29 | |
| | | | | ||||||
| * | | | Make the O(n^2) slow diff-apply algorithm off-by-default. | Nick Mathewson | 2020-12-16 | 3 | -0/+9 | |
| | | | | ||||||
| * | | | Handle the headers on our diff format correctly. | Nick Mathewson | 2020-12-16 | 3 | -17/+77 | |
| | | | | ||||||
| * | | | Implement the O(n) algorithm for applying diffs | Nick Mathewson | 2020-12-16 | 2 | -14/+111 | |
| | | | | ||||||
| * | | | Initial work on client-side consensus diff code. | Nick Mathewson | 2020-12-16 | 9 | -0/+669 | |
| |/ / | ||||||
| * | | Write a few misc unit tests | Nick Mathewson | 2020-12-15 | 4 | -33/+103 | |
| | | | ||||||
| * | | Basic support for IPv6 and begin flags. | Nick Mathewson | 2020-12-15 | 5 | -20/+84 | |
| | | | | | | | | | | | | | 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. | |||||
| * | | Use a set of named flags for BeginFlags in tor-cell. | Nick Mathewson | 2020-12-15 | 2 | -6/+33 | |
| | | | ||||||
| * | | dirmgr: Refactor so it has no unusable state. | Nick Mathewson | 2020-12-15 | 3 | -46/+61 | |
| | | | | | | | | | | | | | With this new API, if you have a DirMgr, it has a NetDir that was bootstrapped, and was live at least once during your program's execution. | |||||
| * | | 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 | 2 | -5/+8 | |
| | | | ||||||
| * | | 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 | 4 | -52/+165 | |
| | | | | | | | | | | | | | | | | | 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. | |||||
| * | | Add a "RetryError" to capture the idea of multiple failed attempts. | Nick Mathewson | 2020-12-12 | 5 | -16/+157 | |
| | | | | | | | | | | | | | When we try to do something a few times and it fails each time, it can be a good idea to remember why the individual failures happened. | |||||
| * | | Use anyhow::Context in tor-chanmgr. | Nick Mathewson | 2020-12-11 | 2 | -3/+9 | |
| | | | ||||||
| * | | Add more anyhow Contexts in client-main | Nick Mathewson | 2020-12-11 | 1 | -6/+18 | |
| | | | ||||||
| * | | Do not keep a NetDir alive just because we have a stream. | Nick Mathewson | 2020-12-10 | 1 | -1/+1 | |
| | | | ||||||
| * | | Merge remote-tracking branch 'origin/mr/5' into main | Nick Mathewson | 2020-12-10 | 2 | -9/+26 | |
| |\ \ | ||||||
| | * | | Use anyhow crate to add extra context for various dirclient errors. | George Kadianakis | 2020-12-10 | 2 | -9/+26 | |
| | | | | ||||||
| * | | | Add a couple of anyhow contexts in main.rs | Nick Mathewson | 2020-12-10 | 1 | -3/+9 | |
| |/ / | ||||||
| * | | Fix some rustdoc warnings. | Nick Mathewson | 2020-12-09 | 7 | -9/+11 | |
| | | | ||||||
| * | | upgrade rusqlite | Nick Mathewson | 2020-12-08 | 2 | -2/+2 | |
| | | | ||||||
| * | | upgrade to require latest anyhow. | Nick Mathewson | 2020-12-08 | 5 | -5/+5 | |
| | | | ||||||
| * | | It is an internal error if we do a TLS connection and get no cert. | Nick Mathewson | 2020-12-08 | 1 | -3/+4 | |
| | | | ||||||
| * | | Make RSAIdentity implement Copy. | Nick Mathewson | 2020-12-08 | 4 | -7/+6 | |
| | | | ||||||
| * | | Document a problem on network transition | Nick Mathewson | 2020-12-08 | 1 | -0/+11 | |
| | | | ||||||
| * | | De-parameterize ChanMgr and everything that wraps it. | Nick Mathewson | 2020-12-08 | 9 | -145/+157 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | |||||
