<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-hsservice/src/svc/publish, branch arti-v1.2.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.2.0</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.2.0'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2024-02-20T11:30:19Z</updated>
<entry>
<title>tor-hsservice: Clarify what UploadError::Stream is for.</title>
<updated>2024-02-20T11:30:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-20T11:30:19Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=886833330d71ad62182e60e0ec138262a48a36b8'/>
<id>urn:sha1:886833330d71ad62182e60e0ec138262a48a36b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Clarify what UploadError::Timeout is used for.</title>
<updated>2024-02-20T11:27:17Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-19T19:49:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=195f97ed78e134c0dfb5e4648ae767e5f0b7ae5d'/>
<id>urn:sha1:195f97ed78e134c0dfb5e4648ae767e5f0b7ae5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Log descriptor upload request errors.</title>
<updated>2024-02-19T19:47:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-19T19:47:51Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ba161287f37ba6019e77e0cbefc23c80ec183c73'/>
<id>urn:sha1:ba161287f37ba6019e77e0cbefc23c80ec183c73</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Report a clearer error message for UploadError::Circuit.</title>
<updated>2024-02-19T19:43:23Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-19T19:41:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8ee92b223f7151a02dcc17072a8081e1cf496fd2'/>
<id>urn:sha1:8ee92b223f7151a02dcc17072a8081e1cf496fd2</id>
<content type='text'>
This errors such as
```
DEBUG tor_hsservice::svc::publish::backoff: failed to upload a hidden service descriptor: circuit failed attempt=2 can_retry=true
```

into
```
DEBUG tor_hsservice::svc::publish::backoff: failed to upload a hidden service descriptor: could not build circuit to HsDir attempt=2 can_retry=true
```
</content>
</entry>
<entry>
<title>tor-hsservice: Rename note_&lt;status&gt; to send_&lt;status&gt;.</title>
<updated>2024-02-19T16:30:43Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-06T14:42:30Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2e5a30e98ed5b4e4708a96c66267f1b7757a049e'/>
<id>urn:sha1:2e5a30e98ed5b4e4708a96c66267f1b7757a049e</id>
<content type='text'>
Since these are `*StatusSender` APIs, it seems more idiomatic to call
them `send*`.
</content>
</entry>
<entry>
<title>tor-hsservice: The publisher should process all upload results.</title>
<updated>2024-02-14T14:36:48Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-14T14:36:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=032cdc1ea644e0ea992555d93fb463a9326d3081'/>
<id>urn:sha1:032cdc1ea644e0ea992555d93fb463a9326d3081</id>
<content type='text'>
If one of the upload results is for an HsDir that went away, the
publisher should continue processing the remaining ones, not disregard
them entirely.
</content>
</entry>
<entry>
<title>tor-hsservice: Add a TODO about using HashMap for the reupload_timers.</title>
<updated>2024-02-12T18:46:05Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-12T18:40:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1dd54497ef0ab8d723a3db82ca6a14bc670e0674'/>
<id>urn:sha1:1dd54497ef0ab8d723a3db82ca6a14bc670e0674</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Fix typo in comment.</title>
<updated>2024-02-12T18:46:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2024-02-12T18:39:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=438075f35de7e36217bdabc7f8a85becc36c9c25'/>
<id>urn:sha1:438075f35de7e36217bdabc7f8a85becc36c9c25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Add a publisher TODO about limiting reuploads.</title>
<updated>2024-02-12T18:46:05Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-07T17:54:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2ac9bbb7182f247083bc5cef8b3b9d318355b8ca'/>
<id>urn:sha1:2ac9bbb7182f247083bc5cef8b3b9d318355b8ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tor-hsservice: Periodically reupload the descriptor.</title>
<updated>2024-02-12T18:45:46Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2024-02-07T15:07:04Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=e1f8793fcbfd28ff40eae67dbacb6fa21bd9518e'/>
<id>urn:sha1:e1f8793fcbfd28ff40eae67dbacb6fa21bd9518e</id>
<content type='text'>
According to the spec, the publisher needs to periodically reupload the
descriptor.
```
Specifically, every time a hidden service publishes its descriptor, it also sets up a timer for a random time
between 60 minutes and 120 minutes in the future. When the timer triggers, the hidden service needs to
publish its descriptor again to the responsible HSDirs for that time period. [TODO SPEC: Control republish period
using a consensus parameter?]
```

After each `upload_for_time_period()`, the publisher now sets a timer as
described in the spec, by pushing a `ReuploadTimer` into its
`reupload_timers` heap.

Closes #1241
</content>
</entry>
</feed>
