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/libarchive.git#d9ee0adfffb9a7fc36adb492b8beef8fcb48e39f
This commit is contained in:
parent
783954f001
commit
b53a9c41c2
@ -1,64 +0,0 @@
|
||||
From 291d0c218e256750228b731a693e6b96e7ed5449 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Matuska <martin@matuska.org>
|
||||
Date: Fri, 22 May 2020 13:03:55 +0200
|
||||
Subject: [PATCH] test_write_disk_secure: properly check if lchmod() is
|
||||
|
||||
---
|
||||
libarchive/test/test_write_disk_secure.c | 34 +++++++++++++++++++++---
|
||||
1 file changed, 30 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libarchive/test/test_write_disk_secure.c b/libarchive/test/test_write_disk_secure.c
|
||||
index 7cd66c4..44b9ea0 100644
|
||||
--- a/libarchive/test/test_write_disk_secure.c
|
||||
+++ b/libarchive/test/test_write_disk_secure.c
|
||||
@@ -40,6 +40,10 @@ DEFINE_TEST(test_write_disk_secure)
|
||||
struct archive *a;
|
||||
struct archive_entry *ae;
|
||||
struct stat st;
|
||||
+#if defined(HAVE_LCHMOD) && defined(HAVE_SYMLINK) && \
|
||||
+ defined(S_IRUSR) && defined(S_IWUSR) && defined(S_IXUSR)
|
||||
+ int working_lchmod;
|
||||
+#endif
|
||||
|
||||
/* Start with a known umask. */
|
||||
assertUmask(UMASK);
|
||||
@@ -251,10 +255,32 @@ DEFINE_TEST(test_write_disk_secure)
|
||||
assert(0 == lstat("link_to_dir", &st));
|
||||
failure("link_to_dir: st.st_mode=%o", st.st_mode);
|
||||
assert(S_ISLNK(st.st_mode));
|
||||
-#if HAVE_LCHMOD
|
||||
- /* Systems that lack lchmod() can't set symlink perms, so skip this. */
|
||||
- failure("link_to_dir: st.st_mode=%o", st.st_mode);
|
||||
- assert((st.st_mode & 07777) == 0755);
|
||||
+#if defined(HAVE_SYMLINK) && defined(HAVE_LCHMOD) && \
|
||||
+ defined(S_IRUSR) && defined(S_IWUSR) && defined(S_IXUSR)
|
||||
+ /* Verify if we are able to lchmod() */
|
||||
+ if (symlink("dir", "testlink_to_dir") == 0) {
|
||||
+ if (lchmod("testlink_to_dir",
|
||||
+ S_IRUSR | S_IWUSR | S_IXUSR) != 0) {
|
||||
+ switch (errno) {
|
||||
+ case ENOTSUP:
|
||||
+ case ENOSYS:
|
||||
+#if ENOTSUP != EOPNOTSUPP
|
||||
+ case EOPNOTSUPP:
|
||||
+#endif
|
||||
+ working_lchmod = 0;
|
||||
+ break;
|
||||
+ default:
|
||||
+ working_lchmod = 1;
|
||||
+ }
|
||||
+ } else
|
||||
+ working_lchmod = 1;
|
||||
+ } else
|
||||
+ working_lchmod = 0;
|
||||
+
|
||||
+ if (working_lchmod) {
|
||||
+ failure("link_to_dir: st.st_mode=%o", st.st_mode);
|
||||
+ assert((st.st_mode & 07777) == 0755);
|
||||
+ }
|
||||
#endif
|
||||
|
||||
assert(0 == lstat("dir/filea", &st));
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,16 +1,14 @@
|
||||
%bcond_without check
|
||||
|
||||
Name: libarchive
|
||||
Version: 3.4.3
|
||||
Release: 3%{?dist}
|
||||
Version: 3.5.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A library for handling streaming archive formats
|
||||
|
||||
License: BSD
|
||||
URL: https://www.libarchive.org/
|
||||
Source0: https://libarchive.org/downloads/%{name}-%{version}.tar.gz
|
||||
|
||||
Patch0: libarchive-3.4.3-lchmod-support-check.patch
|
||||
|
||||
BuildRequires: automake
|
||||
BuildRequires: bison
|
||||
BuildRequires: bzip2-devel
|
||||
@ -212,6 +210,9 @@ run_testsuite
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Dec 02 2020 Ondrej Dubaj <odubaj@redhat.com> - 3.5.0-1
|
||||
- Rebased to version 3.5.0
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (libarchive-3.4.3.tar.gz) = d00167dec6e65a0b17b46a1e3bb0242d85716dbc637afd233360cb515b2750dafe0ff0644b9e01ad23534340b405a8551f496c5e39fba9ee99355a515580d65d
|
||||
SHA512 (libarchive-3.5.0.tar.gz) = 9a3d4ce9d4bc856c8d85b846d9d0c9f30369393aa107941c202ba0100c6bac009952c92d809e6981276b3bf91e9f37d018e7f1446b17c0c1c316fe5aafe15440
|
||||
|
Loading…
Reference in New Issue
Block a user