aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge branch 'keymgr-docs2' into 'main'gabi-2502023-11-151-9/+3
|\ \ | | | | | | | | | | | | | | | | | | tor-keymgr: Minor doc improvements Closes #1066 See merge request tpo/core/arti!1731
| * | tor-keymgr: Add missing backticks (fmt).Gabriela Moldovan2023-11-131-1/+1
| | |
| * | tor-keymgr: Abolish KeyPathPatternSet.Gabriela Moldovan2023-11-131-9/+3
| | | | | | | | | | | | | | | | | | We don't really need it. Closes #1066
* | | tor-hsservice: Downgrade TODO HSS to TODO.Gabriela Moldovan2023-11-131-1/+1
| | |
* | | tor-hsservice: Remove some `allow`s we don't need anymore.Gabriela Moldovan2023-11-131-4/+0
|/ /
* | Merge branch 'time-store' into 'main'Ian Jackson2023-11-023-3/+417
|\ \ | | | | | | | | | | | | Provide module for handling storage of times on disk See merge request tpo/core/arti!1723
| * | tor-hsservice: time_store: Add TODO HSS re serialisationsIan Jackson2023-11-021-0/+5
| | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2960861 https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2961013
| * | tor-hsservice: time_store: Slight structural tidyingIan Jackson2023-11-021-3/+1
| | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2960877 and following some IRC discussion.
| * | HSS time_store: clarify by removing a commagabi-2502023-11-021-1/+1
| | |
| * | tor-hsservice: New time_store module (provide accessors)Ian Jackson2023-11-011-2/+43
| | | | | | | | | | | | These are the logically necessary accessors.
| * | tor-hsservice: New time_store moduleIan Jackson2023-11-012-0/+372
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | tor-hsservice: timeout_track: Remove some unnecessary allowsIan Jackson2023-11-011-3/+1
| | | | | | | | | | | | Retain the TODO for making this properly pub somewhere.
* | | tor-hsservice: Use KeyDenotator::decode instead of manually decoding the ↵Gabriela Moldovan2023-11-021-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | denotator. Note that instead of matching each individual component of a key denotator (e.g. using a glob pattern like `*_*_*`), we now match the entire denotator (using the `*` pattern) and let `KeyDenotator::decode` handle its parsing. In the long run, this approach should reduce code duplication (as the decoding logic for each type is centralized in its `KeyDenotator` implementation) and the need for complex glob patterns. Closes #1070
* | | tor-keymgr: Use the new denotator separator instead of underscore.Gabriela Moldovan2023-11-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Underscores are used within `ArtiPath`s as visual separators. To reduce ambiguity, we now use a different character for separating the key denotators (e.g. time periods) from the rest of the `ArtiPath`. Closes #1063
* | | tor-keymgr: Remove derive_meta arg from KeyMgr::list_matching (fmt).Gabriela Moldovan2023-11-021-16/+14
| | |
* | | 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-023-1/+427
| | | | | | | | | | | | 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.
* | | Merge branch 'semver-bumps' into 'main'Nick Mathewson2023-10-311-16/+16
|\ \ \ | | | | | | | | | | | | | | | | Update versions for today's releases. See merge request tpo/core/arti!1716
| * | | Patch version bumps in crates without breaking changesNick Mathewson2023-10-311-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` These crates have new APIs: tor-async-utils ADDED tor-config ADDED tor-hscrypto ADDED tor-netdoc ADDED, plus BREAKING-experimental. These crates have patch-level changes only: tor-netdir (bugfix only). (re-exposes netdoc) arti-rpcserver (tweaks only, uses nothing that broke.) arti 1.1.10, no stable public APIs. ```
| * | | Minor version bumps in crates with breaking changes.Nick Mathewson2023-10-311-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` tor-basic-utils BREAKING tor-rtmock BREAKING. tor-cert BREAKING tor-cell BREAKING tor-proto BREAKING: re-exposes cell. (Also BREAKING-experimental) tor-chanmgr BREAKING: Re-exposes proto. tor-ptmgr BREAKING: re-exposes tor-chanmgr tor-guardmgr BREAKING: re-exposes proto. (Only for ClockSkew I think?) tor-circmgr BREAKING: re-exposes proto tor-dirclient BREAKING tor-hsclient BREAKING, re-exposes proto. tor-hsservice BREAKING, re-exposes proto. tor-hsrproxy BREAKING arti-client BREAKING: re-exposes proto. arti-hyper: BREAKING, re-exposes arti-client. tor-dirmgr Let's assume BREAKING, very high-level. tor-keymgr BREAKING, but experimental. ```
* | | | 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
| |