event log update, netsessenum, netconnenum update.
authorLuke Leighton <lkcl@samba.org>
Wed, 18 Aug 1999 20:33:49 +0000 (20:33 +0000)
committerLuke Leighton <lkcl@samba.org>
Wed, 18 Aug 1999 20:33:49 +0000 (20:33 +0000)
source/include/proto.h
source/include/rpc_eventlog.h
source/include/rpc_srvsvc.h
source/rpc_client/cli_srvsvc.c
source/rpc_parse/parse_srv.c
source/rpcclient/cmd_srvsvc.c
source/utils/torture.c

index 5b52e5aa61fef0a871f1cd2ec1941b9520686ccf..98cb20b12a10bcfe3cb0e5bbf4965ce21bfb494a 100644 (file)
@@ -1968,7 +1968,7 @@ BOOL do_srv_net_srv_conn_enum(struct cli_state *cli, uint16 fnum,
                        uint32 preferred_len,
                        ENUM_HND *hnd);
 BOOL do_srv_net_srv_sess_enum(struct cli_state *cli, uint16 fnum,
-                       char *server_name, char *qual_name,
+                       char *server_name, char *qual_name, char *user_name,
                        uint32 switch_value, SRV_SESS_INFO_CTR *ctr,
                        uint32 preferred_len,
                        ENUM_HND *hnd);
@@ -1978,7 +1978,7 @@ BOOL do_srv_net_srv_share_enum(struct cli_state *cli, uint16 fnum,
                        uint32 preferred_len,
                        ENUM_HND *hnd);
 BOOL do_srv_net_srv_file_enum(struct cli_state *cli, uint16 fnum,
-                       char *server_name, char *qual_name,
+                       char *server_name, char *qual_name, uint32 file_id,
                        uint32 switch_value, SRV_FILE_INFO_CTR *ctr,
                        uint32 preferred_len,
                        ENUM_HND *hnd);
@@ -2036,7 +2036,7 @@ void at_io_r_query_job(char *desc, AT_R_QUERY_JOB *r_q, prs_struct *ps, int dept
 
 /*The following definitions come from  rpc_parse/parse_eventlog.c  */
 
-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);
 void eventlog_io_q_open(char *desc, EVENTLOG_Q_OPEN *q_u, prs_struct *ps, int depth);
 void eventlog_io_r_open(char *desc, EVENTLOG_R_OPEN *r_u, prs_struct *ps, int depth);
 void make_eventlog_q_close(EVENTLOG_Q_CLOSE *q_u, POLICY_HND *pol);
@@ -2909,6 +2909,7 @@ void make_srv_sess_info1(SESS_INFO_1 *ss1,
                                uint32 user_flags);
 void make_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM *q_n, 
                                char *srv_name, char *qual_name,
+                               char *user_name,
                                uint32 sess_level, SRV_SESS_INFO_CTR *ctr,
                                uint32 preferred_len,
                                ENUM_HND *hnd);
@@ -2932,7 +2933,7 @@ void make_srv_file_info3(FILE_INFO_3 *fl3,
                                uint32 id, uint32 perms, uint32 num_locks,
                                char *path_name, char *user_name);
 void make_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n, 
-                               char *srv_name, char *qual_name,
+                               char *srv_name, char *qual_name, uint32 file_id,
                                uint32 file_level, SRV_FILE_INFO_CTR *ctr,
                                uint32 preferred_len,
                                ENUM_HND *hnd);
index cc4d9fc62ded9a08fd3368cfd1a54d7fbaefd707..14e5570c9b626c8a21eec139c2d98d2420a29ea4 100644 (file)
@@ -72,23 +72,23 @@ typedef struct eventlog_q_open
 
        uint16 unk0;
        uint16 unk1;
-       uint16 unk2;
-       uint16 unk3;
 
-       uint32 ptr_source;      
-
-       UNISTR2 source;
+       UNIHDR  hdr_source;
+       UNISTR2 uni_source;
+       
+       UNIHDR  hdr_unk;
+       UNISTR2 uni_unk;
        
-       uint32 unk4;
-       uint32 unk5;
        uint32 unk6;
        uint32 unk7;
+
 } EVENTLOG_Q_OPEN;
 
 typedef struct eventlog_r_open
 {
         POLICY_HND pol;
         uint32 status;
+
 } EVENTLOG_R_OPEN;
 
 typedef struct eventlog_q_close
index afcef4e168569dc9bfe9d228123496122a3b413f..4ed7761fb2f2d22b5dda26b6476635883e76fd82 100644 (file)
@@ -121,6 +121,9 @@ typedef struct q_net_sess_enum_info
        uint32 ptr_qual_name;         /* pointer (to qualifier name) */
        UNISTR2 uni_qual_name;        /* qualifier name "\\qualifier" */
 
+       uint32 ptr_user_name;         /* pointer (to user name) */
+       UNISTR2 uni_user_name;        /* user name */
+
        uint32 sess_level;          /* session level */
 
        SRV_SESS_INFO_CTR *ctr;
@@ -419,6 +422,8 @@ typedef struct q_net_file_enum_info
        uint32 ptr_qual_name;         /* pointer (to qualifier name) */
        UNISTR2 uni_qual_name;        /* qualifier name "\\qualifier" */
 
+       uint32 file_id;             /* file id */
+
        uint32 file_level;          /* file level */
 
        SRV_FILE_INFO_CTR *ctr;
index 70aee4e1c84013b9b9ae19a5c4ef69092bb69100..5e4af69c6aa7676a0a6882aa80fcd84fdfe3a57f 100644 (file)
@@ -112,7 +112,7 @@ BOOL do_srv_net_srv_conn_enum(struct cli_state *cli, uint16 fnum,
 do a server net sess enum
 ****************************************************************************/
 BOOL do_srv_net_srv_sess_enum(struct cli_state *cli, uint16 fnum,
-                       char *server_name, char *qual_name,
+                       char *server_name, char *qual_name, char *user_name,
                        uint32 switch_value, SRV_SESS_INFO_CTR *ctr,
                        uint32 preferred_len,
                        ENUM_HND *hnd)
@@ -138,7 +138,7 @@ BOOL do_srv_net_srv_sess_enum(struct cli_state *cli, uint16 fnum,
        ctr->sess.info0.ptr_sess_info    = 1;
 
        /* store the parameters */
-       make_srv_q_net_sess_enum(&q_o, server_name, qual_name,
+       make_srv_q_net_sess_enum(&q_o, server_name, qual_name, user_name,
                                 switch_value, ctr,
                                 preferred_len,
                                 hnd);
@@ -268,7 +268,7 @@ BOOL do_srv_net_srv_share_enum(struct cli_state *cli, uint16 fnum,
 do a server net file enum
 ****************************************************************************/
 BOOL do_srv_net_srv_file_enum(struct cli_state *cli, uint16 fnum,
-                       char *server_name, char *qual_name,
+                       char *server_name, char *qual_name, uint32 file_id,
                        uint32 switch_value, SRV_FILE_INFO_CTR *ctr,
                        uint32 preferred_len,
                        ENUM_HND *hnd)
@@ -296,7 +296,7 @@ BOOL do_srv_net_srv_file_enum(struct cli_state *cli, uint16 fnum,
        ctr->file.info3.ptr_file_info    = 1;
 
        /* store the parameters */
-       make_srv_q_net_file_enum(&q_o, server_name, qual_name,
+       make_srv_q_net_file_enum(&q_o, server_name, qual_name, file_id,
                                 switch_value, ctr,
                                 preferred_len,
                                 hnd);
index 1bcc961853f3e310fa748a1e7b088eabd50f01c0..bf4f63dc4c56b7a3b530a02bdf92e8f4e88bddf8 100644 (file)
@@ -271,6 +271,8 @@ static void srv_io_srv_share_ctr(char *desc,  SRV_SHARE_INFO_CTR *ctr, prs_struc
        prs_uint32("switch_value", ps, depth, &(ctr->switch_value));
        prs_uint32("ptr_share_ctr", ps, depth, &(ctr->ptr_share_ctr));
 
+       return;
+
        if (ctr->ptr_share_ctr != 0)
        {
                switch (ctr->switch_value)
@@ -628,6 +630,7 @@ reads or writes a structure.
 ********************************************************************/
 void make_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM *q_n, 
                                char *srv_name, char *qual_name,
+                               char *user_name,
                                uint32 sess_level, SRV_SESS_INFO_CTR *ctr,
                                uint32 preferred_len,
                                ENUM_HND *hnd)
@@ -640,6 +643,7 @@ void make_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM *q_n,
 
        make_buf_unistr2(&(q_n->uni_srv_name), &(q_n->ptr_srv_name), srv_name);
        make_buf_unistr2(&(q_n->uni_qual_name), &(q_n->ptr_qual_name), qual_name);
+       make_buf_unistr2(&(q_n->uni_user_name), &(q_n->ptr_user_name), user_name);
 
        q_n->sess_level    = sess_level;
        q_n->preferred_len = preferred_len;
@@ -666,7 +670,10 @@ void srv_io_q_net_sess_enum(char *desc,  SRV_Q_NET_SESS_ENUM *q_n, prs_struct *p
 
        prs_uint32("ptr_qual_name", ps, depth, &(q_n->ptr_qual_name));
        smb_io_unistr2("", &(q_n->uni_qual_name), q_n->ptr_qual_name, ps, depth); 
+       prs_align(ps);
 
+       prs_uint32("ptr_user_name", ps, depth, &(q_n->ptr_user_name));
+       smb_io_unistr2("", &(q_n->uni_user_name), q_n->ptr_user_name, ps, depth); 
        prs_align(ps);
 
        prs_uint32("sess_level", ps, depth, &(q_n->sess_level  ));
@@ -1150,7 +1157,7 @@ static void srv_io_srv_file_ctr(char *desc,  SRV_FILE_INFO_CTR *ctr, prs_struct
 reads or writes a structure.
 ********************************************************************/
 void make_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n, 
-                               char *srv_name, char *qual_name,
+                               char *srv_name, char *qual_name, uint32 file_id,
                                uint32 file_level, SRV_FILE_INFO_CTR *ctr,
                                uint32 preferred_len,
                                ENUM_HND *hnd)
@@ -1164,6 +1171,7 @@ void make_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n,
        make_buf_unistr2(&(q_n->uni_srv_name), &(q_n->ptr_srv_name), srv_name);
        make_buf_unistr2(&(q_n->uni_qual_name), &(q_n->ptr_qual_name), qual_name);
 
+       q_n->file_id       = file_id;
        q_n->file_level    = file_level;
        q_n->preferred_len = preferred_len;
 
@@ -1192,7 +1200,8 @@ void srv_io_q_net_file_enum(char *desc,  SRV_Q_NET_FILE_ENUM *q_n, prs_struct *p
 
        prs_align(ps);
 
-       prs_uint32("file_level", ps, depth, &(q_n->file_level  ));
+       prs_uint32("file_id   ", ps, depth, &(q_n->file_id   ));
+       prs_uint32("file_level", ps, depth, &(q_n->file_level));
 
        if (q_n->file_level != -1)
        {
index 2cb741b966371c5e8717863c6aa58ee659885ed3..477e68561c1e1e4c486ad009c71c48c44bb153d8 100644 (file)
@@ -256,7 +256,7 @@ void cmd_srv_enum_sess(struct client_info *info)
 
        /* enumerate sessions on server */
        res = res ? do_srv_net_srv_sess_enum(smb_cli, nt_pipe_fnum,
-                               dest_srv, NULL, info_level, &ctr, 0x1000, &hnd) : False;
+                               dest_srv, NULL, NULL, info_level, &ctr, 0x1000, &hnd) : False;
 
        /* close the session */
        cli_nt_session_close(smb_cli, nt_pipe_fnum);
@@ -309,7 +309,7 @@ void cmd_srv_enum_files(struct client_info *info)
 
        /* enumerate files on server */
        res = res ? do_srv_net_srv_file_enum(smb_cli, nt_pipe_fnum,
-                               dest_srv, NULL, info_level, &ctr, 0x1000, &hnd) : False;
+                               dest_srv, NULL, 0, info_level, &ctr, 0x1000, &hnd) : False;
 
        if (res)
        {
index 3c872ea672b93329f2e7698766a71e4faf182cda..6dea2f2d229193746ffed11047965933e73d9733 100644 (file)
@@ -1221,9 +1221,9 @@ static void create_procs(int nprocs, int numops, void (*fn)(int ))
        printf("host=%s share=%s user=%s myname=%s procs=%d ops=%d\n", 
               host, share, username, myname, nprocs, numops);
 
-       create_procs(nprocs, numops, run_randomipc_nowait);
-/*
        create_procs(nprocs, numops, run_randomipc);
+/*
+       create_procs(nprocs, numops, run_randomipc_nowait);
 
        create_procs(nprocs, numops, run_connection);