| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
| | | | |
| | | | |
| | | | | |
Worsify formatting as demanded by rustfmt.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With this change, this diff
> --- a/crates/tor-netdoc/src/parse2/poc/netstatus.rs
> +++ b/crates/tor-netdoc/src/parse2/poc/netstatus.rs
> @@ -24,5 +24,4 @@ pub enum NdaNetworkStatusVersion {
> /// `params` value
> #[derive(Clone, Debug, Default, Deftly)]
> -#[derive_deftly(ItemValueParseable)]
> #[non_exhaustive]
> pub struct NdiParams {
gives the errors below. So the first reported error points to the
errant field, albeit with the slightly mendacious phrasing "this
call".
Previously there was only the 2nd message. Disagnosing that requires
hunting through the document struct looking for fields of the right
type, which can be seriously awkward when there are type aliases
involved as there often are in tor-netdoc.
> error[E0277]: the trait bound `parse2::poc::netstatus::NdiParams: parse2::traits::ItemValueParseable` is not satisfied
> --> crates/tor-netdoc/src/parse2/poc/netstatus/flavoured.rs:27:10
> |
> 27 | #[derive(Deftly, Clone, Debug)]
> | ^^^^^^ the trait `parse2::traits::ItemValueParseable` is not implemented for `parse2::poc::netstatus::NdiParams`
> ...
> 55 | pub params: NdiParams,
> | ------ required by a bound introduced by this call
> |
> = help: the following other types implement trait `parse2::traits::ItemValueParseable`:
> ()
> (T0, T1)
> (T0, T1, T2)
> (T0, T1, T2, T3)
> (T0, T1, T2, T3, T4)
> (T0, T1, T2, T3, T4, T5)
> (T0, T1, T2, T3, T4, T5, T6)
> (T0, T1, T2, T3, T4, T5, T6, T7)
> and 16 others
> note: required by a bound in `parse2::multiplicity::ItemSetMethods::check_item_value_parseable`
> --> crates/tor-netdoc/src/parse2/multiplicity.rs:109:59
> |
> 109 | fn check_item_value_parseable(self) where Self::Each: ItemValueParseable {}
> | ^^^^^^^^^^^^^^^^^^ required by this bound in `ItemSetMethods::check_item_value_parseable`
>
> error[E0277]: the trait bound `parse2::poc::netstatus::NdiParams: parse2::traits::ItemValueParseable` is not satisfied
> --> crates/tor-netdoc/src/parse2/derive.rs:438:34
> |
> 438 | let item = ItemValueParseable::from_unparsed(item)?;
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `parse2::traits::ItemValueParseable` is not implemented for `parse2::poc::netstatus::NdiParams`
> |
> ::: crates/tor-netdoc/src/parse2/poc/netstatus/flavoured.rs:27:10
> |
> 27 | #[derive(Deftly, Clone, Debug)]
> | ------ in this derive macro expansion
> |
> = help: the following other types implement trait `parse2::traits::ItemValueParseable`:
> ()
> (T0, T1)
> (T0, T1, T2)
> (T0, T1, T2, T3)
> (T0, T1, T2, T3, T4)
> (T0, T1, T2, T3, T4, T5)
> (T0, T1, T2, T3, T4, T5, T6)
> (T0, T1, T2, T3, T4, T5, T6, T7)
> and 16 others
> = note: this error originates in the macro `derive_deftly_template_NetdocParseable` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We're going to reuse this.
|
| |\ \ \ \ \
| |/ / / /
|/| | | /
| | |_|/
| |/| | |
Define and implement a backend padding API, based on maybenot.
See merge request tpo/core/arti!3185
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
There are incomplete pieces, marked with "TODO circpad".
There is no integration into the circuit reactor code yet.
Part of #63
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
proto: Refactor channel handshake code for upcoming relay handshake
See merge request tpo/core/arti!3182
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Initiator always know if they will authenticate or not. Responder is
different as a relay doesn't know until the end of the handshake if it
is responding to a relay or a client.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These are following the review of MR 3182. They are put in a single
commit because the git absorb has a large amount of conflicts on rebase
and this commit allows the reviewers to see what happened.
The base branch was rebased on main due to the need for 3184.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
In the spirit of avoidin code duplication.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All initiator handshake will implement this in order to get access to
the helper function to receive the relay responder cells.
Relay will implement this in future commits.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Client and relay handhsake share a lot of code because they both
send/recv the same cells, just handles them differently for
verification.
This is the base trait for all handshake implementing basic getters and
VERSIONS cell handling.
This will allow the RelayInitiatorHandshake and RelayResponderHandshake
to use this common code.
See, traits are fun. Win-win-win.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The ClientInitiatorHandshake holds a "tls" sink but the very first thing
we do is transform it to a ChannelFrame<T>. Instead, just store the
frame to the object directly so we can then use a channel frame
uniformily accross its lifetime.
This will be useful for the future refactoring paving the way for relay
channel authentication.
Signed-off-by: David Goulet <[email protected]>
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Require tracing-subscriber 0.3.20
See merge request tpo/core/arti!3221
|
| | |/ /
| | |
| | |
| | | |
Fixes RUSTSEC-2025-0055.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
various crates: Switch to "assert in const" pattern
See merge request tpo/core/arti!3217
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replaced use of [`static_assertions::const_assert`] with the newly
available "assert in const" pattern.
Signed-off-by: hashcatHitman <[email protected]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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]>
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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-circmgr`.
Signed-off-by: hashcatHitman <[email protected]>
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
maint: Add a check for case-insensitive files
See merge request tpo/core/arti!3207
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Filenames within the tree that exists in multiple versions only
differing by their case cause problems on case-insensitive filesystems.
This commit introduces a simple check that lists all files indexes by
git and searches for duplicate lines while ignoring case during
comparison.
See !3166, #2144
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
arti: test: Fix `keys` integration test
Closes #2144
See merge request tpo/core/arti!3209
|
| | | | | |
| | | | |
| | | | |
| | | | | |
The `keys` integration test now accounts for case-insensitive filesystems
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Update to derive-deftly 1.3.0
See merge request tpo/core/arti!3219
|
| |/ / / / / |
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | | |
tor-netdoc: parse2: Provide for "flattening"
See merge request tpo/core/arti!3186
|
| | | | | |
| | | | |
| | | | |
| | | | | |
As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3186#note_3249820
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We're going to use this to check that we can accept a sub-document
before we parse it. That will make the error come out in the right
place.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change from two loops over fields and two ${when}, to one loop with
${select1}. There will be another arm in a moment.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
None of these things support enums or unions.
|
| |/ / / / |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
CI: increase test-transfer sizes
See merge request tpo/core/arti!3047
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With the increased transfer sizes and simulation run-time,
the previous log levels resulted in excessively large log files.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is the transfer size used in the tor CI chutney tests, to
more-fully exercise SENDMEs / congestion control.
We also increase the simulation run time to allow time for the larger
transfers.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
proto: Use allow(unused) instead of expect(unused).
See merge request tpo/core/arti!3213
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With rustc 1.85, this `expect(unused)` triggers a "lint expectation
unfulfilled" error, because rust thinks the struct *is* used (because of
the d-d `TryFrom` implementation), despite the fact that it's never
actually constructed. This isn't a problem on newer versions (it's
correctly identified as unused/dead code on 1.89, for example).
Using `allow` instead of `expect` is slightly less nice, but it makes
`clippy` pass on 1.85 too.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
fix documentation for StreamPrefs::connect_to_onion_services to match changes in !2506
Closes #2145
See merge request tpo/core/arti!3212
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
changes in !2506
Signed-off-by: Aiden McClelland <[email protected]>
|
| |\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Release.md: Tweak one of the checklist items
See merge request tpo/core/arti!3211
|