| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is only done if we kept the AUTH_CHALLENGE cell and we have relay
identities. In other words, this is only when the UnverifiedChannel was
created from a RelayInitiatorHandshake.
Note: The check_internal() function is too large and should be
refactored in smaller pieces.
Note: It is also likely that we need to split UnverifiedChannel and
VerifiedChannel as it is getting client or relay members. Not great.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
The client and relay channel builder don't share anything and return
different objects hence the seperation.
Furthermore, this seperation avoids having the client ChanMgr ability to
launch relay channels.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a intermediary object between tor-chanmgr and tor-proto that is
when building a relay channel, those keys/certs need to be set in the
ChannelBuilder so the tor-proto can use them to authenticate.
We avoid that way making tor-proto depending on tor-keymgr for the
ultimate goal to avoid tor-proto to have access to all the keys in the
KeyMgr.
Future commits will introduce a relay channel builder which will use
that object to set the keys.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit only adds a struct holding all the authentication data that
needs to be built during the verification process after all handshake
cells needed for authentication have been sent.
It lives in the VerifiedChannel struct so it can be used to build the
AUTHENTICATE cell and be sent before the NETINFO.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
| |
This implements the relay initiator side of the handshake up to the
creation of an unverified channel.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
Upcoming code for relay channels are put in the src/relay module and
thus we need visibility into some channel generic things.
Turns out also we don't need to re-export publicly UnverifiedChannel and
VerifiedChannel.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
| |
Change our mind about the logic for encoding an Ignored.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Currently this is mishandled: the current use sites (in
rs/each_variety.rs) use Option<Ignored>, which would reject repeated
items with that keyword, which is technically wrong. And encoing
will become a problem. Vec<Ignored> would be wrong too.
Instead, broaden NotPresent and give it multiplicity impls.
|
| |
|
|
|
|
| |
This seems to be where we're putting most of the parse2 impls on these
types, now. That makes more sense as parse2 becomes more of a proper
thing.
|
| |\
| |
| |
| |
| | |
tor-guardmgr: Add more tracing to update_guardset_internal.
See merge request tpo/core/arti!3388
|
| | |
| |
| |
| | |
This would have been useful in looking into #2224.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows a NetdocParseableFields inside a NetdocParseableFields.
The code is rather duplicative with the NetdocParseable
implementation. This is due to limitations in derive-deftly; see
https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/merge_requests/525
where I'm trying to start to address them.
|
| |/
|
|
| |
We're going to reuse this.
|
| |\
| |
| |
| |
| | |
tor-netdoc: Rename consensus Header to Preamble, etc.
See merge request tpo/core/arti!3378
|
| | |
| |
| |
| |
| | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3378#note_3277957
|
| | |
| |
| |
| | |
This makes it match the protocol and the spec.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
We should use the same name everywhere, even if the name in the spec
is clumsy (as it is here).
|
| | |
| |
| |
| |
| |
| | |
We're going to want to apply the parse2 derive to Preamble, but this
field is anomalous. Rather than trying to make it regular, simply
move it to the old-parser-specific Consensus struct.
|
| | |
| |
| |
| |
| |
| |
| | |
Consensus is not going to be easy to square with parse2 - especially,
signature handling is very different between the two parsers.
Instead, we'll have a new NetworkStatus type.
|
| | |
| |
| |
| |
| | |
There is no such thing as the "header" according to the spec. We mean
the preamble.
|
| |\ \
| |/
|/|
| |
| | |
proto: Move the control channels to RelayReactor
See merge request tpo/core/arti!3387
|
| | |
| |
| |
| | |
We need to give the control channels higher priority here.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Control messages are handled in RelayReactor instead of BackwardReactor.
|
| | |
| |
| |
| |
| | |
This only moves the control/command fields to RelayReactor. The next
step is to actually implement the control message handling and dispatch.
|
| |\ \
| |/
|/|
| |
| | |
tor-dirserver: Bump MSRV from 1.83 to 1.86
See merge request tpo/core/arti!3385
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I noticed that when doing `cargo generate-lockfile` in the workspace
root, it was locking dependencies to 1.83 compatible versions. It turns
out tor-dirserver started on MSRV 1.83 after we already bumped to 1.85,
and has been missed in MSRV updates ever since.
I've found no indication it is intentionally getting this special
treatment and am assuming it is a mistake.
Signed-off-by: hashcatHitman <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
impl ItemValueParseable for SharedRandStatus
See merge request tpo/core/arti!3380
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This may not be the best utility type to use for lots of the
fixed-length byte strings, but we *are* using it a lot in the old and
now the new parser.
Implement From and Into.
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
arti: Mark restricted-discovery as non-experimental
See merge request tpo/core/arti!3384
|