summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rw-r--r--source4/librpc/idl/eventlog.idl24
-rw-r--r--source4/torture/rpc/eventlog.c24
2 files changed, 38 insertions, 10 deletions
diff --git a/source4/librpc/idl/eventlog.idl b/source4/librpc/idl/eventlog.idl
index 574868ab94..a8eba4ae16 100644
--- a/source4/librpc/idl/eventlog.idl
+++ b/source4/librpc/idl/eventlog.idl
@@ -1,17 +1,31 @@
/*
eventlog interface definition
*/
-[ uuid(82273fdc-e32a-17c3-3f78-827929dc23ea),
- version(1.0),
+[ uuid(82273fdc-e32a-18c3-3f78-827929dc23ea),
+ version(0.0),
pointer_default(unique)
] interface eventlog
{
+ typedef struct {
+ uint16 unknown0;
+ uint16 unknown1;
+ } eventlog_OpenUnknown0;
+
+ typedef struct {
+ [value(2*strlen_m(r->name))] uint16 name_len;
+ [value(r->name_len)] uint16 name_size;
+ unistr_noterm *name;
+ } eventlog_String;
+
/******************/
/* Function: 0x00 */
NTSTATUS eventlog_OpenEventLog(
- [in] unistr *servername,
- [in] unistr *sourcename,
- [out,ref] policy_handle *handle
+ [in] eventlog_OpenUnknown0 *unknown0,
+ [in] eventlog_String source,
+ [in] eventlog_String unknown1,
+ [in] uint32 unknown2,
+ [in] uint32 unknown3,
+ [out,ref] policy_handle *handle
);
/******************/
diff --git a/source4/torture/rpc/eventlog.c b/source4/torture/rpc/eventlog.c
index 8f357e7987..14b091a0c3 100644
--- a/source4/torture/rpc/eventlog.c
+++ b/source4/torture/rpc/eventlog.c
@@ -21,6 +21,13 @@
#include "includes.h"
+static void init_eventlog_String(struct eventlog_String *name, const char *s)
+{
+ name->name = s;
+ name->name_len = 2*strlen_m(s);
+ name->name_size = name->name_len;
+}
+
BOOL test_CloseEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
struct policy_handle *handle)
{
@@ -44,12 +51,19 @@ static BOOL test_OpenEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
{
NTSTATUS status;
struct eventlog_OpenEventLog r;
+ struct eventlog_OpenUnknown0 unknown0;
struct policy_handle handle;
printf("\ntesting OpenEventLog\n");
- r.in.servername = dcerpc_server_name(p);
- r.out.handle = &handle;
+ unknown0.unknown0 = 0x005c;
+ unknown0.unknown1 = 0x0001;
+
+ r.in.unknown0 = &unknown0;
+ init_eventlog_String(&r.in.source, "system");
+ init_eventlog_String(&r.in.unknown1, NULL);
+ r.in.unknown2 = 0x00000001;
+ r.in.unknown3 = 0x00000001;
status = dcerpc_eventlog_OpenEventLog(p, mem_ctx, &r);
@@ -74,9 +88,9 @@ BOOL torture_rpc_eventlog(int dummy)
mem_ctx = talloc_init("torture_rpc_atsvc");
status = torture_rpc_connection(&p,
- DCERPC_ATSVC_NAME,
- DCERPC_ATSVC_UUID,
- DCERPC_ATSVC_VERSION);
+ DCERPC_EVENTLOG_NAME,
+ DCERPC_EVENTLOG_UUID,
+ DCERPC_EVENTLOG_VERSION);
if (!NT_STATUS_IS_OK(status)) {
return False;
}