summaryrefslogtreecommitdiff
path: root/crates/arti-relay/src
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-072-3/+3
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* Remove a now-needless doc comment.Nick Mathewson2025-08-051-2/+0
|
* Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | See #2060.
* arti-relay: Removed dependency on `once_cell`hashcatHitman2025-06-142-7/+7
| | | | | | - Replaced `once_cell::sync::Lazy` with `std::sync::LazyLock`. Signed-off-by: hashcatHitman <[email protected]>
* arti-relay: standardized MSRV TODOhashcatHitman2025-04-161-1/+1
| | | | | - Part of a series of commits aimed at replacing all MSRV-related TODOs with a standardized format, which should be easier to find when the MSRV is bumped.
* 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-142-21/+2
| | | | | | | 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-144-4/+34
|
* arti-relay: add rust/clippy lintsSteven Engler2025-01-143-0/+71
|
* arti-relay: don't use environment var in `Mistrust`Steven Engler2025-01-132-26/+4
|
* arti-relay: remove `TorRelayConfigBuilder::from_directories`Steven Engler2025-01-131-27/+0
| | | | | I don't think we'll ever need this. Users will set the directories through the config file.
* arti-relay: add basic placeholder loggerSteven Engler2025-01-131-4/+61
| | | | | This is probably not what the final logger would look like, but it's a fine placeholder for now.
* arti-relay: add config loadingSteven Engler2025-01-132-13/+47
|
* arti-relay: make `main` a wrapper around a `main_main`Steven Engler2025-01-131-1/+13
| | | | This makes it more similar to arti.
* arti-relay: add `LoggingConfig`Steven Engler2025-01-131-0/+40
|
* arti-relay: rework default config file path handlingSteven Engler2025-01-131-15/+91
|
* arti-relay: add constant `ARTI_FS_DISABLE_PERMISSION_CHECKS`Steven Engler2025-01-131-0/+24
| | | | We don't actually use it yet, but we do show it in the '--help' text.
* arti-relay: `TorRelay` takes a `CfgPathResolver`Steven Engler2025-01-132-8/+20
|
* arti-relay: remove relay builderSteven Engler2025-01-133-71/+8
| | | | | | | 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-133-12/+21
|
* arti-relay: added a base `CfgPathResolver`Steven Engler2025-01-131-5/+122
|
* arti-relay: impl `TopLevel` for `TorRelayConfig`Steven Engler2025-01-131-0/+4
|
* arti-relay: added `From<LogLevel> for tracing::metadata::Level`Steven Engler2025-01-131-1/+13
|
* arti-relay: make cli `log_level` an `Option`Steven Engler2025-01-131-4/+3
| | | | This is an override option, which we want to default to "unset".
* arti-relay: test that global cli options have "global" setSteven Engler2025-01-131-1/+16
|
* arti-relay: moved global cli options to common structSteven Engler2025-01-131-16/+24
|
* update `CfgPath::path` to use a `CfgPathResolver`Steven Engler2024-11-181-1/+3
| | | | | | | | | | | | | | | | This is a big change across multiple crates since there isn't a good way to break it up. This changes the signature of `CfgPath::path` to: ``` pub fn path(&self, path_resolver: &CfgPathResolver) -> Result<PathBuf, CfgPathError> { ``` Making this change means that our global `CfgPathResolver` needs to be stored in the 'arti-client' library instead of `tor-config-path`, and must be passed through to anything that calls `path` to expand the variables.
* arti-relay: small change to log level commentSteven Engler2024-11-141-1/+1
| | | | | In arti this option is just a convenience function to override the configuration option, so we'll probably want to do the same thing.
* arti-relay: remove TODO comment about runtimesSteven Engler2024-11-141-7/+3
|
* arti-relay: remove runtime/tls-related featuresSteven Engler2024-11-141-7/+1
|
* arti-relay: add cli testsSteven Engler2024-11-131-0/+35
|
* arti-relay: add 'build-info' subcommandSteven Engler2024-11-132-0/+13
|
* arti-relay: add clap for cliSteven Engler2024-11-132-2/+109
| | | | The options are inspired by the arti cli interface.
* tor-config: removed re-export of `CfgPath`Steven Engler2024-11-041-1/+2
| | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* 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-102-4/+4
| | | | Signed-off-by: David Goulet <[email protected]>
* arti-relay: Fix cargo doc issuesDavid Goulet2024-10-102-3/+3
| | | | Signed-off-by: David Goulet <[email protected]>
* arti-relay: Remove the use of pub and pub useDavid Goulet2024-10-103-10/+8
| | | | | | | | | | | | | | | The "pub" and "pub(crate)" visibility in a binary crate is essentially the same except for the dead_code warning analysis which ignores "pub" but will warn at "pub(crate)". This should get fixed soon according to: https://github.com/rust-lang/rust/issues/74970 However, for now, lets catch all this dead code :). Part of #1674 Signed-off-by: David Goulet <[email protected]>
* arti-relay: Remove its library crateDavid Goulet2024-10-103-6/+12
| | | | | | | | | | | | 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]>
* arti-relay: Add a binary to the crateDavid Goulet2024-10-101-0/+8
| | | | | | | | | | | | At the moment, it is an empty main() acting as a place holder for this crate to become solely a binary crate. Write up a basic README.md in order to explain the current state. Next commit will remove the libary component by renaming lib.rs Part of #1674 Signed-off-by: David Goulet <[email protected]>
* tor-keymgr: Move config/arti.rs to config.rsGabriela Moldovan2024-10-081-1/+1
| | | | | | | | The config will soon contain secondary C Tor keystore configuration too, so the `arti` namespacing is about to stop making sense. I recommend reviewing this commit using `git diff --color-moved=zebra --ignore-space-change`
* memquota: Add a toplevel account in tor-chanmgrIan Jackson2024-10-031-0/+2
| | | | | | | | | Plumb through a top-level account. This doesn't have any channel-specific, circuit-specific or stream-specific accounts yet. tor-circmgr's and tor-hsclient's *tests* need fake account. In arti-relay, use a dummy account for now.
* tor-keymgr: Rename the primary keystore for clarity.Gabriela Moldovan2024-09-231-1/+1
| | | | | | | | | | Previously, arti's primary keystore was referred to as its "default" keystore. However, "default" is inaccurate here: there is no way to meaningfully override this "default" (the "default" store acts as the main keystore). Throughout the codebase, we query all keystores for keys (including the secondary ones), but only ever write to the default/primary keystore. This is OK for now, because it enables us to have one mutable keystore, and multiple secondary, read-only stores.
* tor-keymgr: renamed ArtiNativeKeystoreConfig to ArtiKeystoreConfigMorgan2024-09-201-2/+2
|
* relay: Try to generate long-term identity keyDavid Goulet2024-09-181-5/+29
| | | | | | | | | | | | When creating the KeyMgr, attempt to create the long-term identity key if none are found in the KeyMgr. Until the KeyMgr has certificate support, we can't create the certificate. Add a TODO comment item about future work needed there. Related to #1604 Signed-off-by: David Goulet <[email protected]>
* relay: Add KeyMgr to TorRelayDavid Goulet2024-09-183-2/+65
| | | | | | | | | | | | This is the first step before creating relay key definition and storing them into a keystore. The KeyMgr should be passed on the ChanMgr in later commit so the ChanMgr can use it for the authenticated channel handshake. Part of #1604 Signed-off-by: David Goulet <[email protected]>