|
Last change
on this file was 206, checked in by Herwig Bauernfeind, 16 years ago |
|
Import Samba 3.3 branch at 3.0.0 level (psmedley's port)
|
|
File size:
1.2 KB
|
| Line | |
|---|
| 1 | #include "idl_types.h"
|
|---|
| 2 |
|
|---|
| 3 | /*
|
|---|
| 4 | IDL structures for xattrs
|
|---|
| 5 | */
|
|---|
| 6 |
|
|---|
| 7 | [
|
|---|
| 8 | pointer_default(unique)
|
|---|
| 9 | ]
|
|---|
| 10 | interface xattr
|
|---|
| 11 | {
|
|---|
| 12 | /* xattrs for file systems that don't have any */
|
|---|
| 13 |
|
|---|
| 14 | typedef [public] struct {
|
|---|
| 15 | utf8string name;
|
|---|
| 16 | DATA_BLOB value;
|
|---|
| 17 | } tdb_xattr;
|
|---|
| 18 |
|
|---|
| 19 | typedef [public] struct {
|
|---|
| 20 | uint32 num_xattrs;
|
|---|
| 21 | tdb_xattr xattrs[num_xattrs];
|
|---|
| 22 | } tdb_xattrs;
|
|---|
| 23 |
|
|---|
| 24 | /* we store the NT ACL a NTACL xattr. It is versioned so we
|
|---|
| 25 | can later add other acl attribs (such as posix acl mapping)
|
|---|
| 26 |
|
|---|
| 27 | we put this xattr in the security namespace to ensure that
|
|---|
| 28 | only trusted users can write to the ACL
|
|---|
| 29 |
|
|---|
| 30 | stored in "security.NTACL"
|
|---|
| 31 |
|
|---|
| 32 | Version 1. raw SD stored as Samba4 does it.
|
|---|
| 33 | Version 2. raw SD + last changed hash so we
|
|---|
| 34 | can discard if this doesn't match the underlying ACL hash.
|
|---|
| 35 | */
|
|---|
| 36 |
|
|---|
| 37 | const char *XATTR_NTACL_NAME = "security.NTACL";
|
|---|
| 38 |
|
|---|
| 39 | typedef [public] struct {
|
|---|
| 40 | security_descriptor *sd;
|
|---|
| 41 | uint8 hash[16];
|
|---|
| 42 | } security_descriptor_hash;
|
|---|
| 43 |
|
|---|
| 44 | typedef [switch_type(uint16)] union {
|
|---|
| 45 | [case(1)] security_descriptor *sd;
|
|---|
| 46 | [case(2)] security_descriptor_hash *sd_hs;
|
|---|
| 47 | } xattr_NTACL_Info;
|
|---|
| 48 |
|
|---|
| 49 | typedef [public] struct {
|
|---|
| 50 | uint16 version;
|
|---|
| 51 | [switch_is(version)] xattr_NTACL_Info info;
|
|---|
| 52 | } xattr_NTACL;
|
|---|
| 53 |
|
|---|
| 54 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.