summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | tor-hsservice: Make Publisher::launch return a StartupError.Gabriela Moldovan2023-09-273-18/+7
| | | | | | | | | | | | This simplifies error handling in `OnionService`. Closes #1052
* | tor-hsservice: Make Launchable a non-async trait.Gabriela Moldovan2023-09-272-8/+4
| | | | | | | | | | This doesn't need to be an async_trait now that `Publisher::launch` is no longer async.
* | tor-hsservice: Make Publisher::launch non-async.Gabriela Moldovan2023-09-273-12/+6
| | | | | | | | | | | | Fixes #1052 See also the discussion in !1616
* | tor-hsservice: Initialize netdir in Reactor::run.Gabriela Moldovan2023-09-271-16/+44
| | | | | | | | This will enable us to make `Publisher::launch` non-async.
* | tor-hsservice: Specify the expiry for the hs_desc_sign_cert.Gabriela Moldovan2023-09-271-3/+4
| | | | | | | | | | | | | | Like the other certificates, the descriptor signing key certificate should have a lifetime of `HS_DESC_CERT_LIFETIME_SEC` seconds (at least, this is what C-Tor does. See build_desc_signing_key_cert() in feature/hs/hs_service.c).
* | tor-hsservice: Make HsSvcKeySpecifier borrow the nickname.Gabriela Moldovan2023-09-272-9/+9
| | | | | | | | This helps avoid cloning the nickname unnecessarily.
* | tor-hsservice: Use the nickname from the OnionServiceConfig.Gabriela Moldovan2023-09-271-3/+3
| | | | | | | | | | The publisher can just read the nickname of the service from its `OnionServiceConfig`.
* | Merge branch 'service-api' into 'main'Nick Mathewson2023-09-275-9/+84
|\ \ | | | | | | | | | | | | arti-client: sketch out an initial "launch an onion service" API. See merge request tpo/core/arti!1620
| * | arti-client: add a minimal onion-service-launching API.Nick Mathewson2023-09-272-6/+62
| | |
| * | hss: Implement HasKind for StartupErrorNick Mathewson2023-09-261-1/+15
| | |
| * | hss: Make launch() non-consuming.Nick Mathewson2023-09-261-1/+1
| | | | | | | | | | | | | | | We want to still have the OnionService kicking around, so we can use it as a handle.
| * | arti-client: add an onion-service-service featureNick Mathewson2023-09-261-1/+6
| | | | | | | | | | | | (I am not thrilled with this name.)
* | | Merge branch 'worst-case-end' into 'main'Nick Mathewson2023-09-271-34/+85
|\ \ \ | | | | | | | | | | | | | | | | or-hsservice: Set a timeout for desc upload tasks. See merge request tpo/core/arti!1623
| * | | tor-hsservice: Set a timeout for the upload task.Gabriela Moldovan2023-09-271-19/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The IPT manager needs to know how long the publication attempt will take in the worst case, so we add a timeout for the upload task. Part of #1050
| * | | tor-hsservice: Explain how note_publication_attempt is not called in the ↵Gabriela Moldovan2023-09-271-0/+23
| | | | | | | | | | | | | | | | right place.
| * | | tor-hsservice: Fix descriptor reactor lifetime bugs.Gabriela Moldovan2023-09-271-20/+14
| | | | | | | | | | | | | | | | | | | | The problem was that several variables were borrowed in the spawned async block.
| * | | tor-hsservice: Describe the lifetime bug from Reactor::upload_all.Gabriela Moldovan2023-09-271-0/+5
| | | |
* | | | Merge branch 'desc-todos' into 'main'Alexander Færøy2023-09-271-8/+3
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-hsservice: Remove unnecessary TODO. See merge request tpo/core/arti!1621
| * | | tor-hsservice: Remove unnecessary TODO.Gabriela Moldovan2023-09-261-8/+3
| | | | | | | | | | | | | | | | | | | | `Ipt` _is_ `IntroPointDesc`, so we don't need `build_intro_point_desc()` at all.
* | | | Merge branch 'keymgr-blinded-keys' into 'main'gabi-2502023-09-266-27/+179
|\| | | | | | | | | | | | | | | | | | | tor-keymgr: Support storing `ed25519::ExpandedKeypair`s in the keystore See merge request tpo/core/arti!1619
| * | | tor-keymgr: Fix clippy warning (fmt).Gabriela Moldovan2023-09-261-4/+1
| | | |
| * | | tor-keymgr: Fix clippy warning.Gabriela Moldovan2023-09-261-1/+1
| | | |
| * | | tor-keymgr: Add a TODO regarding parsing errors.Gabriela Moldovan2023-09-261-0/+3
| | | |
| * | | tor-keymgr: Test expanded expanded-ed25519 SSH key parsing.Gabriela Moldovan2023-09-264-0/+47
| | | |
| * | | tor-keymgr: Extend parse_openssh! to support expanded ed25519 keypairs.Gabriela Moldovan2023-09-261-5/+46
| | | |
| * | | tor-keymgr: Implement EncodableKey for ExpandedKeypair.Gabriela Moldovan2023-09-263-6/+44
| | | |
| * | | tor-keymgr: Assign a custom algorithm name for expanded ed25519 keys.Gabriela Moldovan2023-09-261-16/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to be able to store `HsBlindIdKeypair`s in the keystore, and since blinded keys are expanded e25519 keypairs which don't have a "standard" OpenSSH key encoding, we define a custom `[email protected]` SSH key type for this purpose.
* | | | tor-keymgr: Add TODO about key file extensions.Gabriela Moldovan2023-09-261-0/+9
| | | |
* | | | tor-keymgr: Make SshKeyData accessors more idiomatic.Gabriela Moldovan2023-09-262-9/+11
| | | |
* | | | tor-keymgr: Fix broken doc link.Gabriela Moldovan2023-09-261-1/+1
| | | |
* | | | tor-keymgr: Make SshKeyData non-exhaustive.Gabriela Moldovan2023-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | We will need to add another variant to this when we add support for certificates.
* | | | tor-keymgr: Derive Clone, Debug for SshKeyData.Gabriela Moldovan2023-09-261-1/+1
|/ / /
* | | tor-keymgr: Rename as_ssh_keypair_data to as_ssh_key_data.Gabriela Moldovan2023-09-263-8/+8
| | | | | | | | | | | | | | | This function no longer returns `KeypairData` (it now returns `SshKeyData`).
* | | tor-keymgr: Add tests for OpenSSH public key parsing.Gabriela Moldovan2023-09-265-0/+30
| | |
* | | tor-keymgr: Use a macro to make the tests less repetitive.Gabriela Moldovan2023-09-261-33/+45
| | |
* | | tor-keymgr: Add TODO about rethinking KeyType.Gabriela Moldovan2023-09-261-0/+8
| | |
* | | tor-keymgr: Make parse_ssh_format_erased handle public keys too (fmt).Gabriela Moldovan2023-09-261-8/+15
| | |
* | | tor-keymgr: Make parse_ssh_format_erased handle public keys too.Gabriela Moldovan2023-09-261-57/+5
| | | | | | | | | | | | | | | This rewrites `KeyType::parse_ssh_format_erased` to use the new `parse_openssh!` macro.
* | | tor-keymgr: Add helpers for parsing OpenSSH public and private keys.Gabriela Moldovan2023-09-261-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | `KeyType::parse_ssh_format_erased` currently only handles private keys. The code for parsing public keys is very similar, so we introduce a macro to avoid code duplication. Note: the macro is currently unused (it will be used in a future commit).
* | | tor-keymgr: Implement ToEncodableKey for HsIdKey.Gabriela Moldovan2023-09-251-3/+3
| | |
* | | tor-keymgr: Implement EncodableKey for ed25519 public keys.Gabriela Moldovan2023-09-251-3/+5
| | |
* | | tor-keymgr: Implement EncodableKey for x25519 public keys.Gabriela Moldovan2023-09-251-0/+26
| | |
* | | tor-keymgr: Add KeyType variants for public keys.Gabriela Moldovan2023-09-252-4/+15
| | |
* | | tor-keymgr: Make EncodableKey support public keys too.Gabriela Moldovan2023-09-254-22/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, `EncodableKey::to_keypair_data` could only be used for encoding private keys (its return type was `KeypairData`). Now `EncodableKey::to_keypair_data` can return public key data (`KeyData`) too. Note: `to_keypair_data()` will be renamed in a future commit.
* | | tor-keymgr: Represent unparsed ssh key as strings.Gabriela Moldovan2023-09-252-10/+10
|/ / | | | | | | | | | | | | | | The underlying representation of an `UnparsedOpenSshKey` is now a `String`. This will make it easier to support storing public keys in the keystores: in the future, we will use `PublicKey::from_openssh` to parse public keys, and `PublicKey::from_openssh` expects a string slice (unlike `PrivateKey::from_openssh`, which takes a `&[u8]`).
* | tor-hsclient: Update HsClientSecretKeys docs.Gabriela Moldovan2023-09-251-1/+1
| |
* | tor-keymgr: Add (experimental) notices to semver.mdGabriela Moldovan2023-09-251-6/+6
| |
* | tor-llcrypto: Implement Clone and Debug for StaticKeypair.Gabriela Moldovan2023-09-251-0/+11
| |
* | tor-netdoc: Remove outdated note.Gabriela Moldovan2023-09-251-4/+0
| |
* | tor-hsclient, arti-client, tor-keymgr, tor-netdoc: Use a keypair instead of ↵Gabriela Moldovan2023-09-257-17/+17
| | | | | | | | StaticSecret (fmt).