| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
| |
Removed unnecessary lint
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| |
| |
| | |
Allow compile-time selection of rustls CryptoProvider; use aws-lc-rs by default.
Closes #2448
See merge request tpo/core/arti!3857
|
| | | |
|
| |/
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Typos found with codespell
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
`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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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'.
```
|
| | |
|
| |
|
|
| |
This adds the lint to all our crates.
|
| |\
| |
| |
| |
| |
| |
| | |
Make all non-main APIs in arti experimental.
Closes #2284, #2299, and #419
See merge request tpo/core/arti!3586
|
| | |
| |
| |
| |
| | |
Or rather, un-rename it. It's no longer a stable thing, so it
doesn't need to have this particular name.
|
| | |
| |
| |
| |
| |
| | |
Only fn main() is now pub when experimental-api is disabled.
Closes #2284.
|
| |/ |
|
| |
|
|
|
| |
This allows applications to find out where arti is listening when
arti has been configured to listen with the port "auto".
|
| |
|
|
| |
Run maint/add_warning
|
| |
|
|
| |
Closes #2225
|
| |
|
|
| |
I'm about to add another proxy type.
|
| |
|
|
| |
This feature has been removed from nightly, in favor of doc_cfg.
|
| |
|
|
|
| |
I've added these in places that are useful for the debugging that I've
been doing.
|
| | |
|
| |
|
|
| |
See #1977, #2122.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>>>`
|
| |
|
|
| |
See #2060.
|
| | |
|
| |
|
|
|
|
| |
Clippy nightly detects this problem, though earlier clippy verisons
haven't. The common element here is applying unwrap() to the result
from a write!().
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
| |
This was necessary before we had support for implementing
RPC methods on generic types.
|
| |
|
|
|
|
| |
Denies 'mod.rs' files for consistency.
https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Rather than using `arti_client::config::path_resolver()`, third-party
code can get the path resolver using `TorClientConfig`s
`AsRef<CfgPathResolver>` impl instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| | |
Disable a lot of dead code warnings and add a default-runtime feature in arti
See merge request tpo/core/arti!2551
|
| | |
| |
| |
| |
| |
| |
| | |
Now
cargo check --workspace --no-default-features --all-targets
cargo build -p arti --no-default-features --features=memquota,tokio,native-tls
are both clean.
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
| |
This new feature is experimental.
|
| |
|
|
|
|
|
| |
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`).
|
| |
|
|
| |
The tests were added in !2275
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
No functional changes, this is just code motion.
|
| |
|
|
|
| |
(This is a bit trickier than I would like, but it ensures that we
never return a "not initialized yet" code.)
|