summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src
Commit message (Collapse)AuthorAgeFilesLines
* tor-hsservice: Remove an unused mut in a testIan Jackson2023-10-311-3/+3
| | | | | | I think retaining this lint even in tests is probably reasonable. IptsPublisherView has interior mutability, so with this function taking one, it won't ever need mut.
* Merge branch 'timeout' into 'main'Ian Jackson2023-10-301-25/+83
|\ | | | | | | | | timeout_track improvements See merge request tpo/core/arti!1711
| * Fix typo in doc commentgabi-2502023-10-301-1/+1
| |
| * tor-hsservice: timeout_track: Test `update` functionsIan Jackson2023-10-301-2/+30
| |
| * tor-hsservice: timeout_track: Provide `update` via a traitIan Jackson2023-10-301-25/+53
| | | | | | | | | | | | | | | | We have a profusion of similar methods with similar names and similar documentation. Centralising the documentation in a trait is helpful. This also means that callers can just naturally call `.update` rather than needing to spell out `.update_abs` vs `.update_rel` etc.
| * tor-hsservice: timeout_track: Clarify edge casesIan Jackson2023-10-301-2/+4
| | | | | | | | | | Clarify this in the update functions, and in the general discussion. We don't want zero timeouts.
* | tor-netdoc: Use the new HandshakeType enum to represent CREATE2 HTYPEs.Gabriela Moldovan2023-10-301-1/+2
|/ | | | | | | | | | | Representing the supported HTYPEs as `HandshakeType`s instead of `u32`s makes it more difficult to pass in wrong/invalid values to `HsDescBuilder::create2_formats`. This also fixes a descriptor publisher bug spotted by @jnewsome, where the advertised CREATE2 HTYPEs included HTYPE `1`, which is actually supposed to be a reserved value. The publisher now only advertises the `NTOR` HTYPE (just like C Tor).
* tor-netdoc: Change return type of create_desc_sign_key_cert.Gabriela Moldovan2023-10-251-2/+5
| | | | | | `Bug` wasn't necessarily the right error type here. Plus, with the new error type adding new errors (i.e. `CertEncodeError` variants), is not a breaking change.
* tor-netdoc: Building a descriptor now only requires the public part of ↵Gabriela Moldovan2023-10-251-1/+1
| | | | blinded_id.
* tor-netdoc: Update HsDesc, HsDescOuter to accept the hs_desc_sign cert as an ↵Gabriela Moldovan2023-10-251-3/+9
| | | | | | | | | | argument. This will enable us to (eventually) the load the descriptor signing key cert from the keystore (as opposed to always recomputing it when building the `HsDesc`). Part of #1048
* hss: remove some more now-moot "allows".Nick Mathewson2023-10-242-4/+0
|
* hss::svc::publish: Remove a no-longer-needed TODO HSS.Nick Mathewson2023-10-241-3/+0
|
* hss::svc::publish: Resolve previously suppressed warnings.Nick Mathewson2023-10-243-13/+8
|
* hss::svc::ipt_establish: Include nickname in messages.Nick Mathewson2023-10-241-2/+4
|
* hss::svc::ipt_establish: Resolve suppressed warnings.Nick Mathewson2023-10-242-16/+12
|
* hsserive::req: Yes, leave these functions as async and fallible.Nick Mathewson2023-10-241-8/+5
| | | | | | | | | | | Enough of them have turned out to need to be async so far that I don't think it's a great idea to commit to making any of them not-async forever. Additionally, we've written the code that uses these, and having them be async didn't seem to cause any major trouble. By the same "we may want to make these more complicated underneath" argument, we should IMO leave them as fallible.
* hsserive::req: Lower/remove allowed warningsNick Mathewson2023-10-241-2/+1
|
* hss: Remove an unused type.Nick Mathewson2023-10-241-7/+0
|
* tor-hsservice: Look up the keypair, not the public key.Gabriela Moldovan2023-10-241-5/+5
| | | | | This particular public key is not stored in the keystore (though maybe it should be).
* tor-keymgr: Fix broken glob pattern.Gabriela Moldovan2023-10-241-1/+1
| | | | | | The pattern was only supposed to match the 3 components of the time period, separated by `_`, but not the leading `_`, which separates the key name from its denotators.
* tor-hsservice: Make publisher trace! logs less noisy.Gabriela Moldovan2023-10-241-5/+8
| | | | | | We don't need to be logging the entire descriptor for each upload attempt (logging descriptors immediately after they are generated should be sufficient).
* tor-hsservice: Fix misleading trace! log.Gabriela Moldovan2023-10-241-2/+3
| | | | | | The message is supposed to print how many HSDirs the descriptor was uploaded to (previously it was showing the `<success_count>/<failure_count>` which is pretty unintuitive).
* tor-hsservice: Consistently use structured fields to log the nickname/HSDir.Gabriela Moldovan2023-10-241-2/+2
|
* tor-hsservice: Add another debug! for the publisher.Gabriela Moldovan2023-10-241-1/+8
|
* Merge branch 'rustdoc_link_fix' into 'main'Ian Jackson2023-10-231-1/+1
|\ | | | | | | | | Fix rustdoc link warnings/errors. See merge request tpo/core/arti!1690
| * Fix rustdoc link warnings/errors.Nick Mathewson2023-10-201-1/+1
| |
* | Merge branch 'get-or-create4' into 'main'Alexander Færøy2023-10-222-60/+73
|\ \ | | | | | | | | | | | | tor-keymgr: Auto-generate missing keys in descriptor publisher See merge request tpo/core/arti!1688
| * | tor-hsservice: Handle None IPT update correctly.Gabriela Moldovan2023-10-191-1/+6
| | | | | | | | | | | | | | | This is not an error, it just means we need to wait until some IPTs are established.
| * | tor-hsservice: Generate the blinded keys, if they don't exist.Gabriela Moldovan2023-10-191-12/+32
| | |
| * | tor-hsservice: Remove unused function.Gabriela Moldovan2023-10-191-36/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need this helper anymore (we no longer map `None` to `Err(MissingKey)`, because the new get-or-create functions don't return an `Option`). Also, the key lookups are going to look less uniform from now on (because some will be auto-generated with `get_or_generate`, and others with `get_or_generate_with_derived`).
| * | 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
| |