tar: Checksumming

1 
1 8.3.8 Checksumming Problems
1 ---------------------------
1 
1 SunOS and HP-UX 'tar' fail to accept archives created using GNU 'tar'
1 and containing non-ASCII file names, that is, file names having
1 characters with the eighth bit set, because they use signed checksums,
1 while GNU 'tar' uses unsigned checksums while creating archives, as per
1 POSIX standards.  On reading, GNU 'tar' computes both checksums and
1 accepts either of them.  It is somewhat worrying that a lot of people
1 may go around doing backup of their files using faulty (or at least
1 non-standard) software, not learning about it until it's time to restore
1 their missing files with an incompatible file extractor, or vice versa.
1 
1    GNU 'tar' computes checksums both ways, and accepts either of them on
1 read, so GNU tar can read Sun tapes even with their wrong checksums.
1 GNU 'tar' produces the standard checksum, however, raising
1 incompatibilities with Sun.  That is to say, GNU 'tar' has not been
1 modified to _produce_ incorrect archives to be read by buggy 'tar''s.
1 I've been told that more recent Sun 'tar' now read standard archives, so
1 maybe Sun did a similar patch, after all?
1 
1    The story seems to be that when Sun first imported 'tar' sources on
1 their system, they recompiled it without realizing that the checksums
1 were computed differently, because of a change in the default signing of
1 'char''s in their compiler.  So they started computing checksums
1 wrongly.  When they later realized their mistake, they merely decided to
1 stay compatible with it, and with themselves afterwards.  Presumably,
1 but I do not really know, HP-UX has chosen their 'tar' archives to be
1 compatible with Sun's.  The current standards do not favor Sun 'tar'
1 format.  In any case, it now falls on the shoulders of SunOS and HP-UX
1 users to get a 'tar' able to read the good archives they receive.
1