summaryrefslogtreecommitdiff
path: root/crates/arti
Commit message (Collapse)AuthorAgeFilesLines
...
| * | arti: Boyscout fixnield2025-11-131-1/+1
| | | | | | | | | | | | It seems this config is for tokio-console and not the RPC.
| * | arti: Warning when opentelemetry config is set but not build with featurenield2025-11-131-0/+16
| | |
* | | Merge branch 'http_xsprobe' into 'main'Nick Mathewson2025-11-131-1/+142
|\ \ \ | | | | | | | | | | | | | | | | Validate Host header for non-CONNECT requests to HTTP CONNECT port See merge request tpo/core/arti!3429
| * | | http_connect: prevent tests from colliding on directoriesNick Mathewson2025-11-131-5/+16
| | | |
| * | | http_connect: fix to conform to MSRVNick Mathewson2025-11-131-1/+1
| | | |
| * | | http_connect: add a test for Host validation.Nick Mathewson2025-11-131-0/+73
| | | |
| * | | Validate Host header for non-CONNECT requests to HTTP CONNECT portNick Mathewson2025-11-031-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This validation makes it harder for an adversarial webpage to probe for the version of arti and its capabilities. See torspec!437.
* | | | Merge branch 'prop368-v4' into 'main'Nick Mathewson2025-11-135-3/+50
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a usage-based timeout for strongly isolated circuits (prop368) Closes #2237 See merge request tpo/core/arti!3430
| * | | | Fix compilation without all-features.Nick Mathewson2025-11-121-1/+2
| | | | |
| * | | | circmgr: Add a timeout setting for long-lived circuits.Nick Mathewson2025-11-122-2/+10
| | | | |
| * | | | Add a notion of isolation strong enough to enable long-lived circuits.Nick Mathewson2025-11-123-0/+38
| | | | | | | | | | | | | | | | | | | | Part of prop368.
* | | | | arti: remove security disclaimer from onion service supportSteven Engler2025-11-121-4/+1
| |_|/ / |/| | | | | | | | | | | | | | | These appear to be old comments. Now that these features are stable, we consider them safe to use.
* | | | Merge branch 'disable-hidden-service' into 'main'wesleyac2025-11-122-5/+36
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | arti/arti-client/tor-hsservice: Support disabling onion services in the config Closes #2133 See merge request tpo/core/arti!3253
| * | | arti(-rpcserver): remove incorrect semver fileshashcatHitman2025-10-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Second attempt at semver in progress. Based on the feedback from wesley, it seems neither of these crates had any breaking changes. Signed-off-by: hashcatHitman <[email protected]>
| * | | arti(-client|-ureq|-rpcserver): semver fileshashcatHitman2025-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | If I understand correctly, the breaking changes propagate like this. Signed-off-by: hashcatHitman <[email protected]>
| * | | arti(-client)/tor-hsservice: return None for disabled servicehashcatHitman2025-10-161-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no longer a hard error anywhere for trying to launch a service which is disabled in the config. Instead, it always means returning `Ok(None)`. The axum and hyper examples were updated again as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * | | arti/tor-hsservice: don't warn on autostarthashcatHitman2025-10-162-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The "enabled" config option is back to using a regular `bool`. When unset, it defaults to true, and the service runs as if it had been set. Signed-off-by: hashcatHitman <[email protected]>
| * | | arti: fix hs "enabled" in example confighashcatHitman2025-10-161-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I didn't realize we had tests that made use of the example config. The pre-commit and pre-push hooks I had didn't trigger them, so my modification to the example config silently got through and caused `cfg::test::onion_services` to fail in CI. The issue was that I had put my example for `onion_services."allium-cepa".enabled` with a default of `true`. The correct default is actually `"auto"`, so I switched it and improved the description of the options. I've fixed my hooks. Which, to be fair, are just the hooks provided in `./maint/hooks/`. Maybe those should be improved? Signed-off-by: hashcatHitman <[email protected]>
| * | | arti/tor-hsservice: warn on service autostarthashcatHitman2025-10-162-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The "enabled" config option now uses `tor_config::BoolOrAuto`. When unset (which defaults to "Auto"), the service will run with a warning. Signed-off-by: hashcatHitman <[email protected]>
| * | | arti(-client): graceful service disable in arti onlyhashcatHitman2025-10-161-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a service is disabled in the config, `arti::onion_proxy::Proxy` handles it gracefully, and `arti_client::client::TorClient::launch_onion_service_with_hsid` and `arti_client::client::TorClient::launch_onion_service` both hard error. The axum and hyper examples were updated again as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * | | arti/arti-client: add graceful service disablehashcatHitman2025-10-161-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hidden services disabled in the config are now handled more gracefully by arti/arti-client, before the hard error occurs. The axum and hyper examples were updated as a consequence. Signed-off-by: hashcatHitman <[email protected]>
| * | | arti: add "enabled" config to the example confighashcatHitman2025-10-161-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: hashcatHitman <[email protected]>
* | | | Bump derive-deftly to 1.5.0Ian Jackson2025-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This has the meta attributes with optional values feature and also hygiene rework for modules. The breaking changes don't break arti.
* | | | arti: better error when tokio-console in cfg but feature is absent.Nick Mathewson2025-11-061-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the pattern we used elsewhere with the "rpc" option. IMO, this kind of thing is another argument in favor if arti#1704 (redoing config types using derive-deftly.)
* | | | arti: Experimental support for tokio-consoleNick Mathewson2025-11-065-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | This is controlled by a new option, `logging.tokio_console.enabled`. It requires building with `--cfg tokio_unstable`. See documentation and comments for more information.
* | | | Merge branch 'deftly-1.4' into 'main'opara2025-11-061-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Bump derive-deftly to 1.4.0 See merge request tpo/core/arti!3448
| * | | | Bump derive-deftly to 1.4.0Ian Jackson2025-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will let us use the new modules feature. There are no breaking changes to beta features in 1.4.0.
* | | | | Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-0610-10/+10
|/ / / / | | | | | | | | | | | | Run maint/add_warning
* | | / all: replace all uses of `futures::task::SpawnExt` with `tor_rtcompat::SpawnExt`Steven Engler2025-11-047-9/+9
| |_|/ |/| |
* | | Merge branch 'use_futures_copy' into 'main'Nick Mathewson2025-11-034-115/+35
|\ \ \ | |_|/ |/| | | | | | | | Replace copy_interactive with futures-copy. See merge request tpo/core/arti!3416
| * | Replace copy_interactive with futures-copy.Nick Mathewson2025-10-304-115/+35
| | | | | | | | | | | | | | | | | | | | | | | | This change lets us avoid spawning extra tasks (due to one-direction nature of copy_interactive), and avoid some lock contention (due to use of AsyncReadExt::split). Addresses part of #786.
* | | arti: fix deprecation warnings in assert_cmd libSteven Engler2025-10-314-8/+9
|/ / | | | | | | | | | | | | | | | | | | | | | | ```text warning: use of deprecated associated function `assert_cmd::Command::cargo_bin`: incompatible with a custom cargo build-dir, see instead `cargo::cargo_bin_cmd!` --> crates/arti/tests/cli_tests/hsc.rs:26:28 | 26 | let mut cmd = Command::cargo_bin("arti").unwrap(); | ^^^^^^^^^ | = note: `#[warn(deprecated)]` on by default ```
* | maint: bump minor versions of all published cratesSteven Engler2025-10-291-25/+25
| | | | | | | | | | | | | | ```bash readarray -t publish < <(cargo metadata --format-version 1 | jq -r '.packages[] | select((.id | startswith("path+file:///")) and (.rust_version != null) and (.publish == null or .publish == true or .publish != [])) | .name') for package in "${publish[@]}"; do echo "$package:"; cargo set-version --bump minor -p "$package"; done ```
* | Merge branch 'remove_socks' into 'main'Nick Mathewson2025-10-285-10/+35
|\ \ | | | | | | | | | | | | | | | | | | arti: Revise strings that implied that we were a SOCKS-only proxy. Closes #2225 See merge request tpo/core/arti!3398
| * | arti: explain APP_STREAM_BUF_LEN is what it is.Nick Mathewson2025-10-281-0/+6
| | |
| * | arti: Revise strings that implied that we were a SOCKS-only proxy.Nick Mathewson2025-10-285-7/+19
| | | | | | | | | | | | Closes #2225
| * | arti: Stop using SOCKS_BUF_LEN for non-SOCKS proxies.Nick Mathewson2025-10-281-3/+10
| | |
* | | arti: Remove now-needless cognitive_complexity exceptionsNick Mathewson2025-10-282-2/+0
|/ / | | | | | | | | | | | | Apparently the http_connect refactoring made these no longer trigger. Closes #2226
* | http_connect: Remove (most) X- prefixes.Nick Mathewson2025-10-282-32/+44
| | | | | | | | | | | | We can't remove them all, since X-Tor-Stream-Isolation is recognized by C-Tor. I've added a non-deprecated Tor-Stream-Isolation that works indepenently.
* | http_connect: write our own hyper-futures replacementNick Mathewson2025-10-282-6/+79
| |
* | http_connect: Forbid non-empty OPTIONS bodies.Nick Mathewson2025-10-281-0/+8
| |
* | http_connect: validate casei behavior of HeaderMap.Nick Mathewson2025-10-281-0/+36
| |
* | proxy: Revise rpc docs so they are not SOCKS-specificNick Mathewson2025-10-281-14/+20
| |
* | http_connect: Advertise listener capabilities to RPCNick Mathewson2025-10-282-7/+25
| |
* | http_connect: Declare that error messages are text/plain.Nick Mathewson2025-10-281-1/+1
| |
* | http_connect: Reject OPTIONS requests with bodiesNick Mathewson2025-10-281-2/+11
| |
* | http_connect: Implement stream isolationNick Mathewson2025-10-283-5/+84
| |
* | http_connect: implement rpc supportNick Mathewson2025-10-281-6/+76
| |
* | http-connect: Implement X-Tor-Family-PreferenceNick Mathewson2025-10-281-5/+79
| |
* | http_connect: Use consts for headers.Nick Mathewson2025-10-281-4/+16
| |