Package: tar / 1.30+dfsg-5

Metadata

Package Version Patches format
tar 1.30+dfsg-5 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
pristine tar.diff | (download)

src/common.h | 4 4 + 0 - 0 !
src/create.c | 19 16 + 3 - 0 !
src/tar.c | 34 34 + 0 - 0 !
3 files changed, 54 insertions(+), 3 deletions(-)

---
listed03 linux only | (download)

tests/listed03.at | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
rmt.8 header wrong | (download)

doc/rmt.8 | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
fix for difflink.at failure.diff | (download)

tests/difflink.at | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

---
fix race in dirrem01 and dirrem02.diff | (download)

tests/dirrem01.at | 5 3 + 2 - 0 !
tests/dirrem02.at | 7 4 + 3 - 0 !
2 files changed, 7 insertions(+), 5 deletions(-)

 tests: fix race in dirrem01 and dirrem02

Previously the '--checkpoint-action=echo' was triggered after
'--checkpoint-action=sleep=1' - so the order of events *usually*
was (for --format='gnu'):

  ...
  1. checkpoint handler before write of 'dir/sub' member
  2. one-second delay
  3. stderr write: 'tar: Write checkpoint 3'
  4. write the member 'dir/sub' into the archive
  5. check that the member's ctime has not been changed
  6. genfile's detecting 'Write checkpoint', doing unlink
  ...

But sometimes, the genfile was fast enough to win the race and
unlinked the directory before the member was written into the
archive (IOW, the order was 1-2-3-6-4-5).  This led to the
occasional warning 'tar: dir/sub: file changed as we read it'.

Swap the order of 'sleep=1' and 'echo' actions so the genfile
utility has (hopefully) enough time to do the unlink before
writing the file into the archive (enforce 1-2-3-6-4-5 order).

* tests/dirrem01.at: Swap 'sleep=1' and 'echo' actions.
* tests/dirrem02.at: Likewise.

elide reference to section 5 manpage.diff | (download)

doc/tar.1 | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

---
oldgnu unknown mode bits.patch | (download)

src/create.c | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 do not encode unknown mode bits with oldgnu format.
 The oldgnu format can encode large header fields in base-256. On the Hurd,
 for example, a fifo is a translator and its mode bits contain at least the
 S_IROOT (040000000) bit set. For the v7 and ustar formats all unknown
 mode bits are masked at the call site, and ustar, posix and gnu formats
 only encode known mode bits. But oldgnu is left unmasked and encoding all
 unknown bits, which is very unexpected as these are system-specific internal
 details on how to represent fifos (or other translators).
 .
 GNU tar should consider oldgnu in the same way as the gnu, posix and ustar
 formats, and ignore unknown bits when encoding the mode.
zstd.patch | (download)

configure.ac | 1 1 + 0 - 0 !
doc/tar.1 | 4 4 + 0 - 0 !
src/buffer.c | 5 4 + 1 - 0 !
src/suffix.c | 1 1 + 0 - 0 !
src/tar.c | 12 11 + 1 - 0 !
5 files changed, 21 insertions(+), 2 deletions(-)

 zstd support
 Accept .tar.zst and .tzst, including magic sniffing.
proper_it_translation.patch | (download)

po/it.po | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 proper translation for cowardly
 Cowardly was inconrrectly translated, depriving the Italian message
 of the funny tone that the original has.
 .
 This fixes it by properly translating cowardly, without paraphrasing it into
 "total refusal".
 .
Fix CVE 2018 20482.patch | (download)

src/sparse.c | 48 43 + 5 - 0 !
tests/Makefile.am | 3 3 + 0 - 0 !
tests/sptrcreat.at | 62 62 + 0 - 0 !
tests/sptrdiff00.at | 55 55 + 0 - 0 !
tests/sptrdiff01.at | 55 55 + 0 - 0 !
tests/testsuite.at | 3 3 + 0 - 0 !
6 files changed, 221 insertions(+), 5 deletions(-)

 fix cve-2018-20482