Bug#763119: misinterprets old-style GNU headers

2014-10-13 Thread Steinar H. Gunderson
On Mon, Oct 13, 2014 at 07:38:40PM +0200, Magnus Holmgren wrote: Steinar, can you provide a pointer to the heuristic code in GNU tar that you mentioned, as well as a description of the test cases you've used? Hi, The logic is in src/list.c, function decode_header; you can see it checks TMAGIC

Bug#763119: misinterprets old-style GNU headers

2014-10-13 Thread Magnus Holmgren
torsdagen den 9 oktober 2014 16.11.49 skrev Steinar H. Gunderson: On Wed, Oct 08, 2014 at 07:08:33PM -0400, Chris Frey wrote: I think the strncmp() is important, but I don't know why TAR_CHECK_MAGIC is an option. There are a couple of notes in the ChangeLog regarding it, but it was before

Bug#763119: [libtar] Bug#763119: misinterprets old-style GNU headers

2014-10-13 Thread Tim Kientzle
On Oct 13, 2014, at 10:38 AM, Magnus Holmgren holmg...@debian.org wrote: The difference is that ustar is followed by two spaces, whereas in tar files created by libtar it's followed by a null character. The history behind this may help make it clearer: There has been a POSIX standard for

Bug#763119: misinterprets old-style GNU headers

2014-09-28 Thread Steinar H. Gunderson
On Sun, Sep 28, 2014 at 01:49:52AM +0200, Steinar H. Gunderson wrote: I've attached a simple patch to fix this; it doesn't give access to all the other fields, but at least it fixes th_get_pathname() (which seems to be pretty much the only place the prefix field is actually interpreted) so that

Bug#763119: misinterprets old-style GNU headers

2014-09-27 Thread Steinar H. Gunderson
Package: libtar0 Version: 1.2.20-4 Severity: normal Tags: patch Hi, The old-style GNU header format (used before GNU tar 1.12) looks very much like the POSIX format, except that there is no “prefix” field, and those bytes are used for other fields, such as mtime, ctime, multi-volume support and