aboutsummaryrefslogtreecommitdiff
path: root/internal
Commit message (Collapse)AuthorAgeFilesLines
* fix: Ensure rate-limits are on for get-entriesmainRasmus Dahlberg12 days2-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 } ```
* fix: Ensure backoff for get-sth and proof fetchingRasmus Dahlberg13 days1-1/+6
| | | | Our get-entries fetcher already backs-off exponentially.
* fix: Ensure fresh STHs are propagatedRasmus Dahlberg13 days1-0/+20
|
* fix: Don't accept timestamps that shrinkRasmus Dahlberg13 days1-0/+3
|
* fix: Ensure chunks are sent eventually and on exitRasmus Dahlberg13 days2-18/+42
|
* prometheus: Add silentct_need_restartRasmus Dahlberg14 days2-1/+13
|
* prometheus: Add drafty error counterRasmus Dahlberg14 days2-1/+16
| | | | Needs tuning, too noisy right now.
* fix: Always run alertJob() on manager startupRasmus Dahlberg14 days1-0/+3
| | | | Ensures we alert asap if we have something to alert for.
* prometheus: Add basic metrics for alertingRasmus Dahlberg14 days2-1/+82
| | | | | - Detect if we're falling behind while downloading - Detect if there are any found certificates alerting
* Ensure alertJob() runs on the clockRasmus Dahlberg2025-01-031-0/+7
| | | | | Currently it only runs if there are monitor/feedback events. Which is probably fine for the most part, but will be a bit more robust.
* Cleaner notice message on certificate mis-issuanceRasmus Dahlberg2025-01-031-1/+1
|
* chore: Remove dash in project nameRasmus Dahlberg2024-06-025-14/+14
| | | | To be consistent with naming of the tools in cmd/.
* Only bootstrap a compact range once per logRasmus Dahlberg2024-05-265-57/+163
| | | | | | | | | | | | | | | As opposed to doing a new bootstrap with get-proof-by-hash every time the next root is constructed. Bootstrapping the compact range from a get-proof-by-hash query works for the most part, but fails if the log included a duplicate entry and gives us the index for that instead. Log operators with duplicate entries include Cloudflare and Digicert. If bootstrap fails (unlucky), we try to bootstrap again once the log's signed tree head moved forward (hoping the last entry has no duplicate). The more reliable way to bootstrap a compact range would be to use the get-entry-and-proof endpoint. This does not work in practise because some logs are not implementing this endpoint. Digicert has such logs.
* fix: Add loop in feedback's RunForeverRasmus Dahlberg2024-05-171-5/+7
| | | | This fixes the issue of the monitor stopping after the second pull.
* Reduce default chunk sizeRasmus Dahlberg2024-05-161-1/+1
|
* Fix nits spotted by go vetRasmus Dahlberg2024-05-164-15/+16
|
* Set larger shutdown timeoutRasmus Dahlberg2024-01-081-1/+1
|
* Change notice -> debug print for shutdown noticeRasmus Dahlberg2024-01-081-1/+1
|
* Set larger chunk size defaultRasmus Dahlberg2024-01-081-1/+1
|
* Add drafty prototypeRasmus Dahlberg2024-01-0715-632/+947
|
* Drafty server package to receive node requestsRasmus Dahlberg2023-12-172-1/+45
| | | | | curl http://localhost:2009/get-status curl -X POST --data-binary @/home/rgdd/fullchain.pem -u node_a:aaaa http://localhost:2009/add-chain
* Add drafty skeletonRasmus Dahlberg2023-12-106-0/+630