summaryrefslogtreecommitdiff
path: root/crates/arti/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | arti: Make Rpc argument unconditional when constructing socks proxyNick Mathewson2025-01-236-33/+43
| | | | | | | | | | | | 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.
* | arti::socks: Re-wrap a section.Nick Mathewson2025-01-231-2/+3
| | | | | | | | | | rust-analyzer keeps re-wrapping this piece for me, even though rustfmt doesn't complain.
* | arti: remove an obsolete rpc todo.Nick Mathewson2025-01-231-1/+0
| | | | | | | | Information _is_ passed to the RpcMgr, via the argument to new_connection.
* | arti: remove an obsolete rpc todo.Nick Mathewson2025-01-231-1/+0
| | | | | | | | | | The RpcMgr does indirectly hold a reference to the client, via its make_session argument.
* | arti: remove an obsolete rpc todo.Nick Mathewson2025-01-231-1/+0
| | | | | | | | We _do_ have error detection from this function, and have for ages.
* | arti: Remove old workaround for runtime selection under RPC.Nick Mathewson2025-01-231-6/+1
|/ | | | | This was necessary before we had support for implementing RPC methods on generic types.
* rpc: Rename new_stream_handle to new_oneshot_client.Nick Mathewson2025-01-151-1/+1
| | | | | | | | This method doesn't actually create a new stream; it creates a single-use client object that can be used with SOCKS to launch a new stream, and capture an RPC object for that stream. Closes #1664.
* arti-rpcserver: Tell connections what kind of auth to expect.Nick Mathewson2025-01-151-13/+1
|
* Merge branch 'mod-module-files' into 'main'Nick Mathewson2025-01-072-0/+2
|\ | | | | | | | | clippy: deny `mod_module_files` See merge request tpo/core/arti!2689
| * clippy: deny `mod_module_files`Steven Engler2025-01-062-0/+2
| | | | | | | | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* | fix: fix typosDimitris Apostolou2025-01-061-1/+1
|/
* rpc: Add a test for config parsing and defaults.Nick Mathewson2024-12-192-1/+90
|
* rpc: Clarify listen_defaults behavior.Nick Mathewson2024-12-191-1/+2
|
* rpc: Rename RpcListnerConfig=>RpcListenerSetConfig to clarify plurality.Nick Mathewson2024-12-191-14/+17
|
* rpc: Test that we can parse our defaults.Nick Mathewson2024-12-192-1/+35
|
* rpc: comments to explain where connect points are disabled.Nick Mathewson2024-12-192-1/+7
|
* rpc: Make names reflect configuration keys better.Nick Mathewson2024-12-191-17/+11
|
* rpc: Document that default-index is 1-basedNick Mathewson2024-12-192-1/+5
|
* Rename Guard=>ListenerGuard.Nick Mathewson2024-12-192-4/+4
|
* rpc: Add a comment to explain what load_options is doing.Nick Mathewson2024-12-191-0/+2
|
* rpc: More logging when binding addressesNick Mathewson2024-12-192-1/+25
|
* arti::rpc: Refactor listener options to support defaults properlyNick Mathewson2024-12-191-31/+75
| | | | | | | | | | | We want to have every option that applies to a connect point (other than file or dir) exist both as a default version, and as a per-file override. This approach lets us do so: We store _builders_ for these options in the config, and then use ExtendBuilder to merge them together. (There aren't yet any options other than 'enable', but there will be before long.)
* arti::rpc: Rename "overrides" field and type.Nick Mathewson2024-12-191-18/+17
| | | | | Per discussion with Diziet, these aren't really "overriding" anything; they're the actual options for a single connect point.
* arti: Use connect points to listen for RPC connections.Nick Mathewson2024-12-193-88/+330
|
* arti: Disable RPC reconfiguration for nowNick Mathewson2024-12-192-1/+5
|
* rpc: Configuration options for artiNick Mathewson2024-12-192-1/+157
| | | | | | This adds the options currently specified in rpc-connect-point.rs, though they don't do anything yet. We still have to implement the correct defaulting behavior.
* arti: Move RpcConfig to rpc.rsNick Mathewson2024-12-192-29/+33
|
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-032-0/+2
| | | | | | | | 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.
* arti: Add onion_service.enable_pow option.Wesley Aptekar-Cassels2024-11-251-0/+4
| | | | This currently is not implemented.
* arti-client: add path resolver to `TorClient` and `TorClientConfig`Steven Engler2024-11-182-2/+2
| | | | | | Rather than using `arti_client::config::path_resolver()`, third-party code can get the path resolver using `TorClientConfig`s `AsRef<CfgPathResolver>` impl instead.
* update `CfgPath::path` to use a `CfgPathResolver`Steven Engler2024-11-183-6/+16
| | | | | | | | | | | | | | | | 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-config: removed re-export of `CfgPath`Steven Engler2024-11-042-5/+6
| | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* tor-memquota: Declare memquota feature stable, and defaultIan Jackson2024-10-221-1/+0
| | | | | | | | And document the Cargo features. This compiles in the memquota support for people who depend directly on tor-memquota. But all our in-tree dependencies turn off default features, so this doesn't have any effect for in-tree crates.
* arti cfg tests: Clarify here and thereIan Jackson2024-10-221-1/+2
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2561#note_3097443
* arti cfg tests: Fix typoIan Jackson2024-10-221-1/+1
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2561#note_3097442
* minimal features test: Introduce new --cfg arti_features_preciseIan Jackson2024-10-221-1/+6
| | | | | Work around awkward cargo behaviour and allow us to more reliably test disabled features, even if they're enabled by default at lower levels.
* rpcserver: Wrap InvokeError as internal errorNick Mathewson2024-10-171-3/+10
| | | | | | | | | I'm about to remove HasKind from InvokeError, which would otherwise break this code. These errors are all in fact internal errors, since in this context they can only stem from incorrectly formed calls to `invoke_special_method`.
* Merge branch 'dead' into 'main'Alexander Hansen Færøy2024-10-171-0/+2
|\ | | | | | | | | Disable a lot of dead code warnings and add a default-runtime feature in arti See merge request tpo/core/arti!2551
| * Disable a lot of dead code warningsIan Jackson2024-10-171-0/+2
| | | | | | | | | | | | | | Now cargo check --workspace --no-default-features --all-targets cargo build -p arti --no-default-features --features=memquota,tokio,native-tls are both clean.
* | Merge branch 'fs-watcher-poll' into 'main'gabi-2502024-10-172-0/+9
|\ \ | | | | | | | | | | | | | | | | | | tor-config: Use a polling watcher on non-windows platforms that don't have inotify. Closes #1644 See merge request tpo/core/arti!2547
| * | arti: Add a warning about watch_configuration's performance issues.Gabriela Moldovan2024-10-171-0/+7
| | | | | | | | | | | | Part of #1644
| * | tor-config: Document the limitations of the FileWatcher.Gabriela Moldovan2024-10-161-0/+2
| |/
* / arti: remove 'relay' subcommand and 'arti-relay' depSteven Engler2024-10-153-46/+1
|/
* tor-keymgr: Move C Tor keystore configs under ctor key.Gabriela Moldovan2024-10-082-4/+5
| | | | | | | This way we have a more intuitive layout, where all C Tor keystore configuration is under the `ctor` key. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2481#note_3090486
* tor-keymgr: Add configuration for C Tor client keystores.Gabriela Moldovan2024-10-082-4/+25
| | | | | This is intentionally partially mis-indented to make this more reviewable (in case the reviewer isn't using `ignore-all-space`).
* arti-client: Use the configured C Tor keystores, if any.Gabriela Moldovan2024-10-081-8/+1
|
* arti: Remove extraneous whitespace from example config.Gabriela Moldovan2024-10-081-1/+1
|
* tor-keymgr: Add configuration for C Tor service keystores.Gabriela Moldovan2024-10-082-0/+41
|
* Default allow_onion_addrs to true.Wesley Aptekar-Cassels2024-10-071-10/+1
| | | | | | | This was disabled due to lack of vanguard support. Now that we support vanguards, we should enable this by default. Fixes: #1402
* Merge branch 'prop351-refs' into 'main'Jim Newsome2024-10-031-7/+10
|\ | | | | | | | | | | | | Replace references to prop351 with socks-extensions.md Closes #1629 See merge request tpo/core/arti!2492