aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-relay/src/main.rs
Commit message (Collapse)AuthorAgeFilesLines
* Remove now-unneeded allow(clippy::cognitive_complexity)Jim Newsome2026-07-151-1/+0
|
* add_warning: add reference to arti#2556Jim Newsome2026-07-151-1/+1
|
* Removed unnecessary lintpryty262026-07-151-1/+1
| | | | Removed unnecessary lint
* arti-relay: Add an unimplemented stream request filterGabriela Moldovan2026-06-291-0/+1
| | | | | | This is currently just a placeholder that accepts all stream requests. It will be fleshed out later, as part of #1448
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-091-0/+1
| | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* relay: Make FullKewView solely owned by the crypto taskDavid Goulet2026-05-281-28/+0
| | | | | | | | | | | | | | | | | | | This moves commit makes it that FullKewView is not visible outside the crypto task. For this, we need to keep the KeyMgr in the inert tor relay struct until it is passed to the crypto task. The public keys logging is moved to the run() function of the crypto task and the try_generate_keys() now returns an InitKeyMaterial struct which contains the channel authentication key material (for ChanMgr) and the Ntor keys for the CREATE2 handler. This way, we cut the need of the FullKeyView in the main thread. Related to #2548 Signed-off-by: David Goulet <[email protected]>
* arti-relay: fix `unused_variables` warningSteven Engler2026-05-271-0/+1
|
* relay: Set the FullKeyView in InerTorRelayDavid Goulet2026-05-261-44/+7
| | | | | | | | | | | | | This is so we early set the FullKeyView and we use it accross the code from initialization. The try_generate_keys() now takes a view and locks it to make its changes. And we also make build_proto_relay_auth_material() use a view to simplify its code and also stop relying on the KeyMgr for key accessors. Signed-off-by: David Goulet <[email protected]>
* relay: Don't error when metrics is configured but disabled.Wesley Aptekar-Cassels2026-05-261-4/+2
| | | | | This is not likely to cause any major problem, so just warning should be fine.
* arti-relay: Add metrics exporter.Wesley Aptekar-Cassels2026-05-261-0/+28
| | | | | | | | | This currently does not actually export any metrics, but puts the infrastructure in place to do so. This adds the `experimental`, `__is_experimental`, etc features to arti-relay. I presume we want to do that in the long term, but I'm not 100% sure on that.
* arti-relay: improve ntor key loggingSteven Engler2026-04-141-5/+8
| | | | We only need the max, not the entire sorted list.
* arti-relay: log the public ntor keySteven Engler2026-04-141-3/+32
| | | | This is useful for testing.
* arti-relay: move key logging (part 3)Steven Engler2026-04-131-3/+0
| | | | Small cleanup.
* arti-relay: move key logging (part 2)Steven Engler2026-04-131-21/+21
| | | | Code movement only.
* arti-relay: move key logging (part 1)Steven Engler2026-04-131-0/+11
| | | | Set up function placeholder.
* arti-relay: Change CryptoProvider to aws-lc-rs.Nick Mathewson2026-04-081-2/+3
|
* arti-relay: Move all key specifiers to a new keys module (fmt)Gabriela Moldovan2026-04-011-2/+2
|
* arti-relay: Move all key specifiers to a new keys moduleGabriela Moldovan2026-04-011-4/+3
| | | | | | | | | | | This extracts the key specifier types out of `tor-relay-crypto`, which * makes the code layout consistent with the hidden service crates (the key specifiers are defined in a `keys` module in `tor-hsservice`, while the key wrapper types live in `tor-hscrypto::pk`) * helps reduce the API surface: the key specifiers are only used in `arti-relay`, so we can move them there and make them `pub(crate)` instead of `pub`
* arti-relay: add `log_sensitive_information` config optionSteven Engler2026-03-241-0/+20
|
* arti-relay: change a 'debug' log to 'info'Steven Engler2026-03-241-2/+2
| | | | | I had intended for this to be 'info' in f287ec7910, but must have accidentally wrote 'debug'.
* Fix typosTobias Stoeckmann2026-03-241-1/+1
| | | | Typos found with codespell
* Fix grammar typosTobias Stoeckmann2026-03-151-1/+1
|
* Fix word duplicate typosTobias Stoeckmann2026-03-151-1/+1
|
* arti-relay: Log relay identitiesSteven Engler2026-03-121-0/+28
|
* tor-basic-utils: move `iter_join` from arti-relaySteven Engler2026-03-031-1/+2
| | | | Will clean this up in the following commit.
* Allow clippy::collapsible_if to triggerGabriela Moldovan2026-02-161-0/+1
| | | | | | | | | `clippy::collapsible_if` started triggering after bumping the MSRV to 1.88. Since this triggers from a lot of places, and since there even are a couple of instances where we explicitly allow `clippy::collapsible_ifs`, I've opened #2342 for deciding what to do about it.
* arti-relay: rename 'bootstrap()' method to 'init()'Steven Engler2026-02-031-1/+1
| | | | This method won't really be used for bootstrapping anymore.
* arti-relay: move code into a "client" objectSteven Engler2026-02-031-0/+1
|
* maint/add_warning: Run script to add new warningGabriela Moldovan2026-01-271-0/+1
| | | | This adds the lint to all our crates.
* arti-relay: call `tor_log_ratelim::install_runtime`Steven Engler2026-01-141-0/+4
|
* arti-relay: install default ring crypto providerSteven Engler2025-12-091-0/+6
| | | | | | | | This is what arti uses, and fixes the warning: ```text WARN tor_rtcompat::impls::rustls: Creating a RustlsRuntime, but no CryptoProvider is installed. The application should call CryptoProvider::install_default() ```
* arti-relay: move `iter_join` to a new `util` moduleSteven Engler2025-11-121-28/+2
|
* Merge branch 'relay-bin-4' into 'main'opara2025-11-111-2/+10
|\ | | | | | | | | arti-relay: Add OR port listener task See merge request tpo/core/arti!3396
| * arti-relay: use anyhow's error formattingSteven Engler2025-11-051-2/+10
| |
* | Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
|/ | | | Run maint/add_warning
* all: run cargo fmtSteven Engler2025-11-041-1/+1
|
* all: replace all uses of `futures::task::SpawnExt` with `tor_rtcompat::SpawnExt`Steven Engler2025-11-041-1/+1
|
* arti-relay: use `Void` for `TorRelay::run`Steven Engler2025-10-271-2/+5
|
* arti-relay: add some TODO commentsSteven Engler2025-10-211-0/+3
|
* arti-relay: use `TokioRustlsRuntime` instead of `PreferredRuntime`Steven Engler2025-10-211-5/+8
|
* relay: Implement a blocking run() that starts the relayDavid Goulet2025-10-211-3/+6
| | | | | | | | | | | | | | | | 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]>
* relay: Add channel housekeeping taskDavid Goulet2025-10-211-0/+1
| | | | | | | | | | | | This is a background task in charge of expiring closing channels and future work is to also prune duplicate channels. This is not used nor called at this commit, next commit will add the task handling. Part of #2217 Signed-off-by: David Goulet <[email protected]>
* arti-relay: refactor error handlingSteven Engler2025-10-201-3/+11
| | | | | | | 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: replaced `Runtime + ToplevelBlockOn` with `ToplevelRuntime`Steven Engler2025-10-081-3/+3
|
* arti-relay: add a new `TorRelay`Steven Engler2025-10-081-1/+2
|
* arti-relay: store the `TorRelayConfig` in the `InertTorRelay`Steven Engler2025-10-081-2/+2
|
* arti-relay: change `TorRelay` into `InertTorRelay`Steven Engler2025-10-081-3/+3
| | | | We'll add a `TorRelay` back in a following commit.
* arti-relay: log the override options usedSteven Engler2025-10-081-1/+32
|
* arti-relay: add mainloopSteven Engler2025-10-081-8/+59
|
* arti-relay: add `ToplevelBlockOn` to returned runtimeSteven Engler2025-10-081-2/+2
|