summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/rpc/winreg.c195
1 files changed, 98 insertions, 97 deletions
diff --git a/source4/torture/rpc/winreg.c b/source4/torture/rpc/winreg.c
index fac9f0f8d8..cded33d059 100644
--- a/source4/torture/rpc/winreg.c
+++ b/source4/torture/rpc/winreg.c
@@ -32,9 +32,9 @@
#define TEST_KEY3 TEST_KEY_BASE "\\with a subkey"
#define TEST_SUBKEY TEST_KEY3 "\\subkey"
-static void init_initshutdown_String(TALLOC_CTX *mem_ctx,
- struct initshutdown_String *name,
- const char *s)
+static void init_initshutdown_String(TALLOC_CTX *mem_ctx,
+ struct initshutdown_String *name,
+ const char *s)
{
name->name = talloc(mem_ctx, struct initshutdown_String_sub);
name->name->name = s;
@@ -52,8 +52,8 @@ static void init_winreg_String(struct winreg_String *name, const char *s)
}
}
-static bool test_GetVersion(struct dcerpc_pipe *p,
- struct torture_context *tctx,
+static bool test_GetVersion(struct dcerpc_pipe *p,
+ struct torture_context *tctx,
struct policy_handle *handle)
{
struct winreg_GetVersion r;
@@ -71,9 +71,9 @@ static bool test_GetVersion(struct dcerpc_pipe *p,
return true;
}
-static bool test_NotifyChangeKeyValue(struct dcerpc_pipe *p,
- struct torture_context *tctx,
- struct policy_handle *handle)
+static bool test_NotifyChangeKeyValue(struct dcerpc_pipe *p,
+ struct torture_context *tctx,
+ struct policy_handle *handle)
{
struct winreg_NotifyChangeKeyValue r;
@@ -84,13 +84,13 @@ static bool test_NotifyChangeKeyValue(struct dcerpc_pipe *p,
init_winreg_String(&r.in.string1, NULL);
init_winreg_String(&r.in.string2, NULL);
- torture_assert_ntstatus_ok(tctx,
- dcerpc_winreg_NotifyChangeKeyValue(p, tctx, &r),
- "NotifyChangeKeyValue failed");
+ torture_assert_ntstatus_ok(tctx,
+ dcerpc_winreg_NotifyChangeKeyValue(p, tctx, &r),
+ "NotifyChangeKeyValue failed");
if (!W_ERROR_IS_OK(r.out.result)) {
- torture_comment(tctx,
- "NotifyChangeKeyValue failed - %s - not considering\n", win_errstr(r.out.result));
+ torture_comment(tctx,
+ "NotifyChangeKeyValue failed - %s - not considering\n", win_errstr(r.out.result));
return true;
}
@@ -98,7 +98,7 @@ static bool test_NotifyChangeKeyValue(struct dcerpc_pipe *p,
}
static bool test_CreateKey(struct dcerpc_pipe *p, struct torture_context *tctx,
- struct policy_handle *handle, const char *name,
+ struct policy_handle *handle, const char *name,
const char *class)
{
struct winreg_CreateKey r;
@@ -107,7 +107,7 @@ static bool test_CreateKey(struct dcerpc_pipe *p, struct torture_context *tctx,
r.in.handle = handle;
r.out.new_handle = &newhandle;
- init_winreg_String(&r.in.name, name);
+ init_winreg_String(&r.in.name, name);
init_winreg_String(&r.in.keyclass, class);
r.in.options = 0x0;
r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -126,9 +126,9 @@ static bool test_CreateKey(struct dcerpc_pipe *p, struct torture_context *tctx,
/*
createkey testing with a SD
*/
-static bool test_CreateKey_sd(struct dcerpc_pipe *p,
- struct torture_context *tctx,
- struct policy_handle *handle, const char *name,
+static bool test_CreateKey_sd(struct dcerpc_pipe *p,
+ struct torture_context *tctx,
+ struct policy_handle *handle, const char *name,
const char *class, struct policy_handle *newhandle)
{
struct winreg_CreateKey r;
@@ -145,10 +145,10 @@ static bool test_CreateKey_sd(struct dcerpc_pipe *p,
SEC_ACE_FLAG_OBJECT_INHERIT,
NULL);
- torture_assert_ntstatus_ok(tctx,
- ndr_push_struct_blob(&sdblob, tctx, sd,
- (ndr_push_flags_fn_t)ndr_push_security_descriptor),
- "Failed to push security_descriptor ?!\n");
+ torture_assert_ntstatus_ok(tctx,
+ ndr_push_struct_blob(&sdblob, tctx, sd,
+ (ndr_push_flags_fn_t)ndr_push_security_descriptor),
+ "Failed to push security_descriptor ?!\n");
secbuf.sd.data = sdblob.data;
secbuf.sd.len = sdblob.length;
@@ -158,7 +158,7 @@ static bool test_CreateKey_sd(struct dcerpc_pipe *p,
r.in.handle = handle;
r.out.new_handle = newhandle;
- init_winreg_String(&r.in.name, name);
+ init_winreg_String(&r.in.name, name);
init_winreg_String(&r.in.keyclass, class);
r.in.options = 0x0;
r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
@@ -173,9 +173,9 @@ static bool test_CreateKey_sd(struct dcerpc_pipe *p,
return true;
}
-static bool test_GetKeySecurity(struct dcerpc_pipe *p,
- struct torture_context *tctx,
- struct policy_handle *handle)
+static bool test_GetKeySecurity(struct dcerpc_pipe *p,
+ struct torture_context *tctx,
+ struct policy_handle *handle)
{
struct winreg_GetKeySecurity r;
struct security_descriptor sd;
@@ -196,10 +196,10 @@ static bool test_GetKeySecurity(struct dcerpc_pipe *p,
sdblob.data = r.out.sd->data;
sdblob.length = r.out.sd->len;
- torture_assert_ntstatus_ok(tctx,
- ndr_pull_struct_blob(&sdblob, tctx, &sd,
- (ndr_pull_flags_fn_t)ndr_pull_security_descriptor),
- "pull_security_descriptor failed");
+ torture_assert_ntstatus_ok(tctx,
+ ndr_pull_struct_blob(&sdblob, tctx, &sd,
+ (ndr_pull_flags_fn_t)ndr_pull_security_descriptor),
+ "pull_security_descriptor failed");
if (p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
NDR_PRINT_DEBUG(security_descriptor, &sd);
@@ -208,7 +208,7 @@ static bool test_GetKeySecurity(struct dcerpc_pipe *p,
return true;
}
-static bool test_CloseKey(struct dcerpc_pipe *p, struct torture_context *tctx,
+static bool test_CloseKey(struct dcerpc_pipe *p, struct torture_context *tctx,
struct policy_handle *handle)
{
struct winreg_CloseKey r;
@@ -216,14 +216,14 @@ static bool test_CloseKey(struct dcerpc_pipe *p, struct torture_context *tctx,
r.in.handle = r.out.handle = handle;
torture_assert_ntstatus_ok(tctx, dcerpc_winreg_CloseKey(p, tctx, &r),
- "CloseKey failed");
+ "CloseKey failed");
torture_assert_werr_ok(tctx, r.out.result, "CloseKey failed");
return true;
}
-static bool test_FlushKey(struct dcerpc_pipe *p, struct torture_context *tctx,
+static bool test_FlushKey(struct dcerpc_pipe *p, struct torture_context *tctx,
struct policy_handle *handle)
{
struct winreg_FlushKey r;
@@ -231,7 +231,7 @@ static bool test_FlushKey(struct dcerpc_pipe *p, struct torture_context *tctx,
r.in.handle = handle;
torture_assert_ntstatus_ok(tctx, dcerpc_winreg_FlushKey(p, tctx, &r),
- "FlushKey failed");
+ "FlushKey failed");
torture_assert_werr_ok(tctx, r.out.result, "FlushKey failed");
@@ -251,7 +251,7 @@ static bool test_OpenKey(struct dcerpc_pipe *p, struct torture_context *tctx,
r.out.handle = key_handle;
torture_assert_ntstatus_ok(tctx, dcerpc_winreg_OpenKey(p, tctx, &r),
- "OpenKey failed");
+ "OpenKey failed");
torture_assert_werr_ok(tctx, r.out.result, "OpenKey failed");
@@ -279,7 +279,7 @@ static bool test_DeleteKey(struct dcerpc_pipe *p, struct torture_context *tctx,
struct winreg_DeleteKey r;
r.in.handle = handle;
- init_winreg_String(&r.in.key, key);
+ init_winreg_String(&r.in.key, key);
status = dcerpc_winreg_DeleteKey(p, tctx, &r);
@@ -291,7 +291,7 @@ static bool test_DeleteKey(struct dcerpc_pipe *p, struct torture_context *tctx,
/* DeleteKey on a key with subkey(s) should
* return WERR_ACCESS_DENIED. */
-static bool test_DeleteKeyWithSubkey(struct dcerpc_pipe *p,
+static bool test_DeleteKeyWithSubkey(struct dcerpc_pipe *p,
struct torture_context *tctx,
struct policy_handle *handle, const char *key)
{
@@ -301,16 +301,16 @@ static bool test_DeleteKeyWithSubkey(struct dcerpc_pipe *p,
init_winreg_String(&r.in.key, key);
torture_assert_ntstatus_ok(tctx, dcerpc_winreg_DeleteKey(p, tctx, &r),
- "DeleteKeyWithSubkey failed");
+ "DeleteKeyWithSubkey failed");
- torture_assert_werr_equal(tctx, r.out.result, WERR_ACCESS_DENIED,
- "DeleteKeyWithSubkey failed");
+ torture_assert_werr_equal(tctx, r.out.result, WERR_ACCESS_DENIED,
+ "DeleteKeyWithSubkey failed");
return true;
}
-static bool test_QueryInfoKey(struct dcerpc_pipe *p,
- struct torture_context *tctx,
+static bool test_QueryInfoKey(struct dcerpc_pipe *p,
+ struct torture_context *tctx,
struct policy_handle *handle, char *class)
{
struct winreg_QueryInfoKey r;
@@ -331,11 +331,11 @@ static bool test_QueryInfoKey(struct dcerpc_pipe *p,
r.out.last_changed_time = &last_changed_time;
r.out.classname = talloc(tctx, struct winreg_String);
-
+
r.in.classname = talloc(tctx, struct winreg_String);
init_winreg_String(r.in.classname, class);
-
- torture_assert_ntstatus_ok(tctx,
+
+ torture_assert_ntstatus_ok(tctx,
dcerpc_winreg_QueryInfoKey(p, tctx, &r),
"QueryInfoKey failed");
@@ -391,7 +391,7 @@ static bool test_EnumKey(struct dcerpc_pipe *p, struct torture_context *tctx,
torture_assert_ntstatus_ok(tctx, status, "EnumKey failed");
- if (!W_ERROR_IS_OK(r.out.result) &&
+ if (!W_ERROR_IS_OK(r.out.result) &&
!W_ERROR_EQUAL(r.out.result, WERR_NO_MORE_ITEMS)) {
torture_fail(tctx, "EnumKey failed");
}
@@ -399,10 +399,10 @@ static bool test_EnumKey(struct dcerpc_pipe *p, struct torture_context *tctx,
return true;
}
-static bool test_QueryMultipleValues(struct dcerpc_pipe *p,
- struct torture_context *tctx,
- struct policy_handle *handle,
- const char *valuename)
+static bool test_QueryMultipleValues(struct dcerpc_pipe *p,
+ struct torture_context *tctx,
+ struct policy_handle *handle,
+ const char *valuename)
{
struct winreg_QueryMultipleValues r;
NTSTATUS status;
@@ -419,13 +419,13 @@ static bool test_QueryMultipleValues(struct dcerpc_pipe *p,
r.in.num_values = 1;
r.in.buffer_size = r.out.buffer_size = talloc(tctx, uint32_t);
*r.in.buffer_size = bufsize;
- do {
+ do {
*r.in.buffer_size = bufsize;
- r.in.buffer = r.out.buffer = talloc_zero_array(tctx, uint8_t,
+ r.in.buffer = r.out.buffer = talloc_zero_array(tctx, uint8_t,
*r.in.buffer_size);
status = dcerpc_winreg_QueryMultipleValues(p, tctx, &r);
-
+
if(NT_STATUS_IS_ERR(status))
torture_fail(tctx, "QueryMultipleValues failed");
@@ -438,10 +438,10 @@ static bool test_QueryMultipleValues(struct dcerpc_pipe *p,
return true;
}
-static bool test_QueryValue(struct dcerpc_pipe *p,
- struct torture_context *tctx,
- struct policy_handle *handle,
- const char *valuename)
+static bool test_QueryValue(struct dcerpc_pipe *p,
+ struct torture_context *tctx,
+ struct policy_handle *handle,
+ const char *valuename)
{
struct winreg_QueryValue r;
NTSTATUS status;
@@ -467,7 +467,8 @@ static bool test_QueryValue(struct dcerpc_pipe *p,
}
static bool test_EnumValue(struct dcerpc_pipe *p, struct torture_context *tctx,
- struct policy_handle *handle, int max_valnamelen, int max_valbufsize)
+ struct policy_handle *handle, int max_valnamelen,
+ int max_valbufsize)
{
struct winreg_EnumValue r;
enum winreg_Type type = 0;
@@ -487,10 +488,10 @@ static bool test_EnumValue(struct dcerpc_pipe *p, struct torture_context *tctx,
r.in.value = &buf8;
r.in.length = &zero;
r.in.size = &size;
-
+
do {
torture_assert_ntstatus_ok(tctx, dcerpc_winreg_EnumValue(p, tctx, &r),
- "EnumValue failed");
+ "EnumValue failed");
if (W_ERROR_IS_OK(r.out.result)) {
ret &= test_QueryValue(p, tctx, handle, r.out.name->name);
@@ -506,24 +507,24 @@ static bool test_EnumValue(struct dcerpc_pipe *p, struct torture_context *tctx,
return ret;
}
-static bool test_AbortSystemShutdown(struct dcerpc_pipe *p,
- struct torture_context *tctx)
+static bool test_AbortSystemShutdown(struct dcerpc_pipe *p,
+ struct torture_context *tctx)
{
struct winreg_AbortSystemShutdown r;
uint16_t server = 0x0;
r.in.server = &server;
-
- torture_assert_ntstatus_ok(tctx,
- dcerpc_winreg_AbortSystemShutdown(p, tctx, &r),
- "AbortSystemShutdown failed");
+
+ torture_assert_ntstatus_ok(tctx,
+ dcerpc_winreg_AbortSystemShutdown(p, tctx, &r),
+ "AbortSystemShutdown failed");
torture_assert_werr_ok(tctx, r.out.result, "AbortSystemShutdown failed");
return true;
}
-static bool test_InitiateSystemShutdown(struct torture_context *tctx,
+static bool test_InitiateSystemShutdown(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
struct winreg_InitiateSystemShutdown r;
@@ -536,9 +537,9 @@ static bool test_InitiateSystemShutdown(struct torture_context *tctx,
r.in.timeout = 30;
r.in.reboot = 1;
- torture_assert_ntstatus_ok(tctx,
- dcerpc_winreg_InitiateSystemShutdown(p, tctx, &r),
- "InitiateSystemShutdown failed");
+ torture_assert_ntstatus_ok(tctx,
+ dcerpc_winreg_InitiateSystemShutdown(p, tctx, &r),
+ "InitiateSystemShutdown failed");
torture_assert_werr_ok(tctx, r.out.result, "InitiateSystemShutdown failed");
@@ -547,7 +548,7 @@ static bool test_InitiateSystemShutdown(struct torture_context *tctx,
static bool test_InitiateSystemShutdownEx(struct torture_context *tctx,
- struct dcerpc_pipe *p)
+ struct dcerpc_pipe *p)
{
struct winreg_InitiateSystemShutdownEx r;
uint16_t hostname = 0x0;
@@ -560,18 +561,18 @@ static bool test_InitiateSystemShutdownEx(struct torture_context *tctx,
r.in.reboot = 1;
r.in.reason = 0;
- torture_assert_ntstatus_ok(tctx,
+ torture_assert_ntstatus_ok(tctx,
dcerpc_winreg_InitiateSystemShutdownEx(p, tctx, &r),
"InitiateSystemShutdownEx failed");
- torture_assert_werr_ok(tctx, r.out.result,
- "InitiateSystemShutdownEx failed");
+ torture_assert_werr_ok(tctx, r.out.result,
+ "InitiateSystemShutdownEx failed");
return test_AbortSystemShutdown(p, tctx);
}
#define MAX_DEPTH 2 /* Only go this far down the tree */
-static bool test_key(struct dcerpc_pipe *p, struct torture_context *tctx,
+static bool test_key(struct dcerpc_pipe *p, struct torture_context *tctx,
struct policy_handle *handle, int depth)
{
if (depth == MAX_DEPTH)
@@ -582,7 +583,7 @@ static bool test_key(struct dcerpc_pipe *p, struct torture_context *tctx,
if (!test_NotifyChangeKeyValue(p, tctx, handle)) {
}
-
+
if (!test_GetKeySecurity(p, tctx, handle)) {
}
@@ -599,7 +600,7 @@ static bool test_key(struct dcerpc_pipe *p, struct torture_context *tctx,
typedef NTSTATUS (*winreg_open_fn)(struct dcerpc_pipe *, TALLOC_CTX *, void *);
-static bool test_Open(struct torture_context *tctx, struct dcerpc_pipe *p,
+static bool test_Open(struct torture_context *tctx, struct dcerpc_pipe *p,
void *userdata)
{
struct policy_handle handle, newhandle;
@@ -612,9 +613,9 @@ static bool test_Open(struct torture_context *tctx, struct dcerpc_pipe *p,
r.in.system_name = 0;
r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
r.out.handle = &handle;
-
- torture_assert_ntstatus_ok(tctx, open_fn(p, tctx, &r),
- "open");
+
+ torture_assert_ntstatus_ok(tctx, open_fn(p, tctx, &r),
+ "open");
test_Cleanup(p, tctx, &handle, TEST_KEY1);
test_Cleanup(p, tctx, &handle, TEST_KEY2);
@@ -634,8 +635,8 @@ static bool test_Open(struct torture_context *tctx, struct dcerpc_pipe *p,
}
if (created && !test_OpenKey(p, tctx, &handle, TEST_KEY1, &newhandle))
- torture_fail(tctx,
- "CreateKey failed (OpenKey after Create didn't work)\n");
+ torture_fail(tctx,
+ "CreateKey failed (OpenKey after Create didn't work)\n");
if (created && !test_DeleteKey(p, tctx, &handle, TEST_KEY1)) {
torture_comment(tctx, "DeleteKey failed\n");
@@ -649,10 +650,10 @@ static bool test_Open(struct torture_context *tctx, struct dcerpc_pipe *p,
ret = false;
}
- if (created && deleted &&
+ if (created && deleted &&
test_OpenKey(p, tctx, &handle, TEST_KEY1, &newhandle)) {
- torture_comment(tctx,
- "DeleteKey failed (OpenKey after Delete worked)\n");
+ torture_comment(tctx,
+ "DeleteKey failed (OpenKey after Delete worked)\n");
ret = false;
}
@@ -661,8 +662,8 @@ static bool test_Open(struct torture_context *tctx, struct dcerpc_pipe *p,
ret = false;
}
- if (created && test_CreateKey_sd(p, tctx, &handle, TEST_KEY2,
- NULL, &newhandle)) {
+ if (created && test_CreateKey_sd(p, tctx, &handle, TEST_KEY2,
+ NULL, &newhandle)) {
created2 = true;
}
@@ -685,21 +686,21 @@ static bool test_Open(struct torture_context *tctx, struct dcerpc_pipe *p,
created3 = true;
}
- if (created3 &&
- test_CreateKey(p, tctx, &handle, TEST_SUBKEY, NULL))
+ if (created3 &&
+ test_CreateKey(p, tctx, &handle, TEST_SUBKEY, NULL))
{
created_subkey = true;
}
- if (created_subkey &&
- !test_DeleteKeyWithSubkey(p, tctx, &handle, TEST_KEY3))
+ if (created_subkey &&
+ !test_DeleteKeyWithSubkey(p, tctx, &handle, TEST_KEY3))
{
printf("DeleteKeyWithSubkey failed "
"(DeleteKey didn't return ACCESS_DENIED)\n");
ret = false;
}
- if (created_subkey &&
+ if (created_subkey &&
!test_DeleteKey(p, tctx, &handle, TEST_SUBKEY))
{
printf("DeleteKey failed\n");
@@ -743,20 +744,20 @@ struct torture_suite *torture_rpc_winreg(TALLOC_CTX *mem_ctx)
struct torture_suite *suite = torture_suite_create(mem_ctx, "WINREG");
struct torture_test *test;
- tcase = torture_suite_add_rpc_iface_tcase(suite, "winreg",
+ tcase = torture_suite_add_rpc_iface_tcase(suite, "winreg",
&ndr_table_winreg);
- test = torture_rpc_tcase_add_test(tcase, "InitiateSystemShutdown",
+ test = torture_rpc_tcase_add_test(tcase, "InitiateSystemShutdown",
test_InitiateSystemShutdown);
test->dangerous = true;
- test = torture_rpc_tcase_add_test(tcase, "InitiateSystemShutdownEx",
+ test = torture_rpc_tcase_add_test(tcase, "InitiateSystemShutdownEx",
test_InitiateSystemShutdownEx);
test->dangerous = true;
for (i = 0; i < ARRAY_SIZE(open_fns); i++) {
- torture_rpc_tcase_add_test_ex(tcase, open_fns[i].name, test_Open,
- open_fns[i].fn);
+ torture_rpc_tcase_add_test_ex(tcase, open_fns[i].name,
+ test_Open, open_fns[i].fn);
}
return suite;