aboutsummaryrefslogtreecommitdiff
path: root/crates/arti/src
Commit message (Collapse)AuthorAgeFilesLines
* arti: Move cfg_mgr preservation techniqueNick Mathewson7 days1-2/+4
|
* arti: In RPC mode, remember normalized configuration dataNick Mathewson7 days1-9/+43
| | | | This will be the basis for configuration _inspection_.
* arti: Give an Arc<CfgMgr> to RPC superuser sessions.Nick Mathewson7 days4-5/+26
|
* arti: Construct CfgMgr object earlier.Nick Mathewson7 days1-10/+11
|
* reload_cfg: add comments about some tricky points.Nick Mathewson7 days1-0/+9
|
* reload_cfg: Allow modules to be set after CfgMgr is createdNick Mathewson7 days1-10/+35
| | | | (But before the watcher task is launched.)
* code movement to tidy previous commitNick Mathewson7 days1-44/+41
|
* reload_cfg: Separate creation of CfgMgr and launch of taskNick Mathewson7 days2-7/+63
| | | | | | We want to be able to create the CfgMgr early so that we can give it to the RPC code, then add a bunch of reconfigurable modules to it, and only then launch the file-watcher task.
* Merge branch 'all_bind_addr_fail' into 'main'Jim Newsome9 days1-1/+6
|\ | | | | | | | | refactor: fail when all addresses bind fail See merge request tpo/core/arti!4309
| * bind_dns_resolver: fail when no addresses in a group can bindSteven Masnada9 days1-1/+6
| |
* | Apply 1 suggestion(s) to 1 file(s)Nick Mathewson9 days1-1/+1
| | | | | | Co-authored-by: gabi-250 <[email protected]>
* | Reindent impl block.Nick Mathewson13 days1-87/+88
| |
* | Move reload_configuration method.Nick Mathewson13 days1-40/+37
| | | | | | | | Code movement only.
* | reload_cfg: Refactor to use a CfgMgr object.Nick Mathewson13 days2-87/+134
|/ | | | | | | | | Right now this just helps us keep the parts of the configuration-reloading logic in one place, and clarifies what needs to be owned by the watcher thread and what doesn't. Moving forward, this will help make the configuration something that RPC can inspect and change.
* Merge branch 'dns_qdcount_must_be_one' into 'main'Nick Mathewson2026-08-121-68/+71
|\ | | | | | | | | fix: the number of dns queries should be 1 See merge request tpo/core/arti!4281
| * fix: the number of dns queries should be 1steven2026-08-041-68/+71
| |
* | arti: Fix compilation of http-connect without rpcNick Mathewson2026-08-101-1/+1
|/ | | | Closes #2653.
* arti: Ratelimit proxy error reportssyphyr2026-07-231-3/+46
| | | | Implement log_ratelim! in report_proxy_error
* Use "extend" for arti ResponseBuilder extension traitIan Jackson2026-07-161-13/+3
|
* Merge branch 'remove-lint' into 'main'Jim Newsome2026-07-157-11/+2
|\ | | | | | | | | | | | | Removed unnecessary lint Closes #2556 See merge request tpo/core/arti!4210
| * Remove now-unneeded allow(clippy::cognitive_complexity)Jim Newsome2026-07-156-9/+0
| |
| * add_warning: add reference to arti#2556Jim Newsome2026-07-152-2/+2
| |
| * Removed unnecessary lintpryty262026-07-152-2/+2
| | | | | | | | Removed unnecessary lint
* | arti: subcommands: keys: Fix clippy::for-kv-maphjrgrn2026-07-131-2/+2
| |
* | multiple crates: Fix clippy warningshjrgrn2026-07-103-7/+7
|/
* arti: remove references to old `trace_filter` in commentsSteven Engler2026-06-252-2/+2
|
* arti: subcommands: keys: Fix compact outputhjrgrn2026-06-221-1/+1
|
* Merge branch 'keys-list-tests' into 'main'opara2026-06-181-0/+5
|\ | | | | | | | | arti: Rewrite hand-written tests using `trycmd` See merge request tpo/core/arti!4126
| * arti: Sort the arti keys list outputGabriela Moldovan2026-06-171-0/+5
| | | | | | | | | | This will make the output deterministic and enable us to write some `trycmd` tests in the form of markdown output snippets.
* | Merge branch 'misc_string_slices_1' into 'main'Clara Engler2026-06-181-2/+1
|\ \ | |/ |/| | | | | Fix string_slice exceptions outside of netdoc See merge request tpo/core/arti!4092
| * arti: remove string slicesNick Mathewson2026-06-101-2/+1
| |
* | arti: Don't mention entry validity in the help messageGabriela Moldovan2026-06-171-1/+1
| | | | | | | | | | | | This actually applies to unrecognized entries too, and besides, most users aren't going to think in terms of "valid" vs "invalid" entries, so it's best to omit this qualifier.
* | arti: subcommands: keys: Rework output of keys listhjrgrn2026-06-171-79/+110
|/
* everywhere: Add #[allow(clippy::string_slice)]Clara Engler2026-06-091-0/+1
| | | | | | | | This commit adds #[allow(clippy::string_slice)] to all functions in the code where string slices are used, alongside a TODO comment. We do this add the function header to have it consistent, as things like expression based allow's are still experimental.
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-0911-0/+11
| | | | | | | | | | | | 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-085-7/+100
|
* Option to defer bootstrapping at startup.Nick Mathewson2026-06-085-17/+127
| | | | | | This option will primarily be used by integrators who want to modify the configuration, either directly or via RPC, before launching Arti completely.
* arti: Bump the versions of our opentelemetry depsGabriela Moldovan2026-06-031-1/+1
| | | | Part of #2559
* 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`.