<feed xmlns='http://www.w3.org/2005/Atom'>
<title>silentct/internal, branch main</title>
<subtitle>Mirror of https://git.glasklar.is/rgdd/silentct</subtitle>
<id>https://git.rgdd.se/silentct/atom?h=main</id>
<link rel='self' href='https://git.rgdd.se/silentct/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/'/>
<updated>2025-10-05T07:05:28+00:00</updated>
<entry>
<title>monitor: Retry get-sth and proof fetching</title>
<updated>2025-10-05T07:05:28+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-05-11T18:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=fcd0a8252e3ab27662be2a781073b80a03f31573'/>
<id>urn:sha1:fcd0a8252e3ab27662be2a781073b80a03f31573</id>
<content type='text'>
Should ensure we don't get into a position where we always fail to get
3x queries that succeed in a row when trying to persist chunks.
</content>
</entry>
<entry>
<title>metrics: Add human-meaningful log_name label</title>
<updated>2025-05-11T18:23:33+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-05-11T18:07:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=f073493c3d11a4d743f0ee1c3f4b423c51f60e29'/>
<id>urn:sha1:f073493c3d11a4d743f0ee1c3f4b423c51f60e29</id>
<content type='text'>
Use log metadata description if available, otherwise fall back on log
URL without the https:// suffix.

Keeping log_id for now at least - seems useful for scripts.
</content>
</entry>
<entry>
<title>prometheus: Refine based on input from anarcat</title>
<updated>2025-01-18T15:34:14+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-18T12:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=8a17817c61f14a727a1017a5bcd4b1ea82964528'/>
<id>urn:sha1:8a17817c61f14a727a1017a5bcd4b1ea82964528</id>
<content type='text'>
https://gitlab.torproject.org/tpo/tpa/team/-/issues/40677
</content>
</entry>
<entry>
<title>fix: Ensure rate-limits are on for get-entries</title>
<updated>2025-01-06T12:30:52+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-06T12:21:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=2d3b1f2cb0c05385c1702f1a7d74fa08d52c262f'/>
<id>urn:sha1:2d3b1f2cb0c05385c1702f1a7d74fa08d52c262f</id>
<content type='text'>
Backoff on 4XX and 5XX.  See related issue:
https://github.com/google/certificate-transparency-go/issues/898

Test manually hints:

```
$ cat srv.py
from http.server import HTTPServer, BaseHTTPRequestHandler

class RequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(429)
        self.send_header("Content-Type", "text/plain")
        self.end_headers()
        self.wfile.write(b"429 something something...")

    def do_POST(self):
        self.do_GET()

    def do_PUT(self):
        self.do_GET()

    def do_DELETE(self):
        self.do_GET()

if __name__ == "__main__":
    server_address = ('localhost', 9090)
    httpd = HTTPServer(server_address, RequestHandler)
    print("Server running on http://localhost:9090")
    httpd.serve_forever()
```

And a transport for http.Client that redirects to localhost:

```
type statusRR struct {
	inner http.RoundTripper
}

func (s *statusRR) RoundTrip(req *http.Request) (*http.Response, error) {
	if strings.Contains(req.URL.Path, "ct/v1/get-entries") {
		req.URL.Scheme = "http"
		req.URL.Host = "localhost:9090"
	}
	rsp, err := s.inner.RoundTrip(req)
	return rsp, err
}
```
</content>
</entry>
<entry>
<title>fix: Ensure backoff for get-sth and proof fetching</title>
<updated>2025-01-05T13:59:09+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-05T13:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=ee5c55d82ad70353e8203f6729d4325b59741bfa'/>
<id>urn:sha1:ee5c55d82ad70353e8203f6729d4325b59741bfa</id>
<content type='text'>
Our get-entries fetcher already backs-off exponentially.
</content>
</entry>
<entry>
<title>fix: Ensure fresh STHs are propagated</title>
<updated>2025-01-05T13:34:04+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-05T13:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=b8b6ce265ef083d21db155af4a50cee1b9b0b934'/>
<id>urn:sha1:b8b6ce265ef083d21db155af4a50cee1b9b0b934</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: Don't accept timestamps that shrink</title>
<updated>2025-01-05T13:34:04+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-05T13:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=a7cc687c7bab91b9e525d9b91dc9d358afca5a28'/>
<id>urn:sha1:a7cc687c7bab91b9e525d9b91dc9d358afca5a28</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: Ensure chunks are sent eventually and on exit</title>
<updated>2025-01-05T13:34:04+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-05T13:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=108932cab926cf9743df7f9eaf383104130e9377'/>
<id>urn:sha1:108932cab926cf9743df7f9eaf383104130e9377</id>
<content type='text'>
</content>
</entry>
<entry>
<title>prometheus: Add silentct_need_restart</title>
<updated>2025-01-04T13:22:20+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-04T13:22:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=8a31fb55ef76714f617f079b67a573906f9cea77'/>
<id>urn:sha1:8a31fb55ef76714f617f079b67a573906f9cea77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>prometheus: Add drafty error counter</title>
<updated>2025-01-04T13:22:20+00:00</updated>
<author>
<name>Rasmus Dahlberg</name>
<email>rgdd@glasklarteknik.se</email>
</author>
<published>2025-01-04T13:22:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rgdd.se/silentct/commit/?id=8406a82803344fcf1284d72300cf69f54d5b5925'/>
<id>urn:sha1:8406a82803344fcf1284d72300cf69f54d5b5925</id>
<content type='text'>
Needs tuning, too noisy right now.
</content>
</entry>
</feed>
