| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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 adds a error type for internal errors, and in error cases where we
previously panicked, returns a Result instead. The publisher then simply
doesn't publish the pow_params line and warns the user.
|
| |
|
|
|
| |
This shouldn't happen, but there's not a good reason to panic if it
does.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This will allow us to more easily switch out the implementation of this
queue as is needed for PoW.
|
| |
|
|
|
|
|
| |
This adds PowManager, as described in doc/dev/notes/service-side-pow.md,
hooks it into IptManager and Publisher, and adds code to publish and
rotate seeds, and to keep a updated list of Verifier instances for
currently active seeds.
|
| |
|
|
|
|
|
| |
The `IoError::other` function is an easier way to say
`IoError::new(IoErrorKind::Other, ...)`. It's been around since
1.74, but clippy started warning about the more verbose version in
1.87.
|
| |
|
|
|
|
|
|
| |
This is messy, because `ClientCirc::{path_ref, n_hops, ..}` become
fallible (we can't unwrap the result, because when a circuit is closed,
its state gets removed from the `TunnelSharedState`, but its
`ClientCirc` handle continues to exist, so any attempt to retrieve the
state will result in an `Err`).
|
| |
|
|
|
| |
Now that our MSRV is 1.83, clippy is happy to make more
recommendations for us.
|
| | |
|
| |\
| |
| |
| |
| | |
various crates: MSRV TODO standardization and cleanup of an old TODO
See merge request tpo/core/arti!2945
|
| | |
| |
| |
| |
| | |
- Part of a series of commits aimed at replacing all MSRV-related TODOs with a
standardized format, which should be easier to find when the MSRV is bumped.
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Part of #1849.
Note that these functions are distributed across crates,
so that if (in the future) we stop doing API breaks
with every release, we will get the right outputs.
Note also that these functions build the list of protocols
out of specific symbolic features, rather than numbers:
this makes it easier to avoid errors about "which feature was
Relay=4 again", and easier to avoid accidentally referring to a
protocol that doesn't exist, like "Consensus" (should be "Cons")
or "HsDir" (case is wrong).
|
| |
|
|
|
|
|
|
|
|
|
| |
We want to require that whenever we generate a key that's persistent
(stored in KeyMgr), it's going to be made from a stronger-than-usual
Rng. This trait helps us enforce that.
We also add a FakeEntropicRng struct to use for testing.
Note that this turned up a case that we'd missed, which required
an internal change in tor-hsservice.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
protover: Add support for subprotocol version mnemonics.
Closes #1891
See merge request tpo/core/arti!2854
|
| | | |
|
| | |
| |
| |
| | |
- The Rng::gen() functions have been renamed to Rng::random().
|
| | |
| |
| |
| | |
- The Standard distribution has been renamed to StandardUniform.
|
| | |
| |
| |
| | |
- The rand::distributions module has been renamed to rand::distr
|
| | |
| |
| |
| | |
- `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
tor-hsservice: Add is_fully_reachable() method
Closes #1890
See merge request tpo/core/arti!2850
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a `is_fully_reachable()` method to
`tor_hsservice::status::State` in order to check whether the hidden
service is believed to be fully reachable.
See #1887
Fixes #1890
|
| |/ |
|
| |
|
|
| |
rustfmt.
|
| |
|
|
|
|
|
|
|
|
| |
We're going to distinguish top-level runtime entry, from *re*-entry to
an existing executor. It is most convenient to rename this trait
first. Documentation of the distinction will come later.
(We're going to retain the function name `block_on`, but we want the trait
to be more obviously a top-level only thing, though, so we give it a
name that will hopefully avoid it peroulating throughout the codebase..)
|
| |
|
|
|
| |
This took a little refactoring, since derive_more::Foo
no longer re-exports std::ops::Foo.
|
| |
|
|
| |
We have a new lint that requires this.
|
| | |
|
| | |
|
| |
|
|
|
| |
This previously returned a &str for sort of unclear reasons, which was
only used in logging. Remove that.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Get rid of anything talking about hashes or "h" in mod.rs, since that
should now be relegated to ipt.rs. Fix some other things to use generic
names as well.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This didn't really need to be a helper, we can just do everything in
check_for_replay. It was a helper since we previously couldn't test the
check_for_replay function, but now that this is generic we can.
|
| |
|
|
|
| |
This needed to be the same as the MESSAGE_LEN constant, so we should
just use the same constant for both.
|
| |
|
|
|
| |
I don't think a newtype here was really buying us anything. Might as
well get rid of it.
|
| |
|
|
| |
The IPT log is the only one that will need hashing, so move that code.
|
| | |
|