| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Inbound channel (as responder) don't have a ChannelMethod as they are
not initiating the type of transport to use (PT vs Direct). It would
result in a log line when receiving a channel request:
DEBUG tor_proto::channel::handshake: Completed handshake without authentication to [? ] stream_id=Chan 2
This commit uses the `PeerInfo` which is wrapped in a `MaybeSensitive`
and thus safe to log.
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
align DestroyReason with torspec!490
Part of #2578
See merge request tpo/core/arti!4202
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
`HopSettings::from_handshake_params()` checks that the parameters are
correct, so if there are invalid parameters we should fail early before
we initialize the `CryptStatePair`.
|
| | | |
| | |
| | |
| | | |
This is just to make ntor and CREATE_FAST handshakes consistent.
|
| |/ / |
|
| |\ \
| |/
|/|
| |
| | |
Fix some recently-appearing clippy lints
See merge request tpo/core/arti!4240
|
| | |
| |
| |
| | |
Found by rustdoc.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
The advantage of this over using a `SubprotocolRequest` is that we can
use the type system to ensure it only has subprotocols that are allowed
during a handshake.
|
| | |
| |
| |
| |
| | |
We never used this, it was just needed because we used to convert to a
`CircParameters` which required this.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... and also remove `CircNetParameters::as_circ_parameters()`.
We used to call `HopSettings::from_params_and_caps()` when handling
incoming circuit requests, but this didn't really make sense because we
already know exactly what settings we want.
The new `HopSettings::from_handshake_params()` takes the exact settings
we want, which means we can also skip constructing a `CircParameters`
and use the raw consensus `CircNetParameters`.
Most of the code in `CircNetParameters::as_circ_parameters()` has been
migrated in some form to `HopSettings::from_handshake_params()`.
|
| |/ |
|
| |\
| |
| |
| |
| | |
tor-netdoc testdata-live: Export for the benefit of other crates
See merge request tpo/core/arti!4229
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
We're about to *use* the fix that was in 1.11.4. We already updated
the lockfile in !4228, so this is just Cargo.toml changes (which will
prevent the minimal-versions tests failing when we change the code to
rely on the fix).
git-grep -l '^derive-deftly' |xargs perl -i~ -pe 's{\b\Q1.11.3\E\b}{1.11.4}g'
|
| | |
| |
| |
| |
| |
| |
| | |
This can happen if we get an unexpected BEGIN_DIR/RESOLVE too, so we
can't hard-code "BEGIN" in the error message.
Context: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4230#note_3439258,
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This feature-gating has been a source of confusion, and it unnecessarily
complicates the stream message handling flow.
I've previously argued in favour of keeping it, in the spirit of a belt
and braces approach to message validation, but I've been convinced that
in this particular case, the feature-gate is more trouble than it's
worth.
What makes things worse is that the `CircHop::handle_msg()`
function was designed poorly (by yours truly). I plan on refactoring it
at some point, hopefully soon. There is a TODO about this below
its doc comment.
|
| | |
| |
| |
| |
| | |
I find this names confusing. To my mind "is" implies a function
returning `bool`.
|
| | |
| |
| |
| |
| | |
It wouldn't make much sense for one concrete type to be unwrappable
variously as different inner types.
|
| |/
|
|
|
| |
This was always TimeValidityError. And we want to rely on that so we
can do the validity checking more centrally.
|
| | |
|
| |
|
|
|
| |
As suggested in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4222#note_3437129
|
| |
|
|
| |
Applies @opara's suggested rephrasing.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
We need to return the "futures::Stream of Tor streams" from the CREATE
handler, because these need to be handled from `arti-relay`,
as per `doc/dev/notes/relay-streams.md`
This commit is intentionally (slightly) misformatted to make reviewing a
bit easier (the next commit will rustfmt everything).
Part of #2612
|
| |
|
|
|
| |
The inner type is an eyesore, and doesn't really need to be exposed
outside of tor-proto (we might even replace it at some point).
|
| |
|
|
|
| |
This applies to relays too, not just onion services (we need to to
handle BEGIN/BEGIN_DIR/RESOLVE).
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Removed unnecessary lint
Closes #2556
See merge request tpo/core/arti!4210
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Removed unnecessary lint
|
| |\ \
| | |
| | |
| | |
| | | |
multiple crates: Fix clippy warnings
See merge request tpo/core/arti!4203
|
| | |/ |
|
| |\ \
| |/
|/|
| |
| | |
Upgrade cipher, aes, and ctr.
See merge request tpo/core/arti!4195
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
We _already_ do not include FLOWCTRL_CC as a listed protocol among
the capabilities we provide, when we make a virtual hop. This
branch will make that behavior even more certain, by not looking at
required-client-protocols any longer.
|
| | |
| |
| |
| | |
We do something similar with non-virtual hops at !4076.
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
proto: Allow BeginDir and Resolve messages in the stream reactor
Closes #2613
See merge request tpo/core/arti!4188
|
| | | |
| | |
| | |
| | |
| | | |
See
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4188#note_3432579
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
These assertions no longer fail now that the stream reactor is able to
handle non-`BEGIN` streams.
|
| | | | |
|
| | |/
| |
| |
| |
| |
| |
| | |
Previously, these would fail to parse, because the (WIP) stream reactor
assumed all streams would be exit (BEGIN) streams.
Closes #2613
|
| |/
|
|
|
|
| |
Additionally, fix itertools usage in maybenot_padding.rs
The definition of `Position` changed in 0.15.0.
|