summaryrefslogtreecommitdiff
path: root/source3/librpc/idl
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-07-09 16:54:38 -0700
committerJeremy Allison <jra@samba.org>2008-07-09 16:54:38 -0700
commit0a0e18eeecc4d4e091c58109a8ddd9b3f28fa5cd (patch)
tree90ec7b53e13952f1e74016dba170d8be1c2eedc9 /source3/librpc/idl
parentae923dbd4e4e5cba35b36ad353a943b826e2a2c5 (diff)
downloadsamba-0a0e18eeecc4d4e091c58109a8ddd9b3f28fa5cd.tar.gz
samba-0a0e18eeecc4d4e091c58109a8ddd9b3f28fa5cd.tar.bz2
samba-0a0e18eeecc4d4e091c58109a8ddd9b3f28fa5cd.zip
Add in the IDL to store a NT Security descriptor in
a blob. Use the same format as S4, but a new version as we'll need to store the timestamp to check for validity against the POSIX st_ctime. Jeremy. (This used to be commit 5c4ce1dac3769bfe533a4ea778c916d117603603)
Diffstat (limited to 'source3/librpc/idl')
-rw-r--r--source3/librpc/idl/xattr.idl29
1 files changed, 29 insertions, 0 deletions
diff --git a/source3/librpc/idl/xattr.idl b/source3/librpc/idl/xattr.idl
index ec230a4efb..e19e2f89d8 100644
--- a/source3/librpc/idl/xattr.idl
+++ b/source3/librpc/idl/xattr.idl
@@ -20,4 +20,33 @@ interface xattr
uint32 num_xattrs;
tdb_xattr xattrs[num_xattrs];
} tdb_xattrs;
+
+ /* 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.
+ */
+
+ 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;
+
}