Working draft

N09 extended-two-pax-headers

Two pax extended headers for one member, with different paths.

Reject(draft) A strict parser must reject this archive.

Category
name
Default policy
rejects it
Files
N09-extended-two-pax-headers.tar test archive, 4,096 bytes sha256 15e50be7d39a87407c97e5793acd8ae5867909ef2368a21ae33e07ce40902ad7
N09-extended-two-pax-headers.jsonexpected result
N09-extended-two-pax-headers.txtannotated blocks
N09-extended-two-pax-headers.pygenerator script

The case

Two x headers come before one member, with the paths first and second. POSIX settles conflicting records within one extended header, where the last one wins, but not two extended headers for one file. This case is ambiguous because the name is first, second, or the header's own.

Decision point: which of two extended headers of one kind applies.

Seen in: none of the scanned tarballs. libmygpo-qt 1.2.0 repeats xattr keys within one header, which is N20, pax-repeated-key.

The archive

Every block of 512 bytes, to scale, with its offset. Hover over a field for its bytes.

N09-extended-two-pax-headers: every block of the archive0x000000header: pax extended headername [0,100): "PaxHeader" + 91 NULnamemode [100,108): "0000644" + NUL, 644 (octal)uid [108,116): "0000000" + NUL, 0gid [116,124): "0000000" + NUL, 0size [124,136): "00000000016" + NUL, 14mtime [136,148): "00000000000" + NUL, 0chksum [148,156): "011076\0 ", 4670: the unsigned sum of the header, this field as spacestypeflag [156,157): "x", pax extended headerlinkname [157,257): 100 NULlinknamemagic [257,263): "ustar" + NULversion [263,265): "00"uname [265,297): 32 NULunamegname [297,329): 32 NULgnamedevmajor [329,337): "0000000" + NUL, 0devminor [337,345): "0000000" + NUL, 0prefix [345,500): 155 NULprefixpad [500,512): 12 NULname "PaxHeader" + 91 NUL0x000200data: pax records14 bytes of pax records, then 498 NUL; "14 path=first\n""14 path=first\n"0x000400header: pax extended headername [0,100): "PaxHeader" + 91 NULnamemode [100,108): "0000644" + NUL, 644 (octal)uid [108,116): "0000000" + NUL, 0gid [116,124): "0000000" + NUL, 0size [124,136): "00000000017" + NUL, 15mtime [136,148): "00000000000" + NUL, 0chksum [148,156): "011077\0 ", 4671: the unsigned sum of the header, this field as spacestypeflag [156,157): "x", pax extended headerlinkname [157,257): 100 NULlinknamemagic [257,263): "ustar" + NULversion [263,265): "00"uname [265,297): 32 NULunamegname [297,329): 32 NULgnamedevmajor [329,337): "0000000" + NUL, 0devminor [337,345): "0000000" + NUL, 0prefix [345,500): 155 NULprefixpad [500,512): 12 NULname "PaxHeader" + 91 NUL0x000600data: pax records15 bytes of pax records, then 497 NUL; "15 path=second\n""15 path=second\n"0x000800header: regular filename [0,100): "header-name" + 89 NULnamemode [100,108): "0000644" + NUL, 644 (octal)uid [108,116): "0000000" + NUL, 0gid [116,124): "0000000" + NUL, 0size [124,136): "00000000014" + NUL, 12mtime [136,148): "00000000000" + NUL, 0chksum [148,156): "011271\0 ", 4793: the unsigned sum of the header, this field as spacestypeflag [156,157): "0", regular filelinkname [157,257): 100 NULlinknamemagic [257,263): "ustar" + NULversion [263,265): "00"uname [265,297): 32 NULunamegname [297,329): 32 NULgnamedevmajor [329,337): "0000000" + NUL, 0devminor [337,345): "0000000" + NUL, 0prefix [345,500): 155 NULprefixpad [500,512): 12 NULname "header-name" + 89 NUL0x000a00data12 bytes, then 500 NUL to the end of the block; "which name?\n""which name?\n"0x000c002 zero blocks: the end-of-archive markerbytes 0 to 512 of 1024: 512 NUL0x000e002 zero blocks, continuedbytes 512 to 1024 of 1024: 512 NUL0x001000end of fileNULprintable ASCIIspacecontrol character, such as a newlinebyte over 0x7fwritten by the case itself
Every block, as text
N09-extended-two-pax-headers: must reject

Two pax extended headers for one member, with different paths.

Two `x` headers come before one member, with the paths `first` and `second`. POSIX settles
conflicting records within one extended header, where the last one wins, but not two extended
headers for one file. This case is ambiguous because the name is `first`, `second`, or the header's
own.

Decision point: which of two extended headers of one kind applies.
Seen in: none of the scanned tarballs. libmygpo-qt 1.2.0 repeats xattr keys within one header,
which is N20, pax-repeated-key.

0x000000  header: pax extended header
          name     [  0,100)  "PaxHeader" + 91 NUL
          mode     [100,108)  "0000644" + NUL  644 (octal)
          uid      [108,116)  "0000000" + NUL  0
          gid      [116,124)  "0000000" + NUL  0
          size     [124,136)  "00000000016" + NUL  14
          mtime    [136,148)  "00000000000" + NUL  0
          chksum   [148,156)  "011076\0 "  4670: the unsigned sum of the header, this field as spaces
          typeflag [156,157)  "x"  pax extended header
          linkname [157,257)  100 NUL
          magic    [257,263)  "ustar" + NUL
          version  [263,265)  "00"
          uname    [265,297)  32 NUL
          gname    [297,329)  32 NUL
          devmajor [329,337)  "0000000" + NUL  0
          devminor [337,345)  "0000000" + NUL  0
          prefix   [345,500)  155 NUL
          pad      [500,512)  12 NUL
0x000200  data: pax records
          14 bytes of pax records, then 498 NUL
          "14 path=first\n"
0x000400  header: pax extended header
          name     [  0,100)  "PaxHeader" + 91 NUL
          mode     [100,108)  "0000644" + NUL  644 (octal)
          uid      [108,116)  "0000000" + NUL  0
          gid      [116,124)  "0000000" + NUL  0
          size     [124,136)  "00000000017" + NUL  15
          mtime    [136,148)  "00000000000" + NUL  0
          chksum   [148,156)  "011077\0 "  4671: the unsigned sum of the header, this field as spaces
          typeflag [156,157)  "x"  pax extended header
          linkname [157,257)  100 NUL
          magic    [257,263)  "ustar" + NUL
          version  [263,265)  "00"
          uname    [265,297)  32 NUL
          gname    [297,329)  32 NUL
          devmajor [329,337)  "0000000" + NUL  0
          devminor [337,345)  "0000000" + NUL  0
          prefix   [345,500)  155 NUL
          pad      [500,512)  12 NUL
0x000600  data: pax records
          15 bytes of pax records, then 497 NUL
          "15 path=second\n"
0x000800  header: regular file
          name     [  0,100)  "header-name" + 89 NUL
          mode     [100,108)  "0000644" + NUL  644 (octal)
          uid      [108,116)  "0000000" + NUL  0
          gid      [116,124)  "0000000" + NUL  0
          size     [124,136)  "00000000014" + NUL  12
          mtime    [136,148)  "00000000000" + NUL  0
          chksum   [148,156)  "011271\0 "  4793: the unsigned sum of the header, this field as spaces
          typeflag [156,157)  "0"  regular file
          linkname [157,257)  100 NUL
          magic    [257,263)  "ustar" + NUL
          version  [263,265)  "00"
          uname    [265,297)  32 NUL
          gname    [297,329)  32 NUL
          devmajor [329,337)  "0000000" + NUL  0
          devminor [337,345)  "0000000" + NUL  0
          prefix   [345,500)  155 NUL
          pad      [500,512)  12 NUL
0x000a00  data
          12 bytes, then 500 NUL to the end of the block
          "which name?\n"
0x000c00  2 zero blocks: the end-of-archive marker
0x001000  end of file
Every byte, as a hex dump

As xxd writes it: xxd -r makes the archive of it.

00000000: 5061 7848 6561 6465 7200 0000 0000 0000  PaxHeader.......
00000010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000060: 0000 0000 3030 3030 3634 3400 3030 3030  ....0000644.0000
00000070: 3030 3000 3030 3030 3030 3000 3030 3030  000.0000000.0000
00000080: 3030 3030 3031 3600 3030 3030 3030 3030  0000016.00000000
00000090: 3030 3000 3031 3130 3736 0020 7800 0000  000.011076. x...
000000a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000100: 0075 7374 6172 0030 3000 0000 0000 0000  .ustar.00.......
00000110: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000120: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000130: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000140: 0000 0000 0000 0000 0030 3030 3030 3030  .........0000000
00000150: 0030 3030 3030 3030 0000 0000 0000 0000  .0000000........
00000160: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000170: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000180: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000190: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000200: 3134 2070 6174 683d 6669 7273 740a 0000  14 path=first...
00000210: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000220: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000230: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000240: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000250: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000260: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000270: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000280: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000290: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000300: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000310: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000320: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000330: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000340: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000350: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000360: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000370: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000380: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000390: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000400: 5061 7848 6561 6465 7200 0000 0000 0000  PaxHeader.......
00000410: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000420: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000430: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000440: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000450: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000460: 0000 0000 3030 3030 3634 3400 3030 3030  ....0000644.0000
00000470: 3030 3000 3030 3030 3030 3000 3030 3030  000.0000000.0000
00000480: 3030 3030 3031 3700 3030 3030 3030 3030  0000017.00000000
00000490: 3030 3000 3031 3130 3737 0020 7800 0000  000.011077. x...
000004a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000500: 0075 7374 6172 0030 3000 0000 0000 0000  .ustar.00.......
00000510: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000520: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000530: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000540: 0000 0000 0000 0000 0030 3030 3030 3030  .........0000000
00000550: 0030 3030 3030 3030 0000 0000 0000 0000  .0000000........
00000560: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000570: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000580: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000590: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000600: 3135 2070 6174 683d 7365 636f 6e64 0a00  15 path=second..
00000610: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000620: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000630: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000640: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000650: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000660: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000670: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000680: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000690: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000700: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000710: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000720: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000730: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000740: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000750: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000760: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000770: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000780: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000790: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000800: 6865 6164 6572 2d6e 616d 6500 0000 0000  header-name.....
00000810: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000820: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000830: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000840: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000850: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000860: 0000 0000 3030 3030 3634 3400 3030 3030  ....0000644.0000
00000870: 3030 3000 3030 3030 3030 3000 3030 3030  000.0000000.0000
00000880: 3030 3030 3031 3400 3030 3030 3030 3030  0000014.00000000
00000890: 3030 3000 3031 3132 3731 0020 3000 0000  000.011271. 0...
000008a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000900: 0075 7374 6172 0030 3000 0000 0000 0000  .ustar.00.......
00000910: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000920: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000930: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000940: 0000 0000 0000 0000 0030 3030 3030 3030  .........0000000
00000950: 0030 3030 3030 3030 0000 0000 0000 0000  .0000000........
00000960: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000970: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000980: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000990: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a00: 7768 6963 6820 6e61 6d65 3f0a 0000 0000  which name?.....
00000a10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000aa0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ab0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ac0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ad0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ae0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000af0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ba0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000be0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bf0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ca0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ce0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cf0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000da0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000db0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000dc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000dd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000de0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000df0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ea0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000eb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ec0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ed0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ee0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ef0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fa0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fe0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ff0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

What implementations make of it

implementationversionoutcomewhat it makes of it
GNU tartar (GNU tar) 1.35⚠️ acceptstree A: second (12 B, a578eb49)
bsdtarbsdtar 3.8.10 - libarchive 3.8.10✅ as the verdict sayserror: bsdtar: Redundant 'x' header bsdtar: Error exit delayed from previous errors
BusyBox tarBusyBox v1.38.0, defconfig⚠️ acceptstree A: second (12 B, a578eb49)
7-Zip7-Zip (z) 26.05 (x64)⚠️ acceptstree A: second (12 B, a578eb49)
Python tarfile, filter=data, as in pipCPython 3.15.2⚠️ acceptstree B: first (12 B, a578eb49)
Python tarfile, filter=tarCPython 3.15.2⚠️ acceptstree B: first (12 B, a578eb49)
Python tarfile, filter=fully_trustedCPython 3.15.2⚠️ acceptstree B: first (12 B, a578eb49)
node-tartar 7.5.22⚠️ acceptstree A: second (12 B, a578eb49)
node-tar, stricttar 7.5.22⚠️ acceptstree A: second (12 B, a578eb49)
tar-fstar-fs 3.1.3, on tar-stream 3.2.2⚠️ acceptstree A: second (12 B, a578eb49)
Java Commons CompressCommons Compress 1.28.0, Expander, on Java 27.0.1.0.2⚠️ acceptstree B: first (12 B, a578eb49)
.NET System.Formats.TarSystem.Formats.Tar of .NET 10.0.14, ExtractToDirectory✅ as the verdict sayserror: InvalidDataException: A metadata entry of type 'ExtendedAttributes' was unexpectedly found after a metadata entry of type 'ExtendedAttributes'.
PHP PharData, as in ComposerPharData of PHP 8.5.12, as Composer's TarDownloader calls it⚠️ acceptstree C: header-name (12 B, a578eb49)
Go containerd archive.Applycontainerd v2.4.2, archive.Apply, of go1.27.3⚠️ acceptstree A: second (12 B, a578eb49)
Rust tartar 0.4.46, unpack✅ as the verdict sayserror: failed to iterate over archive
Rust astral-tokio-tarastral-tokio-tar 0.7.0, unpack✅ as the verdict sayserror: failed to iterate over archive
Rust tar-codec, as in uvtar-codec 0.0.15, with the policies of uv 0.13✅ as the verdict sayserror: at byte 1024: unexpected tar block: expected ordinary ustar member header after a local pax header, found another pax extended header
RubyGemsRubyGems 4.0.20 of Ruby 4.0.9, extract_tar_gz⚠️ acceptstree C: header-name (12 B, a578eb49)
R untar, internalutils::untar of R 4.6.1, tar = "internal"⚠️ acceptstree A: second (12 B, a578eb49)
Perl Archive::TarArchive::Tar 3.12 of Perl v5.44.0⚠️ acceptstree C: header-name (12 B, a578eb49)
Haskell tartar 0.7.2.0, extract, of GHC 9.14✅ as the verdict sayserror: TwoTypeLEntries
Julia Tar.jlTar 1.10.0 of Julia 1.13.3⚠️ acceptstree A: second (12 B, a578eb49)
live-bootstrap untarmescc-tools-extra a151c245e512, as live-bootstrap pins it, built with cc⚠️ acceptstree D: PaxHeader (15 B, 7c8761f1), header-name (12 B, a578eb49)
live-bootstrap untar, --non-strictmescc-tools-extra a151c245e512, as live-bootstrap pins it, built with cc⚠️ acceptstree D: PaxHeader (15 B, 7c8761f1), header-name (12 B, a578eb49)

Prevalence in release tarballs

Release tarballs of Spack, nixpkgs, Guix and live-bootstrap, and samples of PyPI, crates.io and RubyGems with extended.two-pax-headers.

ecosystemtarballswith itshare
Spack37,5530none
nixpkgs18,9900none
Guix10,1680none
PyPI10,0000none
crates.io5,0000none
RubyGems5,0000none
live-bootstrap1710none
total (distinct)82,5860none