Some combination of fields tar.Header are simply impossible to encode for any format. Some example situations that we currently "succeed" in, but should really error on:
Example: String fields can incorrectly have the NUL character in them. This is not allowed since the tar format uses C-strings.
Example: PAX attribute keys incorrectly allow the '=' character. This is not allowed since PAX uses the 'length keyword=value' format to encode attributes.
Example: Encoding of overflow integers causes the NUL terminator to disappear. In this situation, we should upgrade to using the base256 format, rather overflowing the base8 format.
Example: Encoding of negative integers is incorrectly allowed in octal format. The GNU format seems to handle negative numbers, but only in the base256 format, not base8.
Using
go1.6
Some combination of fields tar.Header are simply impossible to encode for any format. Some example situations that we currently "succeed" in, but should really error on: