Skip to content

fix: authenticate SSE-C keys on zero-byte reads - #87

Merged
Vonng merged 3 commits into
mainfrom
codex/issue-82-after-83
Aug 29, 2026
Merged

fix: authenticate SSE-C keys on zero-byte reads#87
Vonng merged 3 commits into
mainfrom
codex/issue-82-after-83

Conversation

@Vonng

@Vonng Vonng commented Aug 29, 2026

Copy link
Copy Markdown
Member

Summary

  • authenticate supplied SSE-C and copy-source keys when a zero-byte read cannot build a decryptor
  • preserve range and request-precondition ordering
  • bypass absent-header internal reads, NoDecryption, replication, and restore paths
  • cover GET, HEAD non-regression, CopyObject, storage-class rewrite, UploadPartCopy, conditional/range ordering, and destination/part non-creation

Dependency

Stacked on the #83 branch so the zero-byte error-contract integration test is explicit.

Validation

  • focused normal/race, go vet ./cmd, and clean full cmd suite
  • two-round Claude Opus 5 Max implementation review; all required ordering/test fixes applied

Refs #82. No release action is performed.

Vonng added 2 commits August 29, 2026 17:32
Unseal supplied SSE-C and copy-source keys after range and request preconditions when a zero-byte read cannot build a decryptor. Preserve internal no-decryption, replication, restore, and absent-header reads.

Signed-off-by: Feng Ruohang <rh@vonng.com>
After zero-byte reads authenticate SSE-C at the object layer, equal invalid rotation keys match non-empty reads and return AccessDenied before the rotation-specific distinction.

Signed-off-by: Feng Ruohang <rh@vonng.com>
Signed-off-by: Feng Ruohang <rh@vonng.com>
@Vonng
Vonng changed the base branch from codex/issue-83-copy-null-version-release to main August 29, 2026 10:49
@Vonng Vonng closed this Aug 29, 2026
@Vonng Vonng reopened this Aug 29, 2026
@Vonng
Vonng merged commit 2ba1f38 into main Aug 29, 2026
8 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