| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Run maint/add_warning
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
beta clippy pointed out that it shouldn't be exhaustive.
but `#[strum_discriminants(non_exhaustive)]` is rejected.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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".
|
| |/ |
|
| |
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| | |
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.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
We now have a single ProxyTarget action for the case where we accept
a request and forward it: `Forward`. It takes an encapsulation
method (currently only "direct") and a target address which can
be inet or unix.
|
| | |
|
| |
|
|
|
|
|
| |
This implementation uses rangemap to detect _all_ unreachable
patterns, which might be a little overkill, but it's actually
simpler to write it this way than to use an O(N^2) search to make
sure that no pattern is covered by a _single_ previous pattern.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Also, allow nonempty ranges starting with 0- and implement Eq and
PartialEq.
|
| | |
|
| | |
|
| | |
|
|
|
I'm calling this a "reverse proxy" since I think a lot of folks like
that terminology, though I'm not personally a huge fan. Calling it
"`tor-hsproxy`" would IMO confuse people more about what kind of proxy
it was.
This is a separate crate from `tor-hsservice` because it's logically
at a different level: if you're writing a little embedded onion
service, you don't need this code.
Right now there is only configuration logic here.
|