Fix a bug introduced in the last commit: vaccess_acl_posix1 only checked
the file gid gainst the egid of the accessing process for the ACL_GROUP_OBJ case, and ignored supplementary groups. Approved by: rwatson
This commit is contained in:
parent
3c43ddee02
commit
e15480f8dd
@ -229,7 +229,7 @@ vaccess_acl_posix1e(enum vtype type, uid_t file_uid, gid_t file_gid,
|
||||
for (i = 0; i < acl->acl_cnt; i++) {
|
||||
switch (acl->acl_entry[i].ae_tag) {
|
||||
case ACL_GROUP_OBJ:
|
||||
if (file_gid != cred->cr_groups[0])
|
||||
if (!groupmember(file_gid, cred))
|
||||
break;
|
||||
dac_granted = 0;
|
||||
if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
|
||||
|
@ -229,7 +229,7 @@ vaccess_acl_posix1e(enum vtype type, uid_t file_uid, gid_t file_gid,
|
||||
for (i = 0; i < acl->acl_cnt; i++) {
|
||||
switch (acl->acl_entry[i].ae_tag) {
|
||||
case ACL_GROUP_OBJ:
|
||||
if (file_gid != cred->cr_groups[0])
|
||||
if (!groupmember(file_gid, cred))
|
||||
break;
|
||||
dac_granted = 0;
|
||||
if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
|
||||
|
@ -229,7 +229,7 @@ vaccess_acl_posix1e(enum vtype type, uid_t file_uid, gid_t file_gid,
|
||||
for (i = 0; i < acl->acl_cnt; i++) {
|
||||
switch (acl->acl_entry[i].ae_tag) {
|
||||
case ACL_GROUP_OBJ:
|
||||
if (file_gid != cred->cr_groups[0])
|
||||
if (!groupmember(file_gid, cred))
|
||||
break;
|
||||
dac_granted = 0;
|
||||
if (acl->acl_entry[i].ae_perm & ACL_EXECUTE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user