summaryrefslogtreecommitdiff
path: root/source4/rpc_server/winreg
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2010-03-19 20:23:36 +0100
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2010-03-21 14:03:58 +0100
commit1cdeb0c0d280312df3e1c93a30e03cd0a7459fe9 (patch)
tree2827d12767678c20a8b6bbf9d4c67186ee142a15 /source4/rpc_server/winreg
parent2f79217964ef2f3b4b5c8bd8780db88081ecbc5d (diff)
downloadsamba-1cdeb0c0d280312df3e1c93a30e03cd0a7459fe9.tar.gz
samba-1cdeb0c0d280312df3e1c93a30e03cd0a7459fe9.tar.bz2
samba-1cdeb0c0d280312df3e1c93a30e03cd0a7459fe9.zip
s4:WINREG RPC - specify the performed create action for "CreateKey"
To make the WINREG RPC testsuite happy.
Diffstat (limited to 'source4/rpc_server/winreg')
-rw-r--r--source4/rpc_server/winreg/rpc_winreg.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c
index 61920b20a8..5491bb602f 100644
--- a/source4/rpc_server/winreg/rpc_winreg.c
+++ b/source4/rpc_server/winreg/rpc_winreg.c
@@ -144,12 +144,21 @@ static WERROR dcesrv_winreg_CreateKey(struct dcesrv_call_state *dce_call,
result = reg_key_add_name(newh, key, r->in.name.name, NULL,
r->in.secdesc?&sd:NULL, (struct registry_key **)&newh->data);
+
+ r->out.action_taken = talloc(mem_ctx, enum winreg_CreateAction);
+ if (r->out.action_taken == NULL) {
+ talloc_free(newh);
+ return WERR_NOMEM;
+ }
+ *r->out.action_taken = REG_ACTION_NONE;
+
if (W_ERROR_IS_OK(result)) {
r->out.new_handle = &newh->wire_handle;
+ *r->out.action_taken = REG_CREATED_NEW_KEY;
} else {
talloc_free(newh);
}
-
+
return result;
default:
return WERR_ACCESS_DENIED;