| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Closes #1923
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We have places where, if we were to create certain ProtoKinds
or NamedProtos with invalid values, we could cause a panic.
This isn't remotely triggerable, or even triggerable from outside
the protover crate, but it's best to avoid the possibility
of future mistakes.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This will be helpful in building a list of protocols
from several crates.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This will be helpful in building a list of protocols
from several crates.
|
| | |/ /
| | |
| | |
| | |
| | | |
This will be helpful in checking whether a list of protocols
has any unsupported members.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
various crates: Initial migration from [`once_cell::sync::OnceCell`] to [`std::sync::OnceLock`]
See merge request tpo/core/arti!2948
|
| | | | |
| | | |
| | | |
| | | | |
Whoops! Missed that.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
- [`once_cell::sync::OnceCell`] should be replaced by [`std::sync::OnceLock`]
once the blocking methods are stabilized and within our MSRV.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
- [`once_cell::sync::OnceCell`] should be replaced by [`std::sync::OnceLock`]
once the blocking methods are stabilized and within our MSRV.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
- [`once_cell::sync::OnceCell`] has been replaced by [`std::sync::OnceLock`],
removing the need for the once_cell dependency.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
- [`once_cell::sync::OnceCell`] has been replaced by [`std::sync::OnceLock`],
resolving a TODO.
|
| | | | |
| | | |
| | | |
| | | | |
- [`once_cell::sync::OnceCell`] has been replaced by [`std::sync::OnceLock`].
|
| |/ / /
| | |
| | |
| | |
| | | |
- [`once_cell::sync::OnceCell`] has been replaced by [`std::sync::OnceLock`],
removing the need for the `once_cell` dependency.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tests: Remove 'cargo build' from chutney setup
See merge request tpo/core/arti!2947
|
| |/ / / |
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
hashx, tor-persist: fix intra-doc link backticks
See merge request tpo/core/arti!2944
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Replaced single quotes in [`hashx::rand`] documentation link to
[`hashx::rand::RngBuffer`] with backticks so it actually works.
- Added a missing backtick to the link to
[`tor_persist::state_dir::StateDirectory::instance_peek_storage`] in the
documentation of
[`tor_persist::state_dir::StateDirectory::with_instance_path_pieces`].
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Implement revised relay cell structure for use with Counter Galois Onion encryption.
Closes #1944
See merge request tpo/core/arti!2940
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Instead of having a StreamIdReq that indicates
"None in V1, Any in V0", take an optional RelayCellFormat
as an argument.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since v1 cells have a longer tag, they can fit less data into a
single cell. Ah well, that's the cost of improved security.
The code in data.rs is a little wonky, in that it currently requires
its buffer to be exactly the maximum size for a data cell. We have
a TODO about fixing that in the future, but for now I've moved it to
use a boxed slice rather than a boxed array.
Part of #1944.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This is the main part of #1944, and will be needed for CGO.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fortunately, the type is crate-internal, so this is not a breaking
change.
The key insight with this change is that, from the _caller's_ POV,
the set of cells that are allowed to have StreamIDs has not changed.
The only difference is that the V1 relay cell code needs to
distinguish unrecognized commands from the SENDME case.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will let us actually _send_ messages in the right format.
This approach is not ideal for packed/fragmented messages;
they will need a separate RelayCellEncoder.
part of #1944.
|
| |/ /
| |
| |
| | |
(Also note a couple of other CGO-related issues)
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
proto: Avoid panic on non-existent hop number
Closes #1950
See merge request tpo/core/arti!2938
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In `send_relay_cell()` in `tunnel/reactor/circuit.rs`,
replace an unconditional array access (which would cause a panic if
`hop_num` were out-of-range) with a checked `get_mut()` call.
It's not totally clear whether this can happen in practice,
but in either case, an error is probably better than a panic.
All of our other lookups in this vector are either checked,
or more obviously infallible.
Closes #1950.
|
| |\ \
| | |
| | |
| | |
| | | |
arti-client: Add ErrorDetail::OnionServiceSetup
See merge request tpo/core/arti!2923
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Forbid fork, except very carefully before exec
Closes #1897
See merge request tpo/core/arti!2925
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We're going to want to make many xrefs to this.
This trick with the <div> has worked well for us in derive-deftly.
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Relax bounds on BlockOn::reenter_block_on
Closes #1933
See merge request tpo/core/arti!2934
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This doesn't seem to happen with my local compiler. Anyway, suppress
it. I don't think we want to split up this function.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This gets rid of a clippy complaint about subthread_block_on_future
being too complicated.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
The future no longer needs to be `Send + 'static`.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This test demonstrates that the intended use pattern compiles and
works.
It couldn't exist until now because we couldn't conveniently make a
`Send + 'static` future out of `rx.next()`.
|
| | | | | | |
|