| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
| |
I propose we move each subcommand implementation to a `subcommand`
submodule.
|
| |
|
|
| |
This addresses a TODO.
|
| |\
| |
| |
| |
| | |
relay: Add relay cargo feature flag and subcommand
See merge request tpo/core/arti!2182
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add the optional non default feature flag "relay" that will be used to
enable relay support of arti.
This commit also adds the "relay" subcommand to arti binary conditionnal
on the feature flag in order to have a place holder starting point.
Signed-off-by: David Goulet <[email protected]>
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
On its own, this might not seem like a huge improvement, but it will
later let us implement these RPC methods for types that can't
reasonably implement ClientConnectionTarget.
It also serves as a proof of concept that special-method invocation
can actually work, so that we can build things like this in cases
where introducing a trait isn't practical.
Closes #1427
|
| |
|
|
| |
The context will make it possible to invoke rpc methods.
|
| | |
|
| | |
|
| |
|
|
|
| |
(We don't give an error about unrecognized namespaces (for now),
since we have no way to opt in to them.)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We need to do this carefully, since we want our system to be
extensible with new namespaces.
First, when we are constructing an RpcMgr, we _warn_ about any
method names that are misformed.
Second, we add a test in the `arti` crate to fail if any method
names are invalid. This will only catch method names in crates that
`arti` depends on.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was that Rust won't let us say
```
type ConnTarget<R> = Arc<dyn ClientConnectionTarget>;
```
because the R parameter wasn't used.
Previously we solved this by using a macro instead of a type
definition, which is ugly.
I had been thinking previously I would need to declare some kind of
additional wrapper type, and had shrunk from the verbosity. But
@diziet pointed out that I could just use a 2-tuple unconditionally.
It's still not beautiful, but it is less hideous than before.
|
| |
|
|
| |
(This is a separate commit to make the branch more readable)
|
| | |
|
| |
|
|
|
|
|
|
|
| |
The application creates these, using a new-stream-handle RPC command,
on an object that can actually create streams.
Then later, the application provides the (global) identity of one of
these objects when it's making a SOCKS connection. This causes the
object to take hold of a `DataStreamCtrl`.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(These will later become objects that can receive any application
request, once we have HTTP connect.)
For now, Session and TorClient implement this trait;
but soon there will be a new type to hold on to the created
DataStreamCtrl.
There are some XXXXs here, marking code that is too ugly to live.
I should fix it before I merge this branch.
|
| |\
| |
| |
| |
| |
| |
| | |
add_warning/CI: New strategy to avoid "unexpected-cfgs" warning
Closes #1395
See merge request tpo/core/arti!2129
|
| | |
| |
| |
| | |
This commit is automatically generated.
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
The rustls upgrade will solve #1377 and CVE-2024-32650.
Note that we've had to patch our RustlsProvider impl a bit in order
to keep the tests passing. See comments.
Closes #1377.
|
| |
|
|
|
|
|
| |
(Previously, nothing actually parsed these values in our
configuration.)
Closes #1333.
|
| |
|
|
| |
This will make it possible for our tests to pull them out.
|
| |
|
|
|
| |
Instead, link to documentation, and give the warning about their
security.
|
| |
|
|
| |
Closes #1124.
|
| | |
|
| |\
| |
| |
| |
| | |
Encapsulate usage of config-rs inside tor-config.
See merge request tpo/core/arti!2040
|
| | |
| |
| |
| | |
This will let us replace Config with something better.
|
| | | |
|
| | |
| |
| |
| |
| | |
This will let us test our configuration logic without having
to use the `config` crate directly.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
That's not the default.
|
| |
|
|
|
|
|
|
|
| |
ab950a68 "arti: Add an hss subcommand." mistakenly moved the calls to
`subcommand_required` and `arg_required_else_help` into the
compile-time conditional. But they're related to the main command
parsing.
Fixes #1311
|
| |\
| |
| |
| |
| |
| |
| | |
deny clippy::unchecked_duration_subtraction
Closes #1304
See merge request tpo/core/arti!2008
|
| | | |
|
| | |
| |
| |
| | |
That seems often how we do things elsewhere.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I found this confusing in !2009, where the variable is unused on
Windows: I wondered if this meant our config-reloading only worked on
Unix, since "obviously it would need the TorClient".
But actually the TorClient was only used *in this argument* for its
runtime. The actual reconfiguration of the TorClient is doen by it
being in one of the ReconfigurableModule's.
Change the type of the argument for clarity.
|
| |\ \
| | |
| | |
| | |
| | | |
Fix rust-analyzer problems seen with default features on Windows
See merge request tpo/core/arti!2009
|
| | | |
| | |
| | |
| | |
| | | |
Do not complain on non-unix systems that variable client is not used.
It is only accessed within the function on unix systems.
|
| | | |
| | |
| | |
| | | |
The RpcConfig struct is only used if feature rpc is selected.
|
| | |/
| |
| |
| |
| | |
The local name binding for tor_config::define_list_builder_accessors is
only needed if feature onion-service-service is selected.
|
| |/
|
|
|
| |
Windows has a 100-nanosecond precision, so avoid test failure due to a
known system limitation.
|
| |
|
|
| |
Closes #1298
|
| |\
| |
| |
| |
| |
| |
| | |
arti, arti-client, tor-keymgr: Remove keystore dir configuration.
Closes #1202
See merge request tpo/core/arti!1995
|
| | |
| |
| |
| | |
Closes #1202
|
| |/
|
|
|
| |
This is not implemented. It is better to have it commented out than
providing a knob that isn't connected to anything.
|