A new p7zip fork with additional codecs and improvements (forked from https://sourceforge.net/projects/sevenzip/ AND https://sourceforge.net/projects/p7zip/).
803
stars
111
forks
source link
Bug: symlinks are stored as text files if added explicitly #235
So, when I pack a as a whole, link1 is saved as a link. But when I pack a/link1 explicitly, it is saved as a text file.
Let's unpack 2.7z:
> mkdir 2; cd 2
> 7za x ../2.7z
7-Zip (a) [64] 17.05 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.05 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs x64)
Scanning the drive for archives:
1 file, 209 bytes (1 KiB)
Extracting archive: ../2.7z
--
Path = ../2.7z
Type = 7z
Physical Size = 209
Headers Size = 168
Method = LZMA2:12
Solid = +
Blocks = 1
Everything is Ok
Files: 2
Size: 37
Compressed: 209
> ls -l a
total 8
-rw-r--r-- 1 root root 29 Jun 23 23:28 date.txt
-rw-r--r-- 1 root root 8 Jun 23 23:28 link1
> cat a/link1; echo
date.txt
So, it packed link1 as a text file with the link target as its contents.
Other affected versions: 15.14 and 16.02
Not affected: 9.38. Its l -slt printer does not print posix attrs. Just unpack the archive to check if the symlink is there or use a newer binary to inspect.
Binaries built from 7zip.org sources are not affected. For example, 7zz version 21.07 from 7zip package in ubuntu 22.04.
Create test dir:
On archlinux with p7zip package version 17.05, pack
a
into1.7z
,a/*
into2.7z
:and check out whats inside:
So, when I pack
a
as a whole,link1
is saved as a link. But when I packa/link1
explicitly, it is saved as a text file.Let's unpack
2.7z
:So, it packed
link1
as a text file with the link target as its contents.Other affected versions: 15.14 and 16.02
Not affected: 9.38. Its
l -slt
printer does not print posix attrs. Just unpack the archive to check if the symlink is there or use a newer binary to inspect.Binaries built from 7zip.org sources are not affected. For example, 7zz version 21.07 from 7zip package in ubuntu 22.04.