Untar ././@LongLink
- Dominant language
- TypeScript
- Stars
- 3.6k
- Forks
- 681
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
Untar from std/archive/untar.ts does not handle `././@LongLink` blocks.
This is a trick used by GNU-compatible tar utilities to encode links that are larger then the 512 byte blocks tar uses.
It's hard to find exact specs about this, apparently a special block type is used, and the following blocks are the actual name?
Might also be fine to just filter for the `././@LongLink` name and read it out.
(I suppose this could be viewed as a feature request, but IMO treating it as a bug makes sense, as it will silently break untar based code)
**Steps to Reproduce**
- Build a tar with a long name (>512 bytes) with any GNU-compatible tar utility
- Attempt to untar using deno
- Notice the `@LongLink` file
**Expected behavior**
- File should be read correctly
**Environment**
- OS: Arch Linux x86_64, Kernel: 6.0.12-zen1-1-zen
- deno version: deno 1.29.1 (release, x86_64-unknown-linux-gnu), v8 10.9.194.5, typescript 4.9.4
- std version: 0.170 (but I'd guess that this is not a regression)
Contributor guide
Assessment
This issue has not been assessed yet.