summaryrefslogtreecommitdiff
path: root/crates/tor-hsclient/src
Commit message (Collapse)AuthorAgeFilesLines
* tor-hsclient: Rename HsClientSpecifier to HsClientNickname (fmt).Gabriela Moldovan2024-01-311-2/+2
|
* tor-hsclient: Rename HsClientSpecifier to HsClientNickname.Gabriela Moldovan2024-01-312-11/+9
| | | | | Service nicknames are represented by `HsNickname`, so let's rename `HsClientSpecifier` to `HsClientNickname`.
* tor-persist: Make all Slugs non-empty.Gabriela Moldovan2024-01-311-2/+0
| | | | | | | | This also removes a TODO regarding adding a `Nickname` type for representing `HsClientSpecifier` and `HsNickname` (we don't need it if `Slug`s are non-empty). Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1931#note_2990227
* tor-keymgr: Abolish ArtiPathComponent.Gabriela Moldovan2024-01-311-1/+1
| | | | | | `ArtiPathComponent`s are really just `Slugs`. Part of #1193, #1092
* tor-hsclient: Use Slug for HsClientSpecifier (fmt).Gabriela Moldovan2024-01-311-11/+3
|
* tor-hsclient: Use Slug for HsClientSpecifier.Gabriela Moldovan2024-01-311-4/+20
|
* tor-netdir: Make hs_dirs_{upload, download} take separate args instead of tuple.Gabriela Moldovan2024-01-241-1/+2
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1904#note_2987777
* hsservice: Convert a "TODO" to a ticket about logic duplicationNick Mathewson2024-01-121-0/+3
| | | | New ticket is #1223.
* tor-hsclient: Derive the KeySpecifier implementation (fmt).Gabriela Moldovan2024-01-101-4/+12
|
* tor-hsclient: Derive the KeySpecifier implementation.Gabriela Moldovan2024-01-102-50/+18
| | | | | | | | This addresses a `TODO HSS` about deriving the `KeySpecifier` implementation for client key specifiers. Note that we no longer have a key specifier type for intro auth keys (which are not supported anyway, see #1037).
* hsclient: Remove comment about tearing down circuit.Nick Mathewson2023-12-111-2/+0
| | | | This is now in the spec, with torspec!236.
* Merge branch 'hsclient_parallelism_notes' into 'main'Alexander Færøy2023-12-071-7/+8
|\ | | | | | | | | hsclient: Clean up some TODOs about parallelism. See merge request tpo/core/arti!1795
| * hsclient: Clean up some TODOs about parallelism.Nick Mathewson2023-12-051-7/+8
| | | | | | | | | | | | | | | | * Be a little more specific about what is being parallelized. * Remove TODOs about specs, in favor of torspec#244. * Note some other issues surrounding some of the cases. (See discussions of points 3-6 at #913)
* | tor-keymgr: ArtiPathSyntaxError: rename from ArtiPathError (fmt)Ian Jackson2023-12-071-1/+2
| |
* | tor-keymgr: ArtiPathSyntaxError: rename from ArtiPathErrorIan Jackson2023-12-071-2/+2
|/ | | | | The previous name was ambiguous, and confusable with KeyPathError (of which it is, basically, a variant).
* Merge branch 'report_error_message' into 'main'gabi-2502023-11-301-1/+1
|\ | | | | | | | | Preserve HTTP status text in dirclient errors. See merge request tpo/core/arti!1780
| * Preserve HTTP status text in dirclient errors.Nick Mathewson2023-11-291-1/+1
| | | | | | | | | | | | | | | | The HTTP status text is often useful for diagnosing errors. Tor directory and hsdir caches frequently put useful messages there, especially when rejecting an uploaded document. Inspired by #1142.
* | Convert to the latest versions of dalek-cryptographyNick Mathewson2023-11-291-4/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main changes that we have to adjust for are as follows: * In x25519-dalek: * `StaticSecret` is now behind a feature. * `StaticSecret::new` is deprecated in favor of `StaticSecret::random_from_rng`. * StaticSecret no longer does its own clamping. * In ed25519-dalek: * `SecretKey` has (in effect) been renamed to `SigningKey`. The name `SecretKey` is now an alias for `[u8; 32]`. * `SigningKey` is effectively a keypair, since it contains a public key as well. * `PublicKey` has been renamed to `VerifyingKey`. * The functions to extract a signing key and verifying key have been renamed as you might expect. * `ExpandedSecretKey` has been moved to `hasmat` and no longer implements `sign`. * `ExpanededSecretKey` now has as its elements a scalar and a hash prefix. * Various functions that took `&[u8]` now take `&[u8; N]`. * We no longer need a wrapper for older versions of rand. There is a single test in tor-keymgr that does not pass. I've marked it as ignore for now, in hopes that @gabi-250 can help me figure it out. This closes #808. There are several changes I want to make before we merge, however. They are marked with TODO DALEK.
* tor-hsclient: Deprecate HsClientSecretKeysBuilder::ks_hsc_intro_auth().Gabriela Moldovan2023-11-202-1/+7
|
* tor-hsclient: Add TODO about using the new define_key_specifiers! macro.Gabriela Moldovan2023-10-301-0/+2
|
* 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