diff options
author | Günther Deschner <gd@samba.org> | 2008-03-10 16:26:56 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2008-03-10 16:26:56 +0100 |
commit | 11e4e58f17aa94c088b09310421fe02ab7375730 (patch) | |
tree | 3b20f8ae2a0692aa714d18d1e920589b53abcccf /source3/rpc_client | |
parent | b7b89bf8086d1fa8d52b0968c09d0063954b51c3 (diff) | |
download | samba-11e4e58f17aa94c088b09310421fe02ab7375730.tar.gz samba-11e4e58f17aa94c088b09310421fe02ab7375730.tar.bz2 samba-11e4e58f17aa94c088b09310421fe02ab7375730.zip |
Remove unused marshalling for SRV_NET_SHARE_{ENUM,ADD,SETINFO,GETINFO}
Guenther
(This used to be commit e13b9325d251777cd9030f34fa98e22766c0bcfe)
Diffstat (limited to 'source3/rpc_client')
-rw-r--r-- | source3/rpc_client/cli_srvsvc.c | 374 |
1 files changed, 0 insertions, 374 deletions
diff --git a/source3/rpc_client/cli_srvsvc.c b/source3/rpc_client/cli_srvsvc.c index c043120030..068108c130 100644 --- a/source3/rpc_client/cli_srvsvc.c +++ b/source3/rpc_client/cli_srvsvc.c @@ -24,380 +24,6 @@ #include "includes.h" -WERROR rpccli_srvsvc_net_share_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - uint32 info_level, SRV_SHARE_INFO_CTR *ctr, - int preferred_len, ENUM_HND *hnd) -{ - prs_struct qbuf, rbuf; - SRV_Q_NET_SHARE_ENUM q; - SRV_R_NET_SHARE_ENUM r; - WERROR result = W_ERROR(ERRgeneral); - fstring server; - int i; - - ZERO_STRUCT(q); - ZERO_STRUCT(r); - - /* Initialise input parameters */ - - slprintf(server, sizeof(fstring)-1, "\\\\%s", cli->cli->desthost); - strupper_m(server); - - init_srv_q_net_share_enum(&q, server, info_level, preferred_len, hnd); - - /* Marshall data and send request */ - - CLI_DO_RPC_WERR(cli, mem_ctx, PI_SRVSVC, SRV_NET_SHARE_ENUM_ALL, - q, r, - qbuf, rbuf, - srv_io_q_net_share_enum, - srv_io_r_net_share_enum, - WERR_GENERAL_FAILURE); - - result = r.status; - - if (!W_ERROR_IS_OK(result)) - goto done; - - /* Oh yuck yuck yuck - we have to copy all the info out of the - SRV_SHARE_INFO_CTR in the SRV_R_NET_SHARE_ENUM as when we do a - prs_mem_free() it will all be invalidated. The various share - info structures suck badly too. This really is gross. */ - - ZERO_STRUCTP(ctr); - - if (!r.ctr.num_entries) - goto done; - - ctr->info_level = info_level; - ctr->num_entries = r.ctr.num_entries; - - switch(info_level) { - case 1: - ctr->share.info1 = TALLOC_ARRAY(mem_ctx, SRV_SHARE_INFO_1, ctr->num_entries); - if (ctr->share.info1 == NULL) { - return WERR_NOMEM; - } - - memset(ctr->share.info1, 0, sizeof(SRV_SHARE_INFO_1)); - - for (i = 0; i < ctr->num_entries; i++) { - SRV_SHARE_INFO_1 *info1 = &ctr->share.info1[i]; - char *s; - - /* Copy pointer crap */ - - memcpy(&info1->info_1, &r.ctr.share.info1[i].info_1, - sizeof(SH_INFO_1)); - - /* Duplicate strings */ - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_netname); - if (s) - init_unistr2(&info1->info_1_str.uni_netname, s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_remark); - if (s) - init_unistr2(&info1->info_1_str.uni_remark, s, UNI_STR_TERMINATE); - - } - - break; - case 2: - ctr->share.info2 = TALLOC_ARRAY(mem_ctx, SRV_SHARE_INFO_2, ctr->num_entries); - if (ctr->share.info2 == NULL) { - return WERR_NOMEM; - } - - memset(ctr->share.info2, 0, sizeof(SRV_SHARE_INFO_2)); - - for (i = 0; i < ctr->num_entries; i++) { - SRV_SHARE_INFO_2 *info2 = &ctr->share.info2[i]; - char *s; - - /* Copy pointer crap */ - - memcpy(&info2->info_2, &r.ctr.share.info2[i].info_2, - sizeof(SH_INFO_2)); - - /* Duplicate strings */ - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_netname); - if (s) - init_unistr2(&info2->info_2_str.uni_netname, s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_remark); - if (s) - init_unistr2(&info2->info_2_str.uni_remark, s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_path); - if (s) - init_unistr2(&info2->info_2_str.uni_path, s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_passwd); - if (s) - init_unistr2(&info2->info_2_str.uni_passwd, s, UNI_STR_TERMINATE); - } - break; - /* adding info-level 502 here */ - case 502: - ctr->share.info502 = TALLOC_ARRAY(mem_ctx, SRV_SHARE_INFO_502, ctr->num_entries); - - if (ctr->share.info502 == NULL) { - return WERR_NOMEM; - } - - memset(ctr->share.info502, 0, sizeof(SRV_SHARE_INFO_502)); - - for (i = 0; i < ctr->num_entries; i++) { - SRV_SHARE_INFO_502 *info502 = &ctr->share.info502[i]; - char *s; - - /* Copy pointer crap */ - memcpy(&info502->info_502, &r.ctr.share.info502[i].info_502, - sizeof(SH_INFO_502)); - - /* Duplicate strings */ - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_netname); - if (s) - init_unistr2(&info502->info_502_str.uni_netname, s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_remark); - if (s) - init_unistr2(&info502->info_502_str.uni_remark, s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_path); - if (s) - init_unistr2(&info502->info_502_str.uni_path, s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_passwd); - if (s) - init_unistr2(&info502->info_502_str.uni_passwd, s, UNI_STR_TERMINATE); - - info502->info_502_str.sd = dup_sec_desc(mem_ctx, r.ctr.share.info502[i].info_502_str.sd); - } - break; - } - - done: - - return result; -} - -WERROR rpccli_srvsvc_net_share_get_info(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *sharename, - uint32 info_level, - SRV_SHARE_INFO *info) -{ - prs_struct qbuf, rbuf; - SRV_Q_NET_SHARE_GET_INFO q; - SRV_R_NET_SHARE_GET_INFO r; - WERROR result = W_ERROR(ERRgeneral); - fstring server; - - ZERO_STRUCT(q); - ZERO_STRUCT(r); - - /* Initialise input parameters */ - - slprintf(server, sizeof(fstring)-1, "\\\\%s", cli->cli->desthost); - strupper_m(server); - - init_srv_q_net_share_get_info(&q, server, sharename, info_level); - - /* Marshall data and send request */ - - CLI_DO_RPC_WERR(cli, mem_ctx, PI_SRVSVC, SRV_NET_SHARE_GET_INFO, - q, r, - qbuf, rbuf, - srv_io_q_net_share_get_info, - srv_io_r_net_share_get_info, - WERR_GENERAL_FAILURE); - - result = r.status; - - if (!W_ERROR_IS_OK(result)) - goto done; - - ZERO_STRUCTP(info); - - info->switch_value = info_level; - - switch(info_level) { - case 1: - { - SRV_SHARE_INFO_1 *info1 = &info->share.info1; - SH_INFO_1_STR *info1_str = &info1->info_1_str; - - char *s; - - info->share.info1 = r.info.share.info1; - - /* Duplicate strings */ - - s = unistr2_to_ascii_talloc(mem_ctx, &info1_str->uni_netname); - if (s) - init_unistr2(&info1_str->uni_netname, - s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &info1_str->uni_remark); - if (s) - init_unistr2(&info1_str->uni_remark, - s, UNI_STR_TERMINATE); - - break; - } - case 2: - { - SRV_SHARE_INFO_2 *info2 = &info->share.info2; - SH_INFO_2_STR *info2_str = &info2->info_2_str; - - char *s; - - info->share.info2 = r.info.share.info2; - - /* Duplicate strings */ - - s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_netname); - if (s) - init_unistr2(&info2_str->uni_netname, - s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_remark); - if (s) - init_unistr2(&info2_str->uni_remark, - s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_path); - if (s) - init_unistr2(&info2_str->uni_path, - s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_passwd); - if (s) - init_unistr2(&info2_str->uni_passwd, - s, UNI_STR_TERMINATE); - - - break; - } - case 502: - { - SRV_SHARE_INFO_502 *info502 = &info->share.info502; - SH_INFO_502_STR *info502_str = &info502->info_502_str; - - char *s; - - info->share.info502 = r.info.share.info502; - - /* Duplicate strings */ - - s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_netname); - if (s) - init_unistr2(&info502_str->uni_netname, - s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_remark); - if (s) - init_unistr2(&info502_str->uni_remark, - s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_path); - if (s) - init_unistr2(&info502_str->uni_path, - s, UNI_STR_TERMINATE); - - s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_passwd); - if (s) - init_unistr2(&info502_str->uni_passwd, - s, UNI_STR_TERMINATE); - - info502_str->sd = dup_sec_desc(mem_ctx, info502_str->sd); - break; - } - default: - DEBUG(0,("unimplemented info-level: %d\n", info_level)); - break; - } - - done: - - return result; -} - -WERROR rpccli_srvsvc_net_share_set_info(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - const char *sharename, - uint32 info_level, - SRV_SHARE_INFO *info) -{ - prs_struct qbuf, rbuf; - SRV_Q_NET_SHARE_SET_INFO q; - SRV_R_NET_SHARE_SET_INFO r; - WERROR result = W_ERROR(ERRgeneral); - fstring server; - - ZERO_STRUCT(q); - ZERO_STRUCT(r); - - /* Initialise input parameters */ - - slprintf(server, sizeof(fstring)-1, "\\\\%s", cli->cli->desthost); - strupper_m(server); - - init_srv_q_net_share_set_info(&q, server, sharename, info_level, info); - - /* Marshall data and send request */ - - CLI_DO_RPC_WERR(cli, mem_ctx, PI_SRVSVC, SRV_NET_SHARE_SET_INFO, - q, r, - qbuf, rbuf, - srv_io_q_net_share_set_info, - srv_io_r_net_share_set_info, - WERR_GENERAL_FAILURE); - - result = r.status; - return result; -} - -WERROR rpccli_srvsvc_net_share_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - const char *netname, uint32 type, - const char *remark, uint32 perms, - uint32 max_uses, uint32 num_uses, - const char *path, const char *passwd, - int level, SEC_DESC *sd) -{ - prs_struct qbuf, rbuf; - SRV_Q_NET_SHARE_ADD q; - SRV_R_NET_SHARE_ADD r; - WERROR result = W_ERROR(ERRgeneral); - fstring server; - - ZERO_STRUCT(q); - ZERO_STRUCT(r); - - slprintf(server, sizeof(fstring)-1, "\\\\%s", cli->cli->desthost); - strupper_m(server); - - init_srv_q_net_share_add(&q,server, netname, type, remark, - perms, max_uses, num_uses, path, passwd, - level, sd); - - /* Marshall data and send request */ - - CLI_DO_RPC_WERR(cli, mem_ctx, PI_SRVSVC, SRV_NET_SHARE_ADD, - q, r, - qbuf, rbuf, - srv_io_q_net_share_add, - srv_io_r_net_share_add, - WERR_GENERAL_FAILURE); - - result = r.status; - return result; -} - WERROR rpccli_srvsvc_net_file_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, uint32 file_level, const char *user_name, SRV_FILE_INFO_CTR *ctr, int preferred_len, |