| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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`.
|
| |
|
|
|
| |
This commit moves the `DowenloadSchedule` related types from
`tor-dirmgr` into `tor-dircommon`.
|
| |
|
|
|
|
| |
This commit moves `NetworkStatus` from `tor-dirmgr::config` to
`tor-dircommon::config` in order to start the work on a common place for
configuration options shared by both directory implementations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit initializes the `tor-dircommon` crate: A crate serving the
purpose to form an umbrella for the lowest common denominator primitives
found across crates implementing (parts of) the directory specification.
For now, the only such primitive is the found within the `authority`
module, which has been refactored from `tor-dirmgr` into this crate,
alongside additional getter functions due to the lack of `pub(crate)` in
this context.
In the future, we may move further primitives away from `tor-dirmgr`
into `tor-dircommon`.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, run
```
git grep -l "^edition =" |
xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```
Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.
Third, run cargo fmt again.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Run cargo fix --edition
2. Selectively revert the "if let"->"match" changes.
These changes are meant to protect us from the lifetime changes
for "if let" bindings in Rust 2024.
But we're not actually relying on the old lifetime rules
anywhere, and the match syntax here is quite ugly.
3. Automatically revert `$pat:expr_2021` to `$pat:expr`.
(We don't actually want to restrict the expression syntax
that our macros accept).
Done with
`git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'`
4. Run cargo fmt.
|
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|
| | |
|
| |
|
|
| |
This resolves some nightly clippy warnings.
|
| | |
|
| |
|
|
| |
See #2060.
|
| |
|
|
|
|
| |
- Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`.
Signed-off-by: hashcatHitman <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently clippy nightly is better (or worse?) about detecting
complex functions than before, so I'm suppressing these warnings
where they occur.
I have mixed feelings about these warnings: On the plus side,
they really do help to detect functions that are twistier than they
need to be. On the minus side, they get confused by tracing macros,
and the "allows" do pile up. But on the plus side, those "allows"
do provide a way to find functions that need to be refactored,
and they are never uglier than the functions they decorate.
|
| |
|
|
|
| |
This name reflects its purpose better than the original one,
since it includes required protocols as well as recommended ones.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
In the directory code, we have functionality to advance the
consensus download state whenever possible, even if there is more we
could download in the current state.
That's fine, but when we're in this position, we need to be sure
that we're taking any action based on the current state (such as
installing notably parameters or, notably, protocol recommendations)
before we move on.
|
| | |
|
| | |
|