Date: Sun, 09 Nov 2014 17:13:44 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 194911] New: [libarchive] issue extracting parts of archives created on 10.x Message-ID: <bug-194911-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
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@FreeBSD.org Reporter: ohauer@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-194911-8>