summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* tor-hsservice: IptLocalId: bespoke serde implIan Jackson2023-11-271-2/+29
| | | | | This avoids writing "[42,\n 43,\n ...]" into the storage json, which is (a) wasteful (b) hard to read by hand.
* tor-hsservice: IptLocalId: impl DisplayIan Jackson2023-11-271-0/+11
| | | | This will help us construct ArtiPaths
* tor-hsservice: IptLocalId: provide dummy (test) constructorIan Jackson2023-11-271-0/+10
|
* HSS errors: expose and sort out NetdirProviderShutdown error typeIan Jackson2023-11-201-0/+1
| | | | | | We're going have it in an variant in FatalError. Also make it impl HasKind and have IptError delegate to that.
* Merge branch 'time-store' into 'main'Ian Jackson2023-11-021-0/+5
|\ | | | | | | | | Provide module for handling storage of times on disk See merge request tpo/core/arti!1723
| * tor-hsservice: New time_store moduleIan Jackson2023-11-011-0/+5
| | | | | | | | | | | | | | | | | | I found time handling in IPT persistence very confusing to think about, so I propose to deal with all of the hard questions in a module. Again we have a doctest so use the technique we used for having timeout_track not be semver-exposed.
* | hss: Add functionality for a persistent replay log.Nick Mathewson2023-11-021-0/+1
|/ | | | See comments for design notes.
* tor-hsservice: Define key specifiers using the new helper macro.Gabriela Moldovan2023-10-301-1/+4
| | | | Closes #1069
* tor-keymgr: Move the KeyDenotator trait to tor-keymgr (fmt).Gabriela Moldovan2023-10-301-3/+1
|
* tor-keymgr: Move the KeyDenotator trait to tor-keymgr.Gabriela Moldovan2023-10-301-1/+1
| | | | | The trait is no longer sealed because users should be allowed to define their own key denotators.
* tor-hsservice: Rename KeyMetadata to KeyDenotator.Gabriela Moldovan2023-10-191-1/+1
|
* tor-hsservice: Hoist the key metadata out of HsSvcKeyRole (fmt).Gabriela Moldovan2023-10-191-1/+3
|
* tor-hsservice: Hoist the key metadata out of HsSvcKeyRole.Gabriela Moldovan2023-10-191-1/+1
| | | | | We will need the string rerpresentation (minus the TimePeriod or any other metadata) of `HsSvcKeyRole`s for building `KeyPathPattern`s.
* tor-hsservice: timeout track: Add an example doctestIan Jackson2023-10-161-0/+14
|
* tor-hsservice: Narrow some dead code allowsIan Jackson2023-10-161-2/+0
|
* tor-hsservice: Better debug impl for IptLocalIdIan Jackson2023-10-161-1/+5
|
* hss: Remove OnionServiceDataStram type.Nick Mathewson2023-09-271-1/+1
| | | | | | | I think that the reason we added this was in case we needed different behavior from DataStream; but on reflection it does seem that we don't. Having a single type here will make things a bit simpler.