snoyberg / tar-conduit

Conduit based tar extraction mechanism
MIT License
8 stars 9 forks source link

Preliminary support for sparse archives #9

Open bartavelle opened 6 years ago

bartavelle commented 6 years ago

Sparse archives can now be traversed with this patch. However, extracted sparse files will be invalid. This will be fixed in a subsequent patch.

Some functions have been moved toplevel because they will be used in this subsequent patch.

I wrote that patch to fix a pressing issue, and I don't really care about the content of the sparse files. Apparently nobody else had this problem (as there are no issues), so the current code shouldn't be too bad, but if a new version is required before this issue is completely fixed, it might be a problem.

snoyberg commented 6 years ago

Can you rebase against master? I pushed a bunch of fixes so that Travis works again.

bartavelle commented 6 years ago

Just did.

lehins commented 6 years ago

@bartavelle by dropping the sparse headers without checking magic and version and consequently making sure that it is in fact GNU tar type of archive there is a potential of dropping valid headers from other standards. For example if it a "ustar" format an the header is for the regular file and has a 0x1 in it's name prefix in the position 482, it will be dropped, which is not good.

I am also currently working on a support for creating tar as well as the ability to restore and create tar archives to/from actual files on the file system.

bartavelle commented 6 years ago

@lehins I gather that you will eventually support sparse mode properly then? If so, I can live with my dirty patch until this lands, and scrap that PR!

snoyberg commented 6 years ago

@bartavelle I've just merged @lehins's work to master. Can you see if it adds the support you need?

bartavelle commented 6 years ago

Sure I will take a look. However, that might take a few days ...

snoyberg commented 6 years ago

No rush from me. I just made you wait like 3 months :(

On Wed, Jan 24, 2018 at 8:33 AM, Simon Marechal notifications@github.com wrote:

Sure I will take a look. However, that might take a few days ...

— You are receiving this because your review was requested. Reply to this email directly, view it on GitHub https://github.com/snoyberg/tar-conduit/pull/9#issuecomment-360034528, or mute the thread https://github.com/notifications/unsubscribe-auth/AADBB9d1ecGYfXclpuMOlL7FHsrVDGA0ks5tNs7FgaJpZM4Qp-OL .