Page MenuHomeFreeBSD

D3540.id8434.diff
No OneTemporary

D3540.id8434.diff

Index: bin/setfacl/setfacl.1
===================================================================
--- bin/setfacl/setfacl.1
+++ bin/setfacl/setfacl.1
@@ -378,9 +378,11 @@
inherit_only
.It n
no_propagate
+.It I
+inherited
.El
.Pp
-Inheritance flags may be only set on directories.
+Other than the "inherited" flag, inheritance flags may be only set on directories.
.It Ar "ACL type"
The ACL type field is either
.Dq Li allow
Index: lib/libc/posix1e/acl_add_flag_np.3
===================================================================
--- lib/libc/posix1e/acl_add_flag_np.3
+++ lib/libc/posix1e/acl_add_flag_np.3
@@ -56,6 +56,7 @@
.It ACL_ENTRY_DIRECTORY_INHERIT Ta "Will be inherited by directories."
.It ACL_ENTRY_NO_PROPAGATE_INHERIT Ta "Will not propagate."
.It ACL_ENTRY_INHERIT_ONLY Ta "Inherit-only."
+.It ACL_ENTRY_INHERITED Ta "Inherited from parent"
.El
.Sh RETURN VALUES
.Rv -std acl_add_flag_np
Index: lib/libc/posix1e/acl_support_nfs4.c
===================================================================
--- lib/libc/posix1e/acl_support_nfs4.c
+++ lib/libc/posix1e/acl_support_nfs4.c
@@ -48,6 +48,7 @@
{ ACL_ENTRY_NO_PROPAGATE_INHERIT, "no_propagate", 'n'},
{ ACL_ENTRY_SUCCESSFUL_ACCESS, "successfull_access", 'S'},
{ ACL_ENTRY_FAILED_ACCESS, "failed_access", 'F'},
+ { ACL_ENTRY_INHERITED, "inherited", 'I' },
/*
* There is no ACE_IDENTIFIER_GROUP here - SunOS does not show it
* in the "flags" field. There is no ACE_OWNER, ACE_GROUP or
Index: share/man/man9/acl.9
===================================================================
--- share/man/man9/acl.9
+++ share/man/man9/acl.9
@@ -203,7 +203,13 @@
.It Dv ACL_ENTRY_DIRECTORY_INHERIT
.It Dv ACL_ENTRY_NO_PROPAGATE_INHERIT
.It Dv ACL_ENTRY_INHERIT_ONLY
+.It Dv ACL_ENTRY_INHERITED
.El
+The
+.Dv ACL_ENTRY_INHERITED
+flag is set on an ACE that has been inherited from its parent;
+it may also be set programmatically, and is valid on both files
+and directories.
.El
.Sh SEE ALSO
.Xr acl 3 ,
Index: sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
===================================================================
--- sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
+++ sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
@@ -64,6 +64,8 @@
ACL_ENTRY_NO_PROPAGATE_INHERIT},
{ACE_INHERIT_ONLY_ACE,
ACL_ENTRY_INHERIT_ONLY},
+ {ACE_INHERITED_ACE,
+ ACL_ENTRY_INHERITED},
{ACE_SUCCESSFUL_ACCESS_ACE_FLAG,
ACL_ENTRY_SUCCESSFUL_ACCESS},
{ACE_FAILED_ACCESS_ACE_FLAG,
Index: sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
===================================================================
--- sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
+++ sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
@@ -189,11 +189,12 @@
ACE_DIRECTORY_INHERIT_ACE | \
ACE_NO_PROPAGATE_INHERIT_ACE | \
ACE_INHERIT_ONLY_ACE | \
+ ACE_INHERITED_ACE | \
ACE_IDENTIFIER_GROUP)
#define ACE_TYPE_FLAGS (ACE_OWNER|ACE_GROUP|ACE_EVERYONE| \
ACE_IDENTIFIER_GROUP)
-#define ACE_INHERIT_FLAGS (ACE_FILE_INHERIT_ACE| \
+#define ACE_INHERIT_FLAGS (ACE_FILE_INHERIT_ACE| ACL_INHERITED_ACE| \
ACE_DIRECTORY_INHERIT_ACE|ACE_NO_PROPAGATE_INHERIT_ACE|ACE_INHERIT_ONLY_ACE)
/* cmd args to acl(2) for aclent_t */
Index: sys/kern/subr_acl_nfs4.c
===================================================================
--- sys/kern/subr_acl_nfs4.c
+++ sys/kern/subr_acl_nfs4.c
@@ -1068,6 +1068,7 @@
child_aclp->acl_cnt++;
entry->ae_flags &= ~ACL_ENTRY_INHERIT_ONLY;
+ entry->ae_flags |= ACL_ENTRY_INHERITED;
/*
* If the type of the ACE is neither ALLOW nor DENY,
Index: sys/sys/acl.h
===================================================================
--- sys/sys/acl.h
+++ sys/sys/acl.h
@@ -249,11 +249,12 @@
#define ACL_ENTRY_INHERIT_ONLY 0x0008
#define ACL_ENTRY_SUCCESSFUL_ACCESS 0x0010
#define ACL_ENTRY_FAILED_ACCESS 0x0020
+#define ACL_ENTRY_INHERITED 0x0080
#define ACL_FLAGS_BITS (ACL_ENTRY_FILE_INHERIT | \
ACL_ENTRY_DIRECTORY_INHERIT | ACL_ENTRY_NO_PROPAGATE_INHERIT | \
ACL_ENTRY_INHERIT_ONLY | ACL_ENTRY_SUCCESSFUL_ACCESS | \
- ACL_ENTRY_FAILED_ACCESS)
+ ACL_ENTRY_FAILED_ACCESS | ACL_ENTRY_INHERITED)
/*
* Undefined value in ae_id field. ae_id should be set to this value

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 27, 11:38 AM (18 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37380462
Default Alt Text
D3540.id8434.diff (4 KB)

Event Timeline