mirror of
https://github.com/freemkv/freemkv-keysources.git
synced 2026-10-07 18:13:11 +00:00
Report why an online key lookup failed, and cap the keydb load properly
A key-service failure was indistinguishable from "this disc has no key". Five of the seven exits in the online query returned an empty result with no log at all, and the one that did log threw away the HTTP status the service had already handed us — so a 502, an expired token, a rate limit and a genuine miss all produced the same single line, and the disc was reported as having no key. Each exit now says which one it was, and the genuine miss is logged distinctly from every failure. Nothing new is disclosed: the address that failed the guard, the response body and the bearer token are all still kept out of the log. The HTTP status is the service's own response code, and the size cap is a constant. A malformed key in a returned UK set no longer skips that one element. The mux trusts any non-empty result as the complete forensic set, so a short set silently omits an index; the whole reply is rejected instead. Also make the on-disk keydb cap real. It was a metadata pre-check followed by an unbounded read, which is not a cap: it is skipped when the stat fails, and a FIFO or character device reports zero length, so --keydb /dev/zero passed the guard and then read until the process was OOM-killed (NUL is valid UTF-8, so it never even failed the decode). Read through the same take() cap the download path already used, and add the boundary test the load path never had.
This commit is contained in:
+1
-1
@@ -36,7 +36,7 @@ This Code of Conduct applies within all community spaces, and also applies when
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at owner@example.invalid. All complaints will be reviewed and investigated promptly and fairly.
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported privately to the project maintainer via GitHub at https://github.com/MattJackson. All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user