N28 pax-long-hardlinkA hard link with a long name and a long target, in a pax path and linkpath respectively.
Accept(draft) Every implementation must accept this archive, and extract the expected tree below.
linkname.no-nul: a linkname of exactly 100 bytes, without NULN28-pax-long-hardlink.tar |
test archive, 4,608 bytes
sha256 c55f4509aeb614405b6a271610210b7de3d74da1166d0dc4d7f2aeecb868b22c |
N28-pax-long-hardlink.json | expected result |
N28-pax-long-hardlink.txt | annotated blocks |
N28-pax-long-hardlink.py | generator script |
The pax header has a path of 120 hs and a linkpath of 120 ts, and the hard link's header has truncated ones, as writers put there. In POSIX, a pax record overrides the corresponding field of the header, so the hard link is the 120 hs, and links to the file of 120 ts before it.
The expected tree:
| path | kind | contents |
|---|---|---|
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt | file | 7 bytes, sha256 c97ecfda |
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh | file | 7 bytes, sha256 c97ecfda |
Seen in: pyDACP 1.0.1.
Every block of 512 bytes, to scale, with its offset. Hover over a field for its bytes.
N28-pax-long-hardlink: must accept, and extract its tree
A hard link with a long name and a long target, in a pax `path` and `linkpath` respectively.
The pax header has a `path` of 120 `h`s and a `linkpath` of 120 `t`s, and the hard link's header
has truncated ones, as writers put there. In POSIX, a pax record overrides the corresponding field
of the header, so the hard link is the 120 `h`s, and links to the file of 120 `t`s before it.
Seen in: pyDACP 1.0.1.
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) "00000000202" + NUL 130
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "011073\0 " 4667: 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
130 bytes of pax records, then 382 NUL
"130 path=tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt\n"
0x000400 header: regular file
name [ 0,100) "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"
mode [100,108) "0000644" + NUL 644 (octal)
uid [108,116) "0000000" + NUL 0
gid [116,124) "0000000" + NUL 0
size [124,136) "00000000007" + NUL 7
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "035724\0 " 15316: 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
0x000600 data
7 bytes, then 505 NUL to the end of the block
"target\n"
0x000800 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) "00000000410" + NUL 264
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "011074\0 " 4668: 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
0x000a00 data: pax records
264 bytes of pax records, then 248 NUL
"130 path=hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\n"
"134 linkpath=tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt\n"
0x000c00 header: hardlink
name [ 0,100) "hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"
mode [100,108) "0000644" + NUL 644 (octal)
uid [108,116) "0000000" + NUL 0
gid [116,124) "0000000" + NUL 0
size [124,136) "00000000000" + NUL 0
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "062156\0 " 25710: the unsigned sum of the header, this field as spaces
typeflag [156,157) "1" hardlink
linkname [157,257) "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"
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
0x000e00 2 zero blocks: the end-of-archive marker
0x001200 end of file
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 3230 3200 3030 3030 3030 3030 0000202.00000000 00000090: 3030 3000 3031 3130 3733 0020 7800 0000 000.011073. 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: 3133 3020 7061 7468 3d74 7474 7474 7474 130 path=ttttttt 00000210: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000220: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000230: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000240: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000250: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000260: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000270: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000280: 740a 0000 0000 0000 0000 0000 0000 0000 t............... 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: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000410: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000420: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000430: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000440: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000450: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000460: 7474 7474 3030 3030 3634 3400 3030 3030 tttt0000644.0000 00000470: 3030 3000 3030 3030 3030 3000 3030 3030 000.0000000.0000 00000480: 3030 3030 3030 3700 3030 3030 3030 3030 0000007.00000000 00000490: 3030 3000 3033 3537 3234 0020 3000 0000 000.035724. 0... 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: 7461 7267 6574 0a00 0000 0000 0000 0000 target.......... 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: 5061 7848 6561 6465 7200 0000 0000 0000 PaxHeader....... 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 3431 3000 3030 3030 3030 3030 0000410.00000000 00000890: 3030 3000 3031 3130 3734 0020 7800 0000 000.011074. x... 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: 3133 3020 7061 7468 3d68 6868 6868 6868 130 path=hhhhhhh 00000a10: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000a20: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000a30: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000a40: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000a50: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000a60: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000a70: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000a80: 680a 3133 3420 6c69 6e6b 7061 7468 3d74 h.134 linkpath=t 00000a90: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000aa0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000ab0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000ac0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000ad0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000ae0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000af0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000b00: 7474 7474 7474 740a 0000 0000 0000 0000 ttttttt......... 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: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000c10: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000c20: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000c30: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000c40: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000c50: 6868 6868 6868 6868 6868 6868 6868 6868 hhhhhhhhhhhhhhhh 00000c60: 6868 6868 3030 3030 3634 3400 3030 3030 hhhh0000644.0000 00000c70: 3030 3000 3030 3030 3030 3000 3030 3030 000.0000000.0000 00000c80: 3030 3030 3030 3000 3030 3030 3030 3030 0000000.00000000 00000c90: 3030 3000 3036 3231 3536 0020 3174 7474 000.062156. 1ttt 00000ca0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000cb0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000cc0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000cd0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000ce0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000cf0: 7474 7474 7474 7474 7474 7474 7474 7474 tttttttttttttttt 00000d00: 7475 7374 6172 0030 3000 0000 0000 0000 tustar.00....... 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 0030 3030 3030 3030 .........0000000 00000d50: 0030 3030 3030 3030 0000 0000 0000 0000 .0000000........ 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 ................ 00001000: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001010: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000010a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000010b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000010c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000010d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000010e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000010f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001100: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001110: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001120: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001130: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001140: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001150: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001160: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001170: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001180: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00001190: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000011a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000011b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000011c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000011d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000011e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000011f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
In the outcome column, ✅ means that the implementation follows the default policy.
| implementation | version | outcome | what it makes of it |
|---|---|---|---|
| GNU tar | tar (GNU tar) 1.35 | ✅ accepts | the expected tree |
| bsdtar | bsdtar 3.8.10 - libarchive 3.8.10 | ✅ accepts | the expected tree |
| BusyBox tar | BusyBox v1.38.0, defconfig | ✅ accepts | the expected tree |
| 7-Zip | 7-Zip (z) 26.05 (x64) | ✅ accepts | the expected tree |
| Python tarfile, filter=data, as in pip | CPython 3.15.2 | ✅ accepts | the expected tree |
| Python tarfile, filter=tar | CPython 3.15.2 | ✅ accepts | the expected tree |
| Python tarfile, filter=fully_trusted | CPython 3.15.2 | ✅ accepts | the expected tree |
| node-tar | tar 7.5.22 | ✅ accepts | the expected tree |
| node-tar, strict | tar 7.5.22 | ✅ accepts | the expected tree |
| tar-fs | tar-fs 3.1.3, on tar-stream 3.2.2 | ✅ accepts | the expected tree |
| Java Commons Compress | Commons Compress 1.28.0, Expander, on Java 27.0.1.0.2 | ❌ another tree, or rejects | tree A: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh (0 B, e3b0c442), tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt (7 B, c97ecfda) |
| .NET System.Formats.Tar | System.Formats.Tar of .NET 10.0.14, ExtractToDirectory | ✅ accepts | the expected tree |
| PHP PharData, as in Composer | PharData of PHP 8.5.12, as Composer's TarDownloader calls it | ❌ another tree, or rejects | tree B: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh (0 B, e3b0c442), tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt (7 B, c97ecfda) |
| Go containerd archive.Apply | containerd v2.4.2, archive.Apply, of go1.27.3 | ✅ accepts | the expected tree |
| Rust tar | tar 0.4.46, unpack | ✅ accepts | the expected tree |
| Rust astral-tokio-tar | astral-tokio-tar 0.7.0, unpack | ✅ accepts | the expected tree |
| Rust tar-codec, as in uv | tar-codec 0.0.15, with the policies of uv 0.13 | ✅ accepts | the expected tree |
| RubyGems | RubyGems 4.0.20 of Ruby 4.0.9, extract_tar_gz | ❌ another tree, or rejects | tree C: tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt (7 B, c97ecfda) |
| R untar, internal | utils::untar of R 4.6.1, tar = "internal" | ✅ accepts | the expected tree |
| Perl Archive::Tar | Archive::Tar 3.12 of Perl v5.44.0 | ❌ another tree, or rejects | tree D: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh (7 B, c97ecfda), tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt (7 B, c97ecfda) |
| Haskell tar | tar 0.7.2.0, extract, of GHC 9.14 | ❌ another tree, or rejects | tree E: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh (7 B, c97ecfda), tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt (7 B, c97ecfda) |
| Julia Tar.jl | Tar 1.10.0 of Julia 1.13.3 | ✅ accepts | the expected tree |
| live-bootstrap untar | mescc-tools-extra a151c245e512, as live-bootstrap pins it, built with cc | ❌ another tree, or rejects | error: unable to create hardlinks |
| live-bootstrap untar, --non-strict | mescc-tools-extra a151c245e512, as live-bootstrap pins it, built with cc | ❌ another tree, or rejects | tree F: PaxHeader (264 B, 799d3c80), tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt0000644 (7 B, c97ecfda) |
Release tarballs of Spack, nixpkgs, Guix and live-bootstrap, and samples of PyPI, crates.io and RubyGems with linkname.no-nul. The default policy accepts them.
| ecosystem | tarballs | with it | share |
|---|---|---|---|
| Spack | 37,553 | 14 | 0.04% |
| nixpkgs | 18,990 | 15 | 0.08% |
| Guix | 10,168 | 2 | 0.02% |
| PyPI | 10,000 | 3 | 0.03% |
| crates.io | 5,000 | 0 | none |
| RubyGems | 5,000 | 1 | 0.02% |
| live-bootstrap | 171 | 0 | none |
| total (distinct) | 82,586 | 35 | 0.04% |
See a sample of these 35 tarballs, with the sha256 of each and an example from it.