| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We now have support for a pool of pre-build circuits that we can use
for HS-related purposes, and we take circuits from this pool as
needed.
Nothing populates or cleans the circuit pool yet.
|
| | | |
| | |
| | |
| | |
| | | |
This is now enough to launch circuits on demand. It still needs to
pre-build the first three hops, and to retry on failure.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This only builds the first 3 hops. It can be extended to a fourth
hop later -- or not, depending on the circuit kind.
|
| |/ /
| |
| |
| | |
We'll use this to implement the circuits used by onion circuits.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Sort out some blocker TODOs and ensure no more turn up
Closes #782
See merge request tpo/core/arti!1067
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
In each case, use a circumlocution.
|
| | | |
| | |
| | |
| | | |
TODO HS is blocking for HS release, but not for CI.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
I don't think these are that bad in testing code.
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
New "fixup-features" tool to enforce properties in Cargo.tomls
Closes #771
See merge request tpo/core/arti!1059
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
See top-level main.rs comment for an explanation.
Closes #771
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
remove unused type parameter
See merge request tpo/core/arti!1066
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-ptmgr: Fix fuzzer compilation.
See merge request tpo/core/arti!1063
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Since we made the internals of the ptmgr protocol parser
conditionally private, we need to tell Cargo to build the fuzzer
with the `experimental-api` feature so that it can access them.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Upgrade to bitflags 2.0
See merge request tpo/core/arti!1064
|
| |/ /
| |
| |
| |
| | |
This version of bitflags now requires us to explicitly list the
traits that we want to derive for our bit-flags structs.
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Resolve a couple of new lints with Rust 1.68
See merge request tpo/core/arti!1062
|
| | | |
| | |
| | |
| | |
| | | |
Apparently 1.68 now warns when you call into_iter() on something
that's already an iterator. Fair enough. Let's stop doing that.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
The derive_hash_xor_eq lint was renamed in 1.68, but we can't use
it under its new name, since we still need to support back to 1.60.
Instead, we suppress the warning about the lint being renamed.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Plumb `.onion` addresses through to arti-client `client.rs`
See merge request tpo/core/arti!1060
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We have a theory about how this ought to work, so it's noit an API
usage error - it's an unimplemented feature.
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1060#note_2884757
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Reject them both for .onion and for "exit" hostnames
This prevents a `Host` from having an invalid hostname in it.
|
| | | |
| | |
| | |
| | |
| | | |
Reported in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1060#note_2884755
|
| | | |
| | |
| | |
| | |
| | | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1060#note_2884754
|
| | | |
| | |
| | |
| | | |
And add some clarity and todos about address errors.
|
| | | |
| | |
| | |
| | | |
Provide an explicit From impl isntead.
|
| | | |
| | |
| | |
| | | |
This error is not great.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now, a Host has a separate variant for `.onion` which is always used,
even when HS is disabled.
Currently it ends in a todo!.
|
| | | |
| | |
| | |
| | | |
This is more comprehensible, and will be more convenient.
|
| |/ /
| |
| |
| |
| | |
write! is less good because the `{}` overwrites stuff like "did the
caller ask for padding".
|
| |\ \
| | |
| | |
| | |
| | | |
tor-proto: send an outbound meta/control-message and expect similar messages in return.
See merge request tpo/core/arti!1051
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
(I found "user request" in one place, and fixed that. I am not
currently going to try to unify "control message" and "meta message"
since both terms are misleading and we already have TODOs to try to
merge them into a third better term.)
|
| | | |
| | |
| | |
| | |
| | | |
This way we don't need to worry about race conditions that happen if
the caller thinks that the handler is installed before it really is.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This new function combines "sending a message" and "accepting
replies in a stream" into a single call, so that there is no gap
between when the message is sent and the replies are available.
There are a number of compromises here, in order to avoid API
proliferation. I've tried to contain them as best I can.
See comments for additional design discussion.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now, the MetaCellHandler is responsible for consuming the messages
it gets, and reporting status to whatever task is waiting for a
status message.
Additionally, the MetaCellHandler can decide to remain installed or
shut down the circuit after a successful message. (Previously, it
could only uninstall itself on success and kill the circuit on
failure.)
These changes will enable MetaCellHandlers to be used as the basis
for handling more kinds of message.
(There is some moved and reformatted code here; you may want to
review it with `git {diff or show} --color-moved -b`.)
|
| | | | |
|