summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice
Commit message (Collapse)AuthorAgeFilesLines
...
* | HSS publisher: Remove a redundant debug messageIan Jackson2023-11-201-2/+0
|/ | | | The call to reactor.run() in publish.rs, launch(), calls warn_report.
* Merge branch 'send_dos_params' into 'main'Nick Mathewson2023-11-204-18/+86
|\ | | | | | | | | | | | | HSS: Send DosParams extension to introduction points. Closes #723 See merge request tpo/core/arti!1740
| * Send DosParams conditionally on HsIntro support.Nick Mathewson2023-11-202-4/+12
| | | | | | | | It's available when the HsIntro=5 subprotocol version is present.
| * Improve documentation in/around DosParams extensionNick Mathewson2023-11-201-1/+8
| | | | | | | | | | | | It does not help that C tor has a set of parameters and a set of configuration options with exactly the same names which configure the same thing in two slightly different ways.
| * hss: Take intro_dos extension from configuration and send it.Nick Mathewson2023-11-202-4/+44
| | | | | | | | Closes #723.
| * hss: pipe config watchers into ipt_establish.Nick Mathewson2023-11-202-9/+22
| | | | | | | | | | | | We want the configuration, at least, so that we can see our DoS settings. I expect we'll also want the watcher so that we can see _changes_ in the DoS settings.
* | tor-hsservice: Update MissingHsIdKey docs, remove outdated TODO HSS.Gabriela Moldovan2023-11-202-32/+2
| |
* | tor-hsservice: Rename MissingKey to MissingHsIdKeypair.Gabriela Moldovan2023-11-204-9/+11
| | | | | | | | | | | | | | | | | | We only return this error if the identity key is missing from the keystore. This change will also help us abolish the `.role()` method on `KeySpecifier`s (it was only needed for populating the string of a `MissingKey` error).
* | tor-hsservice: Remove unused macro.Gabriela Moldovan2023-11-201-83/+1
| | | | | | | | We don't need this macro now that we adhoc-derive the implementation.
* | tor-hsservice: Derive the service key specifier implementations (fmt).Gabriela Moldovan2023-11-201-54/+54
| |
* | tor-hsservice: Derive the service key specifier implementations.Gabriela Moldovan2023-11-201-24/+43
|/
* Merge branch 'publisher-todo' into 'main'Ian Jackson2023-11-203-5/+3
|\ | | | | | | | | tor-hsservice: Remove and downgrade several TODO HSS See merge request tpo/core/arti!1742
| * tor-hsservice: Downgrade a couple of TODO HSS to TODO.Gabriela Moldovan2023-11-162-2/+2
| | | | | | | | These are definitely blockers.
| * tor-hsservice: Remove TODO HSS that does not make sense.Gabriela Moldovan2023-11-151-2/+0
| | | | | | | | I don't understand what this TODO is about, so let's remove it.
| * tor-hsservice: Downgrade TODO HSS to TODO.Gabriela Moldovan2023-11-151-1/+1
| |
* | tor-keymgr: Remove unnecessary borrow.Gabriela Moldovan2023-11-161-2/+2
| |
* | tor-hsservice: Reuse read_blind_id_keypair when building descriptors.Gabriela Moldovan2023-11-161-14/+6
| | | | | | | | This code was identical to that from `read_blind_id_keypair`.
* | tor-hsservice: Extract read_blind_id_keypair out of Reactor (fmt).Gabriela Moldovan2023-11-161-36/+34
| |
* | tor-hsservice: Extract read_blind_id_keypair out of Reactor.Gabriela Moldovan2023-11-161-12/+10
| | | | | | | | This will soon be used in `publish/descriptor.rs` too.
* | tor-hsservice: Pass the current time as an argument to ↵Gabriela Moldovan2023-11-161-3/+4
| | | | | | | | generate_revision_counter.
* | tor-hsservice: Add note about computing ope_key once per TP.Gabriela Moldovan2023-11-161-0/+2
| |
* | tor-hsservice: Link the the spec instead of referencing section number.Gabriela Moldovan2023-11-161-2/+3
| |
* | tor-hsservice: Remove dead code.Gabriela Moldovan2023-11-161-21/+0
| | | | | | | | | | | | This code is no longer needed: we're now using `generate_revision_counter()` to generate revision counters using the OPE scheme from appendix F.2 rend-spec-v3.
* | tor-hsservice: Generate revision counters using an OPE scheme.Gabriela Moldovan2023-11-161-6/+3
| | | | | | | | | | | | | | The publisher now generates revision counters according to the "encrypted time in period" scheme described in appendix F.2 rend-spec-v3. Part of #1053
* | tor-hsservice: Add function for generating revision counters using OPE scheme.Gabriela Moldovan2023-11-162-3/+107
| | | | | | | | Part of #1053
* | tor-hsservice: Rename period to period_ctx for clarity.Gabriela Moldovan2023-11-161-5/+4
| | | | | | | | `period` is actually a `TimePeriodContext`, not a `TimePeriod.
* | Merge remote-tracking branch 'public/hs_begin'Nick Mathewson2023-11-161-0/+10
|\ \ | |/ |/|
| * hss: document behavior needed for indistinguishabilityNick Mathewson2023-10-231-2/+12
| |
* | Upgrade to itertools 0.12.0Nick Mathewson2023-11-151-1/+1
| |
* | 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.