You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
2.1 KiB

# --- 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 <agruen@linbit.com>
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