summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 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
| |
* | 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.