summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
* Bump versions for tor- and arti- crates to 0.21.0Nick Mathewson2024-08-011-26/+26
| | | | | | | | | | This is the result of: ``` for crate in $( ./maint/list_crates |grep '^\(tor\|arti-\)' ); do cargo set-version -p $crate 0.21.0 done ```
* tor-hsservice: Add OnionServiceBuilder, deprecate OnionService::new.Gabriela Moldovan2024-07-152-1/+36
| | | | Closes #1490
* tor-hsservice: Abolish OnionServiceState (fmt).Gabriela Moldovan2024-07-151-24/+27
| | | | Includes both `cargo fmt` and some manual code motion.
* tor-hsservice: Abolish OnionServiceState.Gabriela Moldovan2024-07-151-38/+21
| | | | | | | | | | | | | | | This removes a mostly-unnecessary struct holding the state of an `OnionService` or `RunningOnionService`. It only exists because I wanted to reduce the duplication of the `OnionService` and `RunningOnionService` fields. I am removing it because `OnionService` will soon become a builder, and this inner structure is making it difficult to create an ergonomic builder API (if we keep `OnionServiceState`, the builder fields won't map 1:1 to the fields of the build `OnionService` type). Note: this commit intentionally a bit misformatted to make reviewing easier. The reformatting will come in a future commit.
* tor-hsservice: Remove unnecessary let-binding.Gabriela Moldovan2024-07-091-1/+2
|
* tor-hsservice: Specify the type when discarding value.Gabriela Moldovan2024-07-092-3/+3
| | | | | | | This should give us some confidence that we are not accidentally discarding results we should actually be using. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2251#note_3046219
* tor-hsservice: Resolve dead code warnings in publisher tests.Gabriela Moldovan2024-07-091-11/+7
|
* tor-hsservice: Ignore uninteresting netdir events in the publisher.Gabriela Moldovan2024-07-091-1/+12
| | | | This also makes the publisher exit if the netdir event stream ends.
* tor-hsservice: Resolve warning about unused response variable.Gabriela Moldovan2024-07-091-1/+1
| | | | | | | | | It is OK to discard the response string (the response is validated below where we call `DirResponse::into_output_string()`). (Perhaps we should just make `DirResponse::check_ok()` public. That way, we could validate the response without having to handle its output string).
* tor-hsservice: Resolve a handful of unused variable warnings.Gabriela Moldovan2024-07-092-4/+4
|
* tor-hsservice: Remove unused field from TimePeriodContext.Gabriela Moldovan2024-07-091-3/+0
|
* tor-hsservice: Remove unused variables.Gabriela Moldovan2024-07-092-14/+0
|
* tor-hsservice: Remove unnecessary locking.Gabriela Moldovan2024-07-091-2/+0
|
* tor-hsservice: Remove unused code (fmt).Gabriela Moldovan2024-07-091-1/+1
|
* tor-hsservice: Remove unused code.Gabriela Moldovan2024-07-094-188/+1
| | | | This is being reimplemented as #1292
* tor-hsservice: Remove unused publisher functions.Gabriela Moldovan2024-07-092-13/+0
| | | | | | | This removes a couple of unimplemented functions. These were supposed to be the starting point for #1217, but we won't be implementing that any time soon.
* tor-hsservice: Remove unnecessary allow.Gabriela Moldovan2024-07-091-1/+0
| | | | Note: #1217 is still open and we may want to implement it at some point.
* Merge branch 'deftly' into 'main'Ian Jackson2024-07-081-1/+1
|\ | | | | | | | | Update to derive-deftly 0.14 See merge request tpo/core/arti!2241
| * Update to derive-deftly 0.14Ian Jackson2024-07-081-1/+1
| | | | | | | | | | This removes the deprecated syntaxes. Updating now will prevent us re-introducing the old syntaxes, which we updated in arti!2209.
* | Work around clippy::doc_lazy_continuation false positivesIan Jackson2024-07-081-4/+4
|/ | | | | | | See https://github.com/rust-lang/rust-clippy/issues/13001 I think it's OK to change this in our tree, nevertheless.
* Update versions of 0.x tor-* and arti-* cratesIan Jackson2024-06-271-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nailing-cargo -uE set-version -p arti-client 0.20.0 nailing-cargo -uE set-version -p arti-relay 0.20.0 nailing-cargo -uE set-version -p arti-rpcserver 0.20.0 nailing-cargo -uE set-version -p tor-async-utils 0.20.0 nailing-cargo -uE set-version -p tor-basic-utils 0.20.0 nailing-cargo -uE set-version -p tor-bytes 0.20.0 nailing-cargo -uE set-version -p tor-cell 0.20.0 nailing-cargo -uE set-version -p tor-cert 0.20.0 nailing-cargo -uE set-version -p tor-chanmgr 0.20.0 nailing-cargo -uE set-version -p tor-checkable 0.20.0 nailing-cargo -uE set-version -p tor-circmgr 0.20.0 nailing-cargo -uE set-version -p tor-config 0.20.0 nailing-cargo -uE set-version -p tor-consdiff 0.20.0 nailing-cargo -uE set-version -p tor-dirclient 0.20.0 nailing-cargo -uE set-version -p tor-dirmgr 0.20.0 nailing-cargo -uE set-version -p tor-error 0.20.0 nailing-cargo -uE set-version -p tor-geoip 0.20.0 nailing-cargo -uE set-version -p tor-guardmgr 0.20.0 nailing-cargo -uE set-version -p tor-hsclient 0.20.0 nailing-cargo -uE set-version -p tor-hscrypto 0.20.0 nailing-cargo -uE set-version -p tor-hsrproxy 0.20.0 nailing-cargo -uE set-version -p tor-hsservice 0.20.0 nailing-cargo -uE set-version -p tor-keymgr 0.20.0 nailing-cargo -uE set-version -p tor-linkspec 0.20.0 nailing-cargo -uE set-version -p tor-llcrypto 0.20.0 nailing-cargo -uE set-version -p tor-log-ratelim 0.20.0 nailing-cargo -uE set-version -p tor-memquota 0.20.0 nailing-cargo -uE set-version -p tor-netdir 0.20.0 nailing-cargo -uE set-version -p tor-netdoc 0.20.0 nailing-cargo -uE set-version -p tor-persist 0.20.0 nailing-cargo -uE set-version -p tor-proto 0.20.0 nailing-cargo -uE set-version -p tor-protover 0.20.0 nailing-cargo -uE set-version -p tor-ptmgr 0.20.0 nailing-cargo -uE set-version -p tor-relay-selection 0.20.0 nailing-cargo -uE set-version -p tor-rpcbase 0.20.0 nailing-cargo -uE set-version -p tor-rtcompat 0.20.0 nailing-cargo -uE set-version -p tor-rtmock 0.20.0 nailing-cargo -uE set-version -p tor-socksproto 0.20.0 nailing-cargo -uE set-version -p tor-units 0.20.0 Each of which runs a rune like cargo set-version --offline -p tor-units 0.20.0
* Update to itertools 0.13.0Ian Jackson2024-06-251-1/+1
| | | | | | | No code changes needed. Precisely nailing-cargo -Eu upgrade --incompatible -p itertools
* Require strum 0.26.3Ian Jackson2024-06-251-1/+1
| | | | | | | | | | | | We're about to update to iterools 0.13.0. We must therefore have a version of strum which is not affected by https://github.com/Peternator7/strum/issues/358 Precisely git-grep -l '^strum' | xargs perl -i~ -pe 's{"0\.26"}{"0.26.3"}' No changes to lockfile - we're already using 0.26.3, except perhaps in the minimal versions test.
* Update to derive-deftly 0.13.0Ian Jackson2024-06-251-1/+1
| | | | | | | No code changes needed. Precisely nailing-cargo -Eu upgrade --incompatible -p derive-deftly
* Change deftly syntax to post 0.12.1 versionIan Jackson2024-06-173-6/+6
| | | | | | | | | | | * Change `pub` to `export` * Change the `=` in define to `:` * Change `pub_template_semver_check` to `template_export_semver_check` Right now, 0.12.1 supports both syntaxes. I have verified this branch also compiles with https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/merge_requests/402 ee171ffaf56d7dcb7d75584054921153fe19b222
* Update to derive-deftly 0.12.1Ian Jackson2024-06-172-5/+5
| | | | | | * Bump in Cargo.toml * Deal with `${Xmeta as ...}` incompatible change, by always specifying an `as`, and changing `as tokens`.
* Bump all the unstable tor- and arti- crates to 0.19.Gabriela Moldovan2024-06-051-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unstable crates are: - tor-error - tor-config - tor-units - tor-geoip - tor-rtcompat - tor-rtmock - tor-log-ratelim - tor-rpcbase - tor-memquota - tor-llcrypto - tor-protover - tor-bytes - tor-hscrypto - tor-socksproto - tor-checkable - tor-cert - tor-linkspec - tor-cell - tor-proto - tor-netdoc - tor-consdiff - tor-netdir - tor-relay-selection - tor-persist - tor-chanmgr - tor-ptmgr - tor-guardmgr - tor-circmgr - tor-dirclient - tor-dirmgr - tor-keymgr - tor-hsclient - tor-hsservice - tor-hsrproxy - arti-client - arti-rpcserver - arti-hyper - tor-basic-utils - tor-async-utils Done using ``` for p in "${unstable[@]}"; do cargo set-version -p $p 0.19; done ``` where `unstable` contains the list above
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* Bump versions of 0.x tor-* and arti-* cratesIan Jackson2024-04-301-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for p in `cat ../u`; do cargo set-version --locked --offline -p $p; done where u contains tor-basic-utils tor-async-utils tor-error tor-config tor-units tor-geoip tor-rtcompat tor-rtmock tor-log-ratelim tor-rpcbase tor-memquota tor-llcrypto tor-protover tor-bytes tor-hscrypto tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-hyper
* tor-hsservice: use shared status_tx to report OnionServiceStatus via ↵Richard Pospesel2024-04-131-6/+0
| | | | RunningOnionService::status_events()
* Upgrade derive-deftly requirement to 0.10.3Nick Mathewson2024-04-111-1/+1
| | | | We're taking this for the fix to derive-deftly#52.
* Merge branch 'deftly' into 'main'Ian Jackson2024-04-037-72/+72
|\ | | | | | | | | Switch to derive-deftly See merge request tpo/core/arti!2066
| * derive-deftly: Change some docs referencesIan Jackson2024-04-033-4/+4
| | | | | | | | Found by "git grep adhoc" and manual inspection.
| * Apply import alphabetisation churnIan Jackson2024-04-031-1/+1
| |
| * Switch to derive-deftlyIan Jackson2024-04-037-68/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the combination of a number of separate commits, many of which were generated by seddery, and then rebased and squashed. Cargo.toml perl -i~ -pe 's{^derive-adhoc}{derive-deftly = "0.10"}' crates/*/Cargo.toml (not regenerated during rebase) update Cargo.lock `cargo fetch` without --locked (regenerated during rebase) seddery git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{^use derive_adhoc}{use derive_deftly}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bdefine_derive_adhoc\b}{define_derive_deftly}g' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bAdhoc\b}{Deftly}g if m{derive}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\#\[derive_adhoc\b}{#[derive_deftly}g' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{use derive_adhoc}{use derive_deftly}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc\b}{derive_deftly_adhoc} if m{use.*deftly}' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc!}{derive_deftly_adhoc!}' (not regenerated during rebase) Manually add `#[derive_deftly_adhoc]` where needed. seddery git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\#\[adhoc\b}{#[deftly}g' git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc_template}{derive_deftly_template}' (not regenerated during rebase) Manually fix up an import Manually update some builder attrs Manually fix up tor_rtmock::time_core This was missed in my seddery, due to me rebasing the branch and not redoing the seddery.
* | Merge branch 'finish-backoff-refactor' into 'main'Nick Mathewson2024-04-022-31/+126
|\ \ | | | | | | | | | | | | | | | | | | tor-hsservice: Use single_attempt_timeout in backoff Runner impl. Closes #1259 See merge request tpo/core/arti!2064
| * | tor-hsservice: Move optional timeout to optionally_timeout().Gabriela Moldovan2024-04-021-7/+32
| | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2064#note_3014793
| * | tor-hsservice: s/timeout/overall_timeout for clarity.Gabriela Moldovan2024-04-021-2/+2
| | |
| * | tor-hsservice: Add a test for the backoff runner's single_attempt_timeout().Gabriela Moldovan2024-04-021-0/+51
| | |
| * | tor-hsservice: Use single_attempt_timeout in backoff Runner impl (fmt).Gabriela Moldovan2024-04-021-10/+10
| | |
| * | tor-hsservice: Use single_attempt_timeout in backoff Runner impl.Gabriela Moldovan2024-04-022-19/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | !2024 introduced `BackoffSchedule::single_attempt_timeout()`, partially implementing #1259. This completes the implementation by moving the per-iteration timeout from the publisher reactor to `backoff::Runner`. Addresses https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2024?commit_id=a4f2bf5cb7d4027a49b74ec5a5298f7b9a3cf62e#note_3005097 Note: the `if should_retry` block is intentionally misindented, to make reviewing the actual changes easier. A future commit will fix the indentation. I originally wanted to suggest reviewing this commit using `--ignore-space-change`, but I found that it makes things a bit confusing (it shows some funky indentation around the parts that have both whitespace changes and modifications). Closes #1259
* | | remove unused dependenciestrinity-1686a2024-04-021-6/+0
| | | | | | | | | | | | Edited-by: Nick Mathewson <[email protected]>
* | | Remove semver.md files from arti-1.2.1 releaseNick Mathewson2024-04-021-1/+0
| |/ |/|
* | Update unstable `tor/arti-*` crates to 0.17.0.Nick Mathewson2024-04-021-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done with: ``` CRATES=" tor-basic-utils tor-async-utils tor-error tor-config tor-events tor-units tor-geoip tor-rtcompat tor-rtmock tor-log-ratelim tor-rpcbase tor-llcrypto tor-protover tor-bytes tor-hscrypto tor-hspow tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-congestion tor-persist tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-config arti-hyper arti-bench arti-testing " for crate in $CRATES; do cargo set-version -p "$crate" 0.17.0 done ```
* | Bump patchlevel versions on non-{tor/arti} crates.Nick Mathewson2024-04-021-4/+4
|/ | | | | | | | | | | | | | | | These have all had backward-compatible changes. Generated with: ``` cargo set-version --bump patch -p fs-mistrust cargo set-version --bump patch -p test-temp-dir cargo set-version --bump patch -p fslock-guard cargo set-version --bump patch -p hashx cargo set-version --bump patch -p equix cargo set-version --bump patch -p caret cargo set-version --bump patch -p safelog cargo set-version --bump patch -p retry-error ```
* Run "fixup-features" in preparation for next release.Nick Mathewson2024-03-281-1/+1
|
* hss: Make the limit for streams configurable.Nick Mathewson2024-03-264-13/+29
| | | | Closes #1124.
* Add an IncomingStreamRequestFilter to check early propertiesNick Mathewson2024-03-261-5/+31
| | | | | | | Based on designs in #1124. Note that there is a TODO here about a hack I had to do to appease the borrow checker.
* Refactor the logic for constructing crypt layers.Nick Mathewson2024-03-261-5/+0
| | | | | | | | | | | The key insights here are: - That relay cell format and crypto protocols aren't orthogonal: Once we have GCO, it will require V1. - That we only need the actual functions for layer construction to be generic; we don't need to proliferate generic parameters everywhere. - That the circuit::handshake module already does most of what we want.
* Propagate RelayCellFormat selection up to where format decisions will be madeJim Newsome2024-03-201-0/+5
|