summaryrefslogtreecommitdiff
path: root/crates/arti-relay/src/relay.rs
Commit message (Collapse)AuthorAgeFilesLines
* arti-relay: use `Void` for `TorRelay::run`Steven Engler2025-10-271-7/+10
|
* arti-relay: add line breaks between `InertTorRelay` fieldsSteven Engler2025-10-211-0/+5
|
* arti-relay: add a `MemoryQuotaTracker`Steven Engler2025-10-211-3/+12
|
* arti-relay: small refactoringSteven Engler2025-10-211-7/+6
|
* arti-relay: generate keys only when bootstrappingSteven Engler2025-10-211-3/+3
| | | | | We don't want to create new files just when creating a `InertTorRelay`. We should only generate the keys before bootstrapping.
* arti-relay: copy `state_mgr.try_lock()` from arti-clientSteven Engler2025-10-211-1/+8
|
* arti-relay: small change to `create_keymgr()`Steven Engler2025-10-211-15/+8
|
* arti-relay: initialize the `StateDirectory` and `FsStateMgr`Steven Engler2025-10-211-1/+27
|
* relay: Implement a blocking run() that starts the relayDavid Goulet2025-10-211-8/+28
| | | | | | | | | | | | | | | | We have bootstrap() to prepare everything we need before starting the relay which yields a TorRelay. This commit then adds a run() function which starts the relay by launching background task. At the moment, we only have one task and it is the channel expiry one. The relay blocks on the task handle set until one task is on error or stops which leads to shutting down the relay. Part of #2217 Signed-off-by: David Goulet <[email protected]>
* arti-relay: refactor error handlingSteven Engler2025-10-201-20/+23
| | | | | | | We decided to move away from the `Error` + `ErrorDetail` all-encompassing enum design, and will use `anyhow::Error` in more places. When we need to handle specific errors, we will create smaller more-specific error types in those cases.
* arti-relay: expand comment on `InertTorRelay`Steven Engler2025-10-081-0/+17
|
* arti-relay: change `allow` to `expect`Steven Engler2025-10-081-5/+4
| | | | And remove one that we didn't need.
* arti-relay: add a new `TorRelay`Steven Engler2025-10-081-0/+48
|
* arti-relay: store the `TorRelayConfig` in the `InertTorRelay`Steven Engler2025-10-081-2/+5
|
* arti-relay: change `TorRelay` into `InertTorRelay`Steven Engler2025-10-081-21/+6
| | | | We'll add a `TorRelay` back in a following commit.
* Lay foundations for RSA keys in keystore.Wesley Aptekar-Cassels2025-09-301-0/+3
| | | | | | This currently can't be used due to upstream limitations in the ssh_key crate, which will be removed likely in the next release. In the meantime, we can put in all the groundwork.
* chanmgr: Add KeyMgr to channel builderDavid Goulet2025-08-201-0/+1
| | | | | | | This is so a relay can build authenticated channels. Several keys/cert are required for this that are within the key manager. Signed-off-by: David Goulet <[email protected]>
* Use CautiousRng for keys going into the KeyMgr.Nick Mathewson2025-03-241-1/+1
|
* squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-1/+1
| | | | - `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
* arti-relay: remove 'override_net_params' configSteven Engler2025-01-141-1/+1
| | | | | | | We think that for relays, the 'override_net_params' config option is overly broad and a footgun. We can always re-add this back later if we want to, but for now the focus will be on exposing specific config options for features that are okay to be changed by users.
* arti-relay: fix rust/clippy lintsSteven Engler2025-01-141-2/+4
|
* arti-relay: `TorRelay` takes a `CfgPathResolver`Steven Engler2025-01-131-6/+17
|
* arti-relay: remove relay builderSteven Engler2025-01-131-33/+5
| | | | | | | This is a bunch of boilerplate code that we don't currently need, and may not need in the future since we don't need to provide a lot of library-API-level customization for `TorRelay` like we do with `TorClient`.
* arti-relay: default config paths now use path resolverSteven Engler2025-01-131-1/+3
|
* arti-relay: remove runtime/tls-related featuresSteven Engler2024-11-141-7/+1
|
* tor-relay-crypto: Add a denotator to RelaySigningKeypairSpecifier.Gabriela Moldovan2024-10-311-1/+1
| | | | | | | This will enable us to store more than one `K_relaysign_ed` in the keystore. Closes #1692
* tor-relay-crypto: Use the KS_ prefix for RelayIdentityKeySpecifier.Gabriela Moldovan2024-10-311-2/+2
| | | | | | | | | | According to its docs, `RelayIdentityKeySpecifier` was meant to be the key specifier for the relay identity keypair, so its role prefix should be `KS_`. This also renames `RelayIdentityKeySpecifier` to `RelayIdentityKeypairSpecifier` for clarity (we're about to add another specifier here, for the public relay identity key).
* memquota: Change ToplevelAccount to be an alias for Arc<MemoryQuotaTracker>Ian Jackson2024-10-151-1/+2
| | | | Fixes a TODO.
* arti-relay: Rename remaining XXXs to be TODOsDavid Goulet2024-10-101-2/+2
| | | | Signed-off-by: David Goulet <[email protected]>
* arti-relay: Remove its library crateDavid Goulet2024-10-101-0/+132
Simply, the lib.rs is renamed to relay.rs (containing TorRelay object) so this crate can never be used as a library. This is important because at the moment, we don't want to have a relay stable API that can be used to embed relays in applications. Closes #1674 Signed-off-by: David Goulet <[email protected]>