aboutsummaryrefslogtreecommitdiff
path: root/crates/arti/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| | |
* | | Merge branch 'ticket_2259' into 'main'Nick Mathewson2025-11-251-1/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti: Put supported request headers in Tor-Capabilties Closes #2259 See merge request tpo/core/arti!3473
| * | | arti: Put supported request headers in Tor-CapabiltiesNick Mathewson2025-11-181-1/+26
| |/ / | | | | | | | | | | | | | | | This is for spec conformance; it is a missing piece of prop365. Closes #2259.
* | | Merge branch 'mistrust-and-the-empty-string' into 'main'Nick Mathewson2025-11-251-2/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fix some errors in and around making directories for logfiles. Closes #2240, #2265, and #2266 See merge request tpo/core/arti!3491
| * | | arti: Make logging parent check work with our MSRV.Nick Mathewson2025-11-251-1/+1
| | | |
| * | | arti: use anyhow::Context on a make_directory failure.Nick Mathewson2025-11-241-1/+6
| | | | | | | | | | | | | | | | | | | | This will improve the error message for problems similar to arti#2240, if they recur.
| * | | arti: Allow a logfile with no directory prefix.Nick Mathewson2025-11-241-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | This should fix the main part of arti#2240. This is an instance of arti#2267 ("Path::parent has funny behavior")
* | | | Merge branch 'intro-dos' into 'main'gabi-2502025-11-251-0/+21
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | arti: Add rate_limit_at_intro to the example config See merge request tpo/core/arti!3493
| * | | | arti: Clarify that the "burst" is not per second.Gabriela Moldovan2025-11-251-1/+1
| | | | |
| * | | | arti: Add rate_limit_at_intro to the example configGabriela Moldovan2025-11-251-0/+21
| |/ / / | | | | | | | | | | | | | | | | | | | | This is mostly c&p from the `rate_limit_at_intro` docs, I just added an extra paragraph to clarify the meaning of the tuple elements (i.e. `(rate, burst)`).
* | | | Merge branch 'max-concurrent-streams' into 'main'Nick Mathewson2025-11-251-0/+5
|\ \ \ \ | |/ / / |/| | | | | | | | | | | hsservice: Clarify what max_concurrent_streams_per_circuit does See merge request tpo/core/arti!3492