aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-hsservice: Auto-generate the keys needed for building the descriptor, if ↵Gabriela Moldovan2023-10-191-9/+33
| | | | | | | | | | | | | | | | | | | | | necessary. This auto-generates the blinded identity key and the descriptor signing key (if they are missing).
| * | tor-hsservice: Remove outdated TODO.Gabriela Moldovan2023-10-191-2/+0
| |/ | | | | | | We're already fetching the descriptor signing key from the keystore.
* | tor-hsservice: Fix hsid being logged inappropriately.Gabriela Moldovan2023-10-191-1/+1
| | | | | | | | | | | | The condition for logging the "generated a new identity.." message was wrong (`generate_with_derive()` returns `Some(())` if it generated a new key, and `None` if the key was already present).
* | tor-hsservice: Log newly generated HsIds.Gabriela Moldovan2023-10-191-2/+16
|/
* tor-hsservice: Print error sources for descriptor upload errorsIan Jackson2023-10-191-1/+3
|
* tor-hsservice: Fix downcastIan Jackson2023-10-191-1/+1
| | | | | | | Downcasting is tricksy. We need to try the downcast on a type-erased &IptEstablisher, not &Box<dyn Any>, and if we don't dereference nothing tells us it's wrong since &Box<dyn Any> also implements and we end up with &Box<dyn Any> as &dyn Any.
* tor-hsservice: Add a TODO for logging HS statusIan Jackson2023-10-191-0/+6
|
* tor-hsservice: Adjust log level of IPT relay choice failureIan Jackson2023-10-191-6/+15
| | | | | | If it's due to lack of useable netdir, that's normal during startup, so don't log it. Hopefully something else somewhere will log if a consensus can't be obtained.
* tor-hsservice: Bump log level of main termination messageIan Jackson2023-10-191-2/+2
|
* tor-hsservice: impl HasKind for ChooseIptErrorIan Jackson2023-10-191-1/+14
| | | | We want to pass one of these to info_report!, which demands HasKind.
* tor-hsservice: Declare an IPT that fails during Establishing to be FaultyIan Jackson2023-10-191-1/+5
| | | | If we don't do this then the manager won't ever select a replacement.
* tor-hsservice: Do not claim a completely broken IPT wants to retireIan Jackson2023-10-191-1/+6
|
* HSS: Add many must_use annotationsIan Jackson2023-10-191-0/+1
|
* Merge branch 'hs-fixes-2' into 'main'Alexander Færøy2023-10-191-21/+30
|\ | | | | | | | | tor-hsservice: ipt_mgr: Track notional estab started for faulty IPTs See merge request tpo/core/arti!1686
| * tor-hsservice: ipt_mgr: Track notional estab started for faulty IPTs (fmt)Ian Jackson2023-10-181-8/+10
| |
| * tor-hsservice: ipt_mgr: Track notional estab started for faulty IPTsIan Jackson2023-10-181-12/+19
| | | | | | | | An IPT can go from Faulty to Good.
| * tor-hsservice: ipt_mgr: Prepare for TS::Faulty to contain dataIan Jackson2023-10-181-4/+4
| |
* | ipt_establish: Try to make note_open work.Nick Mathewson2023-10-191-6/+28
| |
* | tor-hsservice: Fix cargo doc warnings.Gabriela Moldovan2023-10-191-3/+3
| |
* | tor-hsservice: Rename KeyMetadata to KeyDenotator (fmt).Gabriela Moldovan2023-10-191-1/+2
| |
* | tor-hsservice: Rename KeyMetadata to KeyDenotator.Gabriela Moldovan2023-10-195-40/+43
| |
* | tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError (fmt).Gabriela Moldovan2023-10-191-1/+1
| |
* | tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError.Gabriela Moldovan2023-10-191-5/+6
| |
* | tor-keymgr: Remove From<ArtiPathError> impl for KeyPathError.Gabriela Moldovan2023-10-191-4/+6
| |
* | tor-hsservice: Add some TODOs about error handling.Gabriela Moldovan2023-10-192-0/+10
| |
* | tor-hsservice: Add TODO about putting keymgr in the immutable state.Gabriela Moldovan2023-10-191-0/+1
| |
* | tor-hsservice: Add TODO about ArtiPath underscore ambiguity.Gabriela Moldovan2023-10-191-0/+2
| |
* | tor-hsservice: Replace placeholder subcredentials with values from the keystore.Gabriela Moldovan2023-10-192-9/+101
| |
* | tor-hsservice: Add HsSvcKeySpecifier::arti_pattern helper.Gabriela Moldovan2023-10-191-1/+9
| |
* | tor-hsservice: Include the TP offset in the key metadata (fmt).Gabriela Moldovan2023-10-191-1/+6
| |
* | tor-hsservice: Include the TP offset in the key metadata.Gabriela Moldovan2023-10-191-2/+2
| | | | | | | | | | The offset is needed because we want to be able to convert this metadata back to `TimePeriod`.
* | tor-hsservice: Pass the service nickname to IptEstablisher.Gabriela Moldovan2023-10-191-1/+7
| |
* | tor-hsservice: Pass the service nickname to IptEstablisher (fmt).Gabriela Moldovan2023-10-192-1/+3
| | | | | | | | The nickname is needed for retrieving keys from the keystore.
* | tor-hsservice: Give IptManager a KeyMgr.Gabriela Moldovan2023-10-193-4/+73
| |
* | tor-hsservice: Hoist the key metadata out of HsSvcKeyRole (fmt).Gabriela Moldovan2023-10-194-12/+24
| |
* | tor-hsservice: Hoist the key metadata out of HsSvcKeyRole.Gabriela Moldovan2023-10-196-85/+180
| | | | | | | | | | We will need the string rerpresentation (minus the TimePeriod or any other metadata) of `HsSvcKeyRole`s for building `KeyPathPattern`s.
* | tor-keymgr: Use ArtiPathError for invalid ArtiPaths.Gabriela Moldovan2023-10-191-3/+7
| |
* | Merge branch 'terminate_pending_stream' into 'main'gabi-2502023-10-181-1/+1
|\ \ | |/ |/| | | | | proto: Make StreamTarget::close() misuse less likely. See merge request tpo/core/arti!1678
| * proto: Make StreamTarget::close() misuse less likely.Nick Mathewson2023-10-171-1/+1
| | | | | | | | | | | | | | | | | | It turns out that we can make `IncomingStream::reject()` consume self, thus making it impossible to hit the double-close error from outside the `tor-proto` crate. Also, we rename `StreamTarget::close()` to `close_pending()` to better reflect its limited applicability.
* | dirclient: Seal the Requestable trait and hide most of its members.Nick Mathewson2023-10-171-2/+2
|/ | | | | | | | Since none of these methods were invoked from outside `tor-dirclient` (except for debugging), and since we have had a fair amount of churn on what we actually want them to be, it seems like a good idea to use this trick to hide them. This will let us make other changes to the actual behavior of Requestable in the future.
* tor-hsservice: timeout track: Worsify formattingIan Jackson2023-10-161-4/+6
| | | | | | | | Simply running `rustfmt` makes a mess. This new formatting is less nice but repo policy requires that the layout is a fixed point under rustfmt and this is the least bad fixed point I found.
* tor-hsservice: timeout track: Add some discussionIan Jackson2023-10-161-4/+36
|
* tor-hsservice: timeout track: Add an example doctestIan Jackson2023-10-162-0/+74
|
* tor-hsservice: timeout track: Add a rustdoc allowIan Jackson2023-10-161-0/+4
| | | | Suppresses some erroneous warnings.
* tor-hsservice: timeout_track: Add a TODO re explanationsIan Jackson2023-10-161-0/+3
|
* tor-hsservice: ipt_mgr: Tolerate complexity warning for nowIan Jackson2023-10-161-0/+1
| | | | And add a TODO HSS for improving it.
* tor-hsservice: Apply mandatory code formatting worseningIan Jackson2023-10-162-21/+49
|
* tor-hsservice: timeout_track: tests: Introduce secs() aliasIan Jackson2023-10-161-11/+14
| | | | I wish we could `use Duration::from_secs as secs`.
* tor-hsservice: ipt_mgr: Add a test caseIan Jackson2023-10-161-0/+169
| | | | | This doesn't test all the code paths, but it does test the main path of execution (and detected a couple of bugs).
* tor-hsservice: ipt_mgr: Adjust API for mock RNGIan Jackson2023-10-161-4/+4
| | | | | We're want to be able to return a mutable borrow of a field in the mock state. This means we must make `Rng` a GAT.