summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | tor-hsclient: Discuss performance and circuit build serialisationIan Jackson2023-06-091-0/+12
| | | |
| * | | tor-hsclient: Add TODO about trying multiple IPTs in parallelIan Jackson2023-06-091-0/+2
| | | |
| * | | tor-hsclient: Expand TODO about IPT selection to mention randomnessIan Jackson2023-06-091-1/+2
| | | |
| * | | tor-hsclient: tuning parameters: TODO about getting from the netdirIan Jackson2023-06-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1228#note_2910286 Not thinking about this right now, but it seems like a reasonable suggestion.
| * | | tor-hsclient: Add vacuous doc commentsIan Jackson2023-06-091-6/+6
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1228#note_2910284
| * | | tor-hsclient: Add a TODO for changing RendPtIdentityForErrorIan Jackson2023-06-091-0/+3
| | | |
| * | | tor-hsclient: Improve description of `Context`Ian Jackson2023-06-091-3/+7
| | | | | | | | | | | | | | | | | | | | Be more specific about precisely what it's the context for, and its lifetime.
| * | | tor-hsclient: Correct InvalidTarget errorIan Jackson2023-06-092-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove TODO comment; instead, replace with a comment about future use for HS server side, inspired by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1228/diffs?commit_id=ecfd39507c4e8d52788f4599d6275cab3b4a2a5f#c0123bb2f6b9a9ca50fa45886b667580a7dc951e_79_82 Do not implment `tor_error::HasKind`; the true kind depends on where the bad information came from, which the calling code will understand. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1228/diffs?commit_id=d63ad3ab041460bf85defb99b31d6ebe075a0eb1#c0123bb2f6b9a9ca50fa45886b667580a7dc951e_101_110
| * | | tor-hsclient: mocks: Fix new code to use mockable ClientCircIan Jackson2023-06-091-18/+36
| | | |
| * | | tor-hsclient: mocks: Make MockableClientCirc be DebugIan Jackson2023-06-091-1/+2
| | | |
| * | | tor-hsclient: mocks: Provide send_control_messageIan Jackson2023-06-091-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We were able to get as far as we have, merely because all the new code uses just Arc<ClientCirc> rather than the mockable version. We want to change that, so we need to mock this function too.
| * | | tor-hsclient: Call the mock with the result circuitIan Jackson2023-06-091-0/+5
| | | |
| * | | tor-hsclient: Define representation of intro point experience dataIan Jackson2023-06-091-3/+44
| | | | | | | | | | | | | | | | | | | | This is the data structure for recording IPT outcomes and, later, selecting a good IPT to try for a new connection.
| * | | tor-hsclient: Implement rendezvous setup, and retry frameworkIan Jackson2023-06-095-6/+479
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | tor-error: Extend applicability of RemoteNetworkTimeoutIan Jackson2023-06-091-1/+6
| | | | | | | | | | | | | | | | | | | | We're going to use this for rendezvous completion timeout, which could be due to basically anything.
| * | | tor-hsclient: errors: Introduce IntroPtIndexIan Jackson2023-06-092-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | tor-hsclient: errors: Introduce RendPtIdentityForErrorIan Jackson2023-06-092-0/+11
| | | | | | | | | | | | | | | | | | | | 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.
| * | | tor-hsclient: Allow dead code for nowIan Jackson2023-06-091-0/+2
| | | | | | | | | | | | | | | | The dead code warnings are a nuisance while this file is half-written.
| * | | tor-hsclient: Mocks: Add get_or_launch_client_rend to mock poolIan Jackson2023-06-091-0/+19
| | | | | | | | | | | | | | | | This has the wrong return type at the moment.
| * | | tor-hsclient: Mock trait: use actual HsCircPool in non-mock implIan Jackson2023-06-091-5/+6
| | | | | | | | | | | | | | | | The impl was in terms of itself. Sadly, nothing warns about this bug.
| * | | tor-hsclient: impl HasKind for InvalidTarget: ..DescriptorValidationFailedIan Jackson2023-06-092-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | This basically always means we couldn't cope with the descriptor. We need to extend the description of OnionServiceDescriptorValidationFailed
| * | | tor-error: Introduce define_asref_dyn_std_error and use itIan Jackson2023-06-092-9/+19
| | | | | | | | | | | | | | | | | | | | This factors out an ad-hoc AsRef impl. We're going to want to reuse this for another error type.
| * | | tor-hsclient: Have descriptor_ensure take only &mut data.descIan Jackson2023-06-091-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | tor-hsclient: Move &mut Data out of Context, and pass &Context (fmt)Ian Jackson2023-06-091-9/+1
| | | |
| * | | tor-hsclient: Move &mut Data out of Context, and pass &ContextIan Jackson2023-06-091-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | Now Context can be usefully shared, across different threads/tasks/functions, so long as only one of them needs to modify `Data`.
| * | | tor-hsclient: export InvalidTargetIan Jackson2023-06-091-0/+1
| | | | | | | | | | | | | | | | It's going to appear in our public errors.
| * | | tor-hsclient: Add a TODO for InvalidTarget errorIan Jackson2023-06-091-0/+4
|/ / /
* | | Merge branch 'report-trait-doc-fix' into 'main'Alexander Færøy2023-06-092-0/+107
|\ \ \ | | | | | | | | | | | | | | | | Expand arti-client docs to include error reporting section See merge request tpo/core/arti!1213
| * | | Rephrase error handling to reportingSaksham Mittal2023-06-081-2/+2
| | | |
| * | | Add error handling section in READMESaksham Mittal2023-06-081-0/+40
| | | |
| * | | Add separate example with ReportSaksham Mittal2023-06-081-0/+67
| |/ /
* | | Merge branch 'warning' into 'main'Alexander Færøy2023-06-091-0/+1
|\ \ \ | | | | | | | | | | | | | | | | Fix a silly clippy warning See merge request tpo/core/arti!1226
| * | | Fix a silly clippy warningIan Jackson2023-06-081-0/+1
| |/ / | | | | | | | | | | | | Fixes nailing-cargo +stable clippy -p tor-hsclient --all-features --all-targets
* | | Merge branch 'cookie' into 'main'Ian Jackson2023-06-093-1/+12
|\ \ \ | |_|/ |/| | | | | | | | Implent Rng.gen() for RendCookie See merge request tpo/core/arti!1227
| * | tor-hscrypto: implement Rng.gen() for RendCookieIan Jackson2023-06-093-0/+8
| | |
| * | tor-hscrypto: Break out REND_COOKIE_LENIan Jackson2023-06-091-1/+4
|/ / | | | | | | We need to reuse this.
* | Merge branch 'hsclient-feature' into 'main'Alexander Færøy2023-06-081-1/+1
|\ \ | | | | | | | | | | | | hs: Fix a feature name in arti-client See merge request tpo/core/arti!1222
| * | hs: Fix a feature name in arti-clientNick Mathewson2023-06-071-1/+1
| | | | | | | | | | | | In arti-client it's called "onion-client", not "hs-client".
* | | Merge branch 'netdir' into 'main'Nick Mathewson2023-06-081-0/+7
|\ \ \ | |_|/ |/| | | | | | | | Expand docs for NetDirProvider See merge request tpo/core/arti!1224
| * | Expand docs for NetDirProviderIan Jackson2023-06-081-0/+7
|/ / | | | | | | | | | | | | | | 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).
* | Merge branch 'ipt_to_circtarget' into 'main'Nick Mathewson2023-06-078-1/+159
|\ \ | |/ |/| | | | | Construct a CircTarget from an IntroPointDesc. See merge request tpo/core/arti!1221
| * hsclient: Create a CircTarget from an IntroPointDesc.Nick Mathewson2023-06-074-1/+104
| | | | | | | | | | The main body of this function is written so that we can later use it to create a CircTarget from an INTRODUCE2 message.
| * netdir, netdoc: Add accessors for protocol version status.Nick Mathewson2023-06-064-0/+55
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'access' into 'main'Alexander Færøy2023-06-061-4/+69
|\| | | | | | | | | hsdesc docs: Provide some accessors See merge request tpo/core/arti!1220
| * hsdesc: Add minimal set of accessors for HsDesc and IntroPointDescIan Jackson2023-06-051-0/+65
| |
| * hsdesc docs: Don't imply that a thing has been done, which hasn't yetIan Jackson2023-06-051-1/+1
| |
| * hsdesc docs: Use the definite articleIan Jackson2023-06-051-3/+3
| | | | | | | | | | These are (I hope) the only key matching the description. If they're not, the description needs to be expanded.
* | Merge branch 'remove_arrayref' into 'main'Nick Mathewson2023-06-0617-66/+64
|\ \ | | | | | | | | | | | | | | | | | | Remove use of arrayref Closes #872 See merge request tpo/core/arti!1214
| * | tor-cell: remove use of arrayrefNick Mathewson2023-06-014-14/+16
| | | | | | | | | | | | Closes #872
| * | tor-llcrypto: remove use of arrayrefNick Mathewson2023-06-015-20/+15
| | |