From 6676fcde24a2660172aa132763d2fbf68d51e6a6 Mon Sep 17 00:00:00 2001 From: Ondrej Dubaj Date: Mon, 15 Feb 2021 08:35:06 +0100 Subject: [PATCH] Rebase to version 1.34 --- sources | 4 +- tar-1.33-fix-capabilities-test.patch | 27 +++--- tar-1.33-fix-read-header-mem-leak.patch | 122 ------------------------ tar.spec | 8 +- 4 files changed, 18 insertions(+), 143 deletions(-) delete mode 100644 tar-1.33-fix-read-header-mem-leak.patch diff --git a/sources b/sources index 6c6e560..11074b9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (tar-1.33.tar.xz) = d7c31147fafcd815bb54e3862c078dccc3f192a9fa149c2275bd89a21fcd54a4bdaa8343cacf4f76cadc2f57fd4ed955682c1b6f23d438add5a13cc35bd25260 -SHA512 (tar-1.33.tar.xz.sig) = a8801b2a7bb135a12d7944dff6958c4ff5671e379682593eed93569220d41fbe58eb095b80c4b04d97e4b5244aabab0cc7a0b65251ab115925ef3391a292c146 +SHA512 (tar-1.34.tar.xz) = 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902 +SHA512 (tar-1.34.tar.xz.sig) = 55297f41549deee511f5b14c6b5dc7bb3d9282dad52bcc85f9dddfad24b677f989ba86387ad9b133c3698feedbd6b6cd7e9f005e8e4c89f72c80543eeceb78f7 diff --git a/tar-1.33-fix-capabilities-test.patch b/tar-1.33-fix-capabilities-test.patch index 384abcc..5835c2d 100644 --- a/tar-1.33-fix-capabilities-test.patch +++ b/tar-1.33-fix-capabilities-test.patch @@ -1,9 +1,7 @@ From: Pavel Raiskup -Date: Tue, 19 Jan 2021 16:45:23 +0100 -Subject: [PATCH] xattrs: fix capabilities root test - -Related discussion in the Fedora pull-request: -https://src.fedoraproject.org/rpms/tar/pull-request/8 +Date: Tue, 16 Feb 2021 08:10:22 +0100 +Subject: [PATCH] Related discussion in the Fedora pull-request: + https://src.fedoraproject.org/rpms/tar/pull-request/8 Upstream report: https://www.mail-archive.com/bug-tar@gnu.org/msg05943.html @@ -11,29 +9,26 @@ https://www.mail-archive.com/bug-tar@gnu.org/msg05943.html * tests/capabs_raw01.at: Newer systems (currently e.g. Fedora 34) print getcap output in format CAP=VAL, not CAP+VAL. --- - tests/capabs_raw01.at | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) + tests/capabs_raw01.at | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/capabs_raw01.at b/tests/capabs_raw01.at -index f9b97736..988251cf 100644 +index a1d9411..d3da923 100644 --- a/tests/capabs_raw01.at +++ b/tests/capabs_raw01.at -@@ -44,10 +44,13 @@ rm -rf dir - # restore _all_ xattrs (not just the user.* domain) +@@ -45,10 +45,10 @@ rm -rf dir tar --xattrs --xattrs-include='*' -xf archive.tar --getcap dir/file -+# Newer systems switched to different format: -+# - dir/file = cap_chown+ei -+# + dir/file cap_chown=ei + # Newer systems print = instead of + here +-getcap dir/file | sed 's/+/=/' +getcap dir/file | sed -e 's/+/=/' -e 's|dir/file = |dir/file |' ], [0], --[dir/file = cap_chown+ei +-[dir/file = cap_chown=ei +[dir/file cap_chown=ei ]) AT_CLEANUP -- -2.29.2 +2.26.0 diff --git a/tar-1.33-fix-read-header-mem-leak.patch b/tar-1.33-fix-read-header-mem-leak.patch deleted file mode 100644 index 43c2f66..0000000 --- a/tar-1.33-fix-read-header-mem-leak.patch +++ /dev/null @@ -1,122 +0,0 @@ -From: Sergey Poznyakoff -Subject: [PATCH] Bug reported in https://savannah.gnu.org/bugs/?59897 - -* src/list.c (read_header): Don't return directly from the loop. -Instead set the status and break. Return the status. Free -next_long_name and next_long_link before returning. ---- - src/list.c | 38 +++++++++++++++++++++++++++----------- - 1 file changed, 27 insertions(+), 11 deletions(-) - -diff --git a/src/list.c b/src/list.c -index 95b53f8..6ad2ef2 100644 ---- a/src/list.c -+++ b/src/list.c -@@ -419,26 +419,27 @@ read_header (union block **return_block, struct tar_stat_info *info, - enum read_header_mode mode) - { - union block *header; -- union block *header_copy; - char *bp; - union block *data_block; - size_t size, written; -- union block *next_long_name = 0; -- union block *next_long_link = 0; -+ union block *next_long_name = NULL; -+ union block *next_long_link = NULL; - size_t next_long_name_blocks = 0; - size_t next_long_link_blocks = 0; -+ enum read_header status = HEADER_SUCCESS; - - while (1) - { -- enum read_header status; -- - header = find_next_block (); - *return_block = header; - if (!header) -- return HEADER_END_OF_FILE; -+ { -+ status = HEADER_END_OF_FILE; -+ break; -+ } - - if ((status = tar_checksum (header, false)) != HEADER_SUCCESS) -- return status; -+ break; - - /* Good block. Decode file size and return. */ - -@@ -448,7 +449,10 @@ read_header (union block **return_block, struct tar_stat_info *info, - { - info->stat.st_size = OFF_FROM_HEADER (header->header.size); - if (info->stat.st_size < 0) -- return HEADER_FAILURE; -+ { -+ status = HEADER_FAILURE; -+ break; -+ } - } - - if (header->header.typeflag == GNUTYPE_LONGNAME -@@ -458,10 +462,14 @@ read_header (union block **return_block, struct tar_stat_info *info, - || header->header.typeflag == SOLARIS_XHDTYPE) - { - if (mode == read_header_x_raw) -- return HEADER_SUCCESS_EXTENDED; -+ { -+ status = HEADER_SUCCESS_EXTENDED; -+ break; -+ } - else if (header->header.typeflag == GNUTYPE_LONGNAME - || header->header.typeflag == GNUTYPE_LONGLINK) - { -+ union block *header_copy; - size_t name_size = info->stat.st_size; - size_t n = name_size % BLOCKSIZE; - size = name_size + BLOCKSIZE; -@@ -528,7 +536,10 @@ read_header (union block **return_block, struct tar_stat_info *info, - xheader_decode_global (&xhdr); - xheader_destroy (&xhdr); - if (mode == read_header_x_global) -- return HEADER_SUCCESS_EXTENDED; -+ { -+ status = HEADER_SUCCESS_EXTENDED; -+ break; -+ } - } - - /* Loop! */ -@@ -547,6 +558,7 @@ read_header (union block **return_block, struct tar_stat_info *info, - name = next_long_name->buffer + BLOCKSIZE; - recent_long_name = next_long_name; - recent_long_name_blocks = next_long_name_blocks; -+ next_long_name = NULL; - } - else - { -@@ -578,6 +590,7 @@ read_header (union block **return_block, struct tar_stat_info *info, - name = next_long_link->buffer + BLOCKSIZE; - recent_long_link = next_long_link; - recent_long_link_blocks = next_long_link_blocks; -+ next_long_link = NULL; - } - else - { -@@ -589,9 +602,12 @@ read_header (union block **return_block, struct tar_stat_info *info, - } - assign_string (&info->link_name, name); - -- return HEADER_SUCCESS; -+ break; - } - } -+ free (next_long_name); -+ free (next_long_link); -+ return status; - } - - #define ISOCTAL(c) ((c)>='0'&&(c)<='7') --- -2.26.0 - diff --git a/tar.spec b/tar.spec index d3c037d..00897dd 100644 --- a/tar.spec +++ b/tar.spec @@ -4,8 +4,8 @@ Summary: GNU file archiving program Name: tar Epoch: 2 -Version: 1.33 -Release: 3%{?dist} +Version: 1.34 +Release: 1%{?dist} License: GPLv3+ URL: https://www.gnu.org/software/tar/ @@ -19,7 +19,6 @@ Patch3: tar-1.29-wildcards.patch Patch4: tar-1.28-atime-rofs.patch Patch9: tar-1.28-document-exclude-mistakes.patch Patch10: tar-1.33-fix-capabilities-test.patch -Patch11: tar-1.33-fix-read-header-mem-leak.patch BuildRequires: make BuildRequires: gcc @@ -114,6 +113,9 @@ make check || ( %changelog +* Sat Feb 13 2021 Ondrej Dubaj - 1.34-1 +- Rebase to version 1.34 + * Wed Jan 27 2021 Fedora Release Engineering - 2:1.33-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild