<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/archival/libarchive, branch master</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=master</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-03-11T10:14:49+00:00</updated>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2026-03-11T10:14:49+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-03-11T10:14:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ede205bd07573813337b5706acb0cae3b127a36f'/>
<id>urn:sha1:ede205bd07573813337b5706acb0cae3b127a36f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tar: only strip unsafe components from hardlinks, not symlinks</title>
<updated>2026-02-28T04:59:18+00:00</updated>
<author>
<name>Radoslav Kolev</name>
<email>radoslav.kolev@suse.com</email>
</author>
<published>2026-02-16T09:50:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=599f5dd8fac390c18b79cba4c14c334957605dae'/>
<id>urn:sha1:599f5dd8fac390c18b79cba4c14c334957605dae</id>
<content type='text'>
commit 3fb6b31c7 introduced a check for unsafe components in
tar archive hardlinks, but it was being applied to symlinks too
which broke "Symlinks and hardlinks coexist" tar test.

Signed-off-by: Radoslav Kolev &lt;radoslav.kolev@suse.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2026-02-12T12:58:38+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-02-12T12:50:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=de7b34e8c779d8baca5abba1394284e0b6e87dc6'/>
<id>urn:sha1:de7b34e8c779d8baca5abba1394284e0b6e87dc6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2026-02-10T13:49:25+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-02-10T13:49:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0e3015ddb8538f6329c59ed984a9c59bba3f376e'/>
<id>urn:sha1:0e3015ddb8538f6329c59ed984a9c59bba3f376e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*: whitespace cleanup</title>
<updated>2026-02-08T07:31:13+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2026-02-07T20:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=391fdea73b73673410c5e267ec08efd45b3f38ee'/>
<id>urn:sha1:391fdea73b73673410c5e267ec08efd45b3f38ee</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tar: strip unsafe hardlink components - GNU tar does the same</title>
<updated>2026-01-29T11:01:56+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2026-01-29T10:48:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3fb6b31c716669e12f75a2accd31bb7685b1a1cb'/>
<id>urn:sha1:3fb6b31c716669e12f75a2accd31bb7685b1a1cb</id>
<content type='text'>
Defends against files like these (python reproducer):

import tarfile
ti = tarfile.TarInfo("leak_hosts")
ti.type = tarfile.LNKTYPE
ti.linkname = "/etc/hosts"  # or "../etc/hosts" or ".."
ti.size = 0
with tarfile.open("/tmp/hardlink.tar", "w") as t:
	t.addfile(ti)

function                                             old     new   delta
skip_unsafe_prefix                                     -     127    +127
get_header_tar                                      1752    1754      +2
.rodata                                           106861  106856      -5
unzip_main                                          2715    2706      -9
strip_unsafe_prefix                                  102      18     -84
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 129/-98)            Total: 31 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2025-10-06T06:53:56+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-10-06T06:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3b6192619de7b98db5155dbcfe4038355d97cdac'/>
<id>urn:sha1:3b6192619de7b98db5155dbcfe4038355d97cdac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>archival/libarchive: sanitize filenames on output (prevent control sequence attacks</title>
<updated>2025-09-24T01:30:12+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-09-24T01:28:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=f5e1bf966b19ea1821f00a8c9ecd7774598689b4'/>
<id>urn:sha1:f5e1bf966b19ea1821f00a8c9ecd7774598689b4</id>
<content type='text'>
This fixes CVE-2025-46394 (terminal escape sequence injection)

Original credit: Ian.Norton at entrust.com

function                                             old     new   delta
header_list                                            9      15      +6
header_verbose_list                                  239     244      +5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 11/0)               Total: 11 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2025-05-19T07:34:32+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-05-19T07:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=64bf69893bd99c305d13a956389f216e7d15c682'/>
<id>urn:sha1:64bf69893bd99c305d13a956389f216e7d15c682</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libbb/archival: make setup_unzip_on_fd() return bytes read if not compressed</title>
<updated>2025-04-20T21:49:33+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-04-20T21:43:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c61fdadf974205104f6690ad360117bdf86f0ba6'/>
<id>urn:sha1:c61fdadf974205104f6690ad360117bdf86f0ba6</id>
<content type='text'>
setup_unzip_on_fd() does not return the transformer structure, so the user
does not know how much to seek back (or alternatively what the signature was)
when compressor signature is not detected.

Currently not needed (the only user is tar which dies anyway).
However, rpm2cpio may need this if we extend it to extract the internal .cpio
even if cpio's compressions algo is not known.

function                                             old     new   delta
setup_unzip_on_fd                                     53      59      +6

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
