updated the 3.0 branch from the head branch - ready for alpha18
[nivanova/samba-autobuild/.git] / source3 / rpc_client / cli_srvsvc.c
index b883cc19425d891a76e83e395043236894385b8a..06e733893e188b0c81ce5a3a8919c6c4acb9ee17 100644 (file)
@@ -1,7 +1,5 @@
-
 /* 
- *  Unix SMB/Netbios implementation.
- *  Version 1.9.
+ *  Unix SMB/CIFS implementation.
  *  RPC Pipe client / server routines
  *  Copyright (C) Andrew Tridgell              1992-1997,
  *  Copyright (C) Luke Kenneth Casson Leighton 1996-1997,
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-
-#ifdef SYSLOG
-#undef SYSLOG
-#endif
-
 #include "includes.h"
 
-extern int DEBUGLEVEL;
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_RPC_CLI
 
 /****************************************************************************
 do a server net conn enum
@@ -49,10 +43,10 @@ BOOL do_srv_net_srv_conn_enum(struct cli_state *cli,
        if (server_name == NULL || ctr == NULL || preferred_len == 0)
                return False;
 
-       prs_init(&data , MAX_PDU_FRAG_LEN, 4, MARSHALL);
-       prs_init(&rdata, 0, 4, UNMARSHALL);
+       prs_init(&data, MAX_PDU_FRAG_LEN, cli->mem_ctx, MARSHALL);
+       prs_init(&rdata, 0, cli->mem_ctx, UNMARSHALL);
 
-       /* create and send a MSRPC command with api SRV_NETCONNENUM */
+       /* create and send a MSRPC command with api SRV_NET_CONN_ENUM */
 
        DEBUG(4,("SRV Net Server Connection Enum(%s, %s), level %d, enum:%8x\n",
                                server_name, qual_name, switch_value, get_enum_hnd(hnd)));
@@ -76,7 +70,7 @@ BOOL do_srv_net_srv_conn_enum(struct cli_state *cli,
        }
 
        /* send the data on \PIPE\ */
-       if(!rpc_api_pipe_req(cli, SRV_NETCONNENUM, &data, &rdata)) {
+       if(!rpc_api_pipe_req(cli, SRV_NET_CONN_ENUM, &data, &rdata)) {
                prs_mem_free(&data);
                prs_mem_free(&rdata);
                return False;
@@ -93,7 +87,7 @@ BOOL do_srv_net_srv_conn_enum(struct cli_state *cli,
 
        if (r_o.status != 0) {
                /* report error code */
-               DEBUG(0,("SRV_R_NET_SRV_CONN_ENUM: %s\n", get_nt_error_msg(r_o.status)));
+               DEBUG(0,("SRV_R_NET_SRV_CONN_ENUM: %s\n", nt_errstr(r_o.status)));
                prs_mem_free(&rdata);
                return False;
        }
@@ -116,10 +110,11 @@ do a server net sess enum
 ****************************************************************************/
 
 BOOL do_srv_net_srv_sess_enum(struct cli_state *cli,
-                       char *server_name, char *qual_name,
-                       uint32 switch_value, SRV_SESS_INFO_CTR *ctr,
-                       uint32 preferred_len,
-                       ENUM_HND *hnd)
+                             char *server_name, char *qual_name,
+                             char *user_name,
+                             uint32 switch_value, SRV_SESS_INFO_CTR *ctr,
+                             uint32 preferred_len,
+                             ENUM_HND *hnd)
 {
        prs_struct data; 
        prs_struct rdata;
@@ -129,10 +124,10 @@ BOOL do_srv_net_srv_sess_enum(struct cli_state *cli,
        if (server_name == NULL || ctr == NULL || preferred_len == 0)
                return False;
 
-       prs_init(&data , MAX_PDU_FRAG_LEN, 4, MARSHALL);
-       prs_init(&rdata, 0, 4, UNMARSHALL);
+       prs_init(&data, MAX_PDU_FRAG_LEN, cli->mem_ctx, MARSHALL);
+       prs_init(&rdata, 0, cli->mem_ctx, UNMARSHALL);
 
-       /* create and send a MSRPC command with api SRV_NETSESSENUM */
+       /* create and send a MSRPC command with api SRV_NET_SESS_ENUM */
 
        DEBUG(4,("SRV Net Session Enum (%s), level %d, enum:%8x\n",
                                server_name, switch_value, get_enum_hnd(hnd)));
@@ -143,7 +138,7 @@ BOOL do_srv_net_srv_sess_enum(struct cli_state *cli,
        ctr->sess.info0.ptr_sess_info    = 1;
 
        /* store the parameters */
-       init_srv_q_net_sess_enum(&q_o, server_name, qual_name,
+       init_srv_q_net_sess_enum(&q_o, server_name, qual_name, user_name,
                                 switch_value, ctr,
                                 preferred_len,
                                 hnd);
@@ -156,7 +151,7 @@ BOOL do_srv_net_srv_sess_enum(struct cli_state *cli,
        }
 
        /* send the data on \PIPE\ */
-       if (!rpc_api_pipe_req(cli, SRV_NETSESSENUM, &data, &rdata)) {
+       if (!rpc_api_pipe_req(cli, SRV_NET_SESS_ENUM, &data, &rdata)) {
                prs_mem_free(&data);
                prs_mem_free(&rdata);
                return False;
@@ -173,7 +168,7 @@ BOOL do_srv_net_srv_sess_enum(struct cli_state *cli,
                
        if (r_o.status != 0) {
                /* report error code */
-               DEBUG(0,("SRV_R_NET_SRV_SESS_ENUM: %s\n", get_nt_error_msg(r_o.status)));
+               DEBUG(0,("SRV_R_NET_SRV_SESS_ENUM: %s\n", nt_errstr(r_o.status)));
                prs_mem_free(&rdata);
                return False;
        }
@@ -206,10 +201,10 @@ BOOL do_srv_net_srv_share_enum(struct cli_state *cli,
        if (server_name == NULL || preferred_len == 0)
                return False;
 
-       prs_init(&data , MAX_PDU_FRAG_LEN, 4, MARSHALL);
-       prs_init(&rdata, 0, 4, UNMARSHALL);
+       prs_init(&data, MAX_PDU_FRAG_LEN, cli->mem_ctx, MARSHALL);
+       prs_init(&rdata, 0, cli->mem_ctx, UNMARSHALL);
 
-       /* create and send a MSRPC command with api SRV_NETSHAREENUM */
+       /* create and send a MSRPC command with api SRV_NET_SHARE_ENUM */
 
        DEBUG(4,("SRV Get Share Info (%s), level %d, enum:%8x\n",
                                server_name, switch_value, get_enum_hnd(hnd)));
@@ -226,7 +221,7 @@ BOOL do_srv_net_srv_share_enum(struct cli_state *cli,
        }
 
        /* send the data on \PIPE\ */
-       if (!rpc_api_pipe_req(cli, SRV_NETSHAREENUM, &data, &rdata)) {
+       if (!rpc_api_pipe_req(cli, SRV_NET_SHARE_ENUM, &data, &rdata)) {
                prs_mem_free(&data);
                prs_mem_free(&rdata);
                return False;
@@ -241,9 +236,8 @@ BOOL do_srv_net_srv_share_enum(struct cli_state *cli,
                
        if (r_o->status != 0) {
                /* report error code */
-               DEBUG(0,("SRV_R_NET_SHARE_ENUM: %s\n", get_nt_error_msg(r_o->status)));
+               DEBUG(0,("SRV_R_NET_SHARE_ENUM: %s\n", nt_errstr(r_o->status)));
                prs_mem_free(&rdata);
-               free_srv_r_net_share_enum(r_o);
                return False;
        }
 
@@ -252,7 +246,6 @@ BOOL do_srv_net_srv_share_enum(struct cli_state *cli,
                DEBUG(0,("SRV_R_NET_SHARE_ENUM: info class %d does not match request %d\n",
                        r_o->ctr.switch_value, switch_value));
                prs_mem_free(&rdata);
-               free_srv_r_net_share_enum(r_o);
                return False;
        }
 
@@ -279,10 +272,10 @@ BOOL do_srv_net_srv_file_enum(struct cli_state *cli,
        if (server_name == NULL || ctr == NULL || preferred_len == 0)
                return False;
 
-       prs_init(&data , MAX_PDU_FRAG_LEN, 4, MARSHALL);
-       prs_init(&rdata, 0, 4, UNMARSHALL);
+       prs_init(&data, MAX_PDU_FRAG_LEN, cli->mem_ctx, MARSHALL);
+       prs_init(&rdata, 0, cli->mem_ctx, UNMARSHALL);
 
-       /* create and send a MSRPC command with api SRV_NETFILEENUM */
+       /* create and send a MSRPC command with api SRV_NET_FILE_ENUM */
 
        DEBUG(4,("SRV Get File Info (%s), level %d, enum:%8x\n",
                                server_name, switch_value, get_enum_hnd(hnd)));
@@ -308,7 +301,7 @@ BOOL do_srv_net_srv_file_enum(struct cli_state *cli,
        }
 
        /* send the data on \PIPE\ */
-       if (!rpc_api_pipe_req(cli, SRV_NETFILEENUM, &data, &rdata)) {
+       if (!rpc_api_pipe_req(cli, SRV_NET_FILE_ENUM, &data, &rdata)) {
                prs_mem_free(&data);
                prs_mem_free(&rdata);
                return False;
@@ -325,7 +318,7 @@ BOOL do_srv_net_srv_file_enum(struct cli_state *cli,
                
        if (r_o.status != 0) {
                /* report error code */
-               DEBUG(0,("SRV_R_NET_FILE_ENUM: %s\n", get_nt_error_msg(r_o.status)));
+               DEBUG(0,("SRV_R_NET_FILE_ENUM: %s\n", nt_errstr(r_o.status)));
                prs_mem_free(&rdata);
                return False;
        }
@@ -357,8 +350,8 @@ BOOL do_srv_net_srv_get_info(struct cli_state *cli,
        if (server_name == NULL || switch_value == 0 || ctr == NULL)
                return False;
 
-       prs_init(&data , MAX_PDU_FRAG_LEN, 4, MARSHALL);
-       prs_init(&rdata, 0, 4, UNMARSHALL);
+       prs_init(&data, MAX_PDU_FRAG_LEN, cli->mem_ctx, MARSHALL);
+       prs_init(&rdata, 0, cli->mem_ctx, UNMARSHALL);
 
        /* create and send a MSRPC command with api SRV_NET_SRV_GET_INFO */
 
@@ -392,7 +385,7 @@ BOOL do_srv_net_srv_get_info(struct cli_state *cli,
 
        if (r_o.status != 0) {
                /* report error code */
-               DEBUG(0,("SRV_R_NET_SRV_GET_INFO: %s\n", get_nt_error_msg(r_o.status)));
+               DEBUG(0,("SRV_R_NET_SRV_GET_INFO: %s\n", nt_errstr(r_o.status)));
                prs_mem_free(&rdata);
                return False;
        }