aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | tor-keymgr: Remove derive_meta arg from KeyMgr::list_matching.Gabriela Moldovan2023-11-021-3/+7
| | | | | | | | | | | | | | | This addresses the TODO that resulted from this thread https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1677#note_2955700
* | | replay: Remove false-positive special-casing in testsNick Mathewson2023-11-021-31/+10
| | | | | | | | | | | | | | | | | | (The actual false positive rate for these cases is very small, since the filters are very much not full. I haven't been able to hit one in hours of looping.)
* | | Add a missing backtick.gabi-2502023-11-021-1/+1
| | |
* | | Use io::Result to shorten return type.gabi-2502023-11-021-1/+1
| | |
* | | Add a replay log to IptMsgHandler.Nick Mathewson2023-11-021-0/+35
| | | | | | | | | | | | | | | Right now, this is always an ephemeral log, which isn't right: There are TODO comments here explaining what to do instead.
* | | hss: Add functionality for a persistent replay log.Nick Mathewson2023-11-022-0/+422
| | | | | | | | | | | | See comments for design notes.
* | | Merge branch 'hss-err-misc' into 'main'Ian Jackson2023-11-012-2/+22
|\ \ \ | |/ / |/| | | | | | | | HSS misc tweaks See merge request tpo/core/arti!1718
| * | HSS: impl HasKind for FatalErrorIan Jackson2023-11-011-0/+13
| | |
| * | HSS: publisher: Add ReactorError::Other containing FatalErrorIan Jackson2023-11-011-2/+9
| | |
* | | Merge branch 'warning' into 'main'gabi-2502023-11-011-2/+2
|\ \ \ | | | | | | | | | | | | | | | | tor-keymgr: Fix a broken docs link See merge request tpo/core/arti!1721
| * | | tor-keymgr: Fix a broken docs linkIan Jackson2023-11-011-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: cargo doc --workspace $f --document-private-items 1 | //! [`KeySpecifier`] implementations for hidden service keys. | ^^^^^^^^^^^^ no item named `KeySpecifier` in scope 8 | /// A helper for defining service [`KeySpecifier`]s. | ^^^^^^^^^^^^ no item named `KeySpecifier` in scope
* / / tor-hsservice: Remove unnecessary clone()s.Gabriela Moldovan2023-10-311-3/+3
|/ / | | | | | | | | `cargo clippy --all-features --tests` is reporting warnings about the unnecessary cloning.
* | Merge branch 'abolish-svc-key-role' into 'main'gabi-2502023-10-317-236/+213
|\ \ | | | | | | | | | | | | | | | | | | tor-keymgr: Add macros for defining key specifiers. Closes #1069 See merge request tpo/core/arti!1710
| * | tor-hsservice: Add tests for define_svc_key_specifier.Gabriela Moldovan2023-10-301-0/+62
| | |
| * | tor-hsservice: Define key specifiers using the new helper macro (fmt).Gabriela Moldovan2023-10-305-40/+21
| | |
| * | tor-hsservice: Define key specifiers using the new helper macro.Gabriela Moldovan2023-10-307-186/+79
| | | | | | | | | | | | Closes #1069
| * | tor-hsservice: Add convenience wrapper around define_key_specifier (fmt).Gabriela Moldovan2023-10-301-2/+2
| | |
| * | tor-hsservice: Add convenience wrapper around define_key_specifier.Gabriela Moldovan2023-10-301-0/+83
| | |
| * | tor-keymgr: Move the KeyDenotator trait to tor-keymgr (fmt).Gabriela Moldovan2023-10-302-4/+4
| | |
| * | tor-keymgr: Move the KeyDenotator trait to tor-keymgr.Gabriela Moldovan2023-10-303-46/+4
| | | | | | | | | | | | | | | The trait is no longer sealed because users should be allowed to define their own key denotators.
* | | 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`).