More work on eventlog - still doesn't work. (-:
authorTim Potter <tpot@samba.org>
Fri, 21 Nov 2003 03:07:02 +0000 (03:07 +0000)
committerTim Potter <tpot@samba.org>
Fri, 21 Nov 2003 03:07:02 +0000 (03:07 +0000)
(This used to be commit 9109cb832a3807b3eee9e52c8c533e2bf0c8007a)

source4/librpc/idl/eventlog.idl
source4/torture/rpc/eventlog.c

index 574868ab94597d3b232d42fcb7a5fd2307f92ae8..a8eba4ae16e22f05d9ac1c52b77d1681d949d573 100644 (file)
@@ -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
        );
 
        /******************/
index 8f357e7987f76cc92b00e91f1a38b4d968c0aabc..14b091a0c323aa7e2ed8992f2a9cb85dd59d9c0b 100644 (file)
 
 #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;
        }