summaryrefslogtreecommitdiff
path: root/crates/arti/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'client_typestate' into 'main'Nick Mathewson2026-05-271-1/+1
|\ | | | | | | | | Client: Refactor most managers into a typestate, and construct it on bootstrap. See merge request tpo/core/arti!4011
| * client: Factor out the "running a client" code into an inner typestateNick Mathewson2026-05-261-1/+1
| | | | | | | | | | | | We'll use this to distinguish "not running" from "running", in order to make it easier to be sure that non-bootstrapping clients will definitely not try to connect to the network.
* | Give resolve_return_results options to control output_tree.Nick Mathewson2026-05-271-2/+2
|/ | | | | | | I've left the options here as booleans, but moved them into a struct. (IMO, booleans are at their riskiest when they are passed as function arguments, and much less risky when they are used as struct fields.)
* Move metrics config types to tor-config.Wesley Aptekar-Cassels2026-05-261-30/+1
| | | | | | | | | | | | | | This will allow these types to be shared by arti and arti-relay. This does change these types from being behind the experimental-api flag. I think this is okay, as tor-config is not a stable crate anyways, but it's worth keeping in mind. There is also an argument to be made for having two separate types, one in arti and one in arti-relay, as we do for LoggingConfig. I think that using a single type has benefits, and we should strive to eventually merge the LoggingConfigs, for instance, and perhaps other types, but it doesn't seem critical in either direction at the moment.
* Merge branch 'no-version-override' into 'main'wesleyac2026-05-212-15/+0
|\ | | | | | | | | | | | | Remove `use_obsolete_software`. Closes #1960 See merge request tpo/core/arti!3995
| * Remove `use_obsolete_software`.Nick Mathewson2026-05-142-19/+4
| | | | | | | | | | | | | | | | Discussion on #1960 suggests that this option is not a good idea: it encourages developers to work around deliberate signals that the software they're shipping won't work on the network. Closes #1960.
* | Merge branch 'socket-buf-size' into 'main'opara2026-05-214-5/+59
|\ \ | | | | | | | | | | | | | | | | | | Set socket buffer sizes (`SO_SNDBUF` and `SO_RCVBUF`) for proxy sockets Closes #2500 See merge request tpo/core/arti!3957
| * | arti: add 'proxy.socket_{send,recv}_buf_size' config optionsSteven Engler2026-05-074-23/+58
| | |
| * | arti: use 128 KB socket buffers for proxy socketsSteven Engler2026-05-071-2/+18
| | |
| * | tor-rtcompat+misc: add `NetStreamProvider::ListenOptions`Steven Engler2026-05-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the trait type `ListenOptions` to `NetStreamProvider` and adds this `ListenOptions` as an argument to `NetStreamProvider::listen()`. You probably want to look at the changes in tor-rtcompat first, then the rest of this commit is updating the various places we use `NetStreamProvider`.
* | | Merge branch 'keymgr-raw-ids' into 'main'opara2026-05-191-13/+11
|\ \ \ | | | | | | | | | | | | | | | | keymgr: more docs for the `RawEntryId` APIs, and some dead code removal See merge request tpo/core/arti!3997
| * | | keymgr: Remove RawKeystoreEntryGabriela Moldovan2026-05-181-13/+11
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think this adds unnecessary indirection, and it's a bit confusing to have two separate keystore entry types (we have `KeystoreEntry` too). This type exists just to server as a wrapper over the `RawEntryId` of an unrecognized keystore entry, and the `KeystoreId` of the keystore it was found in. This commit folds `RawKeystoreEntry` into `UnrecognizedEntry`, which was previously a thin wrapper over `RawKeystoreEntry`.
* | | Merge branch 'rpc-config-preliminary' into 'main'Nick Mathewson2026-05-182-81/+87
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Hopefully non-controversial parts of RPC configuration prep work Closes #2532 See merge request tpo/core/arti!3979
| * | arti::reload_cfg: Extract common part of select_biased! blockNick Mathewson2026-05-181-15/+3
| | |
| * | arti: Reformat reload_cfg.rs and cfg.rsNick Mathewson2026-05-182-66/+84
| | | | | | | | | | | | | | | | | | | | | | | | This is _just_ the results of a rustfmt invocation on this file. Due to #2532, these modules were getting overlooked by our regular rustfmt checks. I'm planning to circle back later on and fix #2532, but for now, reformatting these files will make future edits cleaner.
* | | Merge branch 'arc_torclient' into 'main'Nick Mathewson2026-05-1311-28/+35
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make all TorClient constructors wrap the TorClient in an Arc. Closes #2469 See merge request tpo/core/arti!3990
| * | | Make TorClient no longer implement Clone.Nick Mathewson2026-05-135-18/+13
| | | |
| * | | Make all TorClient constructors wrap the TorClient in an Arc.Nick Mathewson2026-05-139-18/+30
| |/ / | | | | | | | | | | | | | | | 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.
* / / Turn an expectation into an allowIan Jackson2026-05-131-1/+1
|/ / | | | | | | Fixes `cargo clippy --locked --all-features -p arti`
* / circmgr: Add config option for the HsDir requery periodGabriela Moldovan2026-05-072-0/+5
|/
* Upgrade to hickory-proto 0.26.1Nick Mathewson2026-05-021-17/+11
| | | | | | | | | | | | | | This fixes https://rustsec.org/advisories/RUSTSEC-2026-0120.html and https://rustsec.org/advisories/RUSTSEC-2026-0119.html Neither of these is relevant for Arti, but we may as well upgrade. This change required some code changes, since the upgrade from 0.25 changed some of the old APIs. Closes #2517.
* implement syslog supportAndrew Kloet2026-04-283-4/+55
|
* Log socks isolationJim Newsome2026-04-081-0/+1
|
* Merge branch 'rustls-defaults' into 'main'Nick Mathewson2026-04-081-7/+23
|\ | | | | | | | | | | | | Allow compile-time selection of rustls CryptoProvider; use aws-lc-rs by default. Closes #2448 See merge request tpo/core/arti!3857
| * arti: Allow choice of CryptoProvider; use aws-lc-rs by default.Nick Mathewson2026-04-081-7/+23
| |
* | Merge branch 'feat/protocol-warnings' into 'main'Nick Mathewson2026-04-083-0/+25
|\ \ | | | | | | | | | | | | tor-error/arti: add logging.protocol_warnings for TorProtocolViolation See merge request tpo/core/arti!3805
| * | arti: set_protocol_warning_mode to Warn or Off in setup_loggingmoumenalaoui2026-04-081-5/+6
| | |
| * | arti: add protocol_warnings config and wire setup_loggingmoumenalaoui2026-03-273-0/+24
| |/
* | Merge branch 'fix-help-msg' into 'main'Nick Mathewson2026-04-081-4/+6
|\ \ | | | | | | | | | | | | | | | | | | arti: Fix arti -h Closes #2038 See merge request tpo/core/arti!3860
| * | arti: Fix help message display orderhjrgrn2026-04-081-4/+6
| |/ | | | | | | | | | | | | | | Call `clap_app`'s metadata methods after `augment_subcommands`. If `about` is set before `augment_subcommands`, the subcommand enums' doc comment overrides it. Now, all metadata (e.g. about, version) is set after augmentation for consistency and correct help output.
* | arti: fix clippy warnings in `report_proxy_error()`Steven Engler2026-03-301-3/+5
| |
* | arti: use report macros in `report_proxy_error()`Steven Engler2026-03-301-5/+6
| |
* | arti: don't warn for `NotConnected` errorsSteven Engler2026-03-301-0/+1
|/
* Merge branch 'webtime-v3' into 'main'Nick Mathewson2026-03-261-5/+3
|\ | | | | | | | | | | | | Port to use web-time for compatibility with wasm32 Closes #2356 See merge request tpo/core/arti!3820
| * arti: Port to web-time-compat.Nick Mathewson2026-03-261-5/+3
| |
* | Merge branch 'http-connect-wrapup' into 'main'Nick Mathewson2026-03-266-25/+99
|\ \ | |/ |/| | | | | | | | | arti: Add option and documentation for http connect, then mark it stable. Closes #2409 See merge request tpo/core/arti!3811
| * Feature-gate the proxy.enable_http_connect optionNick Mathewson2026-03-261-1/+14
| |
| * arti: Add an option to disable http_connect.Nick Mathewson2026-03-256-25/+86
| | | | | | | | | | | | | | | | | | This option affects all socks listeners, because: - We don't have a convenient way to associate an option with each port. - The main purpose of having this option is as a switch in case we discover a major problem with this code.
* | arti: Mostly make clippy happy for wasm with --no-default-features.Nick Mathewson2026-03-252-0/+2
|/ | | | | (With no-default-features there is no runtime, and that still causes a compiler error.)
* Fix typosTobias Stoeckmann2026-03-242-2/+2
| | | | Typos found with codespell
* tor-chanmgr: add base64ct dependency and docsNihal2026-03-181-7/+16
|
* Merge branch 'typos' into 'main'opara2026-03-163-3/+3
|\ | | | | | | | | Fix various typos See merge request tpo/core/arti!3781
| * Fix word duplicate typosTobias Stoeckmann2026-03-153-3/+3
| |
* | rpc: Add support for set_dormant.Nick Mathewson2026-03-163-7/+60
| | | | | | | | | | This is not exactly the most _urgent_ superuser functionality, but it is probably the easiest to implement.
* | rpc: Implement superuser mode.Nick Mathewson2026-03-164-7/+50
| | | | | | | | | | When connection point provides superuser support, provide a (currently inert) RpcSuperuser object to the RPC session.
* | rpc: Move responsibility for Session creation to ConnectionNick Mathewson2026-03-161-3/+10
|/ | | | | The Connection will know the options that the listener was created with, as opposed to RpcMgr, which is the same for every listener.
* arti: Fix some visibility-based compilation errors.Nick Mathewson2026-02-242-6/+10
|
* arti: Migrate top-level configuration to dd(TorConfig).Nick Mathewson2026-02-243-143/+82
|
* arti: Port rpc configuration to dd(TorConfig).Nick Mathewson2026-02-243-74/+74
|
* arti: Port logging config to dd(TorConfig)Nick Mathewson2026-02-241-130/+69
|