Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/tar.git#6676fcde24a2660172aa132763d2fbf68d51e6a6
This commit is contained in:
DistroBaker 2021-02-18 09:10:28 +00:00
parent f2397801d3
commit 28c7995861
4 changed files with 18 additions and 143 deletions

View File

@ -1,2 +1,2 @@
SHA512 (tar-1.33.tar.xz) = d7c31147fafcd815bb54e3862c078dccc3f192a9fa149c2275bd89a21fcd54a4bdaa8343cacf4f76cadc2f57fd4ed955682c1b6f23d438add5a13cc35bd25260 SHA512 (tar-1.34.tar.xz) = 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
SHA512 (tar-1.33.tar.xz.sig) = a8801b2a7bb135a12d7944dff6958c4ff5671e379682593eed93569220d41fbe58eb095b80c4b04d97e4b5244aabab0cc7a0b65251ab115925ef3391a292c146 SHA512 (tar-1.34.tar.xz.sig) = 55297f41549deee511f5b14c6b5dc7bb3d9282dad52bcc85f9dddfad24b677f989ba86387ad9b133c3698feedbd6b6cd7e9f005e8e4c89f72c80543eeceb78f7

View File

@ -1,9 +1,7 @@
From: Pavel Raiskup <praiskup@redhat.com> From: Pavel Raiskup <praiskup@redhat.com>
Date: Tue, 19 Jan 2021 16:45:23 +0100 Date: Tue, 16 Feb 2021 08:10:22 +0100
Subject: [PATCH] xattrs: fix capabilities root test Subject: [PATCH] Related discussion in the Fedora pull-request:
https://src.fedoraproject.org/rpms/tar/pull-request/8
Related discussion in the Fedora pull-request:
https://src.fedoraproject.org/rpms/tar/pull-request/8
Upstream report: Upstream report:
https://www.mail-archive.com/bug-tar@gnu.org/msg05943.html 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) * tests/capabs_raw01.at: Newer systems (currently e.g. Fedora 34)
print getcap output in format CAP=VAL, not CAP+VAL. print getcap output in format CAP=VAL, not CAP+VAL.
--- ---
tests/capabs_raw01.at | 7 +++++-- tests/capabs_raw01.at | 4 ++--
1 file changed, 5 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/capabs_raw01.at b/tests/capabs_raw01.at 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 --- a/tests/capabs_raw01.at
+++ b/tests/capabs_raw01.at +++ b/tests/capabs_raw01.at
@@ -44,10 +44,13 @@ rm -rf dir @@ -45,10 +45,10 @@ rm -rf dir
# restore _all_ xattrs (not just the user.* domain)
tar --xattrs --xattrs-include='*' -xf archive.tar tar --xattrs --xattrs-include='*' -xf archive.tar
-getcap dir/file # Newer systems print = instead of + here
+# Newer systems switched to different format: -getcap dir/file | sed 's/+/=/'
+# - dir/file = cap_chown+ei
+# + dir/file cap_chown=ei
+getcap dir/file | sed -e 's/+/=/' -e 's|dir/file = |dir/file |' +getcap dir/file | sed -e 's/+/=/' -e 's|dir/file = |dir/file |'
], ],
[0], [0],
-[dir/file = cap_chown+ei -[dir/file = cap_chown=ei
+[dir/file cap_chown=ei +[dir/file cap_chown=ei
]) ])
AT_CLEANUP AT_CLEANUP
-- --
2.29.2 2.26.0

View File

@ -1,122 +0,0 @@
From: Sergey Poznyakoff <gray@gnu.org>
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

View File

@ -4,8 +4,8 @@
Summary: GNU file archiving program Summary: GNU file archiving program
Name: tar Name: tar
Epoch: 2 Epoch: 2
Version: 1.33 Version: 1.34
Release: 3%{?dist} Release: 1%{?dist}
License: GPLv3+ License: GPLv3+
URL: https://www.gnu.org/software/tar/ URL: https://www.gnu.org/software/tar/
@ -19,7 +19,6 @@ Patch3: tar-1.29-wildcards.patch
Patch4: tar-1.28-atime-rofs.patch Patch4: tar-1.28-atime-rofs.patch
Patch9: tar-1.28-document-exclude-mistakes.patch Patch9: tar-1.28-document-exclude-mistakes.patch
Patch10: tar-1.33-fix-capabilities-test.patch Patch10: tar-1.33-fix-capabilities-test.patch
Patch11: tar-1.33-fix-read-header-mem-leak.patch
BuildRequires: make BuildRequires: make
BuildRequires: gcc BuildRequires: gcc
@ -114,6 +113,9 @@ make check || (
%changelog %changelog
* Sat Feb 13 2021 Ondrej Dubaj <odubaj@redhat.com> - 1.34-1
- Rebase to version 1.34
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.33-3 * Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.33-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild