<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti/src/reload_cfg.rs, branch arti-v1.2.1</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.1</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.1'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-03-13T13:38:22Z</updated>
<entry>
<title>tor-config: Allow ConfigurationSource to be verbatim text.</title>
<updated>2024-03-13T13:38:22Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2024-02-15T15:22:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=969e037edf422a6a574f3367d4784e2864d1c8a8'/>
<id>urn:sha1:969e037edf422a6a574f3367d4784e2864d1c8a8</id>
<content type='text'>
This will let us test our configuration logic without having
to use the `config` crate directly.
</content>
</entry>
<entry>
<title>arti config watch: Pass Runtime as first argument</title>
<updated>2024-03-04T11:08:36Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-03-04T11:08:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=817a586d0275c64d3e54de6b3cff82d54ab76702'/>
<id>urn:sha1:817a586d0275c64d3e54de6b3cff82d54ab76702</id>
<content type='text'>
That seems often how we do things elsewhere.
</content>
</entry>
<entry>
<title>arti config watch: Pass a Runtime, not a TorClient</title>
<updated>2024-03-04T11:02:17Z</updated>
<author>
<name>Ian Jackson</name>
<email>ijackson@chiark.greenend.org.uk</email>
</author>
<published>2024-03-04T11:02:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7ec3d1ed9b37b3326abe28cd3fdadb99668aedc0'/>
<id>urn:sha1:7ec3d1ed9b37b3326abe28cd3fdadb99668aedc0</id>
<content type='text'>
I found this confusing in !2009, where the variable is unused on
Windows: I wondered if this meant our config-reloading only worked on
Unix, since "obviously it would need the TorClient".

But actually the TorClient was only used *in this argument* for its
runtime.  The actual reconfiguration of the TorClient is doen by it
being in one of the ReconfigurableModule's.

Change the type of the argument for clarity.
</content>
</entry>
<entry>
<title>arti: do not warn about unused variable on Windows</title>
<updated>2024-02-29T22:40:32Z</updated>
<author>
<name>Tobias Stoeckmann</name>
<email>tobias@stoeckmann.org</email>
</author>
<published>2024-02-29T22:26:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=d7a90cec007c9208de383b9d925559756e2c9805'/>
<id>urn:sha1:d7a90cec007c9208de383b9d925559756e2c9805</id>
<content type='text'>
Do not complain on non-unix systems that variable client is not used.
It is only accessed within the function on unix systems.
</content>
</entry>
<entry>
<title>arti: Only exit if all the modules have been dropped.</title>
<updated>2024-01-25T13:58:49Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-01-25T13:58:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=fa7a9440d4978f2348bfe1bd6620b3c084322c98'/>
<id>urn:sha1:fa7a9440d4978f2348bfe1bd6620b3c084322c98</id>
<content type='text'>
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1917#note_2988815
</content>
</entry>
<entry>
<title>arti: Use Weak references for the reconfigurable modules.</title>
<updated>2024-01-25T12:25:45Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-01-25T11:47:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=81c0dccf8f38b7d7fe77d683d7210f88fb4161db'/>
<id>urn:sha1:81c0dccf8f38b7d7fe77d683d7210f88fb4161db</id>
<content type='text'>
Previously, the `ProxySet` (and all the other `reconfigurable_modules`)
were kept alive by the `watch_for_config_changes` background thread,
which was preventing them from being dropped when `run()` exited. IOW,
onion services never received the shutdown signal.

Now `watch_for_config_changes` takes `Weak` references, and the only
strong references to the modules are kept in the
`reconfigurable_modules` local variable in `run()`, which is dropped
when `run()` exits (e.g. on SIGINT). This allows onion services to
execute their shutdown logic on CTRL-C.

Part of #1244
</content>
</entry>
<entry>
<title>arti: Generalize a TODO HSS about reconfiguration.</title>
<updated>2023-12-12T19:50:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-12-11T16:28:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=58d11981035d4e359109ef8fb0b1101f1f867736'/>
<id>urn:sha1:58d11981035d4e359109ef8fb0b1101f1f867736</id>
<content type='text'>
It's correct that we'd like someday for the `arti` crate APIs to
allow all the different modes supported by `Reconfigure` enum;
this is #1156, and it does not block an HSS release.
</content>
</entry>
<entry>
<title>arti: Make reconfiguration slightly more abstract</title>
<updated>2023-12-05T17:45:51Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-12-05T17:45:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1ac515c183bf8c1d7e07bccd0fdbd3644041b250'/>
<id>urn:sha1:1ac515c183bf8c1d7e07bccd0fdbd3644041b250</id>
<content type='text'>
Now instead of having a hardwired list of of things to reconfigure,
the watch_cfg module now has a vector of ReconfigurableModule.

As noted in the documentation, I don't intend that this should be
our final API here: It is deliberately not exposed.  When we revisit
the structure of `arti` more, we should probably do this
differently.
</content>
</entry>
<entry>
<title>Add cognitive-complexity exceptions for clippy.</title>
<updated>2023-09-06T02:34:56Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-08-30T18:43:38Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8b8faacd1cbcdd841a02cd0273f75377d5a91b3f'/>
<id>urn:sha1:8b8faacd1cbcdd841a02cd0273f75377d5a91b3f</id>
<content type='text'>
I have no idea why these became necessary.
</content>
</entry>
<entry>
<title>Throughout: Use *_report!() macros for reporting Errors.</title>
<updated>2023-07-07T17:00:21Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-07-07T13:54:27Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=25c6fe61e4cf230210dffdac2d3c281fcb31c5a9'/>
<id>urn:sha1:25c6fe61e4cf230210dffdac2d3c281fcb31c5a9</id>
<content type='text'>
I identified the cases to replace by searching for the string
`.report()`.  There are a few that I didn't change:

  * A couple of cases that used anyhow::Error,
  * One case that reported two Errors.
  * Two cases in `tor_hsclient::err` that just did
    `error!("Bug: {}")`.

I have also not audited the cases in `tor-hsclient` where we're using
`tor_error::Report` manually.

Nonetheless, closes #949.
</content>
</entry>
</feed>
