diff options
author | Andrew Tridgell <tridge@samba.org> | 2003-11-17 06:27:45 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2003-11-17 06:27:45 +0000 |
commit | 59df3ce5b5c5b484793a0e16faeb581ef343e167 (patch) | |
tree | cceb5d9fc8df01ec7c399ef690e86a34fba34a6b /source4/librpc/idl | |
parent | fa83432e1085d32f1a3f4208b81b6e936ba63b38 (diff) | |
download | samba-59df3ce5b5c5b484793a0e16faeb581ef343e167.tar.gz samba-59df3ce5b5c5b484793a0e16faeb581ef343e167.tar.bz2 samba-59df3ce5b5c5b484793a0e16faeb581ef343e167.zip |
security descriptors are no longer a "special" type, they are handled
using the [relative] property
this also fixes level3 of PrinterInfo (a relative secdesc)
(This used to be commit d5a15257fdd5f6cfe2706765a7c29f623ec1c6f8)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/misc.idl | 53 | ||||
-rw-r--r-- | source4/librpc/idl/spoolss.idl | 14 |
2 files changed, 59 insertions, 8 deletions
diff --git a/source4/librpc/idl/misc.idl b/source4/librpc/idl/misc.idl new file mode 100644 index 0000000000..c170beceae --- /dev/null +++ b/source4/librpc/idl/misc.idl @@ -0,0 +1,53 @@ +/* + miscellaneous IDL structures +*/ + +[ uuid(0-0-0-0-0), + version(0.0), + pointer_default(unique) +] interface misc +{ + + /* a domain SID. Note that unlike Samba3 this contains a pointer, + so you can't copy them using assignment */ + typedef [public,noprint] struct { + uint8 sid_rev_num; /**< SID revision number */ + uint8 num_auths; /**< Number of sub-authorities */ + uint8 id_auth[6]; /**< Identifier Authority */ + uint32 sub_auths[num_auths]; + } dom_sid; + + typedef [public] struct { + uint8 type; /* xxxx_xxxx_ACE_TYPE - e.g allowed / denied etc */ + uint8 flags; /* xxxx_INHERIT_xxxx - e.g OBJECT_INHERIT_ACE */ + uint32 access_mask; + +#if 0 + /* the 'obj' part is present when type is XXXX_TYPE_XXXX_OBJECT */ + struct { + uint32 flags; + GUID object_guid; + GUID inherit_guid; + } *obj; +#endif + + dom_sid trustee; + } security_ace; + + typedef [public] struct { + uint16 revision; + uint32 num_aces; + security_ace aces[num_aces]; + } security_acl; + + + typedef [public] struct { + uint8 revision; + uint16 type; /* SEC_DESC_xxxx flags */ + [relative] dom_sid *owner_sid; + [relative] dom_sid *group_sid; + [relative] security_acl *sacl; /* system ACL */ + [relative] security_acl *dacl; /* user (discretionary) ACL */ + } security_descriptor; + +} diff --git a/source4/librpc/idl/spoolss.idl b/source4/librpc/idl/spoolss.idl index 7abf3effde..4800d8ff2a 100644 --- a/source4/librpc/idl/spoolss.idl +++ b/source4/librpc/idl/spoolss.idl @@ -45,7 +45,7 @@ uint32 reserved2; uint32 panningwidth; uint32 panningheight; -// uint8 private[driverextra]; + uint8 private[driverextra]; } spoolss_DeviceMode; typedef struct { @@ -81,7 +81,7 @@ typedef struct { uint32 flags; - [relative] security_descriptor *secdesc; + security_descriptor secdesc; } spoolss_PrinterInfo3; typedef struct { @@ -153,9 +153,8 @@ [in] uint32 firstjob, [in] uint32 numjobs, [in] uint32 level, - [in,out] uint8_buf *buffer, - [in] uint32 offered, - [out] uint32 needed, + [in,out] DATA_BLOB *buffer, + [in,out,ref] uint32 *buf_size, [out] uint32 numjobs ); @@ -537,13 +536,12 @@ [in,ref] policy_handle *handle, [in] uint32 enum_index, [in] uint32 value_offered, - [in] uint32 data_offered, [out] uint32 value_len, [out] unistr *value_name, [out] uint32 value_needed, [out] uint32 printerdata_type, - [out] uint8_buf printerdata, - [out] uint32 data_needed + [in,out] DATA_BLOB *buffer, + [in,out,ref] uint32 *buf_size ); /******************/ |