Skip to content

Reject custom test log lists whose logs lack the "test" marker - #363

Merged
robstradling merged 1 commit into
mainfrom
reject-non-test-custom-logs
Sep 10, 2026
Merged

Reject custom test log lists whose logs lack the "test" marker#363
robstradling merged 1 commit into
mainfrom
reject-non-test-custom-logs

Conversation

@robstradling

Copy link
Copy Markdown
Member

Problem

A custom test log list (`strategy.testLogListFilename`) replaces the test TLS logs, but `LoadCustomTestLogList` only reassigns `TestTLSLogs` — it never touches the active/usable lists (which are frozen at package init from the embedded `ctloglists.CrtshV3Active`).

If a log is present in both the embedded active log list and the custom test file, it appears in `active_tls_logs.json` and `test_tls_logs.json`, because there is no de-duplication. That's the source of the "active endpoint emits custom logs" report. It's aggravated by `determineActiveTLSLogs` classifying a log as active whenever `log_type != "test"`, so a test log that omits the marker is treated as active.

Fix

Require every log and tiled log in a custom test log list to set `"log_type": "test"`. `validateLogList` now rejects any that don't, so `LoadCustomTestLogList` returns an error and ctsubmit fails fast at startup (via `lgr.Fatal`) rather than serving a non-test log as active/usable.

Tests

  • Added `log_without_test_marker` and `tiled_log_without_test_marker` cases to `TestValidateLogList`.
  • Updated the `writeCustomTestLogList` helper and existing valid cases to carry `log_type: "test"`.
  • `go build ./...` and `go test ./...` pass.

Docs

  • `docs/INSTALL.md` now states the `log_type: "test"` requirement.

A custom test log list (strategy.testLogListFilename) replaces the test TLS
logs but never touches the active/usable lists. If one of its logs is also
present in the active log list, it would appear in active_tls_logs.json too.

Require every log and tiled log in a custom test log list to set
log_type: "test". validateLogList now rejects any that don't, so
LoadCustomTestLogList fails and ctsubmit refuses to start rather than serving
a non-test log as active/usable.
@robstradling
robstradling merged commit 9fd6e04 into main Sep 10, 2026
7 checks passed
@robstradling
robstradling deleted the reject-non-test-custom-logs branch September 10, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant