| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This is the data structure for recording IPT outcomes and, later,
selecting a good IPT to try for a new connection.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This contains code to:
* Iterate over introduction points
* Make multiple attempts to connect
* Apply timeouts to the various phases of each attempt
* Establish a rendezvous point
* Represent errors that occur during the above
It provides places to add:
* Implementation of the INTRODUCE1/INTRODUCE_ACK handshake
* Reception of RENDEZVOUS2 and actual end-to-end circuit establishment
* Recording of the outcome of connection attempts via particular IPTs
* Using previous IPT outcome information for selecting IPTs to try
* Tests of the new code (although more mocking will probably be needed)
Much of this code works with a fixed type ClientCirc rather than going via
the Mockable traits. That is wrong, and it will be fixed later.
|
| | | |
| | |
| | |
| | |
| | | |
We're going to use this for rendezvous completion timeout, which could
be due to basically anything.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
We're going to want to report about rendezvous points in errors.
We'll do this by printing the "number" of the intro point in the descriptor.
|
| | | |
| | |
| | |
| | |
| | | |
We're going to want to report about rendezvous points in errors.
We'll be using this. And we'll want to convert it from a Relay.
|
| | | |
| | |
| | |
| | | |
The dead code warnings are a nuisance while this file is half-written.
|
| | | |
| | |
| | |
| | | |
This has the wrong return type at the moment.
|
| | | |
| | |
| | |
| | | |
The impl was in terms of itself. Sadly, nothing warns about this bug.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This basically always means we couldn't cope with the descriptor.
We need to extend the description of OnionServiceDescriptorValidationFailed
|
| | | |
| | |
| | |
| | |
| | | |
This factors out an ad-hoc AsRef impl. We're going to want to reuse
this for another error type.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
It returns a borrow (so whatever is passed remains borrowed) and the
next phase is going to need to perhaps mutate other parts of data, so
we must pass only what is needed.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Now Context can be usefully shared, across different
threads/tasks/functions, so long as only one of them needs to modify
`Data`.
|
| | | |
| | |
| | |
| | | |
It's going to appear in our public errors.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Expand arti-client docs to include error reporting section
See merge request tpo/core/arti!1213
|
| | | | | |
|
| | | | | |
|
| | |/ / |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Fix a silly clippy warning
See merge request tpo/core/arti!1226
|
| | |/ /
| | |
| | |
| | |
| | | |
Fixes
nailing-cargo +stable clippy -p tor-hsclient --all-features --all-targets
|
| | | | |
|
| | |/
|/|
| |
| | |
We need to reuse this.
|
| |\ \
| | |
| | |
| | |
| | | |
hs: Fix a feature name in arti-client
See merge request tpo/core/arti!1222
|
| | | |
| | |
| | |
| | | |
In arti-client it's called "onion-client", not "hs-client".
|
| | |/
|/|
| |
| |
| |
| |
| |
| | |
Apropos a question that arose on IRC, to which I felt the answer
wasn't 100% unambiguous.
Also, reference the usual implementation (it can't be a link because
it's an upward reference).
|
| |\ \
| |/
|/|
| |
| | |
Construct a CircTarget from an IntroPointDesc.
See merge request tpo/core/arti!1221
|
| | |
| |
| |
| |
| | |
The main body of this function is written so that we can later use
it to create a CircTarget from an INTRODUCE2 message.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The consensus includes a listing for clients and for relays,
saying which protocol versions are _required_ for participation on
the network, and which versions are _recommended_. We have been
parsing this, but not yet exposing it.
This commit adds accessors to expose it, since we'll need that in
order to create CircTargets for introduction points and rendezvous
points.
|
| |\|
| |
| |
| |
| | |
hsdesc docs: Provide some accessors
See merge request tpo/core/arti!1220
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
These are (I hope) the only key matching the description. If they're
not, the description needs to be expanded.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Remove use of arrayref
Closes #872
See merge request tpo/core/arti!1214
|
| | | |
| | |
| | |
| | | |
Closes #872
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Part of #872: Now that const generics are in, we have better ways to
express converting slices into array-references.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The actual decoding here is just a placeholder. The important part
is that we can get either a (SessionId, StreamId) tuple out of the
request, or we treat it as part of an isolation token.
This commit has a few TODOs for additional things that we'll need
in order to build out our design.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This enables some small simplifications.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
It will use this to find which TorClient to use when opening a
stream.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
These identifiers are actually only "global" with respect to a given
`RpcMgr`, but they should not be forgeable or reusable across RpcMgr
objects. We're going to use them so that we have a kind of identifier
for `TorClient`s that we can expose to SOCKS.
|
| | | | |
|