<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-hsrproxy/src/proxy.rs, branch arti-v1.6.0</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.6.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.6.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2025-08-18T16:09:04Z</updated>
<entry>
<title>proto: Move the `stream` module under `client` (breaking).</title>
<updated>2025-08-18T16:09:04Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2025-08-18T15:52:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=702e7276898d3f31e22033c5b64fea91703f3701'/>
<id>urn:sha1:702e7276898d3f31e22033c5b64fea91703f3701</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>metrics: tor-hsrproxy: Use a bespoke type for counter outcomes</title>
<updated>2025-04-08T17:20:50Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-04-08T11:50:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e02da4600e7a66bee5ac3dc57b708c0942bda895'/>
<id>urn:sha1:e02da4600e7a66bee5ac3dc57b708c0942bda895</id>
<content type='text'>
Prompted by
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2918#note_3185872
</content>
</entry>
<entry>
<title>tor-hsrproxy: Export a connection count metric (fmt)</title>
<updated>2025-04-08T17:20:50Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-04-02T16:23:22Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=016bcdbe6e93d7a565e33640c1363d5a79c7472d'/>
<id>urn:sha1:016bcdbe6e93d7a565e33640c1363d5a79c7472d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsrproxy: Export a connection count metric</title>
<updated>2025-04-08T17:20:50Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-04-02T16:21:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e9ee2f4204b5139de9946d86c942b6e62427f258'/>
<id>urn:sha1:e9ee2f4204b5139de9946d86c942b6e62427f258</id>
<content type='text'>
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:

&gt; ```
&gt; # TYPE arti_hss_proxy_connections_failed_total counter
&gt; arti_hss_proxy_connections_failed_total{nickname="ztest",action="destroy_circuit"} 0
&gt; arti_hss_proxy_connections_failed_total{nickname="ztest",action="ignore_stream"} 0
&gt; arti_hss_proxy_connections_failed_total{nickname="ztest",action="forward"} 0
&gt; arti_hss_proxy_connections_failed_total{nickname="ztest",action="reject_stream"} 0
&gt;
&gt; # TYPE arti_hss_proxy_connections_total counter
&gt; arti_hss_proxy_connections_total{nickname="ztest",action="reject_stream"} 0
&gt; arti_hss_proxy_connections_total{nickname="ztest",action="forward"} 1
&gt; arti_hss_proxy_connections_total{nickname="ztest",action="destroy_circuit"} 0
&gt; arti_hss_proxy_connections_total{nickname="ztest",action="ignore_stream"} 0
&gt;
&gt; # TYPE arti_hss_proxy_connections_ok_total counter
&gt; arti_hss_proxy_connections_ok_total{nickname="ztest",action="destroy_circuit"} 0
&gt; arti_hss_proxy_connections_ok_total{nickname="ztest",action="reject_stream"} 0
&gt; arti_hss_proxy_connections_ok_total{nickname="ztest",action="ignore_stream"} 0
&gt; arti_hss_proxy_connections_ok_total{nickname="ztest",action="forward"} 1
&gt; ```
</content>
</entry>
<entry>
<title>tor-hsrproxy: Move cloning into spawn</title>
<updated>2025-04-08T17:20:50Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2025-04-02T14:25:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=65d8df00f87e70673cd46df699db71a66998e8aa'/>
<id>urn:sha1:65d8df00f87e70673cd46df699db71a66998e8aa</id>
<content type='text'>
This means that we can use the same variable names for the clones,
which is considerably less confusing.
</content>
</entry>
<entry>
<title>extract tor_async_utils::oneshot into ::oneshot-fused-workaround</title>
<updated>2024-08-28T14:27:46Z</updated>
<author>
<name>Jim Newsome</name>
<email>jnewsome@torproject.org</email>
</author>
<published>2024-08-22T19:20:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=46f7f01092e6ac55e3e958dc3a2228b1d36e26a1'/>
<id>urn:sha1:46f7f01092e6ac55e3e958dc3a2228b1d36e26a1</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>hsrproxy: Temporarily remove ability to config unix addresses</title>
<updated>2024-01-16T16:56:28Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-01-16T16:56:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=36dcbe9382e12f32d2aecb159c8b51c14871a701'/>
<id>urn:sha1:36dcbe9382e12f32d2aecb159c8b51c14871a701</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>hsrproxy: downgrade remaining TODO HSS comments.</title>
<updated>2024-01-09T19:59:18Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-01-09T19:59:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=c062efb82ee26c538477b5ffd95c255246bfff44'/>
<id>urn:sha1:c062efb82ee26c538477b5ffd95c255246bfff44</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Apply 1 suggestion(s) to 1 file(s)</title>
<updated>2023-12-11T18:08:13Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2023-12-11T18:08:13Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=19546723df1b94af599315b706c7068f60ca3c44'/>
<id>urn:sha1:19546723df1b94af599315b706c7068f60ca3c44</id>
<content type='text'>
</content>
</entry>
</feed>
