| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
This is the major part of #1849.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Part of #1849.
Note that these functions are distributed across crates,
so that if (in the future) we stop doing API breaks
with every release, we will get the right outputs.
Note also that these functions build the list of protocols
out of specific symbolic features, rather than numbers:
this makes it easier to avoid errors about "which feature was
Relay=4 again", and easier to avoid accidentally referring to a
protocol that doesn't exist, like "Consensus" (should be "Cons")
or "HsDir" (case is wrong).
|
| |\
| |
| |
| |
| | |
arti-client: Add ErrorDetail::OnionServiceSetup
See merge request tpo/core/arti!2923
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
replace state_dir and storage_mistrust with tor_persist::state_dir::StateDirectory
See merge request tpo/core/arti!2863
|
| | |
| |
| |
| | |
tor_persist::state_dir::StateDirectory
|
| |/
|
|
| |
- `rand::thread_rng()` has been deprecated and renamed to `rand::rng()`
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Our documentation had dated to an older version of our RPC stream
code, where all streams were automatically optimistic.
But as explained, our use of "optimistic"ness in RPC stream code is
now purely internal, to make it possible to get an DataStreamCtrl.
This isn't user-visible in our rpc_conn_open_stream code.
Closes #1583
|
| |\
| |
| |
| |
| | |
clippy: deny `mod_module_files`
See merge request tpo/core/arti!2689
|
| | |
| |
| |
| |
| |
| | |
Denies 'mod.rs' files for consistency.
https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
|
| |/ |
|
| |
|
|
|
| |
This time, we make explicit that it is a _base_ resolver,
and that it is client-only.
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Also updated to use the `PATH_RESOLVER` resolver.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
tor-hscrypto: Abolish the HasKind impl of HsIdParseError.
Closes #1483
See merge request tpo/core/arti!2607
|
| | |
| |
| |
| |
| | |
We only ever return `BadOnionAddress` is we are asked to connect to a
.onion address that doesn't parse.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also changes the `ErrorKind` of `BadOnionAddress` to
`ForbbiddenStreamTarget`.
See context in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2246#note_3045683
Closes #1483
|
| |/
|
|
|
| |
Also updated other packages to get `CfgPath` directly from
`tor-config-path' instead of 'tor-config'.
|
| |
|
|
|
|
|
| |
Now
cargo check --workspace --no-default-features --all-targets
cargo build -p arti --no-default-features --features=memquota,tokio,native-tls
are both clean.
|
| |\
| |
| |
| |
| |
| |
| | |
rpc spec: Start to document method naming convention
Closes #1678
See merge request tpo/core/arti!2539
|
| | |
| |
| |
| | |
Closes #1678.
|
| |/
|
|
| |
Fixes a TODO.
|
| |
|
|
|
| |
This broke because `tor_keymgr::config::arti` was moved to
`tor_keymgr::config`.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
This deduplicates the keymgr building logic in preparation for
supporting C Tor keystores (building the keymgr in a central place makes
things a bit easier, because regardless of the `kind` of the primary
keystore, we will need to extend the `KeyMgrBuilder` with the configured
secondary `ctor` keystores, if any).
|
| |
|
|
|
|
|
|
| |
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`
|
| |\
| |
| |
| |
| |
| |
| | |
Default allow_onion_addrs to true.
Closes #1402
See merge request tpo/core/arti!2506
|
| | |
| |
| |
| |
| |
| |
| | |
This was disabled due to lack of vanguard support. Now that we support
vanguards, we should enable this by default.
Fixes: #1402
|
| |/
|
|
|
|
|
|
|
|
| |
Currently, arti-client doesn't compile with just the features
experimental-api and onion-service-client enabled, because it
incorrectly depends on tor-hsservice.
This fixes that by gating the use statement behind the correct feature.
Fixes: #1638
|
| |\
| |
| |
| |
| | |
Implement memory quota tracking
See merge request tpo/core/arti!2493
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| | |
During startup we'll call a few not-just-at-startup memquota methods
which produce tor_memquota::Error, rather than StartupError. So we
need a variant for that.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
arti-client: Clarify the launch_onion_service_with_hsid() docs.
Closes #1626
See merge request tpo/core/arti!2494
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This updates the docs to mention that the specified key may get
actually persisted to disk.
Closes #1626
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Use the new "restricted discovery" terminology throughout
Closes #1476
See merge request tpo/core/arti!2495
|