aboutsummaryrefslogtreecommitdiff
path: root/tor-netdir
Commit message (Collapse)AuthorAgeFilesLines
...
* Make authorities and fallbacks configurable.Nick Mathewson2021-02-113-921/+3
| | | | | | | | | | This commit adds configuration options for these values, with the right defaults, and uses those options instead of built-in functions to set them. We also remove the function to extract information from chutney directories: now that arti is configurable, it can be chutney's job to make its own network configurations.
* Resolve a few more XXX-A1 comments in dirmgr.Nick Mathewson2021-01-251-0/+5
|
* Upgrade a few more dependencies.Nick Mathewson2021-01-131-1/+1
|
* cargo upgrade.Nick Mathewson2020-12-301-1/+1
|
* Cleanup on DirInfo::circ_params.Nick Mathewson2020-12-221-0/+43
|
* Implement the "circwindow" and "ExtendByEd25519ID" parametersNick Mathewson2020-12-221-4/+0
| | | | | | These necessitated a little complexity for our circuit creation/extension API; we might want to refactor that down the road.
* Expose network parameters more sensibly from NetDir.Nick Mathewson2020-12-224-12/+291
|
* Migrate from lazy_static to once_cell.Nick Mathewson2020-12-222-7/+5
|
* Check ipv6 exit policies when trying to connect to an ipv6 port specificallyNick Mathewson2020-12-221-2/+5
|
* Simplification: Every relay is in the same family as itself.Nick Mathewson2020-12-171-0/+5
|
* Make sure that a circuit doesn't use relays in the same familyLunar2020-12-161-0/+8
| | | | | | | | | | | | | 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 testsNick Mathewson2020-12-151-0/+33
|
* Remember the actual usable ports for an exit after we've built a circuitNick Mathewson2020-12-141-0/+11
| | | | | | | | 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.
* Fix some rustdoc warnings.Nick Mathewson2020-12-091-1/+1
|
* upgrade rusqliteNick Mathewson2020-12-081-1/+1
|
* Use uniform weight all measured weights are zero.Nick Mathewson2020-12-071-9/+13
|
* Mark some XXXX issues as XXXX-A1.Nick Mathewson2020-12-073-3/+3
|
* Add a missing documentation comment.Nick Mathewson2020-12-071-0/+1
|
* Reuse microdescriptors from previous consensusNick Mathewson2020-12-061-1/+4
| | | | | Previously, we'd re-parse them from the database every time we got a new consensus.
* Refactor NetDir a little for space savings and updatingNick Mathewson2020-12-061-19/+96
| | | | | | | Rather than having the NetDir own its microdescs and consensus, give it Arc<>s for them. This way, we can do a shallow copy of a NetDir to work around mutability issues that would otherwise make it hard to add microdescs to a netdir on the fly.
* A few more tests for role-based weightingNick Mathewson2020-12-021-0/+36
|
* Use bwweightscale to avoid miscalculating weights for v2dir relaysNick Mathewson2020-12-021-16/+32
|
* More tests for weight.rs; find a bug.Nick Mathewson2020-12-021-1/+44
|
* Add a few easy tests in weights.rsNick Mathewson2020-12-021-1/+55
|
* a little more refactoring for testabilityNick Mathewson2020-12-021-7/+13
|
* Clarify DFLT_WEIGHT in weights.rsNick Mathewson2020-12-021-1/+4
|
* Resolve a couple of TODOs in weight.rsNick Mathewson2020-12-021-3/+4
| | | | (Thanks to Mike Perry for answers here.)
* weights: refactor a couple of functions to be more testable.Nick Mathewson2020-12-021-5/+14
|
* Use a slightly prettier syntax in max_weightNick Mathewson2020-12-021-1/+2
|
* Fix a few comments in weight.rsNick Mathewson2020-12-021-12/+17
|
* Use a better calculation for deciding if we have enough paths.Nick Mathewson2020-12-021-11/+30
|
* Implement correct (?) weighting for path selection.Nick Mathewson2020-12-022-66/+379
|
* Add a function to load a directory from cache.Nick Mathewson2020-11-241-0/+5
|
* When a consensus has enough descriptors, mark it non-pending.Nick Mathewson2020-11-241-0/+5
|
* Remove a couple of #[allow]s.Nick Mathewson2020-11-201-1/+0
|
* Move storage and config logic from netdir to dirmgr.Nick Mathewson2020-11-208-1195/+0
|
* NetDirConfig: Learn fallback directories from chutney configurations tooNick Mathewson2020-11-202-3/+66
|
* Missing file: whoopsNick Mathewson2020-11-201-0/+223
|
* Use a builder pattern for NetDir.Nick Mathewson2020-11-201-7/+1
|
* Move NetDirConfig into its own module.Nick Mathewson2020-11-201-142/+2
|
* Move some netdir code into submodules.Nick Mathewson2020-11-203-145/+164
| | | | | The Authority type gets its own module; so does the ability to load from legacy storage.
* Remove "dumpdir" example as obsoleteNick Mathewson2020-11-201-33/+0
|
* Initial pass on directory-manager code.Nick Mathewson2020-11-195-55/+129
| | | | | | | | This code can now bootstrap from the network, cache the results, and reload from cache. There's lots more work to do here, including a big pile of tidying and refactoring and testing and documentation.
* Add support for using fallback directories in path constructionNick Mathewson2020-11-192-9/+61
| | | | | | This is mainly a refactoring commit, with a little new code. It also adds #[derive(Copy,Clone)] for a few types.
* Netdir: improve representationNick Mathewson2020-11-171-48/+76
| | | | | Now a netdir no longer holds unwanted microdescs, and it always holds a weight function.
* Netdir: add functions to add mds, and list missing mdsNick Mathewson2020-11-171-0/+25
|
* Netdir: only expose a netdir object if we have enough directory infoNick Mathewson2020-11-173-13/+61
| | | | | The calculation isn't completely right here, but it's a fair stopgap.
* Include a list of fallback directories in tor-netdirNick Mathewson2020-11-164-0/+881
|
* Checkpoint work on a sqlite backend.Nick Mathewson2020-11-167-37/+649
| | | | | | | | | | | Among other stuff, revert parts of previous commit that introduced a ReadableStore abstraction: there isn't a good abstraction hat covers both Tor legacy stores and sqlite stores-- or if there is, I'll have to find it organizally. This isn't a final version: it probably has bugs, and it needs documentation and more tests. But before I do those, I want to sanity-check the API by drafting the next layer up on the stack.
* Have the consensus-parsing code expose the signed piece of the consensus.Nick Mathewson2020-11-161-1/+2
|