summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
| * Do not reject INTRO_ESTABLISHED messages with extensionsNick Mathewson2024-01-181-17/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | The spec says that we should ignore unrecognized extensions. Per discussion at torspec#249, this is still correct. Additionally, this commit moves responsibility for checking INTRO_ESTABLISHED messages into IptMsgHandler::handle_msg, to make sure that the circuit is torn down as soon as possible on a bad reply. (There's nothing to check yet, but there will be once we start sending extensions that expect a reply.) Closes #1238.
* | Mark ShutdownStatus as must_useNick Mathewson2024-01-181-0/+1
|/ | | | Followup from !1895.
* Merge branch 'publisher-shut-down' into 'main'Nick Mathewson2024-01-182-7/+13
|\ | | | | | | | | tor-hsservice: The publisher should exit when the IPT manager says so. See merge request tpo/core/arti!1895
| * tor-hsservice: The publisher should exit when the IPT manager says so.Gabriela Moldovan2024-01-182-7/+13
| | | | | | | | | | | | The publisher needs to shut down when `IptPublisherView::sawait_update()` returns `None`, not pause the uploads.
* | Merge branch 'downgrade-todo' into 'main'Nick Mathewson2024-01-181-1/+1
|\ \ | | | | | | | | | | | | | | | | | | tor-hsservice: Reference #1226 instead of #1219 in a TODO. Closes #1219 See merge request tpo/core/arti!1896
| * | tor-hsservice: Reference #1226 instead of #1219 in a TODO.Gabriela Moldovan2024-01-181-1/+1
| |/ | | | | | | | | | | | | | | `note_publication_attempt` can only fail: * due to an internal error, in which case there is no point in retrying * if `PublishIptSet::save` fails, i.e. if we fail to write to persistent storage (this is #1226)
* | tor-hsservice: Store the StateMgr inside OnionServiceState.Gabriela Moldovan2024-01-182-22/+56
| | | | | | | | | | | | This introduces an internal `OnionServiceStateMgr` trait, which enables us to store the `StateMgr` inside the `OnionServiceState` (without having to parameterize `OnionServiceState` on `S: StateMgr`).
* | tor-hsservice: Add a test for OnionService::onion_name.Gabriela Moldovan2024-01-181-0/+31
| |
* | tor-hsservice: Move onion_name() to OnionServiceState.Gabriela Moldovan2024-01-182-56/+61
| | | | | | | | | | | | | | | | Both `OnionService` and `RunningOnionService` have an `onion_name()` function. To reduce code duplication, we can move `onion_name()` to a new `OnionServiceState` struct (which will grow more state management functions int he future), and make both `*OnionService` structs deref to it.
* | tor-hsservice: Add RunningOnionService::onion_name.Gabriela Moldovan2024-01-181-7/+42
| |
* | tor-hsservice: Add a couple of TODOs for #1247.Gabriela Moldovan2024-01-181-0/+2
| |
* | tor-hsservice: Do not store the StateMgr in OnionService.Gabriela Moldovan2024-01-181-7/+3
| | | | | | | | | | | | | | The `StateMgr` is currently only needed in `launch()`, so we don't really need to store it. This allows us to unparameterize OnionService.
* | tor-hsservice: Remove a couple of resolved TODOs.Gabriela Moldovan2024-01-181-3/+0
| |
* | tor-hsservice: Remove unused state module.Gabriela Moldovan2024-01-182-50/+0
| | | | | | | | | | The functionality previously provided by the so-called `StateMgr` is now part of `OnionService`, so we can remove state.rs altogether.
* | tor-hsservice: Move onion_name() to OnionService.Gabriela Moldovan2024-01-181-0/+12
| | | | | | | | | | | | | | This a modified version of `tor_hsservice::state::StateMgr::onion_name`. `tor_hsservice::state::StateMgr` will soon be abolished. Part of #1220, #1227
* | tor-hsservice: Create a separate RunningOnionService type.Gabriela Moldovan2024-01-183-25/+75
| | | | | | | | | | | | | | | | 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
* | tor-hsservice: Rename stop() to pause().Gabriela Moldovan2024-01-181-1/+1
|/ | | | Part of #1227
* Merge branch 'is_ipt_failure' into 'main'Nick Mathewson2024-01-171-3/+39
|\ | | | | | | | | | | | | Implement is_ipt_failure better. Closes #1234 See merge request tpo/core/arti!1889
| * Add a note about torspec#249.Nick Mathewson2024-01-171-1/+4
| |
| * Implement is_ipt_failure better.Nick Mathewson2024-01-171-2/+35
| | | | | | | | | | Additionally, explain its behavior better, since we cannot always identify an Ipt failure with certainty.
* | hsservice: Document circ lifetime in OpenSession.Nick Mathewson2024-01-172-5/+9
| | | | | | | | | | Closes #1224, by making it more clear that we aren't keeping a circuit alive indefinitely.
* | ipt_mgr: Remove todo-#1211Nick Mathewson2024-01-161-12/+7
|/ | | | | | All appropriate checks here should be in `is_hs_intro_point()`. Closes #1211.
* Typo fixesgabi-2502024-01-151-2/+2
|
* Downgrade a TODO about dropping unlisted ipts to #1239Nick Mathewson2024-01-131-1/+1
|
* hsservice: Replace TODO comment about intro_established checking with #1238.Nick Mathewson2024-01-131-1/+1
|
* Rename IptEstablisher::{new => launch}Nick Mathewson2024-01-132-3/+2
|
* hsservice: Turn TODOs about ipt_establisher error handling to #1237Nick Mathewson2024-01-131-6/+6
|
* hsservice: Remove TODO HSS about a type that is already Arc.Nick Mathewson2024-01-131-2/+0
|
* hsservice: Replace shutdown-TODO HSS with references to #1236Nick Mathewson2024-01-131-2/+2
|
* Downgrade a TODO about wanting a better API.Nick Mathewson2024-01-131-1/+1
|
* hsservice: Remove an erroneous TODONick Mathewson2024-01-131-1/+1
| | | | | k_sid was not redundant with RequestContext: the latter only held the public key, but the reactor here needed the entire keypair.
* hsservice: Convert TODOs about ipt reconfiguration to refer to #1209.Nick Mathewson2024-01-131-2/+2
| | | | | (I've expanded #1209 to give us the option to either _implement_ these transitions, or _forbid_ them. We shouldn't just ignore them, though.)
* hsservice: Convert TODOs about documentation to refer to #1235.Nick Mathewson2024-01-131-3/+3
|
* hsservice: Remove an outdated TODO: Ipt ids are indeed unique.Nick Mathewson2024-01-131-3/+0
|
* hsservice: Remove now-needless "allows".Nick Mathewson2024-01-131-1/+0
|
* hsservice: Remove the unused n_faults fieldNick Mathewson2024-01-132-11/+0
| | | | (We can revert this later if it turns out to be needed.)
* hsservice: Turn a TODO into #1234.Nick Mathewson2024-01-131-1/+1
| | | | This is a MUST.
* hsservice: Resolve some TODO HSS items in IptParameters declarationNick Mathewson2024-01-131-5/+37
| | | | | Mostly, this is just adding documentation, but it is also removing a couple of no-longer-relevant TODOs.
* Add a couple more TODO references (to #1227)gabi-2502024-01-131-2/+2
|
* Remove a TODO HSS about introduce rate-limiting.Nick Mathewson2024-01-121-2/+0
| | | | This misunderstands the way that introduce rate-limiting works.
* Remove a TODO HSS that is not a TODO, just a noteNick Mathewson2024-01-121-1/+1
|
* Convert a TODO HSS about write failure into a ref to #1226Nick Mathewson2024-01-121-1/+1
|
* Convert a TODO HSS about handling replays into a (subtle) #1233Nick Mathewson2024-01-121-1/+7
|
* hsservice::svc: Lower "allows" to publish.rsNick Mathewson2024-01-124-6/+7
| | | | See #1232 for fixing the remaining part of these.
* Replace TODOs about stopping onion services with #1231.Nick Mathewson2024-01-121-2/+2
|
* Remove TODO about "doing something with" rend_req_rxNick Mathewson2024-01-121-3/+1
| | | | Turns out, we _do_ use this field.
* Change TODO about inconsistent state to #1230.Nick Mathewson2024-01-121-1/+1
|
* Link another status TODO to #1083Nick Mathewson2024-01-121-1/+1
|
* Note a reconfiguration TODO.Nick Mathewson2024-01-121-1/+1
|
* hsservice: comment out unimplemented add_keys function.Nick Mathewson2024-01-121-7/+6
|