Skip to content
Novus Examples
tar10 KB

TAR - Owner Names Longer Than the Header Field

The uname and gname fields in a tar header are 32 bytes. This archive's second member is owned by a 44-character service-account name, which only fits because PAX moves it into an extended header. A USTAR writer would have truncated it to 31 characters and lost the distinction between two similarly-named accounts.

Archive contents — 2 entriestar
  • README.txt
  • artifact.txt

Specifications

Seed
20260807
Tar Format
PAX (POSIX.1-2001)
Members
2
Owner Name Chars
44
Header Field Bytes
32
Mechanism
uname=/gname= records in an 'x' extended header
Ustar Behaviour
would truncate to 31 characters plus NUL

Testing contract

Expected to pass
Scenario
List the archive with owner names shown.
Expected result
build/artifact.txt reports the full 44-character owner and group name, not a 31-character truncation.

What is a .tar file?

TAR (Tape Archive) is a Unix archive format that concatenates files with their metadata into a single uncompressed stream of fixed-size blocks. It preserves permissions, ownership, and directory structure but applies no compression itself. It is usually paired with a compressor such as gzip or xz.

How to use this file

Use an example TAR to test archive extraction, metadata and permission preservation, streaming block parsing, and pipelines that combine tar with external compression.

How to use this file for testing

“TAR - Owner Names Longer Than the Header Field” is a deterministic Novus Examples fixture for Conversion testing, Metadata testing. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.

Documented properties for this file: seed 20260807. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Archive fixtures are documented down to their member list (shown on this page) and are deliberately safe — no zip bombs, executables, or hidden payloads. Test extractors against nested, unicode, empty, and encrypted variants.

Code examples

tar -tf long-owner-names.tar       # list
tar -xf long-owner-names.tar -C out/  # extract

Generated by generation/archives_p7.py. Free for any use, no attribution required — license.