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.33.tar.xz.sig) = a8801b2a7bb135a12d7944dff6958c4ff5671e379682593eed93569220d41fbe58eb095b80c4b04d97e4b5244aabab0cc7a0b65251ab115925ef3391a292c146
SHA512 (tar-1.34.tar.xz) = 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
SHA512 (tar-1.34.tar.xz.sig) = 55297f41549deee511f5b14c6b5dc7bb3d9282dad52bcc85f9dddfad24b677f989ba86387ad9b133c3698feedbd6b6cd7e9f005e8e4c89f72c80543eeceb78f7

View File

@ -1,9 +1,7 @@
From: Pavel Raiskup <praiskup@redhat.com>
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

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
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 <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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild