summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-08-24 08:31:39 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:34:29 -0500
commit649882d8d59f35cf51166bedd73c2eab4cea7e50 (patch)
tree529e7f87274b3a9ef49d34176e407fe1133f471c /source4/librpc
parentcfa981c65667fb63c2c2af8a48149dc6e89f461c (diff)
downloadsamba-649882d8d59f35cf51166bedd73c2eab4cea7e50.tar.gz
samba-649882d8d59f35cf51166bedd73c2eab4cea7e50.tar.bz2
samba-649882d8d59f35cf51166bedd73c2eab4cea7e50.zip
r9567: fixed the winreg IDL for CreateKey, including a security
descriptor. To keep it simple I just use normal IDL buffers for now, avoiding the complex methods metze used in spoolss. We might change that later Also added decoding of the security_descriptor in winreg_GetKeySecurity() in smbtorture (This used to be commit 439f34a9621e2e96329c30cfed8d78b8fdfbd8a2)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/winreg.idl32
1 files changed, 20 insertions, 12 deletions
diff --git a/source4/librpc/idl/winreg.idl b/source4/librpc/idl/winreg.idl
index cfde8bfdbc..a6e2d53286 100644
--- a/source4/librpc/idl/winreg.idl
+++ b/source4/librpc/idl/winreg.idl
@@ -83,14 +83,28 @@
/******************/
/* Function: 0x06 */
+
+ typedef struct {
+ [size_is(size),length_is(len)] uint8 *data;
+ uint32 size;
+ uint32 len;
+ } KeySecurityData;
+
+ typedef struct {
+ uint32 length;
+ KeySecurityData sd;
+ bool8 inherit;
+ } winreg_SecBuf;
+
WERROR winreg_CreateKey(
- [in,out,ref] policy_handle *handle,
- [in] winreg_String key,
+ [in,ref] policy_handle *handle,
+ [in] winreg_String name,
[in] winreg_String class,
[in] uint32 options,
- [in] uint32 access_mask,
- [in,out,ref] uint32 *action_taken,
- [in] sec_desc_buf *sec_desc
+ [in] uint32 access_required,
+ [in,unique] winreg_SecBuf *secdesc,
+ [out,ref] policy_handle *new_handle,
+ [in,out,unique] uint32 *action_taken
);
/******************/
@@ -143,18 +157,12 @@
[in,ref] policy_handle *handle
);
- typedef struct {
- [size_is(size),length_is(len)] uint8 *data;
- uint32 size;
- uint32 len;
- } KeySecurityData;
-
/******************/
/* Function: 0x0c */
WERROR winreg_GetKeySecurity(
[in,ref] policy_handle *handle,
[in] uint32 access_mask,
- [in,out,ref] KeySecurityData *data
+ [in,out,ref] KeySecurityData *sd
);
/******************/