Bug 404075

Summary: setting/reading of recursive acls with setfacl/getfacl -R .... BROKEN
Product: [openSUSE] openSUSE 11.0 Reporter: robert spitzenpfeil <rs.opensuse>
Component: KernelAssignee: Brandon Philips <bphilips>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: ast, hmuelle
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: fixed acl package for opensuse 11.0
fixed libacl package for opensuse 11.0

Description robert spitzenpfeil 2008-06-26 11:40:19 UTC
testcase:

mkdir -p "test1/test2/test3/test4/test5"

setfacl -R -m u:users:rwx test1

/tmp> getfacl -R test1
# file: test1/
# owner: spitzenpfeil
# group: users
user::rwx
group::r-x
group:users:rwx
mask::rwx
other::r-x

# file: test1/test2
# owner: spitzenpfeil
# group: users
user::rwx
group::r-x
group:users:rwx
mask::rwx
other::r-x

END .... where is the rest ? 


/tmp> getfacl test1
# file: test1
# owner: spitzenpfeil
# group: users
user::rwx
group::r-x
group:users:rwx
mask::rwx
other::r-x

/tmp> getfacl test1/test2
# file: test1/test2
# owner: spitzenpfeil
# group: users
user::rwx
group::r-x
group:users:rwx
mask::rwx
other::r-x

/tmp> getfacl test1/test2/test3
# file: test1/test2/test3
# owner: spitzenpfeil
# group: users
user::rwx
group::r-x
other::r-x

/tmp> getfacl test1/test2/test3/test4
# file: test1/test2/test3/test4
# owner: spitzenpfeil
# group: users
user::rwx
group::r-x
other::r-x

/tmp> getfacl test1/test2/test3/test4/test5
# file: test1/test2/test3/test4/test5
# owner: spitzenpfeil
# group: users
user::rwx
group::r-x
other::r-x


this also breaks the restore acl option, as one cannot recursively
view acls and put that into a text file.

this is also broken on SLES10 SP2 !!
(Linux wep1101 2.6.16.60-0.23-smp #1 SMP Thu May 15 06:38:31 UTC 2008 x86_64 x86_64 x86_64 GNU/Linux)

it used to work on SLES10 SP1
(Linux wep1124 2.6.16.54-0.2.5-default #1 Mon Jan 21 13:29:51 UTC 2008 i686 i686 i386 GNU/Linux)
Comment 1 Brandon Philips 2008-07-07 23:58:18 UTC
Created attachment 226385 [details]
fixed acl package for opensuse 11.0
Comment 2 Brandon Philips 2008-07-08 00:01:44 UTC
I attached a fixed acl RPM for opensuse 11.0 just now.  Please test.  

There are some differences between the path walking changes Andreas Gruenbacher added to the package last November and the version that was finally merged into upstream.

Working on finding the issue and fixing up SLE10 products now.

Thanks.
Comment 3 Brandon Philips 2008-07-08 00:44:48 UTC
Created attachment 226390 [details]
fixed libacl package for opensuse 11.0
Comment 4 robert spitzenpfeil 2008-07-08 18:20:16 UTC
I don't have a 64 bit system of 11.0 at hand. So I'll try the x86_64 11.0 kde4 live cd.

...

could not get loop devices to work for mounting a filesystem with acl support
(ioctl: LOOP_SET_FD: Invalid argument)

--> installed kde4 11.0 64bit from live cd.

result: 

the bugfix rpms seem to work. i did not test _every_ possible combination of commands, but recursively setting acls/default acls, recursively removing single/all acls works now.


Comment 8 Brandon Philips 2008-07-11 15:22:06 UTC
SLED 10 SP2 is on bug 408020 with SWAMP ID#L3-18593

Side effects of this bug includes:
 - Silent failure to recursively set ACLs on directories and files when -R is set on setfacl
 - Failure to fully recurse directory structures with getfacl -R
 - Improper recursion into directories with -P flag and linked directories with files

Comment 9 Brandon Philips 2008-07-11 21:36:38 UTC
Fix submitted.  Thanks for the report.
Comment 10 Anja Stock 2008-08-07 09:51:48 UTC
released