diff options
-rw-r--r-- | source4/librpc/idl/xattr.idl | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/source4/librpc/idl/xattr.idl b/source4/librpc/idl/xattr.idl index 520341e6aa..ba0123aed0 100644 --- a/source4/librpc/idl/xattr.idl +++ b/source4/librpc/idl/xattr.idl @@ -104,19 +104,31 @@ interface xattr /* we store the NT ACL a NTACL xattr. It is versioned so we can later add other acl attribs (such as posix acl mapping) - + we put this xattr in the security namespace to ensure that only trusted users can write to the ACL + + stored in "security.NTACL" + + Version 1. raw SD stored as Samba4 does it. + Version 2. raw SD + last changed timestamp so we + can discard if this doesn't match the POSIX st_ctime. */ + const char *XATTR_NTACL_NAME = "security.NTACL"; + typedef [public] struct { + security_descriptor *sd; + NTTIME last_changed; + } security_descriptor_timestamp; + typedef [switch_type(uint16)] union { [case(1)] security_descriptor *sd; + [case(2)] security_descriptor_timestamp *sd_ts; } xattr_NTACL_Info; typedef [public] struct { uint16 version; [switch_is(version)] xattr_NTACL_Info info; } xattr_NTACL; - } |