summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | 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
| * | | | | tor-keymgr: keystore::ephemeral::insert: Drop item type validationplaybahn2025-04-021-20/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivation: Param _item_type is redundant since prev commit. No point in checking if key_data's item type and _item_type are the same, we do things as per key_data's item type from now on. - Removes a test for item type validation.
| * | | | | tor-keymgr: Fix TODO: Refactor API: Keystore::insertplaybahn2025-04-024-28/+17
| | | | | | | | | | | | | | | | | | | | | | | | Makes param item_type redundant. Renames item_type -> _item_type.
* | | | | | Merge branch 'dev/cve/arti_rpc_demo' into 'main'Nick Mathewson2025-04-021-9/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | doc: Remove dead reference to rpc_demo.py See merge request tpo/core/arti!2913
| * | | | | | doc: Remove dead reference to rpc_demo.pyClara Engler2025-04-011-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It was removed in 08847ab290a8d554ccf18e49b3de3abe7d6be9f2.
* | | | | | | Merge branch 'dev/cve/python_gitignore' into 'main'Nick Mathewson2025-04-021-0/+175
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | python: Add .gitignore See merge request tpo/core/arti!2914
| * | | | | | | python: Add .gitignoreClara Engler2025-04-011-0/+175
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a Python .gitignore to the `python/` directory, taking from the public domain gitignore file provided by GitHub[1]. Previously, I saw a `__pycache__` in my `git status` which was not nice. [1]: https://github.com/github/gitignore/blob/main/Python.gitignore
* | | | | | | Merge branch 'todo1' into 'main'opara2025-04-021-10/+68
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | arti: Fix TODO: Add test for onion_proxy::build_list See merge request tpo/core/arti!2896
| * | | | | | arti: Fix TODO: Rework test: onion_proxy::build_listplaybahn2025-04-012-72/+32
| | | | | | |
| * | | | | | arti: onion_proxy::build_list: fix TODO: Add testplaybahn2025-04-012-7/+105
| | | | | | |
* | | | | | | Merge branch 'smaller-pcap' into 'main'opara2025-04-011-0/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shadow: Capture only 40 bytes of packets See merge request tpo/core/arti!2916
| * | | | | | | shadow: capture only 40 bytes of packetsSteven Engler2025-04-011-0/+4
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pcaps are only used to check for leaks by reading the packet source/destination, so we don't need the entire packet. This should make CI artifacts a bit smaller. The fixed-size portion of an IP header is 20 bytes for IPv4 and 40 bytes for IPv6. Shadow doesn't support IPv6, but used the IPv6 header size anyways.
* | | | | | | Merge branch 'remove-ntor-v3-feat' into 'main'opara2025-04-0111-63/+18
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | tor-proto/tor-circmgr: remove "ntor_v3" feature flag (and always enable) See merge request tpo/core/arti!2907
| * | | | | | tor-circmgr: clean up after "ntor_v3" feature flag removalSteven Engler2025-04-011-21/+13
| | | | | | |
| * | | | | | tor-proto: clean up after "ntor_v3" feature flag removalSteven Engler2025-04-011-2/+1
| | | | | | |
| * | | | | | tor-circmgr: removed "ntor_v3" feature flagSteven Engler2025-04-014-15/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ntor v3 is now always enabled.
| * | | | | | tor-proto: removed "ntor_v3" feature flagSteven Engler2025-04-017-25/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | ntor v3 is now always enabled.