| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| | |
tor-dirmgr: Refactor function download
See merge request tpo/core/arti!4204
|
| | |
| |
| |
| |
| |
| |
| | |
- Add helper functions: perform_download, advance_state, apply_state, and
update_state
- Add enum used in said helper functions: DownloadOutcome and AdvanceStateError
- Add minor improvements on the readability of the entire sub-module
|
| | |
| |
| |
| |
| | |
I find this names confusing. To my mind "is" implies a function
returning `bool`.
|
| | |
| |
| |
| |
| |
| |
| | |
I find these names confusing. To my mind "check" implies a function
returning `Result<(), _>`.
Some other APIs use `unwrap` here but I think `if` is good.
|
| |/
|
|
|
| |
It is better to return a more cooked type. `TimeRange` aka
`TimeRangeBound<()>` is perfect for this.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Removed unnecessary lint
Closes #2556
See merge request tpo/core/arti!4210
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Removed unnecessary lint
|
| |/ |
|
| |
|
|
|
| |
time::format_description::parse is now deprecated;
the replacement we want to use is first available in time 0.3.49.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The Microdesc type having a copy of the document hash was always
weird, and it's weirder now that there's all these parse2 types that
don't have it and parse2 derives on Microdesc that don't touch it.
Make a new type for the descriptor and its hash.
Use deref to arrange that the new type works almost like the old one.
Adjust the use lines in the dependencies to temporarily import
MicrodescAndHash as Microdesc.
|
| | |
|
| |
|
|
|
|
|
|
| |
This commit adds #[allow(clippy::string_slice)] to all functions in the
code where string slices are used, alongside a TODO comment.
We do this add the function header to have it consistent, as things like
expression based allow's are still experimental.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit executes maint/add_warning with the just added change to
deny string slices except in tests.
I recommend auditing this by checking out the previous commit followed
by running the script yourself and then verifying that the diff is
identical to this commit.
This commit makes cargo clippy fail. We will add exceptions in the next
commit.
|
| |
|
|
|
|
|
|
|
|
|
| |
When the circ-padding feature is enabled, we use maybenot, which does
not yet support rand 0.10. In the meantime, enabling this feature pulls
in rand 0.9. This is not ideal, but should be okay as a temporary
situation.
This also replaces the use of ReseedingRng (which was removed in 0.10)
with the reseeding_rng crate. This is somewhat less performant, but it
should be okay.
|
| |
|
|
|
|
| |
There were two that relied on the the ability to have a lock
in an unlocked state. Instead, we replace those with
Option<LockFileGuard> or its equivalent.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This is temporary while we wait on arti#2106.
(This made cargo-sort have me move a section around. Not sure why it
cares.)
|
| |
|
|
|
|
|
|
|
|
| |
IoErrorExt existed to provide a workaround for Rust versions
that didn't have io::ErrorKind::NotADirectory. But NotADirectory
was stabilized in 1.83 and our MSRV is 1.89.
BinaryHeapExt existed to provide an implementation for Rust
versions that didn't have BinaryHeap::retain. But
BinaryHeap::retain was stabilized in 1.70 and our MSRV is 1.70.
|
| | |
|
| |
|
|
|
|
| |
This reflects that it is expected for an HTTP GET body. It is okay
because it is only used in tor-dirmgr, which only performs GET request
anyways.
|
| |
|
|
|
|
|
|
|
| |
`clippy::collapsible_if` started triggering after bumping the MSRV to
1.88.
Since this triggers from a lot of places, and since there even are a
couple of instances where we explicitly allow `clippy::collapsible_ifs`,
I've opened #2342 for deciding what to do about it.
|
| | |
|
| | |
|
| |
|
|
|
| |
Now that `load` is no longer `async`, this triggers a lint about the
unnecessary clone.
|
| |
|
|
| |
To fix `clippy::unused_async`.
|
| |
|
|
| |
This adds the lint to all our crates.
|
| |
|
|
|
| |
AuthCert is about to lose its copy of H(KP_auth_sign_rsa) so it needs
to return an owned value.
|
| |
|
|
|
|
|
| |
Previously, this value was stored in a u16. However, because this
number is usually always derived from some sort of list type, such as
`Vec`, it makes more sense to use usize for this, as it avoid
unnecessary casting and error checking.
|
| |
|
|
|
|
|
| |
On nightly, clippy now warns against this and recommends using a `match`
instead.
See https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap
|
| |
|
|
|
| |
These are all aimed at figuring out in more detail what's going on
in #2079 and related issues.
|
| |
|
|
| |
Run maint/add_warning
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Part of #1885.
|
| | |
|
| |
|
|
|
|
|
|
| |
This will let us model the actual structure of routerstatus entries in
netdocs more closely. They don't have the addresses in a single list.
When this code was written this would have been much more awkward,
but now we have RPITIT.
|
| |
|
|
| |
This feature has been removed from nightly, in favor of doc_cfg.
|
| |
|
|
|
|
|
| |
This commit implements proposal 330 in the context of `tor-dircommon`,
by replacing the single `Authority` structure used in a list context by
a single structure called `AuthorityContacts` which contains all
v3idents, upload, download, and vote endpoints in one central place.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This commit moves the `DirTolerance` structure from `tor-dirmgr` into
`tor-dircommon`.
|