summaryrefslogtreecommitdiff
path: root/crates/arti/src/cfg.rs
Commit message (Collapse)AuthorAgeFilesLines
* multiple crates: Fix clippy warningshjrgrn2026-07-101-4/+4
|
* maint: Run maint/add_warning to deny string slicesClara Engler2026-06-091-0/+1
| | | | | | | | | | | | 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.
* Option to defer bootstrapping at startup.Nick Mathewson2026-06-081-0/+10
| | | | | | This option will primarily be used by integrators who want to modify the configuration, either directly or via RPC, before launching Arti completely.
* 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-211-1/+0
|\ | | | | | | | | | | | | Remove `use_obsolete_software`. Closes #1960 See merge request tpo/core/arti!3995
| * Remove `use_obsolete_software`.Nick Mathewson2026-05-141-5/+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-211-0/+28
|\ \ | | | | | | | | | | | | | | | | | | 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-071-0/+28
| | |
* | | arti: Reformat reload_cfg.rs and cfg.rsNick Mathewson2026-05-181-4/+4
| |/ |/| | | | | | | | | | | | | 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.
* | circmgr: Add config option for the HsDir requery periodGabriela Moldovan2026-05-071-0/+1
|/
* implement syslog supportAndrew Kloet2026-04-281-4/+5
|
* Feature-gate the proxy.enable_http_connect optionNick Mathewson2026-03-261-1/+14
|
* arti: Add an option to disable http_connect.Nick Mathewson2026-03-251-0/+22
| | | | | | | | | 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: Fix some visibility-based compilation errors.Nick Mathewson2026-02-241-1/+6
|
* arti: Migrate top-level configuration to dd(TorConfig).Nick Mathewson2026-02-241-98/+66
|
* 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-291-17/+1
|
* arti: remove deprecated `proxy.socks_port` config optionSteven Engler2026-01-291-17/+5
|
* 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: Resolve unreachable-pub warnings.Nick Mathewson2026-01-131-15/+38
|
* arti: Move "port_info_file" configuration into "storage"Nick Mathewson2025-12-161-2/+24
| | | | | | This was a little funny, since the other storage elements are declared in tor-client. Fortunately, our stacked configuration logic handles this fine.
* arti: Export the chosen ports in a ports_info.json file.Nick Mathewson2025-12-161-0/+11
| | | | | This allows applications to find out where arti is listening when arti has been configured to listen with the port "auto".
* 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]>
* circmgr: Add a timeout setting for long-lived circuits.Nick Mathewson2025-11-121-0/+1
|
* arti: Experimental support for tokio-consoleNick Mathewson2025-11-061-0/+11
| | | | | | 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.
* Fix name of clippy lint to unchecked_time_subtraction (2)Ian Jackson2025-11-061-1/+1
| | | | Run maint/add_warning
* arti: Implement a "bilingual" HTTP CONNECT proxy.Nick Mathewson2025-10-281-0/+2
| | | | | | | | | | | With his commit, our SOCKS ports now accept both SOCKS and HTTP CONNECT requests, per proposal 365. There are still some infelicities, marked with "XXXX" or "TODO". I've tested this with curl, though, and it works. :) Typo-fixes-by: Gabriela Moldovan <[email protected]>
* arti: Add experimental support for OpenTelemetry.Wesley Aptekar-Cassels2025-09-241-0/+10
|
* tor-dircommon: Implement proposal 330Clara Engler2025-09-161-5/+4
| | | | | | | This commit implements proposal 330 in the context of `tor-dircommon`, by replacing the single `Authority` structure used in a list context by a single structure called `AuthorityContacts` which contains all v3idents, upload, download, and vote endpoints in one central place.
* clippy: fix `clippy::implicit_clone` errorsSteven Engler2025-08-111-1/+1
| | | | | | | | | | | | | | | | | ```text error: implicitly cloning a `String` by calling `to_string` on its dereferenced type --> crates/tor-config/src/lib.rs:109:32 | 109 | V::String(_, s) => s.to_string(), | ^^^^^^^^^^^^^ help: consider using: `s.clone()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_clone note: the lint level is defined here --> crates/tor-config/src/lib.rs:20:9 | 20 | #![deny(clippy::implicit_clone)] | ^^^^^^^^^^^^^^^^^^^^^^ ```
* Switch Cargo.toml files to edition 2024.Nick Mathewson2025-08-071-6/+6
| | | | | | | | | | | | | | First, run ``` git grep -l "^edition =" | xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;' ``` Second, manually verify that all Cargo.toml files have changed, and nothing else has changed. Third, run cargo fmt again.
* arti: make "memquota" feature a no-opSteven Engler2025-07-311-31/+17
|
* arti: cfg::test Rework refactorplaybahn2025-05-191-9/+8
|
* arti: cfg::test: Fix TODO + Minor refactorplaybahn2025-04-261-76/+56
|
* arti,arti-client: Add an option to override required protocolsNick Mathewson2025-04-161-0/+1
| | | | | (This isn't a boolean, because we really don't want people ignoring all possible required protocols.)
* metrics: config tests: Correct a commentIan Jackson2025-04-081-1/+1
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185867
* metrics: config: Correct the docs on the MetricsConfig typeIan Jackson2025-04-081-1/+1
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185866
* metrics: config: Correct the docs on the listen config fieldIan Jackson2025-04-081-9/+4
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185864
* arti: cfg tests: Improve formatting of an assertIan Jackson2025-04-081-3/+6
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185859
* arti: Optionally set up a Prometheus metrics exporterIan Jackson2025-04-081-0/+106
| | | | | | | | | | | | | New cargo feature `metrics`, currently experimental. New config option `metrics.prometheus.listen`. Uses standard `Listen` syntax, but not every configuration is supported due to upstream limitations. If the config option is set, use metrics-exporter-prometheus to offer an HTTP scrape endpoint. Or, if compiled out, fail. Currently there are no actual metrics exported at all.
* arti: cfg tests: On mismatch, report which config fileIan Jackson2025-04-081-2/+2
| | | | | Otherwise it can be very confusing pushing the bump in the carpet back and forth.
* Add examples and tests for RPC options.Nick Mathewson2025-03-251-1/+60
| | | | Closes #1830.
* arti: warn when rpc options are set without rpc feature.Nick Mathewson2025-03-251-0/+21
| | | | Closes #1309.
* arti: Disable RPC reconfiguration for nowNick Mathewson2024-12-191-1/+1
|
* arti: Move RpcConfig to rpc.rsNick Mathewson2024-12-191-29/+4
|
* tor-config: removed re-export of `CfgPath`Steven Engler2024-11-041-4/+4
| | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* tor-memquota: Declare memquota feature stable, and defaultIan Jackson2024-10-221-1/+0
| | | | | | | | And document the Cargo features. This compiles in the memquota support for people who depend directly on tor-memquota. But all our in-tree dependencies turn off default features, so this doesn't have any effect for in-tree crates.
* arti cfg tests: Clarify here and thereIan Jackson2024-10-221-1/+2
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2561#note_3097443