v0.308.0: controller batch 2026-10-12 — clear-address warning (R-922), secret sweep over every page (R-255), read_failed (R-266), no NVMe heat band (R-333), share globe (R-577), Hungarian dates and numbers (R-562), lost-drive option pinned (R-521)
Operator rulings 2026-10-12, 09 §3 decisions 196, 204-207, 223, 227. MinAgent 0.131.0 unchanged. R-255's sweep found one leak, fixed here: an optional-config secret_input was rendered into its settings page; it is now revealed on demand. Hungarian parity fixtures re-captured once for R-562. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -225,6 +225,7 @@
|
||||
"flash.share.already_on": "A megosztás már be van kapcsolva.",
|
||||
"flash.share.enable_failed": "A megosztás bekapcsolása nem sikerült.",
|
||||
"flash.share.enabled": "A megosztás bekapcsolva.",
|
||||
"flash.share.wrong_password": "Hibás jelszó",
|
||||
"flash.share.not_on": "A megosztás nincs bekapcsolva.",
|
||||
"flash.share.relink_failed": "Az új link készítése nem sikerült.",
|
||||
"flash.share.relinked": "Új megosztási link készült. A korábbi link és minden korábbi belépés érvénytelen.",
|
||||
|
||||
@@ -27,13 +27,15 @@ is on the ALLOWLIST below with a stated reason.
|
||||
2. It reasons about TEMPLATES, not about rendered output. A handler that writes a secret into a
|
||||
neutrally-named page-data key is invisible to it.
|
||||
3. Runtime body-assertion — rendering a page with a sentinel and grepping the response — is the
|
||||
check that catches all three, and it needs each page's data to be constructible. Four pages have
|
||||
that today (settings_security, app_info, deploy, backups_restore) and each has its own test; the
|
||||
other 23 page templates do NOT. Closing that gap is R-255.
|
||||
check that catches all three. Since v0.308.0 (R-255) ONE test does it for EVERY page template:
|
||||
internal/web/r255_secret_sweep_test.go (TestR255_NoPlantedSecretReachesAnyPage) renders every
|
||||
parity case of every page, in both languages, with a unique value planted in every secret-named
|
||||
field of its data, and fails on any that reaches the HTML. Its hole, stated: it plants into the
|
||||
fixture data, so a HANDLER that copies a secret into a neutral key is caught only if a case
|
||||
models that handler's data.
|
||||
|
||||
So: this is the cheap layer that would have caught two of the three, plus a per-page runtime assertion
|
||||
for the pages that can afford one. Together they are not a proof; they are two nets with different
|
||||
holes, and the holes are named above.
|
||||
So: this is the cheap layer over the templates, plus the render sweep over the pages. Together they are
|
||||
not a proof; they are two nets with different holes, and the holes are named above.
|
||||
"""
|
||||
import os
|
||||
import re
|
||||
|
||||
Reference in New Issue
Block a user