aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-hsservice: Remove outdated TODO.Gabriela Moldovan2024-09-171-4/+0
| | | | | | As per #1247, we decided to stick with the current name. As for the docs, they were added in !1946
* tor-hsservice: Remove deprecated constructor.Gabriela Moldovan2024-09-171-36/+1
| | | | This has been deprecated since 1.2.6, so let's remove it.
* Merge branch 'bug_1613' into 'main'gabi-2502024-09-121-4/+9
|\ | | | | | | | | | | | | Bug 1613: Add support for inserting externally generated and removing arbitrary service discovery keys Closes #1613 See merge request tpo/core/arti!2396
| * tor-keymgr: add an overwrite flag to KeyMgr::insert()Morgan2024-09-101-4/+9
| |
* | Merge branch 'publisher-svc-status' into 'main'David Goulet2024-09-101-2/+0
|\ \ | |/ |/| | | | | | | | | tor-hsservice: Improve descriptor publisher status reporting Closes #1216 and #1572 See merge request tpo/core/arti!2397
| * tor-hsservice: Remove an outdated TODO.Gabriela Moldovan2024-09-091-2/+0
| | | | | | | | This is already implemented.
* | tor_hsservice use get::<HsIdKey> rather than get::<HsIdKeypair>Adam Joseph F0B74D717CDE8412A3E0D4D5F29AC8080DA8E1E02024-09-091-11/+9
|/ | | | | | | | | | There are three places where we query the KeyMgr for an `HsIdKeypair` but all we really need is the public part. This commit changes those three callsites to instead use `get::<HsIdKey>`. This relies on the previous commit, which makes sure that a request for an `HsIdKey` will always succeed if the keystore has a `HsIdKeypair` with the same service nickname.
* tor-hsservice: Log whether the service is running in restricted discovery mode.Gabriela Moldovan2024-08-131-0/+12
|
* tor-hsservice: Move authorized_clients out of RunningOnionService.Gabriela Moldovan2024-08-131-20/+0
| | | | | | We now create the authorized_clients in the publisher (we don't need the authorized_clients anywhere else, so it makes little sense to keep them in `RunningOnionService`).
* tor-hsservice: Give static_keys precedence over key_dirs (fmt).Gabriela Moldovan2024-08-051-3/+1
|
* tor-hsservice: Do not error if there are more than ↵Gabriela Moldovan2024-08-051-11/+3
| | | | | | MAX_RESTRICTED_DISCOVERY_CLIENTS. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2266#note_3051758
* tor-hsservice: Use the configured authorized clients when encrypting the ↵Gabriela Moldovan2024-08-051-0/+1
| | | | descriptor.
* tor-hsservice: Store the client keys in RunningOnionService.Gabriela Moldovan2024-08-051-0/+31
|
* tor-hsservice: Add OnionServiceBuilder, deprecate OnionService::new.Gabriela Moldovan2024-07-151-1/+30
| | | | 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.
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* tor-hsservice: use shared status_tx to report OnionServiceStatus via ↵Richard Pospesel2024-04-131-6/+0
| | | | RunningOnionService::status_events()
* Run maint/add_warning.Nick Mathewson2024-03-131-0/+1
|
* Fix some rustdoc warnings.Nick Mathewson2024-03-121-4/+4
| | | | | These are mostly about explicitly linking to things that were already in scope.
* Run rustfmtIan Jackson2024-03-051-2/+2
| | | | | This alphabetises the imports, ready for us to do some more manual tidying.
* tor-hsservice: prelude: Move imports from lib.rsIan Jackson2024-03-051-42/+2
|
* tor-hsservice: prelude: Move most imports from ipt_estanblish.rsIan Jackson2024-03-051-0/+2
|
* tor-hsservice: Change: Use tor-async-utils oneshot, not raw one from futuresIan Jackson2024-03-051-1/+1
| | | | This may fix some bug or other.
* tor-hsservice: Move svc.rs contents into lib.rsIan Jackson2024-03-051-2/+712
|
* tor-hsservice: Move IptLocalId into a moduleIan Jackson2024-03-051-96/+2
|
* tor-hsservice: Move publish out of svcIan Jackson2024-03-051-1/+2
|
* tor-hsservice: Move rend_handshake.rs out of svcIan Jackson2024-03-051-0/+1
|
* tor-hsservice: Move ipt_establish.rs out of svcIan Jackson2024-03-051-0/+1
|
* tor-hsservice: Move netdir.rs out of svcIan Jackson2024-03-051-1/+2
|
* deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-0/+1
|
* tor-hsservice: Add an IptError type for status reporting.Gabriela Moldovan2024-02-191-0/+1
| | | | | | | The `OnionServiceStatus` API can now report errors coming from `IptManager`. Part of #1083
* test-temp-dir: New crateIan Jackson2024-01-251-4/+0
| | | | | Introduce the crate, move the code motion, and make minimal necessary changes.
* Merge branch 'state' into 'main'Ian Jackson2024-01-241-7/+0
|\ | | | | | | | | | | | | Move state_dir to tor_persist and start to implement it Closes #1205 See merge request tpo/core/arti!1913
| * state-dir: Move from tor-hsservice to tor-persistIan Jackson2024-01-241-7/+0
| | | | | | | | | | | | | | | | | | | | And, instead of being a hidden module, it's a public experimental one. I have feature-gated all the new dependencies since we probably want to feature-gate this module in perpetuity, since some builds of Arti won't need it. Closes #1205
* | tor-hsservice: Make UploadError public.Gabriela Moldovan2024-01-241-0/+1
|/ | | | | We need it to be public, because we're about to expose it in the `OnionServiceStatus`.
* tor-hsservice: Remove unused state module.Gabriela Moldovan2024-01-181-2/+0
| | | | | The functionality previously provided by the so-called `StateMgr` is now part of `OnionService`, so we can remove state.rs altogether.
* tor-hsservice: Create a separate RunningOnionService type.Gabriela Moldovan2024-01-181-1/+1
| | | | | | | | This will enable us to construct non-launched (but configured) `OnionService`s. We need this, for example, for implementing the `arti hss` CLI command. Part of #1227
* state_dir sketch: Make the module public for doctestsIan Jackson2024-01-121-0/+4
| | | | This will let us make a tested example in the module doc.
* Proposed new state facilityIan Jackson2024-01-121-0/+3
| | | | | | | | | | | | A proposal for #1163. I haven't updated any of the calling code in tor-hsservice yet. I think the way this will be used ought to be fairly obvious from the API. This commit also contains a file of notes about stuff I found in an arti state directory. These may be too random even to put in doc/dev/notes, so for now I've put them next to state_dir.rs.
* tor-hsservice: Add an hss state mgmt APIGabriela Moldovan2023-12-141-0/+2
|
* Merge branch 'persist-macro' into 'main'Ian Jackson2023-12-071-26/+22
|\ | | | | | | | | | | | | Improve KeySpecifier, errors, IptKeySpecifier impl, etc. Closes #1116 and #1148 See merge request tpo/core/arti!1796
| * tor-hsservice: IptLocalId: impl KeySpecifierComponentIan Jackson2023-12-071-0/+3
| |
| * tor-hsservice: IptLocalId: impl FromStr (fmt)Ian Jackson2023-12-071-4/+2
| |
| * tor-hsservice: IptLocalId: impl FromStrIan Jackson2023-12-071-25/+18
| | | | | | | | And implement serde that way, using SerdeStringOrTransparent.
| * tor-hsservice: Expose SerdeStringOrTransparent to crateIan Jackson2023-12-071-1/+3
| | | | | | | | | | And make it useable elsewhere by not expecting the particular error type.
* | Add a status API to OnionService.Nick Mathewson2023-12-071-2/+1
|/ | | | | | (This doesn't yet send any status events.) Begins work on arti#1083.
* tor-hsservice: Introduce IptStoreErrorIan Jackson2023-12-041-0/+2
| | | | | | | | | | If we can't store IPT details, we mustn't publish the corresponding IPT. But that's not fatal; maybe we can store later. So introduce a new IptStoreError type, and change the return value from some functions that are going to be able to fail that way. This introduces a new TODO HSS: we need the publisher to be able to retry after such a failure.
* tor-hsservice tests: Introduce new test_temp_dir helper moduleIan Jackson2023-11-281-0/+4
| | | | | | While debugging IPT persistence I wanted to see what the code was leaving in the storage and keystore directories. This is hard when it's all done with a vanilla tempdir().
* tor-hsservice: IptLocalId: test serde and DisplayIan Jackson2023-11-271-0/+48
|