Annotation of /trunk/acl/patches/acl-2.2.47-make-sure-that-getfacl-R-only-calls-stat-2-on-symlin.patch
Parent Directory | Revision Log
Revision 949 -
(hide annotations)
(download)
Tue Dec 22 22:35:23 2009 UTC (14 years, 9 months ago) by niro
File size: 1487 byte(s)
Tue Dec 22 22:35:23 2009 UTC (14 years, 9 months ago) by niro
File size: 1487 byte(s)
-added acl patches
1 | niro | 949 | http://bugs.gentoo.org/265425 |
2 | |||
3 | From 63451a06b7484d220750ed8574d3ee84e156daf5 Mon Sep 17 00:00:00 2001 | ||
4 | From: Andreas Gruenbacher <agruen@suse.de> | ||
5 | Date: Tue, 23 Jun 2009 00:29:45 +0200 | ||
6 | Subject: [PATCH] Make sure that getfacl -R only calls stat(2) on symlinks when it needs to | ||
7 | |||
8 | This fixes http://oss.sgi.com/bugzilla/show_bug.cgi?id=790 | ||
9 | "getfacl follows symlinks, even without -L". | ||
10 | --- | ||
11 | getfacl/getfacl.c | 7 ++++--- | ||
12 | |||
13 | diff --git a/getfacl/getfacl.c b/getfacl/getfacl.c | ||
14 | index fc650e3..b3e6200 100644 | ||
15 | --- a/getfacl/getfacl.c | ||
16 | +++ b/getfacl/getfacl.c | ||
17 | @@ -70,7 +70,7 @@ struct option long_options[] = { | ||
18 | const char *progname; | ||
19 | const char *cmd_line_options; | ||
20 | |||
21 | -int walk_flags = WALK_TREE_DEREFERENCE; | ||
22 | +int walk_flags = WALK_TREE_DEREFERENCE_TOPLEVEL; | ||
23 | int opt_print_acl; | ||
24 | int opt_print_default_acl; | ||
25 | int opt_strip_leading_slash = 1; | ||
26 | @@ -642,7 +642,7 @@ int main(int argc, char *argv[]) | ||
27 | case 'L': /* follow all symlinks */ | ||
28 | if (posixly_correct) | ||
29 | goto synopsis; | ||
30 | - walk_flags |= WALK_TREE_LOGICAL; | ||
31 | + walk_flags |= WALK_TREE_LOGICAL | WALK_TREE_DEREFERENCE; | ||
32 | walk_flags &= ~WALK_TREE_PHYSICAL; | ||
33 | break; | ||
34 | |||
35 | @@ -650,7 +650,8 @@ int main(int argc, char *argv[]) | ||
36 | if (posixly_correct) | ||
37 | goto synopsis; | ||
38 | walk_flags |= WALK_TREE_PHYSICAL; | ||
39 | - walk_flags &= ~WALK_TREE_LOGICAL; | ||
40 | + walk_flags &= ~(WALK_TREE_LOGICAL | WALK_TREE_DEREFERENCE | | ||
41 | + WALK_TREE_DEREFERENCE_TOPLEVEL); | ||
42 | break; | ||
43 | |||
44 | case 's': /* skip files with only base entries */ | ||
45 | -- | ||
46 | 1.6.3.3 | ||
47 |