summaryrefslogtreecommitdiff
path: root/crates/arti/src
Commit message (Collapse)AuthorAgeFilesLines
* Add examples and tests for RPC options.Nick Mathewson2025-03-253-3/+121
| | | | Closes #1830.
* arti: warn when rpc options are set without rpc feature.Nick Mathewson2025-03-251-0/+21
| | | | Closes #1309.
* Merge branch '1630-scrub-address-from-output' into 'main'gabi-2502025-03-191-23/+28
|\ | | | | | | | | | | | | hsc: remove onion-address flag in favour of stdin Closes #1630 See merge request tpo/core/arti!2861
| * hsc: Improve get_onion_address functionhjrgrn2025-03-181-2/+3
| |
| * hsc: Add --quite CLI flaghjrgrn2025-03-171-10/+15
| | | | | | | | | | * Add `quite` to the common arguments * Substitute dialoguer in favor of `read_line` in `get_onion_address`
| * hsc: Improve get_onion_address functionhjrgrn2025-03-171-4/+3
| |
| * hsc: remove onion-address flag in favour of stdinhjrgrn2025-03-141-22/+22
| | | | | | | | | | * The user will be prompted interactively for the onion-address to prevent onion-address leaking in shell history
* | Merge branch 'hsc-lf' into 'main'gabi-2502025-03-181-1/+1
|\ \ | |/ |/| | | | | arti: hsc-key-get: Print LF after discovery key See merge request tpo/core/arti!2856
| * arti: hsc-key-get: Print LF after discovery keyplaybahn2025-03-131-1/+1
| | | | | | | | | | Did not print a newline after service discovery key. Looked bad. Prints newline now. Looks better.
* | hsc: remove TODO about display_service_discovery_key error handling.hjrgrn2025-03-141-1/+0
|/
* Deprecate --onion-name; introduce --onion-addressdisha2025-03-122-30/+42
|
* arti: Remove incorrect deprecation warning in hschjrgrn2025-03-101-1/+0
|
* tor-rtcompat: Remove ToplevelBlockon from RuntimeIan Jackson2025-03-042-5/+5
| | | | | | | | Introduce ToplevelRuntime as an alias, and use it in the top-level programs. Now none of the principal protocol implementation code has access to the executor's toplevel entrypoint, and can't call it by mistake.
* arti: Disable color when stdout is not a tty.Nick Mathewson2025-02-241-1/+7
| | | | | Closes #1763. Closes #1862.
* socks.rs: Update documentation; RpcDataStream has been renamed.Nick Mathewson2025-01-301-9/+5
|
* rpc: Correct API documentation about optimismNick Mathewson2025-01-301-2/+1
| | | | | | | | | | | 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
* Merge branch 'rpc-missing-dir' into 'main'Nick Mathewson2025-01-231-8/+16
|\ | | | | | | | | rpc: Tolerate NotFound on configured connect point directory. See merge request tpo/core/arti!2735
| * connpts: Document behavior on nonexistent directoryNick Mathewson2025-01-231-0/+2
| |
| * rpc: Tolerate NotFound on configured connect point directory.Nick Mathewson2025-01-231-8/+14
| | | | | | | | | | | | | | | | If Arti tries to bind to a directory of connect points, and that directory isn't there, the right behavior is to treat the directory as if it were empty. Otherwise, the user would have to create the default connect point directory (as empty) before Arti would start.
* | 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.