| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185869
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185869
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185867
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185866
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185864
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185863
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185862
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185859
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Answers
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185856
|
| | | | |
| | | |
| | | |
| | | | |
This avoids warnings from failure to cfg-decorate imports.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
> ```
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This means that we can use the same variable names for the clones,
which is considerably less confusing.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Otherwise it can be very confusing pushing the bump in the carpet back
and forth.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We're going to need this because of deficiencies in
metrics-exporter-prometheus.
|
| | | | |
| | | |
| | | |
| | | | |
Not everything here is true yet, but it will be by the end of this MR.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-proto: Remove outdated TODO, add fresh TODO
See merge request tpo/core/arti!2926
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This won't involve an extra dep, because we already use `itertools`
throughout the codebase.
|
| | |/ / /
| | | |
| | | |
| | | |
| | | | |
For service introduction circuits, we have `IptMsgHandler`, so we've
already worked something out :)
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Improvements to Debian packaging (!2798, CI workaround)
See merge request tpo/core/arti!2927
|
| | |\ \ \
| |/ / /
|/| | | |
|
| |\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | | |
Run "cargo update" to fix cargo-audit issues
See merge request tpo/core/arti!2924
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.)
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Fix clippy warnings with rust 1.86
See merge request tpo/core/arti!2920
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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)]`
```
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
```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)]`
```
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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)]`
```
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
```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)]`
```
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
A lot of these lints are better off agreed upon through policy and enforced
globally.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
fix builds for Android
See merge request tpo/core/arti!2824
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
README: Remove duplicate link to CONTRIBUTING.md
See merge request tpo/core/arti!2889
|
| | | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Remove outdated TODO
See merge request tpo/core/arti!2900
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
tor-keymgr: ephemeral type validation
Closes #1917
See merge request tpo/core/arti!2917
|
| |/ / / / / |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
tor-keymgr: BREAKING: Fix TODO: Refactor API: Keystore::insert
See merge request tpo/core/arti!2902
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Drop redundant/unused param item_type: &KeystoreItemType from
keystore::Keystore::insert. Method now uses param
key: &dyn EncodableItem to obtain a KeystoreItemType
|