summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-rtmock: task: import Left and RightIan Jackson2025-04-091-3/+3
| | | | |
| * | | | tor-rtmock: task: impl Debug for TaskFutureInfoIan Jackson2025-04-091-1/+3
| | | | |
| * | | | tor-rtmock: task: Break out Waker::make_wakerIan Jackson2025-04-091-5/+10
| | | | | | | | | | | | | | | | | | | | We're going to introduce a new call site for this.
| * | | | tor-rtmock: Improve a commentIan Jackson2025-04-091-1/+6
| | | | | | | | | | | | | | | | | | | | Be clearer that `fut` is only `None` during the main loop.
| * | | | tor-rtmock: Fix a commentIan Jackson2025-04-091-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | SubthreadFuture was a type in some early version of this branch, that it's not in-tree now. subthread_spawn returns impl Future and the concrete type is a channel receiver.
* | | | Remove hsc quiet and force flags in favor of batchhjrgrn2025-04-143-36/+33
| |_|/ |/| |
* | | arti-ureq: Simplify use of map_or().Nick Mathewson2025-04-091-4/+4
| | | | | | | | | | | | | | | Clippy is complaining that these can be simplified, so I took its recommendations.
* | | Allow StreamOps import to be unusedNick Mathewson2025-04-092-2/+9
|/ / | | | | | | | | This comes up on OSX; I hadn't seen it before, so I assume it is new with Rust 1.86.
* | Merge branch '1519-integration-or-example-with-ureq' into 'main'Ian Jackson2025-04-093-0/+1093
|\ \ | | | | | | | | | | | | arti-ureq: New library which integrates with ureq See merge request tpo/core/arti!2724
| * | arti-ureq: New library which integrates with ureqnield2025-04-093-0/+1093
| | | | | | | | | | | | Fixes #1519
* | | tor-cell: Make conflux::V1Nonce opaque, add constructor.Gabriela Moldovan2025-04-081-7/+30
| | | | | | | | | | | | We will soon need to construct `V1Nonce`s.
* | | tor-cell: Copy ConfluxSwitch::seqno in getter.Gabriela Moldovan2025-04-081-0/+1
|/ / | | | | | | `u32` is `Copy`, so the getter doesn't need to return a ref.
* | Merge branch 'metrics-port' into 'main'Ian Jackson2025-04-0811-30/+277
|\ \ | | | | | | | | | | | | Initial metrics framework See merge request tpo/core/arti!2918
| * | metrics: Discuss schema stability (currently, "no")Ian Jackson2025-04-081-0/+3
| | |
| * | tor-hsrproxy: config: make ProxyActionDiscriminants privateIan Jackson2025-04-081-0/+1
| | | | | | | | | | | | | | | beta clippy pointed out that it shouldn't be exhaustive. but `#[strum_discriminants(non_exhaustive)]` is rejected.
| * | metrics: tor-hsrproxy: Use a bespoke type for counter outcomesIan Jackson2025-04-081-5/+19
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185872
| * | metrics: arti: Make feature `experimental`, not `experimental-api`Ian Jackson2025-04-081-1/+2
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185871
| * | 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-081-1/+1
| | | | | | | | | | | | | | | 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
| * | 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-084-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-085-1/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | 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 :)
* / rpcserver: Fix another ceil_div warningNick Mathewson2025-04-071-2/+1
|/
* 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)]` ```
* | 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 '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
| | |
* | | 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