aboutsummaryrefslogtreecommitdiff
path: root/crates/arti/src/lib.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
* 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.
* Merge branch 'rustls-defaults' into 'main'Nick Mathewson2026-04-081-7/+23
|\ | | | | | | | | | | | | Allow compile-time selection of rustls CryptoProvider; use aws-lc-rs by default. Closes #2448 See merge request tpo/core/arti!3857
| * arti: Allow choice of CryptoProvider; use aws-lc-rs by default.Nick Mathewson2026-04-081-7/+23
| |
* | arti: Fix help message display orderhjrgrn2026-04-081-4/+6
|/ | | | | | | | Call `clap_app`'s metadata methods after `augment_subcommands`. If `about` is set before `augment_subcommands`, the subcommand enums' doc comment overrides it. Now, all metadata (e.g. about, version) is set after augmentation for consistency and correct help output.
* Fix typosTobias Stoeckmann2026-03-241-1/+1
| | | | Typos found with codespell
* arti: Migrate top-level configuration to dd(TorConfig).Nick Mathewson2026-02-241-6/+16
|
* arti: Port rpc configuration to dd(TorConfig).Nick Mathewson2026-02-241-2/+2
|
* 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: improve error message for invalid socks/dns portSteven Engler2026-02-021-0/+2
| | | | | | | | | | | Uses the standard clap error messages, for example: ```text $ cargo run -p arti -- proxy -p 123a error: invalid value '123a' for '-p <PORT>': invalid digit found in string For more information, try '--help'. ```
* arti: improve help text for `-p` and `-d`Steven Engler2026-02-021-2/+2
|
* maint/add_warning: Run script to add new warningGabriela Moldovan2026-01-271-0/+1
| | | | This adds the lint to all our crates.
* Merge branch 'opaque_arti_2.0' into 'main'Nick Mathewson2026-01-151-9/+30
|\ | | | | | | | | | | | | Make all non-main APIs in arti experimental. Closes #2284, #2299, and #419 See merge request tpo/core/arti!3586
| * arti: rename experimental-api "run" to "run_proxy".Nick Mathewson2026-01-131-1/+1
| | | | | | | | | | Or rather, un-rename it. It's no longer a stable thing, so it doesn't need to have this particular name.
| * Make arti crate opaque by defaultNick Mathewson2026-01-131-9/+30
| | | | | | | | | | | | Only fn main() is now pub when experimental-api is disabled. Closes #2284.
* | arti: call `tor_log_ratelim::install_runtime`Steven Engler2026-01-141-2/+6
|/
* arti: Export the chosen ports in a ports_info.json file.Nick Mathewson2025-12-161-2/+2
| | | | | This allows applications to find out where arti is listening when arti has been configured to listen with the port "auto".
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
| | | | Run maint/add_warning
* arti: Revise strings that implied that we were a SOCKS-only proxy.Nick Mathewson2025-10-281-1/+2
| | | | Closes #2225
* Rename "arti::socks" to "arti::proxy".Nick Mathewson2025-10-281-1/+1
| | | | I'm about to add another proxy type.
* Remove "doc_auto_cfg" incantation from all crates.Nick Mathewson2025-09-291-1/+1
| | | | This feature has been removed from nightly, in favor of doc_cfg.
* opentelemetry: Add some instrument macros.Wesley Aptekar-Cassels2025-09-241-1/+2
| | | | | I've added these in places that are useful for the debugging that I've been doing.
* arti: keys: Add `keys check-integrity` CLI toolhjrgrn2025-09-041-1/+1
|
* Document why we are using ring with rustlsNick Mathewson2025-08-191-0/+4
| | | | See #1977, #2122.
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-6/+9
| | | | | | | | | | | | | | 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.
* arti: hss: Add `arti hss ctor-migrate`hjrgrn2025-07-311-1/+1
|
* arti: keys: Add arti keys-rawhjrgrn2025-07-141-2/+5
| | | | | | | | | | | | | | | | | | | * CLI: Add `keys-raw` and subcommand `remove-by-path` * arti: Add `arti::subcommand::raw` for the CLI `keys-raw` * tor-keymgr: Add `ArtiNativeKeystoreError::UnexpectedRawEntry`, `ArtiEphemeralKeystoreError::NotSupported` * tor-keymgr: Add `tor-keymgr::raw` module * tor-keymgr: Add `Keystore::remove_unchecked` * tor-keymgr: Change `Keystore::list` to return `KeystoreEntry` * tor-keymgr: Add field `KeystoreEntry::raw_id` * doc: Update keys.md * doc: Add raw.md * tor-keymgr: BREAKING: `UnrecognizedEntryError::new` associated function is now only accessible within the crate `tor-keymgr` * tor-keymgr: BREAKING: `UnrecognizedEntryId` is renamed to `UnrecognizedEntry` * tor-keymgr: BREAKING: `KeyMgr::list()` and `Keystore::list()` now return `Result<Vec<KeystoreEntryResult<KeystoreEntry>>>`
* Temporarily suppress mismatched_lifetime_syntaxes.Gabriela Moldovan2025-07-071-0/+1
| | | | See #2060.
* arti: Add keys list and keys list-keystoreshjrgrn2025-06-121-1/+20
|
* arti, cell, dirclient: Use expect instead of unwrap.Nick Mathewson2025-05-291-1/+1
| | | | | | Clippy nightly detects this problem, though earlier clippy verisons haven't. The common element here is applying unwrap() to the result from a write!().
* tor-rtcompat: Remove ToplevelBlockon from RuntimeIan Jackson2025-03-041-2/+2
| | | | | | | | Introduce ToplevelRuntime as an alias, and use it in the top-level programs. Now none of the principal protocol implementation code has access to the executor's toplevel entrypoint, and can't call it by mistake.
* arti: Make Rpc argument unconditional when constructing socks proxyNick Mathewson2025-01-231-2/+1
| | | | | | Formerly this was a conditional method argument, which is a huge antipattern. Now it is unconditionally present, as `Option<T>` for a type that is uninhabited when RPC isn't supported.
* arti: Remove old workaround for runtime selection under RPC.Nick Mathewson2025-01-231-6/+1
| | | | | This was necessary before we had support for implementing RPC methods on generic types.
* clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* arti-client: add path resolver to `TorClient` and `TorClientConfig`Steven Engler2024-11-181-1/+1
| | | | | | Rather than using `arti_client::config::path_resolver()`, third-party code can get the path resolver using `TorClientConfig`s `AsRef<CfgPathResolver>` impl instead.
* update `CfgPath::path` to use a `CfgPathResolver`Steven Engler2024-11-181-0/+1
| | | | | | | | | | | | | | | | 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.
* Merge branch 'dead' into 'main'Alexander Hansen Færøy2024-10-171-0/+2
|\ | | | | | | | | Disable a lot of dead code warnings and add a default-runtime feature in arti See merge request tpo/core/arti!2551
| * Disable a lot of dead code warningsIan Jackson2024-10-171-0/+2
| | | | | | | | | | | | | | Now cargo check --workspace --no-default-features --all-targets cargo build -p arti --no-default-features --features=memquota,tokio,native-tls are both clean.
* | arti: remove 'relay' subcommand and 'arti-relay' depSteven Engler2024-10-151-16/+1
|/
* arti: move 'relay' subcommand to 'subcommands::relay' moduleSteven Engler2024-09-251-9/+4
|
* arti: Gate the arti hsc subcommand behind a new "hsc" feature (fmt).Gabriela Moldovan2024-09-191-4/+1
|
* arti: Gate the arti hsc subcommand behind a new "hsc" feature.Gabriela Moldovan2024-09-191-7/+3
| | | | This new feature is experimental.
* arti: Add an enum for the hss subcommand.Gabriela Moldovan2024-09-171-27/+8
| | | | | | | This is needed because we'll soon add an `hss get-key` subcommand for getting and/or generating a service identity key alongside `hss onion-name` (`hss onion-name` will become a convenience around `hss get-key --key-type=onion-name`).
* arti: Remove a completed TODO.Gabriela Moldovan2024-09-171-1/+0
| | | | The tests were added in !2275
* arti: Move proxy subcommand to a separate module.Gabriela Moldovan2024-09-121-34/+5
| | | | | | | | No functional changes, this is just code motion. This helps organize the code in `arti/src/lib.rs` a bit. It now only contains the argument parsing and various other setup, and all the subcommands are contained in separate modules.
* arti: Move arti::run to subcommands::proxy.Gabriela Moldovan2024-09-121-154/+4
| | | | No functional changes, this is just code motion.
* rpc: Try using postage::watch to initialize ProxyInfo.Nick Mathewson2024-08-281-3/+3
| | | | | (This is a bit trickier than I would like, but it ensures that we never return a "not initialized yet" code.)