summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
* Bump all crates to 0.1.0arti-v0.1.0Nick Mathewson2022-03-011-7/+7
|
* Fix a rustdoc error.Nick Mathewson2022-02-151-1/+1
|
* Refactor tor-netdoc a bit more, to use Bug right.Nick Mathewson2022-02-151-4/+23
|
* Minimal compilation fix: InternalError=>BugNick Mathewson2022-02-151-2/+2
| | | | This is a followup for !314 and !310 to fix compilation on main.
* Merge branch 'doc-errors' into 'main'Nick Mathewson2022-02-1519-398/+574
|\ | | | | | | | | Refactor errors in tor-netdoc See merge request tpo/core/arti!314
| * Typo fix from@etaeta2022-02-151-1/+1
| |
| * Refactor tor_netdoc::ErrorNick Mathewson2022-02-1415-377/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This error type doesn't impement HasKind, since the kind will depend on context. However, the existing implementation was pretty messy and inconsistent: Some errors had positions, some didn't. Some took messages as str, some as String. Some had internal errors that were somewhat orthogonal to their actual types. This commit refactors tor_netdoc::Error to use a ParseErrorKind, and adds a set of convenience functions to add positions and messages to the errors that need them.
| * netdoc: Make doc-build errors a separate typeNick Mathewson2022-02-146-13/+26
| | | | | | | | | | Every other case of tor_netdoc::Error means a parse failure. This one, though, means a failure to construct a document.
| * netdoc: remove Error::Untimely.Nick Mathewson2022-02-141-11/+0
| | | | | | | | Nothing creates this.
* | Change deny(clippy::all) to warn(clippy::all).Nick Mathewson2022-02-141-1/+1
|/ | | | Closes #338.
* Bump the patch version of every crate that changed since 0.0.3Nick Mathewson2022-01-311-1/+1
|
* clippy: Suppress a warningIan Jackson2022-01-191-0/+3
|
* Bump all crate versions to 0.0.3.Nick Mathewson2022-01-111-6/+6
|
* Minimize the required version for each dependency.Nick Mathewson2022-01-071-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found these versions empirically, by using the following process: First, I used `cargo tree --depth 1 --kind all` to get a list of every immediate dependency we had. Then, I used `cargo upgrade --workspace package@version` to change each dependency to the earliest version with which (in theory) the current version is semver-compatible. IOW, if the current version was 3.2.3, I picked "3". If the current version was 0.12.8, I picked "0.12". Then, I used `cargo +nightly upgrade -Z minimal-versions` to downgrade Cargo.lock to the minimal listed version for each dependency. (I had to override a few packages; see .gitlab-ci.yml for details). Finally, I repeatedly increased the version of each of our dependencies until our code compiled and the tests passed. Here's what I found that we need: anyhow >= 1.0.5: Earlier versions break our hyper example. async-broadcast >= 0.3.2: Earlier versions fail our tests. async-compression 0.3.5: Earlier versions handled futures and tokio differently. async-trait >= 0.1.2: Earlier versions are too buggy to compile our code. clap 2.33.0: For Arg::default_value_os(). coarsetime >= 0.1.20: exposed as_ticks() function. curve25519-dalek >= 3.2: For is_identity(). generic-array 0.14.3: Earlier versions don't implement From<&[T; 32]> httparse >= 1.2: Earlier versions didn't implement Error. itertools at 0.10.1: For at_most_once. rusqlite >= 0.26.3: for backward compatibility with older rustc. serde 1.0.103: Older versions break our code. serde_json >= 1.0.50: Since we need its Value type to implement Eq. shellexpand >= 2.1: To avoid a broken dirs crate version. tokio >= 1.4: For Handle::block_on(). tracing >= 0.1.18: Previously, tracing_core and tracing had separate LevelFilter types. typenum >= 1.12: Compatibility with rust-crypto crates x25519-dalek >= 1.2.0: For was_contributory(). Closes #275.
* extend lints to include 'clippy::all'Daniel Eades2021-12-281-0/+1
|
* Merge branch 'refactor/must-use-self' into 'main'eta2021-12-202-0/+5
|\ | | | | | | | | address clippy's latest lint See merge request tpo/core/arti!205
| * address clippy's latest lintDaniel Eades2021-12-202-0/+5
| |
* | Change an UTF-8 XXX to a TODO.Nick Mathewson2021-12-201-1/+2
| | | | | | | | We're assuming that prop285 is accepted in some form.
* | tor-netdoc: Change an XXX to a TODO.Nick Mathewson2021-12-201-1/+4
| | | | | | | | | | | | Our behavior in handling not-yet-valid router descriptors doesn't match the C Tor implementation, but it's not a big deal: we don't currently use router descriptors at all.
* | tor-netdoc: Use a more correct error typeNick Mathewson2021-12-201-1/+1
| | | | | | | | | | | | If we fail to convert a curve25519 key to an ed25519 key for checking the onion-key crosscert, don't call that an internal error: it means that something is wrong with the provided ntor key.
* | Remove an XXXX about ed25519 signatures.Nick Mathewson2021-12-201-2/+0
|/ | | | | As of tor-spec commit 01122c5bd7d2f0f, the spec is no longer ambiguous on this point.
* s/hidden/onion/g in code commentsNeel Chauhan2021-12-131-1/+1
|
* address lint warningsDaniel Eades2021-12-091-8/+8
| | | | | [Edited by nickm: This applies one of Daniel's fixes in place of one of Trinity's: Trinity says it's a bit cleaner, and I agree.]
* fix nightly clippy errorsTrinity Pointard2021-12-093-10/+5
|
* Upgrade to digest v0.10.0Nick Mathewson2021-12-071-1/+1
| | | | | We generally try to track the latest rust-crypto traits when we can: fortunately, this upgrade didn't break much, considering.
* Resolve roughly half of the XXXXs.Nick Mathewson2021-12-062-6/+6
| | | | | | | | We want to only use TODO in the codebase for non-blockers, and open tickets for anything that is a bigger blocker than a TODO. These XXXXs seem like definite non-blockers to me. Part of arti#231.
* Remove dir_port from RouterStatusBuilderNeel Chauhan2021-12-013-17/+1
|
* Add comments about the absence of tap_key in microdesc.Nick Mathewson2021-11-301-1/+4
|
* Merge remote-tracking branch 'origin/mr/151'Nick Mathewson2021-11-302-45/+4
|\
| * Parse RSA public keyNeel Chauhan2021-11-292-5/+9
| |
| * Remove unused tap_onion_key and tap_keyNeel Chauhan2021-11-283-52/+7
| |
* | Merge branch 'readme_fixes'Nick Mathewson2021-11-301-0/+11
|\ \
| * | run ./maint/readmes.shdagon2021-11-291-0/+11
| |/
* | Bump every crate by one patch version.Nick Mathewson2021-11-291-6/+6
| |
* | Run "cargo update" to get latest versions.Nick Mathewson2021-11-291-0/+1
| | | | | | | | | | | | | | Also fix a couple of warnings introduced by now-unneeded imports with new ed25519 crate. This is part of the process for releasing our next version.
* | Merge remote-tracking branch 'origin/mr/149'Nick Mathewson2021-11-292-23/+0
|\ \
| * | Remove address from VoterInfoBuilderNeel Chauhan2021-11-281-12/+0
| | |
| * | Remove unused 'address' field from DirSource structNeel Chauhan2021-11-282-11/+0
| |/
* | add semicolons if nothing returnedDaniel Eades2021-11-253-2/+3
| |
* | deglob some enums, use concise iteration syntaxDaniel Eades2021-11-252-5/+5
|/
* More typo fixes that I forgot to save :(Nick Mathewson2021-11-241-1/+1
|
* Merge branch 'arti-client-config' into 'main'eta2021-11-221-1/+1
|\ | | | | | | | | Further configuration refactoring See merge request tpo/core/arti!137
| * Make every Config type implement Eq.Nick Mathewson2021-11-211-1/+1
| | | | | | | | | | Doing this is necessary for reconfiguration support, and will help a lot with testing, too.
* | Use consistent name for ns_consensus feature.Nick Mathewson2021-11-211-6/+6
|/
* Merge branch 'ticket125' into 'main'eta2021-11-1613-130/+222
|\ | | | | | | | | | | | | Put most non-universally-needed functionality behind features Closes #125 See merge request tpo/core/arti!129
| * tor-netdoc: put NS consensus documents behind a feature.Nick Mathewson2021-11-127-3/+25
| | | | | | | | | | | | Clients never need these. Part of #125.
| * tor-netdoc: Split the two kinds of routerstatus into their own modulesNick Mathewson2021-11-123-128/+164
| |
| * tor-netdoc: Put the "routerdesc" document type behind a feature.Nick Mathewson2021-11-128-0/+34
| | | | | | | | | | | | | | | | | | | | Nothing in arti currently uses this document type. Eventually it will be useful for relays and for bridge clients. I've left the "SHA1 digest of a router descriptor" type available unconditinoally, however, since it does get used in a few places. Part of #125.
* | Remove the unused `published` field from GenericRouterStatus.Nick Mathewson2021-11-123-23/+3
|/ | | | | | | | | | | | This field isn't used in modern Tor, and has never been used in Arti. If tor!489 is merged, then it will no longer contain a useful value in future consensuses. We shouldn't store it, or else somebody else will get the smart idea of using it for something. This commit breaks API compatibility for tor-netdoc with the `build_docs` feature enabled. I haven't entered that into the semver_status.md file, since we already have a pending tor-netdoc API breaker in !129.
* Add a couple of pieces of missing documentation.Nick Mathewson2021-11-081-3/+5
|