| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Abolish the constants with the transitional names.
This also abolishes the controversial name `H_S_DIR`, which Rust case
transformation rules generated from `HSDir`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're going to separate RelayFlag from RelayFlags.
We could continue to provide a bunch of constant values for
RelayFlags, for each individual type, but that would involve an ad-hoc
derive, and would still be a bit of an unusual API.
Instead, we're going to make ``RelayFlag` a normal enum.
In this commit, we change everyone to refer to it by its singular
name. Hopefully separating out this bulk change makes both this, and
the core commit, easier to review.
|
| |
|
|
| |
I would do `#[deprecated]` but empirically that has no effect...
|
| |
|
|
| |
Run maint/add_warning
|
| |
|
|
|
|
|
| |
We had two functions with different return types but identical
semantics. Replace them with one function returning `impl Iterator`.
Make it return owned addresses. These are small.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Replaced use of [`static_assertions::const_assert`] with the newly
available "assert in const" pattern. This completely removes the
dependency on `static_assertions` for `tor-netdir`.
Signed-off-by: hashcatHitman <[email protected]>
|
| |
|
|
| |
Now we only need one type.
|
| |
|
|
|
| |
Our approach to sharing code between md and plain consensuses is now
the new "variety" system, not generics.
|
| |
|
|
|
|
|
|
|
|
| |
The two main causes of errors were:
- Since some of the lifetime rules have changed, we no longer need
to do as many "bind a variable and immediately return it"
patterns, and so clippy now warns about them.
- We needed to adjust the explicit captures (`use<...>`)
in a couple of our RPIT instances.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Made with https://crates.io/crates/typos-cli
|
| |
|
|
| |
See #2060.
|
| |
|
|
|
|
| |
We will construct this object based on the circuit parameters _and_
on the target's supported protocol versions, so we need to do so
when we have both pieces of info.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we logged a warning whenever `choose_multiple_weighted`
returns `Ok(iter)`, whenever `iter` contains fewer relays than
requested.
However, this is expected behavior of `choose_multiple_weighted` if the
filtered list of relays doesn't have the requested number of relays, in
which case it should return all of the relays in the filtered list.
In particular, this condition occurs regularly in test networks when
looking for candidate relays to add to the potential guard set while
excluding those already in the potential guard set.
We still warn if the returned list is fewer than requested, *and* fewer
than available in the filtered list.
|
| |
|
|
|
|
| |
Now that choose_multiple_weighted can once more return
fewer items than requested, we should warn when it does so,
to be consistent with our other cases of warning about #1907.
|
| |
|
|
|
|
|
|
| |
Rand 0.9.1 reverted the changes that caused #1903,
in https://github.com/rust-random/rand/pull/1623.
This broke our test that made sure that rand wasn't going to change
their behavior _again_ :)
|
| |
|
|
|
| |
This name reflects its purpose better than the original one,
since it includes required protocols as well as recommended ones.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Instead of doing the more sensible thing when every relay has weight
0, give a warning message.
|
| |
|
|
|
|
| |
Here we test the (arguably inconsistent behavior) where can we
return fewer items than requested if no item had zero weight.
(If this ever becomes an error, we need to modify the calling code.)
|
| |
|
|
|
|
| |
WeightedError::InsufficientNonzero is expected under some
circumstances, but the other instances would mean that we have a
bug.
|
| |
|
|
|
| |
We want to make sure that behavior for 0-weighted elements is
consistent for choose_multiple_weighted and choose_weighted.
|
| |
|
|
| |
Possible fix for #1902.
|
| |
|
|
| |
- Several methods have been moved out of SliceRandom.
|
| |
|
|
| |
- The rand::distributions module has been renamed to rand::distr
|
| |
|
|
|
|
|
| |
This implements the client side of proposal 321.
It's a breaking change in netdir, since in_same_family now takes an
extra argument.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When we're trying to exclude relays by family,
we need to know which lists to look at.
This information ultimately comes from the network parameters.
We could avoid this change if we just told clients
"look at all family information all the time",
but that's not what the proposal says.
This is a breaking change.
|
| |
|
|
|
|
| |
Denies 'mod.rs' files for consistency.
https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
|
| |
|
|
| |
These are new in Rust 1.83.
|
| |
|
|
|
|
|
|
| |
In 1.83, this warning triggers on many of our crates.
We're thinking of fixing them all, but for now,
we're going to disable the warning.
This is part of #1765.
|
| | |
|
| |
|
|
|
| |
These helpers seem potentially broadly useful, and only really
discoverable if they're here.
|
| |
|
|
|
| |
This allows us to set SRVs for example (needed because by default, the
test `NetDir` is built from a consensus that doesn't contain any SRVs).
|
| |
|
|
|
| |
This warning complains when we say `where T: SomeTrait + ?Sized`
when `SomeTrait` is inherently Sized.
|
| |
|
|
| |
This commit is automatically generated.
|
| |
|
|
|
| |
Previously they were a bit confusing, and the public function
explained its behavior in terms of the private one.
|
| |
|
|
|
|
|
| |
Explain that `by_ids` isn't what you want if you need to know
whether a relay _definitely_ doesn't exist.
Closes #1365
|
| | |
|
| |
|
|
| |
This was an open-coded specialisation. Remove the one call site.
|
| | |
|
| |
|
|
|
| |
Everybody outside of tor-netdir should use
HasRelayIds::same_relay_ids, whose intent is clearer.
|
| |
|
|
| |
These were only used for testing.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
In *RelayDetails, this is just a matter of changing a bunch of
`self`s to `self.0`.
Additionally, I've added temporary stub functions to delegate to the
new functions.
|