summaryrefslogtreecommitdiff
path: root/tor-netdoc/src/doc/microdesc.rs
Commit message (Collapse)AuthorAgeFilesLines
* Add a consensus builder, for testing.Nick Mathewson2021-05-051-0/+1
|
* Add a microdesc builder, for testing.Nick Mathewson2021-05-051-0/+22
|
* Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-291-17/+17
| | | | This is painful, but we shouldn't have to do it again.
* Netdoc: Add support for interned PortPolicy objects in MicroDescsNick Mathewson2021-03-291-2/+2
| | | | In C tor, this saved a whole lot of RAM.
* Don't copy exit policies around; instead use Arc.George Kadianakis2021-03-291-6/+7
|
* Migrate from lazy_static to once_cell.Nick Mathewson2020-12-221-22/+23
|
* Make sure that a circuit doesn't use relays in the same familyLunar2020-12-161-0/+4
| | | | | | | | | | | | | 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 position of authcert and microdescsNick Mathewson2020-11-141-8/+26
| | | | | We'll need this to save them to disk after parsing them from an upstream source.
* netdoc: split off string utilsNick Mathewson2020-11-141-1/+1
|
* More documentation in tor-netdoc.Nick Mathewson2020-10-261-0/+4
|
* Improvements to Relay type in tor-netdir.Nick Mathewson2020-10-191-4/+3
| | | | | | | | | | | Now, a Relay is always valid. This required some changes to the API: all_relays() has to return a new UncheckedRelay type that might or might not be valid, and the functions on Relay and ChanTarget that return ed25519 identities need to return an Ed25519Identity, not an ed25519::PublicKey. This change required some new encoding/decoding/conversion functions on Ed25519Identity.
* Calculate digest correctly when microdesc ends with base64 object.Nick Mathewson2020-10-191-9/+4
|
* Mark must-resolve XXXX issues with "XXXXM3".Nick Mathewson2020-10-181-1/+1
| | | | | | | | | | "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
* Update microdesc parsing: ed25519 keys are no longer optional.Nick Mathewson2020-10-181-10/+8
|
* Use Ed25519Identity in microdescriptors.Nick Mathewson2020-10-151-3/+7
|
* Document remaining private members of tor-netdoc.Nick Mathewson2020-10-101-0/+18
|
* microdesc parsing: tests for bad microdescsNick Mathewson2020-10-021-0/+45
|
* tests and fixes for md content parsingNick Mathewson2020-10-021-11/+43
|
* Netdoc: use a more bulletproof pattern to prevent infinite loopsNick Mathewson2020-10-021-13/+10
| | | | | | | | | | | | | | | | Previously our "read a bunch of this kind of document" functions had a common problem, where they could get into an infinite loop if the underlying "read this kind of document" function failed without consuming any tokens. I _think_ that this error case was unreachable (or else fuzzing would have found it, right?), but proving that it was unreachable was a bit fiddly, and I couldn't follow my own arguments about it. Instead, we just store the position of the reader before we start reading, and make sure that it has consumed at least some data. If it hasn't, then we consume and drop a token before advancing to the next document.
* Move around the modules inside tor-netdoc.Nick Mathewson2020-09-291-0/+392
This change just gives them a more logical breakdown into parsing, documents, and misc other types.