summaryrefslogtreecommitdiff
path: root/crates/tor-hsservice/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'hss-notes' into 'main'Ian Jackson2023-11-303-0/+118
|\ | | | | | | | | hssvc-ipt-algorithms.md: Move and fix up some text See merge request tpo/core/arti!1777
| * tor-hsclient: ipt_establisher: Fix a broken rustdoc linkIan Jackson2023-11-301-1/+1
| | | | | | | | | | | | This rune RUSTDOCFLAGS="-Dwarnings --cfg docsrs" nailing-cargo +nightly doc --all-features --document-private-items --no-deps is clean now.
| * hssvc-ipt-algorithms.md: Fix moved text syntaxIan Jackson2023-11-291-2/+2
| | | | | | | | | | Fixes a rustdoc warning. This was already wrong in the .md file but nothing checked it there.
| * hssvc-ipt-algorithms.md: Move some text to ipt_setIan Jackson2023-11-292-0/+72
| | | | | | | | | | This is describing the detailed algorithm in compute_iptsetstatus_publish. Move it there (and add an xref).
| * hssvc-ipt-algorithms.md: Move some text to ipt_mgrIan Jackson2023-11-292-0/+37
| | | | | | | | | | This is describing the detailed algorithm in idempotently_progress_things_now. Move it there (and add an xref).
| * hssvc-ipt-algorithms.md: Delete rendundant textIan Jackson2023-11-292-0/+9
| | | | | | | | | | | | | | | | This is describing our data structures and IPT states. But we have this documented elsewhere, largely. There are a few sentences here that can usefully be replaced with a bit of extra text in the data structure docs.
* | Merge branch 'semver-breaking-upgrade-of-the-daleks' into 'main'Nick Mathewson2023-11-296-29/+21
|\ \ | | | | | | | | | | | | | | | | | | Convert to the latest versions of dalek-cryptography Closes #808 See merge request tpo/core/arti!1767
| * | llcrypto: Hide the members of ExpandedKeypair.Nick Mathewson2023-11-291-2/+2
| | | | | | | | | | | | | | | With this change, we no longer expose the ExpandedSecretKey unescorted, which makes it harder to misuse the API.
| * | Remove RngCompatExt.Nick Mathewson2023-11-294-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code was needed with the old version of dalek-cryptography, which wasn't compatible with up-to-date versions of the `rand` crate(s). But now that we've upgraded, we can drop this. (We could have left it around and deprecated it, but we are already making a breaking change to tor-llcrypto by upgrading dalek-cryptography.)
| * | Convert to the latest versions of dalek-cryptographyNick Mathewson2023-11-296-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main changes that we have to adjust for are as follows: * In x25519-dalek: * `StaticSecret` is now behind a feature. * `StaticSecret::new` is deprecated in favor of `StaticSecret::random_from_rng`. * StaticSecret no longer does its own clamping. * In ed25519-dalek: * `SecretKey` has (in effect) been renamed to `SigningKey`. The name `SecretKey` is now an alias for `[u8; 32]`. * `SigningKey` is effectively a keypair, since it contains a public key as well. * `PublicKey` has been renamed to `VerifyingKey`. * The functions to extract a signing key and verifying key have been renamed as you might expect. * `ExpandedSecretKey` has been moved to `hasmat` and no longer implements `sign`. * `ExpanededSecretKey` now has as its elements a scalar and a hash prefix. * Various functions that took `&[u8]` now take `&[u8; N]`. * We no longer need a wrapper for older versions of rand. There is a single test in tor-keymgr that does not pass. I've marked it as ignore for now, in hopes that @gabi-250 can help me figure it out. This closes #808. There are several changes I want to make before we merge, however. They are marked with TODO DALEK.
* | | Merge branch 'persist-tempdir' into 'main'Ian Jackson2023-11-293-25/+353
|\ \ \ | |/ / |/| | | | | | | | tor-hsservice tests: Introduce new test_temp_dir helper module See merge request tpo/core/arti!1762
| * | tor-hsservice: test_temp_dir: Fix comment syntaxNick Mathewson2023-11-291-1/+1
| | |
| * | tor-hsservice: test_temp_dir: Rename to used_byIan Jackson2023-11-292-4/+4
| | | | | | | | | | | | | | | | | | from obtain_in. As per irc discussion.
| * | tor-hsservice: test_temp_dir: Rename to TestTempDirGuardIan Jackson2023-11-292-6/+6
| | | | | | | | | | | | | | | | | | from UsingTempDir. As per irc discussion.
| * | tor-hsservice: test_temp_dir: Expand on the TODO (fmt)Ian Jackson2023-11-291-1/+0
| | | | | | | | | | | | Mandatory whitespace degradation.
| * | tor-hsservice: test_temp_dir: Expand on the TODOIan Jackson2023-11-291-1/+3
| | |
| * | tor-hsservice test_temp_dir: Add commentary about why do thisIan Jackson2023-11-291-0/+25
| | |
| * | tor-hsservice test_temp_dir: Add more docs about in_obtainIan Jackson2023-11-291-0/+5
| | |
| * | tor-hsservice test_temp_dir: Add docs about early deletion hazardIan Jackson2023-11-291-0/+19
| | |
| * | tor-hsservice test_temp_dir: Make a lifetime explicit (fmt)Ian Jackson2023-11-291-1/+5
| | |
| * | tor-hsservice test_temp_dir: Make a lifetime explicitIan Jackson2023-11-291-1/+1
| | |
| * | tor-hsservice tests: create_keymgr: add a doc commentIan Jackson2023-11-291-0/+1
| | |
| * | tor-hsservice: test_temp_dir: Improve docs (fmt)Ian Jackson2023-11-291-1/+1
| | |
| * | tor-hsservice: test_temp_dir: Improve docsNick Mathewson2023-11-291-1/+2
| | |
| * | tor-hsservice tests: Make create_keymgr pub(crate)Ian Jackson2023-11-281-2/+2
| | | | | | | | | | | | We're going to want this for other tests in this crate.
| * | tor-hsservice tests: Change create_keymgr to use TestTempDirIan Jackson2023-11-281-24/+26
| | |
| * | tor-hsservice tests: Introduce new test_temp_dir helper moduleIan Jackson2023-11-282-0/+270
| |/ | | | | | | | | | | While debugging IPT persistence I wanted to see what the code was leaving in the storage and keystore directories. This is hard when it's all done with a vanilla tempdir().
* | tor-hsservice: time_store: Change rel time Display to humantime (fmt)Ian Jackson2023-11-291-4/+1
| |
* | tor-hsservice: time_store: Change rel time Display to humantimeIan Jackson2023-11-291-31/+23
| | | | | | | | | | Suggestion 3 from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1774#note_2970374
* | tor-hsservice: time_store: Change rel time prefix to T+Ian Jackson2023-11-291-13/+13
| | | | | | | | | | Suggestion 2 from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1774#note_2970374
* | tor-hsservice: time_store: rustfmtIan Jackson2023-11-281-5/+6
| | | | | | | | Apply deferred churn.
* | tor-hsservice: time_store: tests: Split up a stringIan Jackson2023-11-281-1/+4
| |
* | tor-hsservice: time_store: deser strings: don't allocateIan Jackson2023-11-281-5/+19
| | | | | | | | | | | | When is_human_readable, use a Visitor to offer the data format visit_str, which will often allow the data format to avoid consing an actual String.
* | tor-hsservice: time_store: Reference: change serdeIan Jackson2023-11-281-11/+6
| |
* | tor-hsservice: time_store: Reference: impl FromStrIan Jackson2023-11-281-1/+22
| |
* | tor-hsservice: time_store: Reference: change DisplayIan Jackson2023-11-281-4/+8
| |
* | tor-hsservice: time_store: provide time_t_to_system_timeIan Jackson2023-11-281-0/+74
| | | | | | | | Being careful about overflow and avoiding panics is quite a palaver!
* | tor-hsservice: time_store: break out system_time_to_time_tIan Jackson2023-11-281-7/+12
| |
* | tor-hsservice: time_store: SerdeStringOrTransparent macroIan Jackson2023-11-281-26/+41
| | | | | | | | We're going to want to do this for Reference too.
* | tor-hsservice: time_store: FutureTimestamp: change serdeIan Jackson2023-11-281-8/+31
| | | | | | | | Use the string representation in binary formats.
* | tor-hsservice: time_store: FutureTimestamp: impl FromStrIan Jackson2023-11-281-0/+45
| | | | | | | | | | Parse the string representation too. We'll be using this for serde.
* | tor-hsservice: time_store: FutureTimestamp: change DisplayIan Jackson2023-11-281-2/+27
| |
* | tor-hsservice: time_store: tests: Add an mpack testIan Jackson2023-11-281-0/+25
| | | | | | | | We're going to serialise different in binary formats.
* | tor-hsservice: time_store: tests: use a fixed SystemTimeIan Jackson2023-11-281-5/+6
|/ | | | This will make them easier to adjust when we serialise differently.
* Merge branch 'keymgr-derive-builder' into 'main'gabi-2502023-11-283-6/+19
|\ | | | | | | | | | | | | tor-keymgr: Derive Builder for KeyMgr. Closes #1114 See merge request tpo/core/arti!1760
| * tor-keymgr: Derive Builder for KeyMgr (fmt).Gabriela Moldovan2023-11-273-4/+17
| |
| * tor-keymgr: Derive Builder for KeyMgr.Gabriela Moldovan2023-11-273-6/+6
| | | | | | | | | | | | | | `KeyMgr` is soon going to have more fields, so now is a good time to derive `Builder` for it. Closes #1114
* | Merge branch 'hss-debug-serde' into 'main'Ian Jackson2023-11-283-4/+131
|\ \ | | | | | | | | | | | | tor-hsservice: improve Debug and serde See merge request tpo/core/arti!1765
| * | tor-hsservice: Bespoke Debug impl for IptRelayIan Jackson2023-11-271-2/+27
| | | | | | | | | | | | | | | I found myself wanting to dump the IPT manager state in debug output and the default Rust output was far too verbose.
| * | tor-hsservice: derive Debug for IptParametersIan Jackson2023-11-271-0/+6
| | |