-
-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PAX typeFlag 'x' #18
Comments
Interesting. Would be good to have some pointer to the documentation on what the difference between Please open a pull request and include a test case. |
The PAX header is defined here https://www.gnu.org/software/tar/manual/html_node/Standard.html XHDTYPE I did find a Python implementation for the tar utility here https://svn.python.org/projects/python/tags/r31/Lib/tarfile.py , check the def create_pax_header(self, info): method, basically it checks if the filename contains non-ASCII characters and if it does, it will create a PAX header with. I will look more into it as well |
Pull request is here #19 |
I did find some more details here explaining the pax extended headers https://www.ibm.com/support/knowledgecenter/SSLTBW_1.13.0/com.ibm.zos.r13.bpxa500/pxarchfm.htm#paxex |
If I may add 2 cents to this discussion: It seems that there may be also |
We would have a real-world need for pax support, besides: |
I have encountered an issue when adding filename in format "._4слайд-150x150.jpg" , the linux tar utility would mark them with typeFlag x, which is similar to the LongLink typeFlag L. This breaks the archive extraction and the generated error would be "Header does not match it's checksum for"
Since the TAR class supports ustar format, it seems it's bound to support pax type as file, so a quick way for fixing this would be to replace this code
with
in the protected function parseHeader($block)
I have tested this and it works fine from processing records with typeFlag x , should i do a pull request?
I am attaching as well the tgz archive i've used for testing
test.tgz.zip
The text was updated successfully, but these errors were encountered: