summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | metrics: arti: Use new Cargo.toml feature syntaxIan Jackson2025-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185869
| * | | metrics: arti: Reduce features on metrics-exporter-prometheusIan Jackson2025-04-082-67/+3
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185869
| * | | 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
| * | | metrics: config: Fix typo in the example config fileIan Jackson2025-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185863
| * | | metrics: config: Correct the docs in the example config fileIan Jackson2025-04-081-1/+2
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185862
| * | | 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
| * | | tor-config: listen: Replace use of std::net (fmt)Ian Jackson2025-04-081-8/+4
| | | |
| * | | tor-config: listen: Replace use of std::netIan Jackson2025-04-081-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Almost the only remaining use of this was for SocketAddr which we should just import. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185858
| * | | metrics: Clarify singleton exporterIan Jackson2025-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | Answers https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185856
| * | | tor-hsrproxy: Add allow(unused) if features not all enabledIan Jackson2025-04-081-0/+3
| | | | | | | | | | | | | | | | This avoids warnings from failure to cfg-decorate imports.
| * | | tor-hsrproxy: Export a connection count metric (fmt)Ian Jackson2025-04-081-1/+3
| | | |
| * | | tor-hsrproxy: Export a connection count metricIan Jackson2025-04-085-2/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This proves the concept. Many more metrics will need to be added throughout the codebase. With this compiled in and enabled, I see this with curl: > ``` > # TYPE arti_hss_proxy_connections_failed_total counter > arti_hss_proxy_connections_failed_total{nickname="ztest",action="destroy_circuit"} 0 > arti_hss_proxy_connections_failed_total{nickname="ztest",action="ignore_stream"} 0 > arti_hss_proxy_connections_failed_total{nickname="ztest",action="forward"} 0 > arti_hss_proxy_connections_failed_total{nickname="ztest",action="reject_stream"} 0 > > # TYPE arti_hss_proxy_connections_total counter > arti_hss_proxy_connections_total{nickname="ztest",action="reject_stream"} 0 > arti_hss_proxy_connections_total{nickname="ztest",action="forward"} 1 > arti_hss_proxy_connections_total{nickname="ztest",action="destroy_circuit"} 0 > arti_hss_proxy_connections_total{nickname="ztest",action="ignore_stream"} 0 > > # TYPE arti_hss_proxy_connections_ok_total counter > arti_hss_proxy_connections_ok_total{nickname="ztest",action="destroy_circuit"} 0 > arti_hss_proxy_connections_ok_total{nickname="ztest",action="reject_stream"} 0 > arti_hss_proxy_connections_ok_total{nickname="ztest",action="ignore_stream"} 0 > arti_hss_proxy_connections_ok_total{nickname="ztest",action="forward"} 1 > ```
| * | | tor-hsrproxy: formatting in Cargo.tomlIan Jackson2025-04-081-1/+5
| | | |
| * | | tor-hsrproxy: Move cloning into spawnIan Jackson2025-04-081-12/+12
| | | | | | | | | | | | | | | | | | | | This means that we can use the same variable names for the clones, which is considerably less confusing.
| * | | arti: Optionally set up a Prometheus metrics exporterIan Jackson2025-04-086-3/+345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | tor-config: Listen: Provide single_address_legacyIan Jackson2025-04-082-1/+24
| | | | | | | | | | | | | | | | | | | | We're going to need this because of deficiencies in metrics-exporter-prometheus.
| * | | metrics: Add strategy/overview documentIan Jackson2025-04-081-0/+55
| | | | | | | | | | | | | | | | Not everything here is true yet, but it will be by the end of this MR.
* | | | Merge branch 'remove-old-todo' into 'main'Jim Newsome2025-04-082-4/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-proto: Remove outdated TODO, add fresh TODO See merge request tpo/core/arti!2926
| * | | | tor-proto: Add TODO about using Itertools instead of open-coded impl.Gabriela Moldovan2025-04-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This won't involve an extra dep, because we already use `itertools` throughout the codebase.
| * | | | tor-proto: Remove outdated TODO.Gabriela Moldovan2025-04-081-4/+0
| |/ / / | | | | | | | | | | | | | | | | For service introduction circuits, we have `IptMsgHandler`, so we've already worked something out :)
* | | | Merge branch 'ci-workaround-2798' into 'main'Ian Jackson2025-04-088-4/+152
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Improvements to Debian packaging (!2798, CI workaround) See merge request tpo/core/arti!2927
| * | | Merge branch 'main' into ci-workaround-2798Ian Jackson2025-04-08327-5677/+10881
| |\ \ \ | |/ / / |/| | |
* | | | Merge branch 'update-for-rustsec-issues' into 'main'gabi-2502025-04-072-90/+81
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | Run "cargo update" to fix cargo-audit issues See merge request tpo/core/arti!2924
| * | | rpcserver: Fix another ceil_div warningNick Mathewson2025-04-071-2/+1
| | | |
| * | | Run "cargo update" to fix cargo-audit issuesNick Mathewson2025-04-071-88/+80
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issues were in: deranged 0.4.1: - yanked - (Issue was a compatibility-break, not security: https://github.com/jhpratt/deranged/issues/21) tokio 1.44.1: - RUSTSEC-2025-0023 - (I believe we're okay, since we don't use tokio's broadcast channel) openssl 0.10.71 - RUSTSEC-2025-0022 - (We do not appear to use the affected APIs.)
* | | Merge branch 'fix-clippy' into 'main'Nick Mathewson2025-04-0711-25/+24
|\ \ \ | | | | | | | | | | | | | | | | Fix clippy warnings with rust 1.86 See merge request tpo/core/arti!2920
| * | | tor-netdoc: use more idiomatic rustSteven Engler2025-04-031-2/+1
| | | |
| * | | fix `clippy::unneeded_struct_pattern`Steven Engler2025-04-034-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: ```text warning: struct pattern is not needed for a unit variant --> crates/hashx/src/program.rs:165:32 | 165 | Instruction::Target { .. } => Opcode::Target, | ^^^^^^^ help: remove the struct pattern | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern note: the lint level is defined here --> crates/hashx/src/lib.rs:9:9 | 9 | #![warn(clippy::all)] | ^^^^^^^^^^^ = note: `#[warn(clippy::unneeded_struct_pattern)]` implied by `#[warn(clippy::all)]` ```
| * | | tor-netdoc: fix `clippy::len_zero`Steven Engler2025-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```text warning: length comparison to one --> crates/tor-netdoc/src/parse/tokenize.rs:470:12 | 470 | if args.len() >= 1 { | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!args.is_empty()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero note: the lint level is defined here --> crates/tor-netdoc/src/lib.rs:9:9 | 9 | #![warn(clippy::all)] | ^^^^^^^^^^^ = note: `#[warn(clippy::len_zero)]` implied by `#[warn(clippy::all)]` ```
| * | | fix `clippy::doc_overindented_list_items`Steven Engler2025-04-036-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: ```text warning: doc list item overindented --> crates/arti-rpc-client-core/src/conn/connimpl.rs:322:9 | 322 | /// indicates that no more messages will be received for this request. | ^^^ help: try using ` ` (2 spaces) | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items note: the lint level is defined here --> crates/arti-rpc-client-core/src/lib.rs:8:9 | 8 | #![warn(clippy::all)] | ^^^^^^^^^^^ = note: `#[warn(clippy::doc_overindented_list_items)]` implied by `#[warn(clippy::all)]` ```
| * | | tor-config: fix `clippy::double_ended_iterator_last`Steven Engler2025-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```text warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator --> crates/tor-config/src/load.rs:606:18 | 606 | .last() | ^^^^^^ help: try: `next_back()` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last note: the lint level is defined here --> crates/tor-config/src/lib.rs:9:9 | 9 | #![warn(clippy::all)] | ^^^^^^^^^^^ = note: `#[warn(clippy::double_ended_iterator_last)]` implied by `#[warn(clippy::all)]` ```
| | * | Restart Arti service upon network connectivity changessyphyr2025-04-042-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue with arti not being able to reconstruct circuits after the network connection is restarted. https://gitlab.torproject.org/tpo/core/arti/-/issues/1861
| | * | Install systemd filessyphyr2025-04-045-4/+50
| | | |
| | * | Create unprivileged user for systemdsyphyr2025-04-042-0/+69
| | | |
| | | * Address review - revert lint changes other than MD012hashcatHitman2025-04-081-48/+41
| | | | | | | | | | | | | | | | | | | | A lot of these lints are better off agreed upon through policy and enforced globally.
| | | * dev doc: Replaced outdated referenced to KeystoreSweeperhashcatHitman2025-04-061-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of commit `0db0b6ede6ddba88e9a270a3e07587fefaab6fb4`, `crates/tor-hsservice/src/svc/keystore_sweeper.rs` was deleted and the key deletion was moved to `crates/tor-hsservice/src/svc/publish/reactor.rs`. As of commit `bebb6bdc6e15f42a3e1de7b3a4a68aa16f815294`, `crates/tor-hsservice/src/svc/publish/reactor.rs` was moved to `crates/tor-hsservice/src/publish/reactor.rs`, which is where it resides as of writing this. Whoever ends up being the one to work on this will probably appreciate having a more relevant reference point.
| | | * dev doc: Respect Markdown lints in state-management-cli.mdhashcatHitman2025-04-061-45/+47
| |_|/ |/| | | | | | | | | | | | | | | | | | | | Fixes all the lints caught by the markdownlint extension in the file `doc/dev/notes/state-management-cli.md`, with the exception that MD024 is set to have `siblings_only` enabled, since it makes sense to allow here. It would be nice to set up a global markdownlint configuration some time, but that might be tricky.
* | | Merge branch 'android-build' into 'main'wesleyac2025-04-033-3/+32
|\ \ \ | |/ / |/| | | | | | | | fix builds for Android See merge request tpo/core/arti!2824
| * | fix builds for AndroidYaksh Bariya2025-03-033-3/+32
| | | | | | | | | | | | | | | | | | | | | This does fix builds for both the arti binary and the tests. Most tests seem to be passing, some are failing. I will try to investigate them and send fixes/create issue to highlight them. Hopefully this helps arti in being production ready fast.
* | | Merge branch 'readme-tweak' into 'main'wesleyac2025-04-031-6/+2
|\ \ \ | | | | | | | | | | | | | | | | README: Remove duplicate link to CONTRIBUTING.md See merge request tpo/core/arti!2889
| * | | README: Remove duplicate link to CONTRIBUTING.mdhashcatHitman2025-03-261-6/+2
| | | | | | | | | | | | | | | | We already link to CONTRIBUTING.md near the top of the README in the "Links" section. There's no real need to add two additional links beyond that, especially if they're going to be in very similar looking sections. So we remove one and modify the other to look a little nicer. I've opted to keep the one closer to the end of the README since the top of the README is already covered by the "Links" section.
* | | | Merge branch 'main' into 'main'Ian Jackson2025-04-031-4/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Remove outdated TODO See merge request tpo/core/arti!2900
| * | | | Remove outdated TODOCocytusDEDI2025-04-031-4/+0
| | | | |
* | | | | Merge branch 'item-type-validation' into 'main'gabi-2502025-04-032-12/+77
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-keymgr: ephemeral type validation Closes #1917 See merge request tpo/core/arti!2917
| * | | | | tor-keymgr: ephemeral type validationhashcatHitman2025-04-032-12/+77
|/ / / / /
* | | | | Merge branch 'todo3' into 'main'gabi-2502025-04-027-106/+37
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-keymgr: BREAKING: Fix TODO: Refactor API: Keystore::insert See merge request tpo/core/arti!2902
| * | | | | tor-keymgr: BREAKING: Refactor API: Keystore::insertplaybahn2025-04-027-65/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop redundant/unused param item_type: &KeystoreItemType from keystore::Keystore::insert. Method now uses param key: &dyn EncodableItem to obtain a KeystoreItemType