You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Stefan Bodewig (JIRA)" <ji...@apache.org> on 2016/02/14 10:58:18 UTC
[jira] [Commented] (COMPRESS-337) TAR header parsing attempts
OLDGNU format on POSIX/STAR header
[ https://issues.apache.org/jira/browse/COMPRESS-337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15146468#comment-15146468 ]
Stefan Bodewig commented on COMPRESS-337:
-----------------------------------------
GNU tar doesn't like the example you've attached:
{code}
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
{code}
so it seems as stumped as you are :-)
> TAR header parsing attempts OLDGNU format on POSIX/STAR header
> --------------------------------------------------------------
>
> Key: COMPRESS-337
> URL: https://issues.apache.org/jira/browse/COMPRESS-337
> Project: Commons Compress
> Issue Type: Bug
> Components: Archivers
> Affects Versions: 1.10
> Reporter: Jeremy Gustie
>
> This is at least tangentially related to COMPRESS-336, we found an archive which is misinterpreted as an OLDGNU header format when it appears to some type of STAR header (unlike COMPRESS-336 this one uses a NULL delimiter instead of space terminators for the time stamps). Apparently the archive itself comes from an [EyeFi card|https://github.com/golang/go/issues/5290](?!).
> Both the original archive ([available here|https://storage.googleapis.com/go-attachment/5290/0/in.tar]) and the (presumably hand made) version for testing ([here|https://github.com/golang/go/raw/master/src/archive/tar/testdata/nil-uid.tar]) exhibit the same behavior: they fail with an {{IllegalArgumentException}} attempting to parse the old GNU {{realSize}} from a buffer partially filled with the {{atime}}/{{ctime}} values.
> At first I thought if the {{TarArchiveEntry.evaluateType}} were to also look at the {{version}} field for {{VERSION_GNU_SPACE}} before returning {{FORMAT_OLDGNU}} it _should_ be enough (according to something I saw in [the GNU documentation|http://www.gnu.org/software/tar/manual/tar.html#SEC184] which defines {{OLDGNU_MAGIC "ustar " /* 7 chars and a null */}}). Unfortunately it looks like that is the magic/version used by the archives in question, leaving me stumped as to how to identify which of the three prevailing header formats needs to be parsed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)