| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
We want to be able to create the CfgMgr early so that we can give it
to the RPC code, then add a bunch of reconfigurable modules to it,
and only then launch the file-watcher task.
|
| |
|
|
|
|
|
|
|
| |
Right now this just helps us keep the parts of the
configuration-reloading logic in one place, and clarifies what needs
to be owned by the watcher thread and what doesn't.
Moving forward, this will help make the configuration something
that RPC can inspect and change.
|
| |\
| |
| |
| |
| |
| |
| | |
Removed unnecessary lint
Closes #2556
See merge request tpo/core/arti!4210
|
| | | |
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
|
| |
This will make the output deterministic and enable us to write some
`trycmd` tests in the form of markdown output snippets.
|
| |
|
|
|
|
| |
This actually applies to unrecognized entries too, and besides, most
users aren't going to think in terms of "valid" vs "invalid" entries, so
it's best to omit this qualifier.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This option will primarily be used by integrators who want to modify
the configuration, either directly or via RPC, before launching Arti
completely.
|
| |
|
|
|
|
| |
We'll use this to distinguish "not running" from "running",
in order to make it easier to be sure that non-bootstrapping clients
will definitely not try to connect to the network.
|
| |\
| |
| |
| |
| |
| |
| | |
Set socket buffer sizes (`SO_SNDBUF` and `SO_RCVBUF`) for proxy sockets
Closes #2500
See merge request tpo/core/arti!3957
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I think this adds unnecessary indirection, and it's a bit confusing to
have two separate keystore entry types (we have `KeystoreEntry` too).
This type exists just to server as a wrapper over the `RawEntryId` of an
unrecognized keystore entry, and the `KeystoreId` of the keystore it was
found in.
This commit folds `RawKeystoreEntry` into `UnrecognizedEntry`, which was
previously a thin wrapper over `RawKeystoreEntry`.
|
| | | |
|
| |/
|
|
|
|
| |
This is part of rationalizing the structure of TorClient so we can
refactor startup logic, and so that RPC code can reason about object
identity. See #2469.
|
| |\
| |
| |
| |
| |
| |
| | |
arti: Add option and documentation for http connect, then mark it stable.
Closes #2409
See merge request tpo/core/arti!3811
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This option affects all socks listeners, because:
- We don't have a convenient way to associate an option with each
port.
- The main purpose of having this option is as a switch in case we
discover a major problem with this code.
|
| |/
|
|
|
| |
(With no-default-features there is no runtime, and that still causes
a compiler error.)
|
| |
|
|
|
| |
Instead of doing this when we construct the listeners, we can do it
in a separate method, to simplify the return type.
|
| |
|
|
| |
Part of #2301.
|
| |
|
|
| |
Part of #2301.
|
| |
|
|
|
|
|
|
|
|
|
| |
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'.
```
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Use anyhow::Context to wrap error in useful message.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This will make it easier to see the correspondence between CTorPaths
and the HS client/service key specifiers.
Initially, I was hoping this would make it easier to write a d-d macro
that automatically derives a `CTorPath` variant (e.g.
`HsClientDescEncKeypair`) from the KeySpecifier type name
(`HsClientDescEncKeypairSpecifier`), but alas, I don't think d-d can
"chop off" name suffixes ("Specifier", in this case).
`from_ctor_path()`/`ctor_path()` implementations for converting
`CTorPath`s to and from key specifiers.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Out of all the variants in `KeyPathError`, `Unrecognized` is the odd one
out, because unlike the others, which are mainly just lower level
parsing errors, `Unrecognized` is a higher level error constructed in
`KeyMgr::describe()`.
`KeyMgr::describe()` now returns an `Option`, because
* the failure to describe a user provided `KeyPath` may or may not be
an error
* previously, `describe()` would only ever return `Ok` or
`Err(KeyPathError::Unrecognized)`, which essentially a binary
result. Also, `describe()` would never return any of the other
`KeyPathError` kinds, which further suggests `Unrecognized`
doesn't belong there
The `Unrecognized` variant still exists, but is now part of
`KeystoreCorruptionError`, (returned from
`KeyMgr::validate_entry_integrity()`).
|
| |
|
|
| |
This folds `display_arti_entry()` into `display_entry()`.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
This is no longer needed now that `KeyMgr::describe()` works on
`CTorPath`s.
Removing this special handling has the added bonus that the keymgr CLI
output is now uniform for all keystores (before this change, `keys list`
used a slightly different output format for displaying C Tor entries).
The corresponding tests will be updated in a future commit.
|
| |
|
|
|
|
| |
This was a little funny, since the other storage elements are
declared in tor-client. Fortunately, our stacked configuration
logic handles this fine.
|
| |
|
|
|
| |
This allows applications to find out where arti is listening when
arti has been configured to listen with the port "auto".
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the proxy and dns modules only had "be a proxy"
functions that ran forever. Now they have functions that bind to
listeners and return a separate "be a proxy" future that runs
forever.
This lets us simplify some kludges in subcommands::proxy. More
importantly, it will let us return the bound-to ports so that
subcommands::proxy can write them to disk.
This is a break in experimental-apis, which does not require a
semver change.
|
| | |
|
| |\
| |
| |
| |
| | |
Add `KeyMgr` accessor to `TorClient`
See merge request tpo/core/arti!3442
|
| | |
| |
| |
| |
| |
| | |
`run_check_integrity`
This change simplifies the signature of `run_check_integrity`.
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
| |
Closes #2225
|
| |
|
|
| |
This is _all_ renaming and comment adjustments.
|
| |
|
|
| |
I'm about to add another proxy type.
|
| | |
|