summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add link to upstream issueArturo Marquez2022-06-221-1/+3
| | | | | | | | As per request, here: `https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/600#note_2816252`
* | Remove unused `base64` crateArturo Marquez2022-06-211-1/+0
| |
* | Replace `base64` crate with `base64ct` crateArturo Marquez2022-06-213-7/+25
|/ | | | | | | Note: the `base64ct` crate rejects invalid characters when the decoding is done on padded strings. However, the `FromStr` impl for `B64` can have both padded **and** unpadded inputs, so all inputs are now padded first, before decoding.
* Add a configuration option for reachable_addrsNick Mathewson2022-06-171-0/+8
| | | | (This doesn't do anything yet.)
* NetDoc: Make AddrPortPattern implement serde traitsNick Mathewson2022-06-173-2/+33
| | | | | | I'm using serde_with here to just re-use the Display and FromStr implementations, since those are what has proven easier to type in the past.
* Make AddrPortPattern and friends implement Eq and PartialEqNick Mathewson2022-06-172-2/+3
|
* Merge branch 'high-level-features' into 'main'Nick Mathewson2022-06-161-0/+3
|\ | | | | | | | | | | | | Add "full" and "experimental" features to arti, arti-client, and below. Closes #499 See merge request tpo/core/arti!584
| * Add "full" and "experimental" features to arti-client and below.Nick Mathewson2022-06-101-0/+3
| | | | | | | | | | | | | | | | | | The "full" feature is a catch-all for all features, _except_: * Those that select a particular implementation (like tor-llcrypto/with-openssl) or build flag (like "static") * Those that are experimental or unstable (like "experimental-api") * Those that are testing-only.
* | Add one more "allow" to tor_netdoc::parse::macros.Nick Mathewson2022-06-151-0/+1
|/ | | | | Without this, clippy is error-free, but `cargo test` somehow gives a warning.
* Netdoc tests: extract decode-base64-ignore-ws code.Nick Mathewson2022-06-071-10/+13
|
* microdesc: make sure we recover from an error in the final md.Nick Mathewson2022-06-071-1/+7
| | | | | | | | (This is slightly different from recovering from errors in the middle of a list of mds, since in this case we _can't_ advance to the next md.) Also, note that a given branch is probably not reachable.
* netdoc: test case for microdesc with no ed25519 id.Nick Mathewson2022-06-072-0/+9
| | | | | The "bad-id" microdescriptor is hand-edited based on one from a Chutney network.
* netdoc: test a couple of accessors for AuthCert.Nick Mathewson2022-06-071-1/+11
|
* Netdoc: test enforcement for items that mustn't take objects.Nick Mathewson2022-06-071-0/+6
| | | | Found via coverage.
* netdoc: remove an unused method.Nick Mathewson2022-06-071-12/+0
|
* netdoc: Test more accessors for tokenized documents.Nick Mathewson2022-06-072-4/+20
|
* Netdoc: add accessor to error for ParseErrorKindNick Mathewson2022-06-071-0/+5
| | | | | The kind type was already public, but we didn't give the user any way to get it.
* netdoc: tests for parsing UnvalidatedEdCert.Nick Mathewson2022-06-071-1/+47
|
* Tests for netdoc RsaPublic type.Nick Mathewson2022-06-071-2/+37
|
* Fix a copy-paste error in Ed25519 parsing tests.Nick Mathewson2022-06-011-3/+3
| | | | | We accidentally tried to validate (invalid) ed25519 keys as curve25519 keys.
* Add test for parsing bad tor version with too many elements.Nick Mathewson2022-06-011-0/+1
| | | | This is a coverage-driven test.
* Add test for mutability of RelayFamily.Nick Mathewson2022-06-011-0/+9
|
* Tests for tor_netdoc::util::internNick Mathewson2022-06-011-0/+33
|
* lints: Add let_unit_value allow to all cratesIan Jackson2022-05-311-0/+1
| | | | | From running add_warning, with manual picking of the right hunks/lines.
* lints: Add lint block delimiters to every crateIan Jackson2022-05-311-0/+2
| | | | | | This was the result of: maint/add_warning crates/*/src/{lib,main}.rs and then manually curating the results.
* lints: Suppress unknown lints in a way that works on nightly tooIan Jackson2022-05-311-2/+4
| | | | This is ridiculous.
* Lexically sort Cargo.toml dependenciesOrhun Parmaksız2022-05-281-12/+10
| | | | | | Utilize cargo-sort: https://github.com/DevinR528/cargo-sort Signed-off-by: Orhun Parmaksız <[email protected]>
* tor-netdoc: Allow suppressing unknown lintsIan Jackson2022-05-271-0/+2
| | | | | We want to supress the unused_macro_rules lint in one place but it's new in Nightly and this triggers yet another lint.
* tor-netdoc: Suppress new "unused_macro_rules" lint in one placeIan Jackson2022-05-271-0/+1
| | | | | | | The compiler can apparently tell that we aren't generating compile errors! Also that we're not yet using a feature provided here. (New lint in currently Nightly.)
* Regenerate version bump from previous commit.arti-v0.4.0Nick Mathewson2022-05-271-1/+1
| | | | | | | This commit was made by reverting the previous commit, then re-running the script I used to generate it. In theory there should be no semantic changes: only changes due to improved formatting from cargo edit.
* Semantic version changes for Arti 0.4.0 releaseNick Mathewson2022-05-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | I followed the following procedure to make these changes: * I used maint/changed_crates to find out which crates had changed since 0.3.0. * I used grep and maint/list_crates to sort those crates in topological (dependency) order. * I looked through semver_status to find which crates were listed as having semver-relevant changes (new APIs and breaking changes). * I scanned through the git logs of the crates with no semver-relevant changes listed to confirm that, indeed, they had no changes. For those crates, I incremented their patch-level version _without_ changing the version that other crates depend on. * I scanned through the git logs of the crates with no semver-relevant changes listed to confirm that, indeed, they had no obvious breaking changes. * I treated all crates that depend on `arti` and/or `arti-client` as having breaking changes. * I identified crates that depend on crates that have changed, even if they have not changed themselves, and identified them as having a non-breaking change. * For all of the crates, I used `cargo set-version -p $CRATE --bump $STATUS` (where `STATUS` is `patch` or `minor`) to update the versions, and the depended-upon versions.
* Merge branch 'upgrades-20220523' into 'main'Ian Jackson2022-05-241-1/+1
|\ | | | | | | | | Update to newer sanitize-filename and tinystr. See merge request tpo/core/arti!523
| * Update to newer sanitize-filename and tinystr.Nick Mathewson2022-05-231-1/+1
| |
* | Resolve the new `derive_partial_eq_without_eq` lint.Nick Mathewson2022-05-234-4/+4
|/ | | | It's a little overzealous sometimes, but it's mostly to the good.
* Fix typoDimitris Apostolou2022-05-141-1/+1
|
* tor-netdoc: Add a Lifetime::valid_at method.Nick Mathewson2022-05-111-0/+4
|
* netdoc: add a new type for NicknamesNick Mathewson2022-05-096-11/+96
| | | | | | | | | | Relay nicknames are always between 1 and 19 characters long, and they're always ASCII: That means that storing them in a [u8;19] will always be possible, and always use less resources than storing them in a String. Fortunately, the tinystr crate already helps us with this kind of thing.
* NetParams: Document its role as a validated config parameterIan Jackson2022-05-091-0/+3
|
* Bump the version of every* crate to 0.3.0Nick Mathewson2022-05-061-7/+7
| | | | * Except for safelog and fs-mistrust, which are new.
* Fix grammar and typosSamanta Navarro2022-04-271-2/+2
|
* squash! Bump every crate's edition to 2021.Nick Mathewson2022-04-253-5/+0
| | | | | Remove all `use` statements for `TryFrom` and `TryInto`. These are now redundant in Rust 2021.
* Bump every crate's edition to 2021.Nick Mathewson2022-04-251-1/+1
| | | | | | | | | | This is an automated change made with a perl one-liner and verified with grep -L and grep -l. Some warnings are introduced with this change; they will be removed in subsequent commits. See arti#208 for older discussion on this issue.
* Add 'rust-version = "1.56"' to every Cargo.toml file.Nick Mathewson2022-04-251-0/+1
| | | | | | | This change was made automatically with a perl one-liner, and confirmed with `grep -L`. The `rust-version` field itself was introduced in 1.56.0.
* Reformat all not-yet-reformatted Cargo.toml files.Nick Mathewson2022-04-251-6/+6
| | | | | There are no semantic changes here; only formatting. This is in preparation for other changes (wrt MSRV and edition)
* Bump all arti*, tor* crates to 0.2.0Nick Mathewson2022-04-011-7/+7
| | | | | | | | Not all of these strictly need to be bumped to 0.2.0; many could go to 0.1.1 instead. But since everything at the tor-rtcompat and higher layers has had breaking API changes, it seems not so useful to distinguish. (It seems unlikely that anybody at this stage is depending on e.g. tor-protover but not arti-client.)
* Re-order attributes so that we can build with Rust 1.53.Nick Mathewson2022-03-315-15/+15
|
* Typo fix.Ian Jackson2022-03-311-1/+1
|
* tor-netdoc: Conditionally expose document fields.Nick Mathewson2022-03-317-0/+96
| | | | | | | | This commit uses the `visibility` and `visible` crates to conditionally make certain structs and their fields public (respectively). This is incredibly dangerous to use for anything besides testing, and I've tried to write the documentation for the feature accordingly.
* Remove allow(clippy::disallowed_methods) lint.Nick Mathewson2022-03-302-3/+0
|
* Merge branch 'no-system-time' into 'main'eta2022-03-302-0/+3
|\ | | | | | | | | | | | | Don't use SystemTime::now() Closes #306 See merge request tpo/core/arti!365