aboutsummaryrefslogtreecommitdiff
path: root/crates/arti/src
Commit message (Collapse)AuthorAgeFilesLines
...
* arti: Refactor socks proxy launcher function.Nick Mathewson2026-02-192-16/+40
| | | | Part of #2301.
* arti: Refactor dns proxy launcher function.Nick Mathewson2026-02-192-9/+34
| | | | Part of #2301.
* Merge branch 'mr_3616_rebased' into 'main'Nick Mathewson2026-02-162-0/+42
|\ | | | | | | | | | | | | Mr 3616 rebased Closes #1800 See merge request tpo/core/arti!3681
| * docs: add outbound proxy implementation notesNihal2026-02-161-0/+21
| |
| * docs: add outbound proxyNihal2026-02-161-0/+21
| |
* | Allow clippy::collapsible_if to triggerGabriela Moldovan2026-02-162-0/+2
|/ | | | | | | | | `clippy::collapsible_if` started triggering after bumping the MSRV to 1.88. Since this triggers from a lot of places, and since there even are a couple of instances where we explicitly allow `clippy::collapsible_ifs`, I've opened #2342 for deciding what to do about it.
* arti: Use ErrorSources in extract_proto_errRobert Bartlensky2026-02-141-12/+5
|
* Don't log Circuit Closed errors as warningsrobertb2026-02-051-1/+6
|
* arti: improve error message for invalid socks/dns portSteven Engler2026-02-022-10/+6
| | | | | | | | | | | Uses the standard clap error messages, for example: ```text $ cargo run -p arti -- proxy -p 123a error: invalid value '123a' for '-p <PORT>': invalid digit found in string For more information, try '--help'. ```
* arti: improve help text for `-p` and `-d`Steven Engler2026-02-021-2/+2
|
* arti: remove `resolve_listen_port!` macroSteven Engler2026-01-291-35/+0
| | | | | | I'm undecided whether we want to keep `resolve_alternative_specs` around, but it seems possible/likely that we'll want it in the future, so I think we can keep it.
* arti: remove deprecated `proxy.dns_port` config optionSteven Engler2026-01-293-20/+4
|
* arti: remove deprecated `proxy.socks_port` config optionSteven Engler2026-01-293-21/+9
|
* arti: small changes to socks/dns listen config testsSteven Engler2026-01-291-16/+13
|
* arti: relax '_listen'/'_port' config compat testsSteven Engler2026-01-291-40/+2
| | | | | This is in preparation for removing the `listen_port` and `dns_port` config options.
* arti: reword+reformat warning messageSteven Engler2026-01-291-1/+4
|
* arti: Do not panic when invalid ports are given as arguments to proxyNiel Duysters2026-01-301-2/+8
| | | | Use anyhow::Context to wrap error in useful message.
* arti: Pass the request by referenceGabriela Moldovan2026-01-271-2/+2
| | | | This resolves a newly-triggered lint.
* arti: Make internal helper synchronousGabriela Moldovan2026-01-271-2/+2
|
* maint/add_warning: Run script to add new warningGabriela Moldovan2026-01-272-0/+2
| | | | This adds the lint to all our crates.
* arti: Downgrade CircuitClosed to debug level.Nick Mathewson2026-01-221-3/+20
| | | | | | | This isn't the long-term solution to error reporting and proxies, but it is a start that we can work from. Closes #2304.
* arti: Extract function to find a ProtoError sourceNick Mathewson2026-01-222-11/+22
|
* arti: Fix commented out comment in exampleClara Engler2026-01-221-1/+1
|
* tor-dircommon: Document prop330 syntax betterClara Engler2026-01-221-1/+33
| | | | | This commit adds more documentation/examples for the prop330 syntax for specifying directory authorities.
* Merge branch 'opaque_arti_2.0' into 'main'Nick Mathewson2026-01-154-51/+119
|\ | | | | | | | | | | | | Make all non-main APIs in arti experimental. Closes #2284, #2299, and #419 See merge request tpo/core/arti!3586
| * arti: Resolve unreachable-pub warnings.Nick Mathewson2026-01-132-24/+63
| |
| * arti: rename experimental-api "run" to "run_proxy".Nick Mathewson2026-01-131-1/+1
| | | | | | | | | | Or rather, un-rename it. It's no longer a stable thing, so it doesn't need to have this particular name.
| * Make arti crate opaque by defaultNick Mathewson2026-01-132-27/+56
| | | | | | | | | | | | Only fn main() is now pub when experimental-api is disabled. Closes #2284.
* | arti: call `tor_log_ratelim::install_runtime`Steven Engler2026-01-141-2/+6
|/
* arti: fix path comment in example configSteven Engler2026-01-121-1/+1
|
* Make sure that rpc_state_sender lives as long as the proxies.Nick Mathewson2026-01-121-2/+8
| | | | | | Fixes bug introduced in 0cc367b9fef37c0f7d7f04d54c4687b27ef251d0. Without this fix, RPC's get_proxy_info command wouldn't work.
* keymgr: Make CTorPath more like the client/service specifiersGabriela Moldovan2026-01-061-3/+3
| | | | | | | | | | | | | This will make it easier to see the correspondence between CTorPaths and the HS client/service key specifiers. Initially, I was hoping this would make it easier to write a d-d macro that automatically derives a `CTorPath` variant (e.g. `HsClientDescEncKeypair`) from the KeySpecifier type name (`HsClientDescEncKeypairSpecifier`), but alas, I don't think d-d can "chop off" name suffixes ("Specifier", in this case). `from_ctor_path()`/`ctor_path()` implementations for converting `CTorPath`s to and from key specifiers.
* keymgr: Move Unrecognized errors out of KeyPathErrorGabriela Moldovan2026-01-062-3/+2
| | | | | | | | | | | | | | | | | | | | | Out of all the variants in `KeyPathError`, `Unrecognized` is the odd one out, because unlike the others, which are mainly just lower level parsing errors, `Unrecognized` is a higher level error constructed in `KeyMgr::describe()`. `KeyMgr::describe()` now returns an `Option`, because * the failure to describe a user provided `KeyPath` may or may not be an error * previously, `describe()` would only ever return `Ok` or `Err(KeyPathError::Unrecognized)`, which essentially a binary result. Also, `describe()` would never return any of the other `KeyPathError` kinds, which further suggests `Unrecognized` doesn't belong there The `Unrecognized` variant still exists, but is now part of `KeystoreCorruptionError`, (returned from `KeyMgr::validate_entry_integrity()`).
* arti: Remove no-longer needed helper functionGabriela Moldovan2026-01-061-23/+18
| | | | This folds `display_arti_entry()` into `display_entry()`.
* arti: Remove special handling for C Tor keys (fmt)Gabriela Moldovan2026-01-061-4/+1
|
* arti: Remove special handling for C Tor keysGabriela Moldovan2026-01-061-40/+2
| | | | | | | | | | This is no longer needed now that `KeyMgr::describe()` works on `CTorPath`s. Removing this special handling has the added bonus that the keymgr CLI output is now uniform for all keystores (before this change, `keys list` used a slightly different output format for displaying C Tor entries). The corresponding tests will be updated in a future commit.
* Improve socks_listen/dns_listen documentation.Nick Mathewson2025-12-161-3/+8
|
* arti: Move "port_info_file" configuration into "storage"Nick Mathewson2025-12-163-12/+34
| | | | | | This was a little funny, since the other storage elements are declared in tor-client. Fortunately, our stacked configuration logic handles this fine.
* arti: tweak port_info documentation.Nick Mathewson2025-12-161-0/+3
|
* arti: Export the chosen ports in a ports_info.json file.Nick Mathewson2025-12-167-24/+266
| | | | | This allows applications to find out where arti is listening when arti has been configured to listen with the port "auto".
* arti: Change how proxy futures are returned.Nick Mathewson2025-12-163-26/+45
| | | | | | | | | | | | | | Previously, the proxy and dns modules only had "be a proxy" functions that ran forever. Now they have functions that bind to listeners and return a separate "be a proxy" future that runs forever. This lets us simplify some kludges in subcommands::proxy. More importantly, it will let us return the bound-to ports so that subcommands::proxy can write them to disk. This is a break in experimental-apis, which does not require a semver change.
* arti: tweak docs, add TODOs with respect to Listener.Nick Mathewson2025-12-163-1/+6
|
* arti: Log the actual addresses we are listening on.Nick Mathewson2025-12-162-4/+10
|
* Remove unnecessary `doc(cfg(...))` attributesNeel Chauhan2025-12-041-1/+0
| | | | | | | | | Fixes part of #2193. (Edits from nickm: I selected the cases here that I could verify were correct from immediate context.) Edited-by: Nick Mathewson <[email protected]>
* Merge branch 'torclient-keymgr-accessor' into 'main'wesleyac2025-12-031-12/+10
|\ | | | | | | | | Add `KeyMgr` accessor to `TorClient` See merge request tpo/core/arti!3442
| * arti: keys: use `TorClient::keymgr` instead of `InertTorClient::keymgr` in ↵hjrgrn2025-11-051-12/+10
| | | | | | | | | | | | `run_check_integrity` This change simplifies the signature of `run_check_integrity`.
* | Merge branch 'listen' into 'main'opara2025-12-022-2/+2
|\ \ | | | | | | | | | | | | tor-config: Refactor `Listen` to make usable for arti-relay See merge request tpo/core/arti!3469
| * | tor-config: rename `Listen::is_localhost_only` to `is_loopback_only`Steven Engler2025-12-022-2/+2
| | | | | | | | | | | | Assumes that 0.37.0 will be the next version number.
* | | arti: Adjust a no-longer acccurate hss docGabriela Moldovan2025-12-011-1/+1
| | |
* | | arti: Add missing subcommand docsGabriela Moldovan2025-12-014-0/+6
| | |