# --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: package/.../acl/acl-2.2.51-upstream-fixes.patch # Copyright (C) 2012 The OpenSDE Project # # More information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # --- SDE-COPYRIGHT-NOTE-END --- From 3d80b8fa04cdc7fc89c49abff738bdbedb8ba758 Mon Sep 17 00:00:00 2001 From: Andreas Gruenbacher Date: Wed, 25 May 2011 16:18:53 +0000 Subject: 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. --- 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 @@ -596,7 +596,6 @@ int main(int argc, char *argv[]) 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); break; -- cgit v0.9.0.2