Fix bug 6878 - Cannot change ACL's inherit flag.
authorJeremy Allison <jra@samba.org>
Wed, 11 Nov 2009 20:17:47 +0000 (12:17 -0800)
committerJeremy Allison <jra@samba.org>
Wed, 11 Nov 2009 20:17:47 +0000 (12:17 -0800)
commit8995d3d813978a00b50f33943c60784ddfe308bf
treee6c44f80f0ebd94c4b331d08e55e173f90551085
parentb11e11a9737a6490f27f9ea5c15b39203fbcbe7a
Fix bug 6878 - Cannot change ACL's inherit flag.
Based on a patch submitted by Tsukasa Hamano <hamano@osstech.co.jp>,
this is a change in the POSIX ACL mapping to deal with the lossy
mapping for directory ACE entries:

 We have a lossy mapping: directory ACE entries
 CREATOR_OWNER ------\
     (map to)         +---> SMB_ACL_USER_OBJ
 owning sid    ------/

 CREATOR_GROUP ------\
     (map to)         +---> SMB_ACL_GROUP_OBJ
 primary group sid --/

 on set. And on read of a directory ACL

 SMB_ACL_USER_OBJ ----> CREATOR_OWNER
 SMB_ACL_GROUP_OBJ ---> CREATOR_GROUP.

 Deal with this on set by duplicating
 owning sid and primary group sid ACE
 entries into the directory ACL.

Jeremy.
source3/smbd/posix_acls.c