aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
| * proto: Rename CircSyncView to CircHopSyncViewGabriela Moldovan2026-02-161-1/+1
| | | | | | | | And update the docs
* | Allow clippy::collapsible_if to triggerGabriela Moldovan2026-02-161-0/+1
| | | | | | | | | | | | | | | | | | `clippy::collapsible_if` started triggering after bumping the MSRV to 1.88. Since this triggers from a lot of places, and since there even are a couple of instances where we explicitly allow `clippy::collapsible_ifs`, I've opened #2342 for deciding what to do about it.
* | Bump MSRV from 1.86 to 1.89Gabriela Moldovan2026-02-161-1/+1
|/ | | | | | | As agreed at our last team meeting. See https://gitlab.torproject.org/tpo/core/arti/#minimum-supported-rust-version
* Set package.metadata.docs.rs.all-features to true for all cratesNiel Duysters2026-02-091-0/+3
| | | | Makes docs.rs also document types behind optional feature flags.
* release: Bump `slotmap-careful` to 0.6.0.Wesley Aptekar-Cassels2026-02-021-1/+1
| | | | Since we removes a existing feature, we need to bump the version.
* release: Bump `arti-*` and `tor-*` crates to 0.39.0Wesley Aptekar-Cassels2026-02-021-30/+30
| | | | | | | | | | Done via: ``` for crate in $(./maint/list-crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.39.0 done ```
* hsservice: Allow clippy::unused_asyncGabriela Moldovan2026-01-281-0/+1
| | | | | See discussion at https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3613#note_3332767
* Revert "hsservice: Make RendRequest::reject() synchronous"Gabriela Moldovan2026-01-282-2/+1
| | | | | | | | | | This reverts commit 84b31824f317458a2aad6fb021b623935870f5bd. Reverted, as this is a public API that might actually need to become `async` at some point. See discussion at https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3613#note_3332767
* hsservice: Make RendRequest::reject() synchronousGabriela Moldovan2026-01-272-1/+2
|
* hsservice: Remove unnecessary wraps from publisher functionGabriela Moldovan2026-01-271-4/+4
| | | | This lint triggers now that the unnecessary `async` is gone.
* hsservice: Remove unnecessary async from publisher functionGabriela Moldovan2026-01-271-3/+3
|
* maint/add_warning: Run script to add new warningGabriela Moldovan2026-01-271-0/+1
| | | | This adds the lint to all our crates.
* meta: Remove all semver.md files post-releaseClara Engler2026-01-131-1/+0
| | | | | Fix the conflict in tor-netdoc/semver.md by hand, including the new entries already landed since v1.9.0.
* cargo: Bump all non arti/tor cratesClara Engler2026-01-121-1/+1
| | | | | | | | | | | | | | | This only includes retry-error which had a few functional additions in December, thereby rasing the minor version as new features were added to the public API. Done using the following: * Find all non arti, non tor crates. * `ls -1 crates/ | grep -v "^tor-\|^arti"` * Exclude the ones without changes. * `maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change"` * Look into each with changes. * In this case only retry-error. * Bump the minor because it had non-trivial changes.
* cargo: Update `arti-*` and `tor-*` to `0.38.0`Clara Engler2026-01-121-30/+30
| | | | | | | | | Done using the following: ```bash for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.38.0 done ```
* hsclient, hsservice: Remove no longer needed conversion functionsGabriela Moldovan2026-01-061-58/+0
|
* keymgr: Use d-d to generate CTorPath<->KeySpecifier conversionsGabriela Moldovan2026-01-061-2/+2
|
* keymgr: Make CTorPath more like the client/service specifiers (fmt)Gabriela Moldovan2026-01-061-6/+2
|
* keymgr: Make CTorPath more like the client/service specifiersGabriela Moldovan2026-01-061-9/+5
| | | | | | | | | | | | | This will make it easier to see the correspondence between CTorPaths and the HS client/service key specifiers. Initially, I was hoping this would make it easier to write a d-d macro that automatically derives a `CTorPath` variant (e.g. `HsClientDescEncKeypair`) from the KeySpecifier type name (`HsClientDescEncKeypairSpecifier`), but alas, I don't think d-d can "chop off" name suffixes ("Specifier", in this case). `from_ctor_path()`/`ctor_path()` implementations for converting `CTorPath`s to and from key specifiers.
* keymgr: Push error handling into the from_ctor_path() functionsGabriela Moldovan2026-01-061-8/+16
|
* keymgr: Remove redundant ArtiPath from error context (fmt)Gabriela Moldovan2026-01-061-4/+2
|
* keymgr: Remove redundant ArtiPath from error contextGabriela Moldovan2026-01-061-5/+3
| | | | | The `ArtiPath` is included in the `KeyPathError::Arti` outer error type, so there is no need to include it in `ArtiPathError` too.
* keymgr: Split out ArtiPathError from KeyPathError (fmt)Gabriela Moldovan2026-01-061-16/+19
|
* keymgr: Split out ArtiPathError from KeyPathErrorGabriela Moldovan2026-01-061-7/+12
| | | | | This makes the error handling around `KeyPath`s a bit more sensible, IMO, and it will make it easier to extend it for `CTorPath` errors.
* keymgr: Specify ctor conversion functions as moduleGabriela Moldovan2026-01-061-42/+46
| | | | | | | This is similar to `#[serde(with = "...")]`, and feels a bit nicer than having to specify two separate functions for the conversions (because with two separate functions, you *can* technically only specify one of them, which shouldn't be allowed).
* keymgr: Extend KeySpecifier macro to support CTorPath conversionsGabriela Moldovan2026-01-061-2/+38
| | | | | This enables us to implement `KeyMgr::describe()`, which relies on the ability to extract the key specifier of the key from its `KeyPath`.
* fix: use wallclock timestamps in all push_timed callsNihal2025-12-171-1/+8
|
* refactor: convert Extend to inherent method, forbid push/extend, fix ↵Nihal2025-12-171-1/+11
| | | | rend_handshake time
* refactor: clean codeNihal2025-12-172-2/+2
|
* feat(retry-error): add timestamps to retry errorsNihal2025-12-172-2/+2
|
* Merge branch 'ticket1223' into 'main'Nick Mathewson2025-12-043-63/+36
|\ | | | | | | | | | | | | Refactor common code that builds circtargets for HS. Closes #1223 See merge request tpo/core/arti!3530
| * Refactor common code that builds circtargets for HS.Nick Mathewson2025-12-043-63/+36
| | | | | | | | | | | | | | | | | | This code was duplicated across hsclient and hsservice. Logically, it belongs in netdir, since that's where we have the latest required-protocol information, and the ability to look up relays by IDs. Closes #1223
* | Update to derive-deftly 1.6.0Ian Jackson2025-12-031-1/+1
|/ | | | | | | | | This has: * Fixes to hygiene spans from the new modules feature, needed for my WIP netdoc encoder derive. * A substantially richer `${error }` construct.
* Remove semver.md files post-releaseGabriela Moldovan2025-12-021-2/+0
|
* Bump all the unstable tor- and arti- crates to 0.37.0.Gabriela Moldovan2025-12-021-30/+30
| | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.37.0 done
* Bump the versions of the non-{arti-,tor-} cratesGabriela Moldovan2025-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list_crates | rg -v '^(tor|arti)' oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error futures-copy ``` We split them in the following categories: * crates with no changes (no version bumps): None ``` maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-' ``` * crates that only have non-functional changes (bump the patch version, but not the dependend-on version): - oneshot-fused-workaround - slotmap-careful - test-temp-dir - fslock-guard - equix - caret - safelog - retry-error * crates where functional changes were made, but no APIs were added or broken: - hashx - fs-mistrust - futures-copy * crates where APIs were broken (bump minor): None The bumps from this commit were created using this script: ``` PATCH_NF=( oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard equix caret safelog retry-error ) PATCH=" hashx fs-mistrust futures-copy " ./maint/bump_nodep "${PATCH_NF[@]}" for crate in $PATCH; do cargo set-version --bump patch -p $crate; done ```
* tor-hsservice: make `build_unvalidated()` privateSteven Engler2025-11-262-1/+2
|
* Merge branch 'intro-dos' into 'main'gabi-2502025-11-251-1/+1
|\ | | | | | | | | arti: Add rate_limit_at_intro to the example config See merge request tpo/core/arti!3493
| * hsservice: Fix typo in rate_limit_at_intro docsGabriela Moldovan2025-11-251-1/+1
| |
* | Merge branch 'max-concurrent-streams' into 'main'Nick Mathewson2025-11-251-0/+5
|\ \ | |/ |/| | | | | hsservice: Clarify what max_concurrent_streams_per_circuit does See merge request tpo/core/arti!3492
| * hsservice: Clarify what max_concurrent_streams_per_circuit doesGabriela Moldovan2025-11-251-0/+5
| | | | | | | | | | | | | | At first glance, this might seem equivalent to C Tor's `HiddenServiceMaxStreams` option, but it's actually `HiddenServiceMaxStreamsCloseCircuit` (Arti doesn't implement the former).
* | opentelemetry: Instrument a bunch of functions.Wesley Aptekar-Cassels2025-11-242-0/+6
|/ | | | | These are all aimed at figuring out in more detail what's going on in #2079 and related issues.
* Merge branch 'disable-hidden-service' into 'main'wesleyac2025-11-123-2/+18
|\ | | | | | | | | | | | | arti/arti-client/tor-hsservice: Support disabling onion services in the config Closes #2133 See merge request tpo/core/arti!3253
| * Fix semver files.Wesley Aptekar-Cassels2025-11-031-2/+0
| | | | | | | | We don't need to modify semver files for newly added methods.
| * arti(-client|-ureq)/tor-hsservice: semver files v2hashcatHitman2025-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Combined with the previous commit, this completes my second attempt at correctly handling the semver files. tor-hssservice: I removed the extra bit at the end of the first line explaining the semantics of the new return type, since the important part is really just the fact that the return type changed. The semantics are documented in the methods themselves. arti-client: Same as above, but I also removed the `client` module prefix since the `client` module isn't actually public, so to external crate users the broken type is directly in the crate root. Removed old "used in the public API of this crate" line. Added lines referring to the 2 breaking changes we re-export from tor-hsservice. arti-ureq: Removed old "used in the public API of this crate" line. Added lines referencing every breaking change in arti-client. This MIGHT be wrong, but I think this is correct because we re-export arti-client as a whole. Signed-off-by: hashcatHitman <[email protected]>
| * arti-client/tor-hsservice: semver fileshashcatHitman2025-10-161-0/+3
| | | | | | | | | | | | Might be too verbose... unsure. Signed-off-by: hashcatHitman <[email protected]>
| * arti(-client)/tor-hsservice: return None for disabled servicehashcatHitman2025-10-162-9/+5
| | | | | | | | | | | | | | | | | | | | There is no longer a hard error anywhere for trying to launch a service which is disabled in the config. Instead, it always means returning `Ok(None)`. The axum and hyper examples were updated again as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * arti/tor-hsservice: don't warn on autostarthashcatHitman2025-10-162-13/+4
| | | | | | | | | | | | | | The "enabled" config option is back to using a regular `bool`. When unset, it defaults to true, and the service runs as if it had been set. Signed-off-by: hashcatHitman <[email protected]>
| * tor-hsservice: TODO - allow changing "enabled"hashcatHitman2025-10-161-0/+2
| | | | | | | | | | | | | | | | As requested in the review, there's a TODO now so we can come back some day and allow onion services to be started/stopped while the client is running. Signed-off-by: hashcatHitman <[email protected]>
| * arti/tor-hsservice: warn on service autostarthashcatHitman2025-10-162-4/+13
| | | | | | | | | | | | | | The "enabled" config option now uses `tor_config::BoolOrAuto`. When unset (which defaults to "Auto"), the service will run with a warning. Signed-off-by: hashcatHitman <[email protected]>