summaryrefslogtreecommitdiff
path: root/tor-netdir/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix some warnings about needless & from nightly clippyNick Mathewson2021-06-181-3/+3
|
* Notes about badexit flag and opportunities for errorNick Mathewson2021-06-161-0/+4
|
* Tests for circmgr::usageNick Mathewson2021-06-161-3/+7
|
* Expose the "construct_network()" function in tor-netdir.Nick Mathewson2021-06-161-77/+5
| | | | | | | | This function has been used for testing tor-netdir, but it will also be useful for testing path selection in tor-cirmgr as well. I've put it behind a "testing" feature, since it shouldn't really be used by most applications.
* Add noop_method_call warning.Nick Mathewson2021-05-271-0/+1
| | | | | | This would have saved ahf and me a lot of confusion in debugging a situation where we were cloning a reference of a type that didn't implement Clone.
* Enable cargo_common_metadata warning.Nick Mathewson2021-05-251-0/+2
|
* Re-add a percentage type wrapper.Nick Mathewson2021-05-251-2/+1
| | | | | | It turns out that when we don't have a percentage type associated with a value, it is far too easy to forget to divide by 100 before using it as a fraction.
* fixup! Revert change to type of NetParams value.Nick Mathewson2021-05-251-4/+0
|
* It is not an error to see an unrecognized parameter.Nick Mathewson2021-05-251-17/+11
|
* Revert change to type of NetParams value.Nick Mathewson2021-05-251-5/+10
| | | | | This truly is an i32, not a strings: it is a specified requirement in parsing consensus documents.
* Use macros and types to improve handling of Netdir parameters.Nick Mathewson2021-05-251-8/+20
| | | | (Squashed from typed-netdir-params)
* More docs on tor-netdir.Nick Mathewson2021-05-241-8/+26
|
* Make netdir's Relay type derive "Clone".Alexander Færøy2021-05-201-0/+1
|
* Prefer "relay" over "router" in docs and APIs.Nick Mathewson2021-05-181-17/+17
|
* tor_netdir: tests on relay picking and moreNick Mathewson2021-05-101-6/+108
|
* netdir: Add real tests for frac_for_role().Nick Mathewson2021-05-101-7/+107
| | | | | Also fix a bug in calculating have_enough_paths(): we were assuming the wrong behavior for weight_for_role().
* netdir: remove unused From implementation.Nick Mathewson2021-05-101-6/+0
|
* Add some tests to tor-netdir.Nick Mathewson2021-05-071-0/+138
|
* Add trait_duplication_in_bounds warning.Nick Mathewson2021-05-031-0/+1
|
* Add unseparated_literal_suffix lint, and fix it.Nick Mathewson2021-05-031-0/+1
|
* Add a few more clippy warningsNick Mathewson2021-05-031-0/+5
|
* Add some more clippy warnings to our list.Nick Mathewson2021-04-271-1/+6
|
* Enforce (and obey) clippy lints about exhaustive enums, structs.Nick Mathewson2021-04-271-0/+3
| | | | | | | | These lints force us to declare our exported enums and exhaustive-looking structs as non-exhaustive (so that we can add to them in the future without breaking our API) or to explicitly disable the warning for a given enum/struct (to say that we _intend_ for additions to be a breaking change).
* Use Arc::make_mut() to simplify the code a bitNick Mathewson2021-03-301-19/+0
| | | | | Previously we used NetDir::extend here, which used try_unwrap. But it's much simpler to use the intended object for this purpose.
* Experimental accessor functions for Relay members.Nick Mathewson2021-03-301-0/+26
|
* Make RouterStatus a trait and Consensus into a generic type.Nick Mathewson2021-03-301-1/+1
| | | | This breaks surprisingly little.
* Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-291-37/+37
| | | | This is painful, but we shouldn't have to do it again.
* Rename Rsa{Identity,Signature} to fix clippy warning.Nick Mathewson2021-03-291-4/+4
|
* Don't copy exit policies around; instead use Arc.George Kadianakis2021-03-291-2/+2
|
* Resolve unwrap() instances in tor-netdir.Nick Mathewson2021-03-161-1/+1
| | | | | This includes revising the pick_weighted() function to not panic if its inputs are above 2^64 in total.
* Add support to override network parameters in the configuration.Nick Mathewson2021-02-161-2/+17
|
* Resolve a few more XXX-A1 comments in dirmgr.Nick Mathewson2021-01-251-0/+5
|
* Expose network parameters more sensibly from NetDir.Nick Mathewson2020-12-221-6/+20
|
* 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
* 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.
* Mark some XXXX issues as XXXX-A1.Nick Mathewson2020-12-071-1/+1
|
* 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.
* 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-021-66/+28
|
* 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-201-7/+0
|
* 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-201-143/+26
| | | | | The Authority type gets its own module; so does the ability to load from legacy storage.