summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | circmgr: Add an actual pool to HsCircPool.Nick Mathewson2023-03-222-6/+173
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | circmgr: Begin an HS circuit pool structureNick Mathewson2023-03-223-0/+162
| | | | | | | | | | | | | | | This is now enough to launch circuits on demand. It still needs to pre-build the first three hops, and to retry on failure.
| * | proto: Stabilize ClientCirc::n_hops.Nick Mathewson2023-03-222-1/+7
| | |
| * | circmgr: Add a usage for building the beginning of an hs circNick Mathewson2023-03-223-16/+86
| | | | | | | | | | | | | | | This only builds the first 3 hops. It can be extended to a fourth hop later -- or not, depending on the circuit kind.
| * | circmgr: Functions to launch an unmanaged circuit.Nick Mathewson2023-03-222-3/+26
|/ / | | | | | | We'll use this to implement the circuits used by onion circuits.
* | Merge branch 'todo' into 'main'Nick Mathewson2023-03-219-12/+73
|\ \ | | | | | | | | | | | | | | | | | | Sort out some blocker TODOs and ensure no more turn up Closes #782 See merge request tpo/core/arti!1067
| * | maint/check_todos: Run in CIIan Jackson2023-03-211-0/+9
| | |
| * | maint/check_todos: Offer advice on workarounds, if trippedIan Jackson2023-03-211-0/+22
| | |
| * | Obscure various literal uses of the todo markerIan Jackson2023-03-213-3/+3
| | | | | | | | | | | | In each case, use a circumlocution.
| * | Turn two blocking TODOs in hsdesc into "TODO HS"Ian Jackson2023-03-212-2/+2
| | | | | | | | | | | | TODO HS is blocking for HS release, but not for CI.
| * | Sort out some TODOs in bdtest.rsIan Jackson2023-03-211-5/+4
| | |
| * | Convert blockers in arti-testing to TODOsIan Jackson2023-03-211-2/+2
| | | | | | | | | | | | I don't think these are that bad in testing code.
| * | maint/check_todos: New scriptIan Jackson2023-03-211-0/+31
|/ /
* | Merge branch 'fixup-features-tool' into 'main'Nick Mathewson2023-03-203-0/+344
|\ \ | | | | | | | | | | | | | | | | | | New "fixup-features" tool to enforce properties in Cargo.tomls Closes #771 See merge request tpo/core/arti!1059
| * | fixup-features: Use write-and-rename pattern.Nick Mathewson2023-03-201-1/+3
| | |
| * | fixup-features: Improve a comment.Nick Mathewson2023-03-201-1/+1
| | |
| * | fixup-features: Simplify "optionality" detection.Nick Mathewson2023-03-201-17/+13
| | |
| * | New "fixup-features" tool to enforce properties in Cargo.tomlsNick Mathewson2023-03-203-0/+346
| | | | | | | | | | | | | | | | | | See top-level main.rs comment for an explanation. Closes #771
* | | Merge branch 'unused-type-param' into 'main'Nick Mathewson2023-03-201-1/+1
|\ \ \ | |/ / |/| | | | | | | | remove unused type parameter See merge request tpo/core/arti!1066
| * | remove unused type parametertrinity-1686a2023-03-181-1/+1
|/ /
* | Merge branch 'fix-ptmgr-fuzz' into 'main'Alexander Færøy2023-03-131-0/+1
|\ \ | | | | | | | | | | | | tor-ptmgr: Fix fuzzer compilation. See merge request tpo/core/arti!1063
| * | tor-ptmgr: Fix fuzzer compilation.Nick Mathewson2023-03-131-0/+1
| | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'bitflags-upgrade' into 'main'Alexander Færøy2023-03-137-17/+26
|\ \ \ | |/ / |/| | | | | | | | Upgrade to bitflags 2.0 See merge request tpo/core/arti!1064
| * | Upgrade to bitflags 2.0Nick Mathewson2023-03-137-17/+26
|/ / | | | | | | | | This version of bitflags now requires us to explicitly list the traits that we want to derive for our bit-flags structs.
* | Bump to latest fuzzer corpora.Nick Mathewson2023-03-131-0/+0
| |
* | Merge branch 'warnings_168' into 'main'Alexander Færøy2023-03-105-7/+4
|\ \ | | | | | | | | | | | | Resolve a couple of new lints with Rust 1.68 See merge request tpo/core/arti!1062
| * | Fix a bunch of needless-conversion warnings.Nick Mathewson2023-03-104-6/+2
| | | | | | | | | | | | | | | Apparently 1.68 now warns when you call into_iter() on something that's already an iterator. Fair enough. Let's stop doing that.
| * | Suppress a renamed-lint lint.Nick Mathewson2023-03-101-1/+2
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'hsplumb' into 'main'Ian Jackson2023-03-096-39/+219
|\ \ \ | |/ / |/| | | | | | | | Plumb `.onion` addresses through to arti-client `client.rs` See merge request tpo/core/arti!1060
| * | Discuss in comment why we're not using a newtype for the Strings in HostIan Jackson2023-03-091-0/+8
| | |
| * | Classify OnionAddressResolveRequest as NotImplementedIan Jackson2023-03-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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 invalid hostnamesIan Jackson2023-03-091-2/+5
| | | | | | | | | | | | | | | | | | Reject them both for .onion and for "exit" hostnames This prevents a `Host` from having an invalid hostname in it.
| * | Fix reference to no-longer-contemplated Host variantIan Jackson2023-03-091-1/+1
| | | | | | | | | | | | | | | Reported in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1060#note_2884755
| * | Dummy HsId::from_str on .onion: Return Bug, rather than panickingIan Jackson2023-03-091-5/+4
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1060#note_2884754
| * | Improve error from HsId parse of "www.B32.onion"Ian Jackson2023-03-093-2/+14
| | | | | | | | | | | | And add some clarity and todos about address errors.
| * | Avoid arti_client::ErrorDetail::Address for TorAddrError::InvalidHostnameIan Jackson2023-03-091-1/+19
| | | | | | | | | | | | Provide an explicit From impl isntead.
| * | Test HsId parse of subdomainIan Jackson2023-03-091-0/+1
| | | | | | | | | | | | This error is not great.
| * | arti-client: Parse .onion addresses and dispatch to client.rsIan Jackson2023-03-095-26/+164
| | | | | | | | | | | | | | | | | | | | | Now, a Host has a separate variant for `.onion` which is always used, even when HS is disabled. Currently it ends in a todo!.
| * | arti-client: DoThingInstructions: Make error returns consistentIan Jackson2023-03-092-9/+10
| | | | | | | | | | | | This is more comprehensible, and will be more convenient.
| * | arti-client: Host: Use Display::fmt rather than write!Ian Jackson2023-03-091-2/+3
|/ / | | | | | | | | write! is less good because the `{}` overwrites stuff like "did the caller ask for padding".
* | Merge branch 'tor-proto-extensions' into 'main'Nick Mathewson2023-03-089-164/+355
|\ \ | | | | | | | | | | | | tor-proto: send an outbound meta/control-message and expect similar messages in return. See merge request tpo/core/arti!1051
| * | tor-proto: Document limitation on send_control_messageNick Mathewson2023-03-081-0/+7
| | |
| * | tor-proto: Say "control message" a little more consistentlyNick Mathewson2023-03-081-1/+2
| | | | | | | | | | | | | | | | | | | | | (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.)
| * | tor-proto: Make send_control_message wait for the reactor.Nick Mathewson2023-03-082-5/+22
| | | | | | | | | | | | | | | 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.
| * | Serval rustdoc link fixes.Nick Mathewson2023-03-082-3/+3
| | |
| * | Fix an unrelated missing cfg_attr.Nick Mathewson2023-03-081-0/+1
| | |
| * | tor-proto: Have send_control_message install a handler, not return a streamNick Mathewson2023-03-083-98/+73
| | |
| * | tor-proto: Implement functionality to send a message and accept repliesNick Mathewson2023-03-085-54/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | tor-proto: Change semantics of MetaCellHandlerNick Mathewson2023-03-081-72/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.)
| * | tor-proto: Give Path a method to access final hop num.Nick Mathewson2023-03-082-10/+16
| | |