| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Run maint/add_warning
|
| | |
|
| |
|
|
|
|
|
|
| |
This change lets us avoid spawning extra tasks (due to one-direction
nature of copy_interactive), and avoid some lock contention (due to
use of AsyncReadExt::split).
Addresses part of #786.
|
| |
|
|
| |
This feature has been removed from nightly, in favor of doc_cfg.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The `stream` module is client-specific, for the most part, so I am
moving it under `client`. Later on, we will factor out the parts that
can be shared with the relay implementation.
Note: this is a breaking change as the deleted `stream` module was
`pub`. We could've kept the module and reexported from it the public
types from `tor_proto::client::stream`, but I think it's better to have
this `client` namespacing, because it makes the separation between the
client and relay parts clearer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
See #2060.
|
| | |
|
| |
|
|
|
| |
beta clippy pointed out that it shouldn't be exhaustive.
but `#[strum_discriminants(non_exhaustive)]` is rejected.
|
| |
|
|
|
| |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185872
|
| |
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
Denies 'mod.rs' files for consistency.
https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
|
| |
|
|
|
|
|
|
| |
In 1.83, this warning triggers on many of our crates.
We're thinking of fixing them all, but for now,
we're going to disable the warning.
This is part of #1765.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having this in the `tor-async-utils` crate prevents us from doing both
of the following without introducing a circular dependency:
* using it in `tor-rtmock` (which we currently do, particularly in
tests).
* using `tor-rtmock` to test things in `tor-async-utils`. We don't do
this yet, but it is generally sensible to do so. In particular we
want to move the `stream_peak` module there, which is currently tested
with `tor-rtmock`.
Moving this into its own crate avoids this circular dependency.
|
| |
|
|
| |
This commit is automatically generated.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the combination of a number of separate commits, many of which
were generated by seddery, and then rebased and squashed.
Cargo.toml
perl -i~ -pe 's{^derive-adhoc}{derive-deftly = "0.10"}' crates/*/Cargo.toml
(not regenerated during rebase)
update Cargo.lock
`cargo fetch` without --locked
(regenerated during rebase)
seddery
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{^use derive_adhoc}{use derive_deftly}'
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bdefine_derive_adhoc\b}{define_derive_deftly}g'
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bAdhoc\b}{Deftly}g if m{derive}'
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\#\[derive_adhoc\b}{#[derive_deftly}g'
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{use derive_adhoc}{use derive_deftly}'
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc\b}{derive_deftly_adhoc} if m{use.*deftly}'
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc!}{derive_deftly_adhoc!}'
(not regenerated during rebase)
Manually add `#[derive_deftly_adhoc]` where needed.
seddery
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\#\[adhoc\b}{#[deftly}g'
git-ls-files | grep '\.rs$' | xargs perl -i~ -pe 's{\bderive_adhoc_template}{derive_deftly_template}'
(not regenerated during rebase)
Manually fix up an import
Manually update some builder attrs
Manually fix up tor_rtmock::time_core
This was missed in my seddery, due to me rebasing the branch and not
redoing the seddery.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
When giving an error message about an hsrproxy configuration:
1) mention that this is for an onion service.
2) mention what the invalid text was.
Part of #1266
|
| |
|
|
|
|
|
|
| |
I'm taking this out for now since we don't have support for actually
making these addresses work, and the current behavior will just
ignore connections silently.
Closes #1245
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Specifically, warn about non-private target addresses
and onion services with no forwarding rules at all.
Removes some TODO HSS comments and closes #1154.
|
| |\
| |
| |
| |
| | |
Resolve several TODO HSS items in hsrproxy
See merge request tpo/core/arti!1809
|
| | | |
|
| | |
| |
| |
| |
| | |
(These are the ones about warning on questionable configuration
choices.)
|
| | |
| |
| |
| |
| | |
"We might someday want to do X" does not really rise to the level of
a "must-fix".
|
| | |
| |
| |
| |
| | |
We separate these from our failures to connect to a local proxy,
since that is a much more common error.
|
| | |
| |
| |
| |
| | |
See arti#1153 for followup work here. The current behavior is IMO
a decent default.
|
| | |
| |
| |
| | |
See torspec!237
|
| | | |
|
| | |
| |
| |
| | |
We'll use this for logging.
|
| |/ |
|
| |
|
|
|
|
| |
Previously, we required the user to specify a pattern matching a
single port as `"80"`, with quotes. Now we allow the user to omit
the quotes.
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 21605d2c9e601c3a5099bfd8d8c887cbb3b36c0a.
We're doing this because we wanted the configuration of proxy rules
to be a 2-tuple, as in `[ "22", "127.0.0.1:22" ]`. But `config`
couldn't handle that before, so we temporarily changed it to
a string, as in "22 => 127.0.0.1:22".
Closes #1058.
|
| |
|
|
|
|
|
| |
Specifically, we check nothing except the port.
This matches the behavior of C-tor and the documentation in
torspec!179.
|
| |
|
|
|
| |
This is in keeping with the behavior of C tor, and of
torspec!179.
|
| |
|
|
| |
cargo fmt, precisely.
|
| | |
|
| |\
| |
| |
| |
| | |
Non-working attempt to test onion service configuration.
See merge request tpo/core/arti!1640
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Since config-rs has a bug breaking its support for nested arrays
(see discussion at !1640), we're temporarily changing the format
to a single string with a "=>" in the middle.
I've opened #1058 to put things back as they were once config-rs is
fixed.
|
| | |
| |
| |
| |
| |
| |
| | |
The problem here is that, for some reason, the proxy_rule
configuration doesn't actually work. I suspect a bug in
Flatten, since the same configuration works fine if you pass
it to the hsrproxy config directly.
|
| | | |
|
| | |
| |
| |
| | |
Our reconfigure methods take these by convention.
|
| |/ |
|