summaryrefslogtreecommitdiff
path: root/source4/torture/dcom
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture/dcom')
-rw-r--r--source4/torture/dcom/simple.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/source4/torture/dcom/simple.c b/source4/torture/dcom/simple.c
index 287e35142e..85bf194091 100644
--- a/source4/torture/dcom/simple.c
+++ b/source4/torture/dcom/simple.c
@@ -35,16 +35,21 @@ BOOL torture_dcom_simple(void)
struct GUID IID[2];
struct GUID clsid;
WERROR error;
- struct dcom_interface *interfaces;
- struct IStream_Read r_read;
- struct IStream_Write r_write;
+ struct dcom_interface_p **interfaces;
+ struct Read r_read;
+ struct Write r_write;
WERROR results[2];
struct dcom_context *ctx;
char test_data[5];
int i;
+ extern NTSTATUS dcom_IUnknown_init(void);
+ extern NTSTATUS dcom_IStream_init(void);
mem_ctx = talloc_init("torture_dcom_simple");
+ dcom_IUnknown_init();
+ dcom_IStream_init();
+
dcom_init(&ctx, lp_parm_string(-1, "torture", "userdomain"),
lp_parm_string(-1, "torture", "username"),
lp_parm_string(-1, "torture", "password"));
@@ -62,10 +67,15 @@ BOOL torture_dcom_simple(void)
printf("dcom_create_object failed - %s\n", win_errstr(error));
return False;
}
+
+ if (!W_ERROR_IS_OK(results[0])) {
+ printf("dcom_create_object didn't return IStream interface - %s\n", win_errstr(results[0]));
+ return False;
+ }
ZERO_STRUCT(r_read);
r_read.in.num_requested = 20; /* Give me 20 0xFF bytes... */
- status = dcerpc_IStream_Read(&interfaces[0], mem_ctx, &r_read);
+ status = dcom_IStream_Read(interfaces[0], mem_ctx, &r_read);
if (NT_STATUS_IS_ERR(status)) {
printf("IStream::Read() failed - %s\n", nt_errstr(status));
ret = False;
@@ -79,7 +89,7 @@ BOOL torture_dcom_simple(void)
}
r_write.in.num_requested = 5;
r_write.in.data = (uint8_t *)&test_data;
- status = dcerpc_IStream_Write(&interfaces[0], mem_ctx, &r_write);
+ status = dcom_IStream_Write(interfaces[0], mem_ctx, &r_write);
if (NT_STATUS_IS_ERR(status)) {
printf("IStream::Write() failed - %s\n", nt_errstr(status));
ret = False;
@@ -88,7 +98,7 @@ BOOL torture_dcom_simple(void)
ret = False;
}
- status = dcerpc_IUnknown_Release(&interfaces[1], mem_ctx, NULL);
+ status = dcom_IUnknown_Release(interfaces[1], mem_ctx, NULL);
if (NT_STATUS_IS_ERR(status)) {
printf("IUnknown::Release() failed - %s\n", nt_errstr(status));
return False;