Rebased to version 3.5.0
This commit is contained in:
parent
f395f600fa
commit
d9ee0adfff
@ -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
|
%bcond_without check
|
||||||
|
|
||||||
Name: libarchive
|
Name: libarchive
|
||||||
Version: 3.4.3
|
Version: 3.5.0
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A library for handling streaming archive formats
|
Summary: A library for handling streaming archive formats
|
||||||
|
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://www.libarchive.org/
|
URL: https://www.libarchive.org/
|
||||||
Source0: https://libarchive.org/downloads/%{name}-%{version}.tar.gz
|
Source0: https://libarchive.org/downloads/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
Patch0: libarchive-3.4.3-lchmod-support-check.patch
|
|
||||||
|
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: bzip2-devel
|
BuildRequires: bzip2-devel
|
||||||
@ -212,6 +210,9 @@ run_testsuite
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%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
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.3-3
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
- 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