From 75545d578eb8f3450021c8eec4b1158dd95f44ef Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 16 Jun 2005 09:36:53 +0000 Subject: r7632: Cleanup "net share migrate"-code. * Allow to copy share security descriptors to already existing shares separatly. * Added abstraction function to enum all or a single share info Guenther (This used to be commit 97097497ae42d7a03286bbe16bcffb8224137688) --- source3/rpc_client/cli_srvsvc.c | 57 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'source3/rpc_client') diff --git a/source3/rpc_client/cli_srvsvc.c b/source3/rpc_client/cli_srvsvc.c index a8a6bc1ff6..b2449a7903 100644 --- a/source3/rpc_client/cli_srvsvc.c +++ b/source3/rpc_client/cli_srvsvc.c @@ -267,6 +267,63 @@ WERROR cli_srvsvc_net_share_get_info(struct cli_state *cli, 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_tdup(mem_ctx, &info1_str->uni_netname); + if (s) + init_unistr2(&info1_str->uni_netname, + s, UNI_STR_TERMINATE); + + s = unistr2_tdup(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_tdup(mem_ctx, &info2_str->uni_netname); + if (s) + init_unistr2(&info2_str->uni_netname, + s, UNI_STR_TERMINATE); + + s = unistr2_tdup(mem_ctx, &info2_str->uni_remark); + if (s) + init_unistr2(&info2_str->uni_remark, + s, UNI_STR_TERMINATE); + + s = unistr2_tdup(mem_ctx, &info2_str->uni_path); + if (s) + init_unistr2(&info2_str->uni_path, + s, UNI_STR_TERMINATE); + + s = unistr2_tdup(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; -- cgit