r18935: Make "netshareenum" work again. There is most probably a better way to
authorGünther Deschner <gd@samba.org>
Tue, 26 Sep 2006 23:43:58 +0000 (23:43 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:14:48 +0000 (12:14 -0500)
do this... Any pointers?

Guenther
(This used to be commit 1f09e54fec9ac2e6173272d83d8c96d33636f1a0)

source3/rpcclient/cmd_srvsvc.c

index c58f908cecbae39e2236850e2d2ed797a70a54c7..e1e5af752a519f6f1cda8c74e5cbcf7f29f892b4 100644 (file)
@@ -249,6 +249,8 @@ static NTSTATUS cmd_srvsvc_net_share_enum(struct rpc_pipe_client *cli,
        uint32 preferred_len = 0xffffffff, i;
        uint32 numentries;
 
+       ZERO_STRUCT(ctr);
+
        if (argc > 2) {
                printf("Usage: %s [infolevel]\n", argv[0]);
                return NT_STATUS_OK;
@@ -259,8 +261,33 @@ static NTSTATUS cmd_srvsvc_net_share_enum(struct rpc_pipe_client *cli,
 
        hnd = 0;
 
+       switch (info_level) {
+       case 1: {
+               struct srvsvc_NetShareCtr1 ctr1;
+               ZERO_STRUCT(ctr1);
+               ctr.ctr1 = &ctr1;
+               }
+               break;
+
+       case 2: {
+               struct srvsvc_NetShareCtr2 ctr2;
+               ZERO_STRUCT(ctr2);
+               ctr.ctr2 = &ctr2;
+               }
+               break;
+       case 502: {
+               struct srvsvc_NetShareCtr502 ctr502;
+               ZERO_STRUCT(ctr502);
+               ctr.ctr502 = &ctr502;
+               }
+               break;
+
+       default:
+               break;
+       }
+
        result = rpccli_srvsvc_NetShareEnum(
-               cli, mem_ctx, NULL, &info_level, &ctr, preferred_len, &numentries, 
+               cli, mem_ctx, cli->cli->desthost, &info_level, &ctr, preferred_len, &numentries, 
                &hnd);
 
        if (!NT_STATUS_IS_OK(result) || !numentries)