summaryrefslogtreecommitdiff
path: root/crates/tor-hsclient/src
Commit message (Collapse)AuthorAgeFilesLines
* hsclient: Rename get_or_launch{connection => circuit}Nick Mathewson2023-10-241-1/+25
| | | | Closes #1078.
* Fix typo in argumentshalcyon2023-10-201-1/+1
|
* tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError (fmt).Gabriela Moldovan2023-10-191-2/+5
|
* tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError.Gabriela Moldovan2023-10-191-2/+2
|
* tor-keymgr: Remove From<ArtiPathError> impl for KeyPathError.Gabriela Moldovan2023-10-191-2/+2
|
* tor-hsclient, arti-client: Make BadClientSpecifier wrap an ArtiPathError.Gabriela Moldovan2023-10-191-3/+3
|
* tor-keymgr: Use ArtiPathError for invalid ArtiPaths.Gabriela Moldovan2023-10-191-6/+7
|
* hsclient: add a missing ) to a message.Nick Mathewson2023-10-171-1/+1
|
* dirclient: Seal the Requestable trait and hide most of its members.Nick Mathewson2023-10-171-1/+1
| | | | | | | | Since none of these methods were invoked from outside `tor-dirclient` (except for debugging), and since we have had a fair amount of churn on what we actually want them to be, it seems like a good idea to use this trick to hide them. This will let us make other changes to the actual behavior of Requestable in the future.
* oneshot: Use veneer in tor-hsclientIan Jackson2023-10-111-2/+1
|
* tor-rtmock: Switch MockRuntime to SimpleMockSleepProviderIan Jackson2023-10-031-1/+1
| | | | | | | | | | | | | | | | For now we do this by changing the meaning of the name `MockSleepProvider` in runtime.rs. This is a bodge to reduce noise in this diff. Consequences at call sites: * If the type is named somehow, the other type must be used. * SimpleMockTimeProvider calls it jump_wallclock rather than jump_to, which is IMO a better name. (MockRuntime will change in a moment.) * SimpleMockTimeProvider's advance() function isn't async and doesn't yield. But none of the call sites actually mind that.
* tor-hsclient: Update HsClientSecretKeys docs.Gabriela Moldovan2023-09-251-1/+1
|
* tor-hsclient, arti-client, tor-keymgr, tor-netdoc: Use a keypair instead of ↵Gabriela Moldovan2023-09-252-7/+3
| | | | StaticSecret (fmt).
* tor-hsclient, arti-client, tor-keymgr, tor-netdoc: Use a keypair instead of ↵Gabriela Moldovan2023-09-252-10/+10
| | | | | | | | | | | | | StaticSecret. Previously, when retrieving `KS_hsc_desc_enc` keys (or any other x25519 keys) from the keystore, the keymgr would discard the public part of the key (SSH private keys contain the public part of the key too). Instead of discarding the public key and returning just the `StaticSecret`, the keymgr now returns a `StaticKeypair`. This makes the x25519 `EncodableKey`/`ToEncodableKey` implementation consistent with the ed25519 one (which retrieves key pairs rather than "unescorted" secrets).
* tor-hsclient: state expiry test: Use MockSleepProvider advanceIan Jackson2023-09-201-1/+2
| | | | | See https://gitlab.torproject.org/tpo/core/arti/-/issues/1040
* tor-hsclient: expiry tests: Use advance_byIan Jackson2023-09-181-1/+1
|
* tor-hsclient: expiry: Fix a boundary error in time calculationIan Jackson2023-09-181-1/+4
| | | | | We might loop, sleeping for zero. In real life this wouldn't last long, but with the mock executor it can busy loop.
* tor-keymgr: Fix typo in key names.Gabriela Moldovan2023-09-121-4/+4
| | | | The secret keys are prefixed with `KS`, not `KP`.
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-233-0/+3
|
* tor-netdir: Use an owned HsBlindId instead of a reference.Gabriela Moldovan2023-08-221-1/+1
| | | | `HsBlindId` is `Copy`.
* tor-hsclient: Use hs_dirs_download instead of the deprecated hs_dirs.Gabriela Moldovan2023-08-221-6/+5
|
* Lower linkspec list parsing into new tor-linkspec method.Nick Mathewson2023-08-221-5/+1
|
* tor-dirclient: Rename download() to send_request().Gabriela Moldovan2023-08-161-1/+1
| | | | | | `download()` is actually a general-purpose function for sending HTTP requests on a stream. We will soon repurpose it for `POST`-ing descriptors, so let's rename it to `send_request`.
* Merge branch 'future_proof_lints' into 'main'gabi-2502023-08-041-2/+2
|\ | | | | | | | | | | | | add_warning: Change missing_docs,unreachable_pub to warn Closes #951 See merge request tpo/core/arti!1470
| * Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
| |
* | tor-proto: Add ClientCirc::start_conversation().Gabriela Moldovan2023-08-041-3/+4
|/ | | | | | | | | | | This will enable hidden services to send `RENDEZVOUS1` messages to the `N`th hop of the circuit rather than the `N + 1`th virtual one (which can only used after the client and service have completed the introduction handshake). This also deprecates `start_conversation_last_hop`. Closes #959
* Run cargo +nightly fmt to format many let ... else ...Ian Jackson2023-07-243-21/+30
| | | | | | | | | | | rustfmt has grown opinions about how let ... else ... ought to be formatted. They don't always agree with our previous manual decisions. I think our policy is to always insist on rustfmt. When that version of rustfmt hits stable, our CI will start to fail for everyone. (Right now this discrepancy just causes trouble for contributors who are using nightly by default.)
* Fix typosDimitris Apostolou2023-07-222-10/+10
|
* retry-error: Attempts must be AsRef<dyn Error>; print their sourcesIan Jackson2023-07-192-6/+6
| | | | | | | | The effect is that everywhere a RetryError is used, the error sources for the contained errors will be Display'd. In tor-hsclient we no longer need to explicitly wrap things up in tor_error::Report.
* Merge branch 'clippy-allow' into 'main'Ian Jackson2023-07-114-0/+4
|\ | | | | | | | | clippy: Allow some of our existing code patterns See merge request tpo/core/arti!1396
| * Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-104-0/+4
| |
* | Merge branch 'conversation' into 'main'Alexander Færøy2023-07-101-18/+28
|\ \ | | | | | | | | | | | | Overhaul send_control_message See merge request tpo/core/arti!1367
| * | tor-proto: run rustfmtIan Jackson2023-06-301-1/+3
| | |
| * | tor-proto conversation API: Provide ConversationInHandlerIan Jackson2023-06-301-1/+3
| | |
| * | tor-proto conversation API: Return a ConversationIan Jackson2023-06-301-4/+10
| | | | | | | | | | | | | | | This is just a placeholder for now, but it'll be a thing you can send more messages with.
| * | tor-proto conversation API: Rename to start_conversation_last_hopIan Jackson2023-06-301-8/+8
| | | | | | | | | | | | Was send_control_message.
| * | tor-proto conversation API: Make starting message optionalIan Jackson2023-06-301-5/+5
| | | | | | | | | | | | | | | We're going to let people start a conversation and either expect to receive first, or send messages ad-hoc later.
| * | tor-proto conversation API: Rename to ConversationFinishedIan Jackson2023-06-301-2/+2
| | | | | | | | | | | | | | | | | | Was UninstallHandler. We are going to talk more about conversations and less about handlers (although, the fact of there being a handler will still be visible).
* | | Merge branch 'recurse' into 'main'Alexander Færøy2023-07-101-26/+37
|\| | | |/ |/| | | | | tor-hsclient: Mock traits: Work around an async boobytrap See merge request tpo/core/arti!1365
| * tor-hsclient: Mock traits: Work around an async boobytrapIan Jackson2023-06-301-26/+37
| |
* | Add exceptions for some cases of diverging_sub_expressionNick Mathewson2023-07-101-0/+2
| | | | | | | | | | | | | | | | See here for documentation on the lint: https://rust-lang.github.io/rust-clippy/master/index.html#/diverging_sub_expression The issue here, from what I can tell, is that the lint triggers whenever you use a diverging expression as a function body within an
* | Throughout: Use *_report!() macros for reporting Errors.Nick Mathewson2023-07-072-25/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I identified the cases to replace by searching for the string `.report()`. There are a few that I didn't change: * A couple of cases that used anyhow::Error, * One case that reported two Errors. * Two cases in `tor_hsclient::err` that just did `error!("Bug: {}")`. I have also not audited the cases in `tor-hsclient` where we're using `tor_error::Report` manually. Nonetheless, closes #949.
* | Run add_warning to remove `missing_panics_doc` deny.Nick Mathewson2023-07-061-1/+0
| | | | | | | | Closes #950.
* | tor-hsclient: Abolish ad-hoc real-world-time sleepsIan Jackson2023-07-061-12/+4
|/ | | | | | Now we can reliably wait precisely for the tasks to be all waiting. This test case no longer involves any real executor.
* hsclient: Make HsClientSpecifier a newtype instead of a type alias.Gabriela Moldovan2023-06-291-1/+11
|
* arti-client, hsclient: Typealias HsClientSpecifier to ArtiPathComponent.Gabriela Moldovan2023-06-291-25/+2
| | | | `ArtiPathComponent` is a more generic version of `HsClientSpecifier`.
* Merge branch 'timeouts' into 'main'Ian Jackson2023-06-291-16/+109
|\ | | | | | | | | tor-hsclient: Use estimated timeouts See merge request tpo/core/arti!1342
| * tor-hsclient: Add some notes about timeouts and hopsIan Jackson2023-06-291-0/+8
| |
| * tor-hsclient: Use estimated timeouts for introduction and rendezvous (fmt)Ian Jackson2023-06-291-2/+6
| |
| * tor-hsclient: Use estimated timeouts for introduction and rendezvousIan Jackson2023-06-291-12/+44
| | | | | | | | Replacing RPT_IPT_TIMEOUT is not entirely straightforward.