diff options
-rw-r--r-- | source3/rpc_client/cli_eventlog.c | 2 | ||||
-rw-r--r-- | source3/rpc_parse/parse_eventlog.c | 33 | ||||
-rw-r--r-- | source3/rpcclient/cmd_eventlog.c | 15 |
3 files changed, 25 insertions, 25 deletions
diff --git a/source3/rpc_client/cli_eventlog.c b/source3/rpc_client/cli_eventlog.c index 580f4f0dee..bbee485bab 100644 --- a/source3/rpc_client/cli_eventlog.c +++ b/source3/rpc_client/cli_eventlog.c @@ -39,7 +39,7 @@ BOOL do_event_open(struct cli_state *cli, uint16 fnum, char *log, POLICY_HND *hn prs_init(&rbuf, 0 , 4, SAFETY_MARGIN, True ); /* store the parameters */ - make_eventlog_q_open(&q, log); + make_eventlog_q_open(&q, log, NULL); /* turn parameters into data stream */ eventlog_io_q_open("", &q, &buf, 0); diff --git a/source3/rpc_parse/parse_eventlog.c b/source3/rpc_parse/parse_eventlog.c index 5173bd2cad..9ebc6287d4 100644 --- a/source3/rpc_parse/parse_eventlog.c +++ b/source3/rpc_parse/parse_eventlog.c @@ -27,21 +27,21 @@ extern int DEBUGLEVEL; /******************************************************************* ********************************************************************/ -void make_eventlog_q_open(EVENTLOG_Q_OPEN *q_u, char *journal) +void make_eventlog_q_open(EVENTLOG_Q_OPEN *q_u, char *journal, char *unk) { - q_u->ptr0=0x1; + int len_journal = journal != NULL ? strlen(journal) : 0; + int len_unk = unk != NULL ? strlen(unk) : 0; + q_u->ptr0=0x1; q_u->unk0=0x5c; q_u->unk1=0x01; - q_u->unk2=2*(strlen(journal)+1); - q_u->unk3=2*(strlen(journal)+1); - - q_u->ptr_source=0x01; - make_buf_unistr2(&(q_u->source), &(q_u->ptr_source), journal); + make_uni_hdr(&(q_u->hdr_source), len_journal); + make_unistr2(&(q_u->uni_source), journal, len_journal); + + make_uni_hdr(&(q_u->hdr_unk), len_unk); + make_unistr2(&(q_u->uni_unk), unk, len_unk); - q_u->unk4=0x00; - q_u->unk5=0x00; q_u->unk6=0x01; q_u->unk7=0x01; } @@ -59,16 +59,17 @@ void eventlog_io_q_open(char *desc, EVENTLOG_Q_OPEN *q_u, prs_struct *ps, int de prs_uint16("unk0", ps, depth, &(q_u->unk0)); prs_uint16("unk1", ps, depth, &(q_u->unk1)); - prs_uint16("unk2", ps, depth, &(q_u->unk2)); - prs_uint16("unk3", ps, depth, &(q_u->unk3)); - prs_uint32("ptr_source", ps, depth, &(q_u->ptr_source)); + smb_io_unihdr("hdr_source", &(q_u->hdr_source), ps, depth); + smb_io_unistr2("uni_source", &(q_u->uni_source), + q_u->hdr_source.buffer, ps, depth); + prs_align(ps); - smb_io_unistr2("", &(q_u->source), q_u->ptr_source, ps, depth); + smb_io_unihdr("hdr_unk", &(q_u->hdr_unk), ps, depth); + smb_io_unistr2("uni_unk", &(q_u->uni_unk), + q_u->hdr_unk.buffer, ps, depth); prs_align(ps); - prs_uint32("unk4", ps, depth, &(q_u->unk4)); - prs_uint32("unk5", ps, depth, &(q_u->unk5)); prs_uint32("unk6", ps, depth, &(q_u->unk6)); prs_uint32("unk7", ps, depth, &(q_u->unk7)); } @@ -90,7 +91,6 @@ void eventlog_io_r_open(char *desc, EVENTLOG_R_OPEN *r_u, prs_struct *ps, int de void make_eventlog_q_close(EVENTLOG_Q_CLOSE *q_u, POLICY_HND *pol) { memcpy(&(q_u->pol.data), pol->data, sizeof(q_u->pol.data)); - } /******************************************************************* @@ -102,7 +102,6 @@ void eventlog_io_q_close(char *desc, EVENTLOG_Q_CLOSE *q_u, prs_struct *ps, int prs_align(ps); smb_io_pol_hnd("", &(q_u->pol), ps, depth); - } /******************************************************************* diff --git a/source3/rpcclient/cmd_eventlog.c b/source3/rpcclient/cmd_eventlog.c index e6e10c44eb..e3179ee043 100644 --- a/source3/rpcclient/cmd_eventlog.c +++ b/source3/rpcclient/cmd_eventlog.c @@ -41,9 +41,10 @@ extern FILE* out_hnd; void cmd_eventlog(struct client_info *info) { uint16 nt_pipe_fnum; - BOOL res = True; + BOOL res = True; + BOOL res1 = True; POLICY_HND hnd; - uint32 number; + uint32 number = 0; uint32 flags; uint32 offset; uint32 num_of_bytes; @@ -60,17 +61,17 @@ void cmd_eventlog(struct client_info *info) } /* open scheduler session. */ - res = res ? cli_nt_session_open(smb_cli, PIPE_EVENTLOG, &nt_pipe_fnum) : False; + res1 = res1 ? cli_nt_session_open(smb_cli, PIPE_EVENTLOG, &nt_pipe_fnum) : False; - res = res ? do_event_open(smb_cli, nt_pipe_fnum, journal, &hnd) : False; + res1 = res1 ? do_event_open(smb_cli, nt_pipe_fnum, journal, &hnd) : False; - res = res ? do_event_numofeventlogrec(smb_cli, nt_pipe_fnum, &hnd, &number) : False; + res = res1 ? do_event_numofeventlogrec(smb_cli, nt_pipe_fnum, &hnd, &number) : False; fprintf(out_hnd, "Number of events: %d\n", number); display_eventlog_eventrecord(out_hnd, ACTION_HEADER, &ev); - for (offset=0; offset<number; offset++) + for (offset = 0; offset < number && res; offset++) { num_of_bytes=0; @@ -87,7 +88,7 @@ void cmd_eventlog(struct client_info *info) display_eventlog_eventrecord(out_hnd, ACTION_FOOTER, &ev); - res = res ? do_event_close(smb_cli, nt_pipe_fnum, &hnd): False; + res1 = res1 ? do_event_close(smb_cli, nt_pipe_fnum, &hnd): False; /* close the session */ cli_nt_session_close(smb_cli, nt_pipe_fnum); |