Skip to content

verifier_tools: Add support for Tessera backed sharded logs. - #15

Merged
billy-lau merged 1 commit into
android:mainfrom
billy-lau:verifier_tools/support-new-log
Sep 4, 2026
Merged

verifier_tools: Add support for Tessera backed sharded logs.#15
billy-lau merged 1 commit into
android:mainfrom
billy-lau:verifier_tools/support-new-log

Conversation

@billy-lau

Copy link
Copy Markdown
Member

cmd/verifier/verifier.go:

  • configured a new base URL and note verifier for Google APK Log v2.
  • refactored main with a logTarget chain so --log_type=google_1p_apk checks the latest Tessera shard (2026/02) first, and automatically falls back to the legacy 2026/01 shard if the candidate payload is not found.

internal/checkpoint/checkpoint.go:

  • added new origin to parseCheckpoint.
  • added FromURLWithPath function to support standard Tessera checkpoint paths (checkpoint) alongside legacy paths (checkpoint.txt).
  • also added unit tests for Tessera logs.

internal/tiles/reader.go:

  • extended HashReader with IsTessera flag to address Merkle tree hash tiles with standard tile//[.p/] paths (omitting tile height).
  • added EntryTilePath and ParseEntryBundle to decode big-endian uint16 length-prefixed entry bundles from tile/entries/.
  • implemented TesseraFindPayloadIndex with atomic disk caching to locate payload sequence indices across entry tiles.
  • also added unit tests for bundle parsing, tile paths, and index lookup.

README.md:

  • updated the Google Product Application Transparency Log section to list both the legacy and new 2026/02 Tessera tile endpoints

Change-Id: I8c75e2ad9ae9542e8c6e64ee81c395b7a12ffbb8

cmd/verifier/verifier.go:
- configured a new base URL and note verifier for Google APK Log v2.
- refactored main with a logTarget chain so --log_type=google_1p_apk
  checks the latest Tessera shard (2026/02) first, and automatically
  falls back to the legacy 2026/01 shard if the candidate payload is
  not found.

internal/checkpoint/checkpoint.go:
- added new origin to `parseCheckpoint`.
- added `FromURLWithPath` function  to support standard Tessera
  checkpoint paths (checkpoint) alongside legacy paths
  (checkpoint.txt).
- also added unit tests for Tessera logs.

internal/tiles/reader.go:
- extended `HashReader` with `IsTessera` flag to address Merkle tree
  hash tiles with standard tile/<L>/<N>[.p/<W>] paths (omitting
  tile height).
- added `EntryTilePath`  and `ParseEntryBundle`  to decode big-endian
  uint16 length-prefixed entry bundles from `tile/entries/`.
- implemented `TesseraFindPayloadIndex`  with atomic disk caching to
  locate payload sequence indices across entry tiles.
- also added unit tests for bundle parsing, tile paths, and index
  lookup.

README.md:
- updated the Google Product Application Transparency Log section to
  list both the legacy and new 2026/02 Tessera tile endpoints

Change-Id: I8c75e2ad9ae9542e8c6e64ee81c395b7a12ffbb8
@billy-lau
billy-lau merged commit 36a9204 into android:main Sep 4, 2026
7 checks passed
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