Skip to content

# Veeam: extract OibSummary.xml as the stored bytes, not re-encoded text - #404

Merged
Hawkynt merged 1 commit into
mainfrom
feat/veeam-verbatim-oib-xml
Sep 30, 2026
Merged

Hawkynt merged 1 commit into
mainfrom
feat/veeam-verbatim-oib-xml

Conversation

@Hawkynt

@Hawkynt Hawkynt commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner

What changed

  • Extract OibSummary.xml from its original byte range in the Veeam container instead of re-encoding the best-effort decoded text.
  • Regression test: a byte the UTF-8 fallback decoder replaces in RawXml still comes out unchanged in the extracted entry.

Scope

Read-only surface only; no Veeam writer is claimed (the VBK/VIB/VRB block layer has no published specification).

Verification

Rebased on main; dotnet test --filter Veeam green locally (58 tests); CI green.

@Hawkynt
Hawkynt force-pushed the feat/veeam-verbatim-oib-xml branch from d65bdc4 to e9708cb Compare September 30, 2026 11:48
@Hawkynt Hawkynt changed the title Preserve raw bytes when extracting Veeam OibSummary # Veeam: extract OibSummary.xml as the stored bytes, not re-encoded text Sep 30, 2026
@Hawkynt
Hawkynt force-pushed the feat/veeam-verbatim-oib-xml branch from dcb3ffd to 9601393 Compare September 30, 2026 15:46
…ad of copying the stored bytes

Symptom: an OibSummary island holding a byte that is not valid UTF-8 came
out of extraction with U+FFFD in its place, so the extracted metadata no
longer matched the backup file.

Root cause: the entry was built from Encoding.UTF8.GetBytes(RawXml), and
RawXml is the best-effort decoded view that the replacement-fallback
decoder produced.

Fix: copy the entry straight from the island's byte range in the container.
RawXml stays the text view; the extracted entry is now the exact bytes.
@Hawkynt
Hawkynt force-pushed the feat/veeam-verbatim-oib-xml branch from 4031671 to 64dc651 Compare September 30, 2026 19:42
@Hawkynt
Hawkynt merged commit 9f674e3 into main Sep 30, 2026
9 of 12 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