aboutsummaryrefslogtreecommitdiff
path: root/crates/arti/src/rpc
Commit message (Collapse)AuthorAgeFilesLines
* arti: Give an Arc<CfgMgr> to RPC superuser sessions.Nick Mathewson7 days2-2/+10
|
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-092-0/+2
| | | | | | | | | | | | This commit executes maint/add_warning with the just added change to deny string slices except in tests. I recommend auditing this by checking out the previous commit followed by running the script yourself and then verifying that the diff is identical to this commit. This commit makes cargo clippy fail. We will add exceptions in the next commit.
* arti: rpc functionality to bootstrap a defer_bootstrapped client.Nick Mathewson2026-06-082-5/+77
|
* Make TorClient no longer implement Clone.Nick Mathewson2026-05-132-3/+3
|
* Make all TorClient constructors wrap the TorClient in an Arc.Nick Mathewson2026-05-132-2/+2
| | | | | | 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.
* Merge branch 'typos' into 'main'opara2026-03-161-1/+1
|\ | | | | | | | | Fix various typos See merge request tpo/core/arti!3781
| * Fix word duplicate typosTobias Stoeckmann2026-03-151-1/+1
| |
* | rpc: Add support for set_dormant.Nick Mathewson2026-03-162-7/+57
| | | | | | | | | | This is not exactly the most _urgent_ superuser functionality, but it is probably the easiest to implement.
* | rpc: Implement superuser mode.Nick Mathewson2026-03-163-5/+48
|/ | | | | When connection point provides superuser support, provide a (currently inert) RpcSuperuser object to the RPC session.
* arti: Port rpc configuration to dd(TorConfig).Nick Mathewson2026-02-241-43/+58
|
* arti: Extract responsibility for port listing.Nick Mathewson2026-02-192-21/+40
| | | | | Instead of doing this when we construct the listeners, we can do it in a separate method, to simplify the return type.
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-062-2/+2
| | | | Run maint/add_warning
* all: replace all uses of `futures::task::SpawnExt` with `tor_rtcompat::SpawnExt`Steven Engler2025-11-041-1/+1
|
* http_connect: Advertise listener capabilities to RPCNick Mathewson2025-10-282-7/+25
|
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-072-7/+7
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* arti: resolve a variant-size-difference warning.Nick Mathewson2025-05-151-1/+1
|
* Add examples and tests for RPC options.Nick Mathewson2025-03-251-2/+2
| | | | Closes #1830.
* 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-231-1/+0
|/ | | | | | 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.
* rpc: Add a test for config parsing and defaults.Nick Mathewson2024-12-191-1/+1
|
* rpc: Rename RpcListnerConfig=>RpcListenerSetConfig to clarify plurality.Nick Mathewson2024-12-191-14/+17
|
* rpc: Test that we can parse our defaults.Nick Mathewson2024-12-191-1/+24
|
* rpc: comments to explain where connect points are disabled.Nick Mathewson2024-12-191-1/+6
|
* rpc: Make names reflect configuration keys better.Nick Mathewson2024-12-191-17/+11
|
* rpc: Document that default-index is 1-basedNick Mathewson2024-12-191-0/+3
|
* Rename Guard=>ListenerGuard.Nick Mathewson2024-12-191-3/+3
|
* 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-191-0/+7
|
* 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-191-2/+216
|
* rpc: Configuration options for artiNick Mathewson2024-12-191-0/+126
| | | | | | 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.
* 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`.
* rpc: clarify documentation and fix typosNick Mathewson2024-10-021-1/+3
| | | | Based on review from @opara.
* Revise RPC documentation to be more informative.Nick Mathewson2024-10-022-5/+17
| | | | | | Previous documentation was more-or-less meant for the Arti developer only. This new documentation is intended for actual users of RPC functionality. It's meant to be extracted with `maint/rpc-doc-tool`.
* rpc: add mandatory delegate-type attribute to Object templateNick Mathewson2024-09-241-1/+4
| | | | | | | When specifying a delegation, the template user must also say what type they're delegating to. We're going to use this to document and expose delegations.
* rpc: Fix argument type for rpc_session_get_rpc_proxy_infoNick Mathewson2024-09-111-1/+1
| | | | | | | Without this, we get a panic on startup when running with RPC! (This stresses the need for an integration test for RPC; I will start writing that after the Python wrapper lands.)
* arti/rpclib: Tweak proxy_info format.Nick Mathewson2024-09-092-2/+4
| | | | | | | Renamed address to tcp_address, and made it optional, so that later we can have a unix_path, etc. On deser side, add support for unrecognized listener types.
* arti/rpclib: Lowercase our socks5 listener variant.Nick Mathewson2024-09-091-0/+1
|
* arti: add and document get_rpc_proxy_info method.Nick Mathewson2024-09-091-2/+38
| | | | | | | | Currently this behaves the same as get_proxy_info, but this may change in the future, if we introduce RPC-unsuitable proxy ports. (Also rename the get_proxy_info method to avoid x_ prefix.)
* Fix typosDimitris Apostolou2024-09-031-1/+1
|
* rpc: Use MockRuntime for set_proxy_info test.Nick Mathewson2024-08-281-2/+2
|
* rpc: Add a test for setting proxy info.Nick Mathewson2024-08-282-0/+43
|
* rpc: Rename E::SenderDroppedNick Mathewson2024-08-281-5/+6
|
* rpc: Try another incantation for watching for ProxyInfo.Nick Mathewson2024-08-281-13/+7
|
* rpc: Add another layer of indirection on proxyinfoNick Mathewson2024-08-282-3/+12
|
* rpc: Try using postage::watch to initialize ProxyInfo.Nick Mathewson2024-08-282-25/+70
| | | | | (This is a bit trickier than I would like, but it ensures that we never return a "not initialized yet" code.)
* RPC: Add experimental method to list SOCKS proxies.Nick Mathewson2024-08-282-5/+103
| | | | | | | We'll need this for our rpc-library code to meaningfully open SOCKS connections. Closes #1523.