| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
| |
(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.
|
| |\
| |
| |
| |
| |
| |
| | |
Require the Fast and Stable flags as appropriate.
Closes #1100
See merge request tpo/core/arti!1976
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
Instead of using complicated match statements, use downcasting
to find error types that define specific hints. This also lets us
define a reasonable hint-extractor for anyhow::Error, and use it
when reporting errors in main.
I've left an implementation of hint() in `impl Error`, to
avoid breaking backward compatibility.
Closes #1165.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Since Rust 1.66, std's default works properly for enums, provided that
the default variant is a unit.
Review all uses of `#[educe(default)]` on enums and replace them with
std where possible, which is most of them.
In 1.66 and later, std's `#[derive(Default)]` doesn't infer any
generic bounds on the derived impl, where it's an enum - since the
unit variant can always be constructed. So this change doesn't add
any generic bounds and is not API-visible.
|
| | |
|
| |
|
|
| |
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1917#note_2988815
|
| | |
|