(tar.info.gz) Checksumming

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