[Bug 194911] New: [libarchive] issue extracting parts of archives created on 10.x
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Nov 9 17:13:44 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194911
Bug ID: 194911
Summary: [libarchive] issue extracting parts of archives
created on 10.x
Product: Base System
Version: 8.4-STABLE
Hardware: amd64
OS: Any
Status: Needs Triage
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: ohauer at FreeBSD.org
Created attachment 149223
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=149223&action=edit
patch to build libarchive and bsdtar from 10.1 on 8.4
There is a possible issue / regression for tar archives packed on 10.x and
extracted on 8.4/9.x.
The following tests where done on 8.4 / 9.3 (amd64)
Test case 1
===============
$ cd $space
$ fetch
ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/10.1-RC4/base.txz
$ tar xf base.txz ^./etc
$ mkdir t1
$ tar -C t1/ -xf base.txz ^./etc
$ diff -Nru etc/ t1/etc/
=> no diff but in both times etc/hosts.allow is corrupted
Test case 2:
===============
$ mkdir t2
$ tar -C t2/ -xf base.txz
$ diff -Nru etc/ t2/etc/
Files etc/hosts.allow and t2/etc/hosts.allow differ
The file t2/etc/hosts.allow is extracted correct, no corruption
Now use libarchive / tar from releng/10.1 on the the 8.4 system
1. backup /usr/lib/libarchive.*
2. co, patch, build libarchive and bsdtar from releng/10.1 source
$ mkdir space && cd $space
$ svn co http://svn.freebsd.org/base/releng/10.1
$ patch -d 10.1 < libarchive.diff
$ cd $space/10.1/lib/libarchive
$ make MK_ICONV=no obj
$ cp /usr/obj/.../libarchive.so* /usr/obj/.../libarchive.a /usr/lib/
$ cd $space/10.1/usr.bin/tar
$ make MK_ICONV=no obj
$ make MK_ICONV=no
Copy the resulting /usr/obj/.../bsdtar to the space from test 1
Test case 3:
==============
$ rm -rf etc
$ ./bsdtar xf base.txz ^./etc
$ diff -Nru etc t2/etc/
=> The file etc/hosts.allow is extracted without corruption
A copy of a corrupt hosts.allow file and the patch against 8.4 can be found
here
http://people.freebsd.org/~ohauer/diffs/libarchive/
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list