summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-11-21 03:07:02 +0000
committerTim Potter <tpot@samba.org>2003-11-21 03:07:02 +0000
commita20352959e0474e10dc533f7ecb876cf7a4c8723 (patch)
tree115d0f676d04069259030905c405898a728cdf16
parent1d7534efd7b555a11ed81311a2163d556cb9e4a0 (diff)
downloadsamba-a20352959e0474e10dc533f7ecb876cf7a4c8723.tar.gz
samba-a20352959e0474e10dc533f7ecb876cf7a4c8723.tar.bz2
samba-a20352959e0474e10dc533f7ecb876cf7a4c8723.zip
More work on eventlog - still doesn't work. (-:
(This used to be commit 9109cb832a3807b3eee9e52c8c533e2bf0c8007a)
-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;
}