summaryrefslogtreecommitdiff
path: root/tor-netdoc/src/doc/netstatus.rs
Commit message (Collapse)AuthorAgeFilesLines
* Use the "typos" tool to fix some spellingNick Mathewson2021-05-261-2/+2
|
* Revert change to type of NetParams value.Nick Mathewson2021-05-251-2/+2
| | | | | 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-2/+2
| | | | (Squashed from typed-netdir-params)
* Fix some rustdoc warningsNick Mathewson2021-05-211-1/+2
|
* Add the "unreachable_pub" lint.Nick Mathewson2021-05-181-2/+2
| | | | | | This is a somewhat obnoxious change in its scope and requirements, but it makes it easier to understand what the real public and private parts of our APIs are.
* Prefer "relay" over "node" in most circumstances.Nick Mathewson2021-05-181-2/+2
|
* Prefer "relay" over "router" in docs and APIs.Nick Mathewson2021-05-181-55/+53
|
* WIP: more builders.Nick Mathewson2021-05-131-2/+1
|
* More tests for tor-netdir::weightNick Mathewson2021-05-071-0/+3
|
* Add a consensus builder, for testing.Nick Mathewson2021-05-051-8/+33
|
* Enforce (and obey) clippy lints about exhaustive enums, structs.Nick Mathewson2021-04-271-1/+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).
* Major revision on DirMgr logic -- almost a complete rewrite.Nick Mathewson2021-04-131-0/+13
| | | | | | | | The big idea of this revision is to separate the code that knows about doing downloads from the code that decides what to download. Later, we can make a similar change for database access. With these changes together, we can make our code much more testable, and eventually enable more download types in parallel.
* DirMgr: add text() and texts() functions to ask for document textNick Mathewson2021-03-311-2/+2
| | | | | Also, start on a larger refactoring where we ask for documents by their ID.
* Make ConsensusFlavor a real type.Nick Mathewson2021-03-311-22/+51
| | | | Previously we were "stringly typing" this field. Now it's time to stop.
* Move RdDigest to routerdesc.rsNick Mathewson2021-03-301-4/+0
|
* Make RouterFlags public.Nick Mathewson2021-03-301-4/+11
|
* Add a test case for NS consensus parsing.Nick Mathewson2021-03-301-1/+29
|
* NS consensus documents have signatures on SHA1 hashes, not SHA256.Nick Mathewson2021-03-301-8/+29
|
* Implement parsing for ns-flavored consensus documents.Nick Mathewson2021-03-301-2/+19
|
* Make RouterStatus a trait and Consensus into a generic type.Nick Mathewson2021-03-301-43/+96
| | | | This breaks surprisingly little.
* Start moving MdConsensus-specific code to a submodule.Nick Mathewson2021-03-301-172/+4
| | | | This is part of refactoring to handle NsConsensuses.
* Fix a bunch more new clippy lints in Rust 1.51Nick Mathewson2021-03-291-8/+5
| | | | | | | | The major types are: * You implemented Into when you should have implemented From. * You sliced a slice when you didn't have to. * You said Ok(x?) when you could have said x. * You said Vec::new(); push(); push(); when you could have said vec![].
* Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-291-93/+97
| | | | This is painful, but we shouldn't have to do it again.
* Rename Rsa{Identity,Signature} to fix clippy warning.Nick Mathewson2021-03-291-10/+10
|
* Add support to override network parameters in the configuration.Nick Mathewson2021-02-161-2/+17
|
* Detect consensuses that are signed by the wrong authorities.Nick Mathewson2021-01-251-8/+5
| | | | | | | | | | | | With this patch we don't consider a consensus to be even potentially well-signed if the authorities that are listed as signing it don't contain enough authorities we believe in. Otherwise, we'd just try fetching certs for them and failing forever. (I found this by switching from a chutney network to the main network without cleaning out my cache.) Closes #44
* Function to see whether the authorities on a netstatus are correct.Nick Mathewson2021-01-251-0/+48
| | | | | We should find out if we believe in the authorities before we even think of downloading their certs.
* Remove some now unused methods from NetParams.Nick Mathewson2020-12-221-27/+0
|
* Expose network parameters more sensibly from NetDir.Nick Mathewson2020-12-221-2/+6
|
* Migrate from lazy_static to once_cell.Nick Mathewson2020-12-221-106/+103
|
* Make RSAIdentity implement Copy.Nick Mathewson2020-12-081-2/+2
|
* Resolve a few nightly-only clippy issuesNick Mathewson2020-12-071-6/+5
|
* Enforce that the periods in a consensus lifetime are nonempty.Nick Mathewson2020-12-041-6/+10
| | | | | To be valid, a lifetime must have valid_after < fresh_until < valid_until.
* Fix a copy-paste bug in netstatus::LifetimeNick Mathewson2020-12-041-1/+1
|
* Add a few easy tests in weights.rsNick Mathewson2020-12-021-2/+1
|
* Use a better calculation for deciding if we have enough paths.Nick Mathewson2020-12-021-1/+32
|
* Implement correct (?) weighting for path selection.Nick Mathewson2020-12-021-1/+15
|
* When storing consensuses, index them by the sha3 of the whole file.Nick Mathewson2020-11-231-5/+7
|
* Initial pass on directory-manager code.Nick Mathewson2020-11-191-0/+6
| | | | | | | | 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-191-1/+14
| | | | | | This is mainly a refactoring commit, with a little new code. It also adds #[derive(Copy,Clone)] for a few types.
* Type and functions for key ID inspection of AuthCert.Nick Mathewson2020-11-161-19/+18
|
* Have the consensus-parsing code expose the signed piece of the consensus.Nick Mathewson2020-11-161-6/+9
|
* Add accessors for consensus lifetimes.Nick Mathewson2020-11-141-6/+43
|
* Use Infallible in tor-netdoc.Nick Mathewson2020-11-111-2/+2
|
* Use bitflags crate to represent RouterFlags.Nick Mathewson2020-11-111-90/+74
|
* Add a new circuit-manager crate and move path selection there.Nick Mathewson2020-11-021-0/+8
|
* netdir: don't use relays with NoEdConsensus flag set.Nick Mathewson2020-10-191-1/+5
|
* Mark must-resolve XXXX issues with "XXXXM3".Nick Mathewson2020-10-181-2/+2
| | | | | | | | | | "M3" is for "milestone 3" -- my target to fix the technical debt that I think will be bad if we ship even a pre-alpha with it. These aren't necessarily _all_ must-resolve, but they're all must-look-at. Closes #15
* Cleanup from prop315 implementation.Nick Mathewson2020-10-161-11/+8
| | | | | | | | Most of the fixes here are just removing comments that said "this isn't technically required but I'm going to pretend it is". I also made the "protocols" field in microdescs out of its Option<>, since we're now requiring that.
* Implement proposal 315: make various directory fields requiredNick Mathewson2020-10-161-1/+1
|