summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-01-10 17:27:10 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:08:39 -0500
commit860a3fb21622bfad2fb8fe54097c62999b8855bc (patch)
tree3d0b1730beaeedbcbd5f684138a5a50f555dbc1c
parenta070551e7aece72cba7b801c05107f739b17301c (diff)
downloadsamba-860a3fb21622bfad2fb8fe54097c62999b8855bc.tar.gz
samba-860a3fb21622bfad2fb8fe54097c62999b8855bc.tar.bz2
samba-860a3fb21622bfad2fb8fe54097c62999b8855bc.zip
r4649: make more use of bitmap and enum's
metze (This used to be commit fa798fe1f0c39dfee7d4c86a8cd5924be8a32922)
-rw-r--r--source4/librpc/idl/security.idl94
1 files changed, 53 insertions, 41 deletions
diff --git a/source4/librpc/idl/security.idl b/source4/librpc/idl/security.idl
index 662d874c86..3782d984f7 100644
--- a/source4/librpc/idl/security.idl
+++ b/source4/librpc/idl/security.idl
@@ -188,28 +188,32 @@ interface security
uint32 sub_auths[num_auths];
} dom_sid;
- const int SEC_ACE_FLAG_OBJECT_INHERIT = 0x001;
- const int SEC_ACE_FLAG_CONTAINER_INHERIT = 0x002;
- const int SEC_ACE_FLAG_NO_PROPAGATE_INHERIT = 0x004;
- const int SEC_ACE_FLAG_INHERIT_ONLY = 0x008;
- const int SEC_ACE_FLAG_INHERITED_ACE = 0x010;
- const int SEC_ACE_FLAG_VALID_INHERIT = 0x00f;
- const int SEC_ACE_FLAG_SUCCESSFUL_ACCESS = 0x040;
- const int SEC_ACE_FLAG_FAILED_ACCESS = 0x080;
-
- const int SEC_ACE_TYPE_ACCESS_ALLOWED = 0x0;
- const int SEC_ACE_TYPE_ACCESS_DENIED = 0x1;
- const int SEC_ACE_TYPE_SYSTEM_AUDIT = 0x2;
- const int SEC_ACE_TYPE_SYSTEM_ALARM = 0x3;
- const int SEC_ACE_TYPE_ALLOWED_COMPOUND = 0x4;
- const int SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT = 0x5;
- const int SEC_ACE_TYPE_ACCESS_DENIED_OBJECT = 0x6;
- const int SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT = 0x7;
- const int SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT = 0x8;
+ typedef [bitmap8bit] bitmap {
+ SEC_ACE_FLAG_OBJECT_INHERIT = 0x01,
+ SEC_ACE_FLAG_CONTAINER_INHERIT = 0x02,
+ SEC_ACE_FLAG_NO_PROPAGATE_INHERIT = 0x04,
+ SEC_ACE_FLAG_INHERIT_ONLY = 0x08,
+ SEC_ACE_FLAG_INHERITED_ACE = 0x10,
+ SEC_ACE_FLAG_VALID_INHERIT = 0x0f,
+ SEC_ACE_FLAG_SUCCESSFUL_ACCESS = 0x40,
+ SEC_ACE_FLAG_FAILED_ACCESS = 0x80
+ } security_ace_flags;
+
+ typedef [enum8bit] enum {
+ SEC_ACE_TYPE_ACCESS_ALLOWED = 0,
+ SEC_ACE_TYPE_ACCESS_DENIED = 1,
+ SEC_ACE_TYPE_SYSTEM_AUDIT = 2,
+ SEC_ACE_TYPE_SYSTEM_ALARM = 3,
+ SEC_ACE_TYPE_ALLOWED_COMPOUND = 4,
+ SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT = 5,
+ SEC_ACE_TYPE_ACCESS_DENIED_OBJECT = 6,
+ SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT = 7,
+ SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT = 8
+ } security_ace_type;
typedef [public] struct {
- uint8 type; /* SEC_ACE_TYPE_* */
- uint8 flags; /* SEC_ACE_FLAG_* */
+ security_ace_type type; /* SEC_ACE_TYPE_* */
+ security_ace_flags flags; /* SEC_ACE_FLAG_* */
[value(ndr_size_security_ace(r))] uint16 size;
uint32 access_mask;
@@ -225,35 +229,43 @@ interface security
dom_sid trustee;
} security_ace;
- const int NT4_ACL_REVISION = 0x2;
+ typedef enum {
+ NT4_ACL_REVISION = 2
+ } security_acl_revision;
typedef [public] struct {
- uint16 revision;
+ security_acl_revision revision;
[value(ndr_size_security_acl(r))] uint16 size;
[range(0,1000)] uint32 num_aces;
security_ace aces[num_aces];
} security_acl;
/* default revision for new ACLs */
- const int SD_REVISION = 1;
+ typedef [enum8bit] enum {
+ SEC_DESC_REVISION_1 = 1
+ } security_descriptor_revision;
+
+ const int SD_REVISION = SEC_DESC_REVISION_1;
/* security_descriptor->type bits */
- const int SEC_DESC_OWNER_DEFAULTED = 0x0001;
- const int SEC_DESC_GROUP_DEFAULTED = 0x0002;
- const int SEC_DESC_DACL_PRESENT = 0x0004;
- const int SEC_DESC_DACL_DEFAULTED = 0x0008;
- const int SEC_DESC_SACL_PRESENT = 0x0010;
- const int SEC_DESC_SACL_DEFAULTED = 0x0020;
- const int SEC_DESC_DACL_TRUSTED = 0x0040;
- const int SEC_DESC_SERVER_SECURITY = 0x0080;
- const int SEC_DESC_DACL_AUTO_INHERIT_REQ = 0x0100;
- const int SEC_DESC_SACL_AUTO_INHERIT_REQ = 0x0200;
- const int SEC_DESC_DACL_AUTO_INHERITED = 0x0400;
- const int SEC_DESC_SACL_AUTO_INHERITED = 0x0800;
- const int SEC_DESC_DACL_PROTECTED = 0x1000;
- const int SEC_DESC_SACL_PROTECTED = 0x2000;
- const int SEC_DESC_RM_CONTROL_VALID = 0x4000;
- const int SEC_DESC_SELF_RELATIVE = 0x8000;
+ typedef [bitmap16bit] bitmap {
+ SEC_DESC_OWNER_DEFAULTED = 0x0001,
+ SEC_DESC_GROUP_DEFAULTED = 0x0002,
+ SEC_DESC_DACL_PRESENT = 0x0004,
+ SEC_DESC_DACL_DEFAULTED = 0x0008,
+ SEC_DESC_SACL_PRESENT = 0x0010,
+ SEC_DESC_SACL_DEFAULTED = 0x0020,
+ SEC_DESC_DACL_TRUSTED = 0x0040,
+ SEC_DESC_SERVER_SECURITY = 0x0080,
+ SEC_DESC_DACL_AUTO_INHERIT_REQ = 0x0100,
+ SEC_DESC_SACL_AUTO_INHERIT_REQ = 0x0200,
+ SEC_DESC_DACL_AUTO_INHERITED = 0x0400,
+ SEC_DESC_SACL_AUTO_INHERITED = 0x0800,
+ SEC_DESC_DACL_PROTECTED = 0x1000,
+ SEC_DESC_SACL_PROTECTED = 0x2000,
+ SEC_DESC_RM_CONTROL_VALID = 0x4000,
+ SEC_DESC_SELF_RELATIVE = 0x8000
+ } security_descriptor_type;
/* bits that determine which parts of a security descriptor
are being queried/set */
@@ -264,8 +276,8 @@ interface security
typedef [public,flag(NDR_LITTLE_ENDIAN)] struct {
- uint8 revision;
- uint16 type; /* SEC_DESC_xxxx flags */
+ security_descriptor_revision revision;
+ security_descriptor_type type; /* SEC_DESC_xxxx flags */
[relative] dom_sid *owner_sid;
[relative] dom_sid *group_sid;
[relative] security_acl *sacl; /* system ACL */