diff --git a/SOURCES/acl-2.2.51-getfacl-symlink-to-dir.patch b/SOURCES/acl-2.2.51-getfacl-symlink-to-dir.patch new file mode 100644 index 0000000..8dc0c37 --- /dev/null +++ b/SOURCES/acl-2.2.51-getfacl-symlink-to-dir.patch @@ -0,0 +1,46 @@ +From 8c5403834dfe57edcbc762cf7faee1b2643c5c31 Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher +Date: Wed, 25 May 2011 18:18:53 +0200 +Subject: [PATCH] walk_tree: do not follow symlink to directory with -h + +Keep libmisc/walk_tree.c in sync with the version in the attr package; +no change in functionality for getfacl or setfacl. + +Remove a related dead line of code from setfacl. + +Upstream-commit: 3d80b8fa04cdc7fc89c49abff738bdbedb8ba758 +Signed-off-by: Kamil Dudka +--- + libmisc/walk_tree.c | 3 ++- + setfacl/setfacl.c | 1 - + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libmisc/walk_tree.c b/libmisc/walk_tree.c +index 30ff92a..2be9d47 100644 +--- a/libmisc/walk_tree.c ++++ b/libmisc/walk_tree.c +@@ -60,7 +60,8 @@ static int walk_tree_rec(const char *path, int walk_flags, + void *), void *arg, int depth) + { + int follow_symlinks = (walk_flags & WALK_TREE_LOGICAL) || +- (!(walk_flags & WALK_TREE_PHYSICAL) && ++ ((walk_flags & WALK_TREE_DEREFERENCE) && ++ !(walk_flags & WALK_TREE_PHYSICAL) && + depth == 0); + int have_dir_stat = 0, flags = walk_flags, err; + struct entry_handle dir; +diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c +index 4f4ff27..81062a6 100644 +--- a/setfacl/setfacl.c ++++ b/setfacl/setfacl.c +@@ -595,7 +595,6 @@ int main(int argc, char *argv[]) + break; + + case 'P': /* do not follow symlinks */ +- walk_flags |= WALK_TREE_PHYSICAL; + walk_flags |= WALK_TREE_PHYSICAL; + walk_flags &= ~(WALK_TREE_LOGICAL | WALK_TREE_DEREFERENCE | + WALK_TREE_DEREFERENCE_TOPLEVEL); +-- +2.20.1 + diff --git a/SPECS/acl.spec b/SPECS/acl.spec index 36af094..af6dc51 100644 --- a/SPECS/acl.spec +++ b/SPECS/acl.spec @@ -1,7 +1,7 @@ Summary: Access control list utilities Name: acl Version: 2.2.51 -Release: 14%{?dist} +Release: 15%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gawk BuildRequires: gettext @@ -26,9 +26,12 @@ Patch8: acl-2.2.52-setfacl-man-page.patch # fix spurious acl_check() failure on setfacl --restore (#1451820) Patch9: acl-2.2.52-setfacl-restore-initialize.patch +# do not follow symlinks without -L (#1714077) +Patch10: acl-2.2.51-getfacl-symlink-to-dir.patch + License: GPLv2+ Group: System Environment/Base -URL: http://acl.bestbits.at/ +URL: https://savannah.nongnu.org/projects/acl %description This package contains the getfacl and setfacl utilities needed for @@ -66,6 +69,7 @@ defined in POSIX 1003.1e draft standard 17. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %build touch .census @@ -133,6 +137,10 @@ chmod 0755 $RPM_BUILD_ROOT/%{_libdir}/libacl.so.*.*.* %{_libdir}/libacl.so.* %changelog +* Tue Aug 06 2019 Kamil Dudka 2.2.51-15 +- do not follow symlinks without -L (#1714077) +- update project URL (#1579173) + * Thu May 18 2017 Kamil Dudka - 2.2.51-14 - fix spurious acl_check() failure on setfacl --restore (#1451820)