From 68e83b0fee5405fc2e393e69aff3a8e3f94430a5 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Wed, 6 Jun 2001 07:32:51 +0000 Subject: Added stubs for dfs rpc client routines. (This used to be commit abc294c4a82dc132b937aec374ee947992a1b93f) --- source3/rpcclient/cmd_dfs.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 source3/rpcclient/cmd_dfs.c (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c new file mode 100644 index 0000000000..bbc831849f --- /dev/null +++ b/source3/rpcclient/cmd_dfs.c @@ -0,0 +1,32 @@ +/* + Unix SMB/Netbios implementation. + Version 2.2 + RPC pipe client + + Copyright (C) Tim Potter 2000 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" + +extern int DEBUGLEVEL; +extern pstring server; + +/* List of commands exported by this module */ + +struct cmd_set dfs_commands[] = { + { NULL, NULL, NULL } +}; -- cgit From 5eee0f1968391ff0aa42ad09e1687ef4a9da88e3 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Wed, 13 Jun 2001 06:37:02 +0000 Subject: Added some msdfs client routines. (This used to be commit 13df2304b309a2bd14d4441db0e72e75b8742262) --- source3/rpcclient/cmd_dfs.c | 291 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index bbc831849f..59e35bad2e 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -25,8 +25,299 @@ extern int DEBUGLEVEL; extern pstring server; +/* Check DFS is supported by the remote server */ + +static uint32 cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) +{ + TALLOC_CTX *mem_ctx; + BOOL dfs_exists; + uint32 result; + + if (argc != 1) { + printf("Usage: %s\n", argv[0]); + return 0; + } + + if (!(mem_ctx = talloc_init())) { + DEBUG(0,("cmd_dfs_exist: talloc_init failed\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + /* Initialise RPC connection */ + + if (!cli_nt_session_open (cli, PIPE_NETDFS)) { + DEBUG(0, ("Could not initialize netdfs pipe!\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + result = cli_dfs_exist(cli, mem_ctx, &dfs_exists); + + if (result == NT_STATUS_NOPROBLEMO) + printf("dfs is %spresent\n", dfs_exists ? "" : "not "); + + cli_nt_session_close(cli); + + return result; +} + +static uint32 cmd_dfs_add(struct cli_state *cli, int argc, char **argv) +{ + TALLOC_CTX *mem_ctx; + uint32 result; + char *entrypath, *servername, *sharename, *comment; + uint32 flags = 0; + + if (argc != 5) { + printf("Usage: %s entrypath servername sharename comment\n", + argv[0]); + return 0; + } + + entrypath = argv[1]; + servername = argv[2]; + sharename = argv[3]; + comment = argv[4]; + + if (!(mem_ctx = talloc_init())) { + DEBUG(0,("cmd_dfs_add: talloc_init failed\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + /* Initialise RPC connection */ + + if (!cli_nt_session_open (cli, PIPE_NETDFS)) { + DEBUG(0, ("Could not initialize netdfs pipe!\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + result = cli_dfs_add(cli, mem_ctx, entrypath, servername, + sharename, comment, flags); + + cli_nt_session_close(cli); + + return result; +} + +static uint32 cmd_dfs_remove(struct cli_state *cli, int argc, char **argv) +{ + TALLOC_CTX *mem_ctx; + uint32 result; + char *entrypath, *servername, *sharename; + + if (argc != 4) { + printf("Usage: %s entrypath servername sharename\n", argv[0]); + return 0; + } + + entrypath = argv[1]; + servername = argv[2]; + sharename = argv[3]; + + if (!(mem_ctx = talloc_init())) { + DEBUG(0,("cmd_dfs_remove: talloc_init failed\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + /* Initialise RPC connection */ + + if (!cli_nt_session_open (cli, PIPE_NETDFS)) { + DEBUG(0, ("Could not initialize netdfs pipe!\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + result = cli_dfs_remove(cli, mem_ctx, entrypath, servername, + sharename); + + cli_nt_session_close(cli); + + return result; +} + +/* Display a DFS_INFO_1 structure */ + +static void display_dfs_info_1(DFS_INFO_1 *info1) +{ + fstring temp; + + unistr2_to_ascii(temp, &info1->entrypath, sizeof(temp) - 1); + printf("entrypath: %s\n", temp); +} + +/* Display a DFS_INFO_2 structure */ + +static void display_dfs_info_2(DFS_INFO_2 *info2) +{ + fstring temp; + + unistr2_to_ascii(temp, &info2->entrypath, sizeof(temp) - 1); + printf("entrypath: %s\n", temp); + + unistr2_to_ascii(temp, &info2->comment, sizeof(temp) - 1); + printf("\tcomment: %s\n", temp); + + printf("\tstate: %d\n", info2->state); + printf("\tnum_storages: %d\n", info2->num_storages); +} + +/* Display a DFS_INFO_3 structure */ + +static void display_dfs_info_3(DFS_INFO_3 *info3) +{ + fstring temp; + int i; + + unistr2_to_ascii(temp, &info3->entrypath, sizeof(temp) - 1); + printf("entrypath: %s\n", temp); + + unistr2_to_ascii(temp, &info3->comment, sizeof(temp) - 1); + printf("\tcomment: %s\n", temp); + + printf("\tstate: %d\n", info3->state); + printf("\tnum_storages: %d\n", info3->num_storages); + + for (i = 0; i < info3->num_storages; i++) { + DFS_STORAGE_INFO *dsi = &info3->storages[i]; + + unistr2_to_ascii(temp, &dsi->servername, sizeof(temp) - 1); + printf("\t\tstorage[%d] servername: %s\n", i, temp); + + unistr2_to_ascii(temp, &dsi->sharename, sizeof(temp) - 1); + printf("\t\tstorage[%d] sharename: %s\n", i, temp); + } +} + +/* Display a DFS_INFO_CTR structure */ + +static void display_dfs_info_ctr(DFS_INFO_CTR *ctr) +{ + int i; + + for (i = 0; i < ctr->num_entries; i++) { + switch (ctr->switch_value) { + case 0x01: + display_dfs_info_1(&ctr->dfs.info1[i]); + break; + case 0x02: + display_dfs_info_2(&ctr->dfs.info2[i]); + break; + case 0x03: + display_dfs_info_3(&ctr->dfs.info3[i]); + break; + default: + printf("unsupported info level %d\n", + ctr->switch_value); + break; + } + } +} + +/* Enumerate dfs shares */ + +static uint32 cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) +{ + TALLOC_CTX *mem_ctx; + DFS_INFO_CTR ctr; + uint32 result, info_level = 1; + + if (argc > 2) { + printf("Usage: %s [info_level]\n", argv[0]); + return 0; + } + + if (argc == 2) + info_level = atoi(argv[1]); + + if (!(mem_ctx = talloc_init())) { + DEBUG(0,("cmd_dfs_enum: talloc_init failed\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + /* Initialise RPC connection */ + + if (!cli_nt_session_open (cli, PIPE_NETDFS)) { + DEBUG(0, ("Could not initialize netdfs pipe!\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + /* Call RPC function */ + + if ((result = cli_dfs_enum(cli, mem_ctx, info_level, &ctr)) + != NT_STATUS_NOPROBLEMO) { + goto done; + } + + /* Print results */ + + display_dfs_info_ctr(&ctr); + + done: + + cli_nt_session_close(cli); + + return result; +} + +static uint32 cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) +{ + TALLOC_CTX *mem_ctx; + uint32 result; + char *entrypath, *servername, *sharename; + uint32 info_level = 1; + DFS_INFO_CTR ctr; + + if (argc < 4 || argc > 5) { + printf("Usage: %s entrypath servername sharename [info_level]\n", argv[0]); + return 0; + } + + entrypath = argv[1]; + servername = argv[2]; + sharename = argv[3]; + + if (argc == 5) + info_level = atoi(argv[4]); + + if (!(mem_ctx = talloc_init())) { + DEBUG(0,("cmd_dfs_getinfo: talloc_init failed\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + /* Initialise RPC connection */ + + if (!cli_nt_session_open (cli, PIPE_NETDFS)) { + DEBUG(0, ("Could not initialize netdfs pipe!\n")); + return NT_STATUS_UNSUCCESSFUL; + } + + /* Call RPC function */ + + if ((result = cli_dfs_get_info(cli, mem_ctx, entrypath, servername, + sharename, info_level, &ctr)) + != NT_STATUS_NOPROBLEMO) { + goto done; + } + + /* Print results */ + + display_dfs_info_ctr(&ctr); + + done: + + cli_nt_session_close(cli); + + return result; +} + /* List of commands exported by this module */ struct cmd_set dfs_commands[] = { + { "DFS", NULL, "" }, + + { "dfsexist", cmd_dfs_exist, "Query DFS support" }, + { "dfsadd", cmd_dfs_add, "Add a DFS share" }, + { "dfsremove", cmd_dfs_remove, "Remove a DFS share" }, + { "dfsgetinfo", cmd_dfs_getinfo, "Query DFS share info" }, + { "dfsenum", cmd_dfs_enum, "Enumerate dfs shares" }, + { NULL, NULL, NULL } }; -- cgit From 8db78af9702dab2e89f1f7adf56996a20a8cb2f4 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Fri, 20 Jul 2001 04:38:58 +0000 Subject: Started adding some help/usage info for rpcclient commands. (This used to be commit 37052a1bcc5cd049918c3d5ac4c41c3a669290af) --- source3/rpcclient/cmd_dfs.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 59e35bad2e..b4914f665c 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -311,13 +311,14 @@ static uint32 cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) /* List of commands exported by this module */ struct cmd_set dfs_commands[] = { - { "DFS", NULL, "" }, - { "dfsexist", cmd_dfs_exist, "Query DFS support" }, - { "dfsadd", cmd_dfs_add, "Add a DFS share" }, - { "dfsremove", cmd_dfs_remove, "Remove a DFS share" }, - { "dfsgetinfo", cmd_dfs_getinfo, "Query DFS share info" }, - { "dfsenum", cmd_dfs_enum, "Enumerate dfs shares" }, + { "DFS" }, - { NULL, NULL, NULL } + { "dfsexist", cmd_dfs_exist, "Query DFS support", "" }, + { "dfsadd", cmd_dfs_add, "Add a DFS share", "" }, + { "dfsremove", cmd_dfs_remove, "Remove a DFS share", "" }, + { "dfsgetinfo", cmd_dfs_getinfo, "Query DFS share info", "" }, + { "dfsenum", cmd_dfs_enum, "Enumerate dfs shares", "" }, + + { NULL } }; -- cgit From acc149c427e780b35ebe3028722ed0c42c4c3854 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Fri, 10 Aug 2001 09:52:10 +0000 Subject: - avoid possible mem leaks in rpcclient/cmd_*.c (talloc_destroy not performed) - ported two rpc back from TNG (WINREG: shutdown and abort shutdown) - some optimizations and changed some DEBUG statement in loadparm.c - changed rpcclient a bit moved from non reentrant next_token_nr to next_token - in cmd_reg.c not sure if getopt will work ok on all platforms only setting optind=0 (This used to be commit fd54412ce9c3504a547e232602d6129e08dd9d4d) --- source3/rpcclient/cmd_dfs.c | 48 ++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 20 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index b4914f665c..8059f42f2f 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -47,7 +47,8 @@ static uint32 cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) if (!cli_nt_session_open (cli, PIPE_NETDFS)) { DEBUG(0, ("Could not initialize netdfs pipe!\n")); - return NT_STATUS_UNSUCCESSFUL; + result = NT_STATUS_UNSUCCESSFUL; + goto done; } result = cli_dfs_exist(cli, mem_ctx, &dfs_exists); @@ -57,6 +58,8 @@ static uint32 cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) cli_nt_session_close(cli); +done: + talloc_destroy(mem_ctx); return result; } @@ -87,7 +90,8 @@ static uint32 cmd_dfs_add(struct cli_state *cli, int argc, char **argv) if (!cli_nt_session_open (cli, PIPE_NETDFS)) { DEBUG(0, ("Could not initialize netdfs pipe!\n")); - return NT_STATUS_UNSUCCESSFUL; + result = NT_STATUS_UNSUCCESSFUL; + goto done; } result = cli_dfs_add(cli, mem_ctx, entrypath, servername, @@ -95,6 +99,8 @@ static uint32 cmd_dfs_add(struct cli_state *cli, int argc, char **argv) cli_nt_session_close(cli); +done: + talloc_destroy(mem_ctx); return result; } @@ -122,7 +128,8 @@ static uint32 cmd_dfs_remove(struct cli_state *cli, int argc, char **argv) if (!cli_nt_session_open (cli, PIPE_NETDFS)) { DEBUG(0, ("Could not initialize netdfs pipe!\n")); - return NT_STATUS_UNSUCCESSFUL; + result = NT_STATUS_UNSUCCESSFUL; + goto done; } result = cli_dfs_remove(cli, mem_ctx, entrypath, servername, @@ -130,6 +137,8 @@ static uint32 cmd_dfs_remove(struct cli_state *cli, int argc, char **argv) cli_nt_session_close(cli); +done: + talloc_destroy(mem_ctx); return result; } @@ -236,24 +245,23 @@ static uint32 cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) if (!cli_nt_session_open (cli, PIPE_NETDFS)) { DEBUG(0, ("Could not initialize netdfs pipe!\n")); - return NT_STATUS_UNSUCCESSFUL; + result = NT_STATUS_UNSUCCESSFUL; + goto done; } /* Call RPC function */ if ((result = cli_dfs_enum(cli, mem_ctx, info_level, &ctr)) - != NT_STATUS_NOPROBLEMO) { - goto done; + == NT_STATUS_NOPROBLEMO) { + + /* Print results */ + display_dfs_info_ctr(&ctr); } - /* Print results */ - - display_dfs_info_ctr(&ctr); - - done: - cli_nt_session_close(cli); +done: + talloc_destroy(mem_ctx); return result; } @@ -286,25 +294,25 @@ static uint32 cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) if (!cli_nt_session_open (cli, PIPE_NETDFS)) { DEBUG(0, ("Could not initialize netdfs pipe!\n")); - return NT_STATUS_UNSUCCESSFUL; + result = NT_STATUS_UNSUCCESSFUL; + goto done; } /* Call RPC function */ if ((result = cli_dfs_get_info(cli, mem_ctx, entrypath, servername, sharename, info_level, &ctr)) - != NT_STATUS_NOPROBLEMO) { - goto done; - } + == NT_STATUS_NOPROBLEMO) { - /* Print results */ + /* Print results */ - display_dfs_info_ctr(&ctr); - - done: + display_dfs_info_ctr(&ctr); + } cli_nt_session_close(cli); +done: + talloc_destroy(mem_ctx); return result; } -- cgit From b031af348c7dcc8c74bf49945211c466b8eca079 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 27 Aug 2001 19:46:22 +0000 Subject: converted another bunch of stuff to NTSTATUS (This used to be commit 1d36250e338ae0ff9fbbf86019809205dd97d05e) --- source3/rpcclient/cmd_dfs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 8059f42f2f..2b47028745 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -53,7 +53,7 @@ static uint32 cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) result = cli_dfs_exist(cli, mem_ctx, &dfs_exists); - if (result == NT_STATUS_NOPROBLEMO) + if (result == NT_STATUS_OK) printf("dfs is %spresent\n", dfs_exists ? "" : "not "); cli_nt_session_close(cli); @@ -252,7 +252,7 @@ static uint32 cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) /* Call RPC function */ if ((result = cli_dfs_enum(cli, mem_ctx, info_level, &ctr)) - == NT_STATUS_NOPROBLEMO) { + == NT_STATUS_OK) { /* Print results */ display_dfs_info_ctr(&ctr); @@ -302,7 +302,7 @@ static uint32 cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) if ((result = cli_dfs_get_info(cli, mem_ctx, entrypath, servername, sharename, info_level, &ctr)) - == NT_STATUS_NOPROBLEMO) { + == NT_STATUS_OK) { /* Print results */ -- cgit From c76dd1404041f42d3a398339cefbeb60f22d2910 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 4 Sep 2001 10:57:29 +0000 Subject: it now all compiles - so try enabling it by default and see what explodes on the build farm (This used to be commit 5bb7e4f0f65edf1db20245f403cbe81833134240) --- source3/rpcclient/cmd_dfs.c | 48 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 25 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 2b47028745..a00b429d5b 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -27,15 +27,15 @@ extern pstring server; /* Check DFS is supported by the remote server */ -static uint32 cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) { TALLOC_CTX *mem_ctx; BOOL dfs_exists; - uint32 result; + NTSTATUS result; if (argc != 1) { printf("Usage: %s\n", argv[0]); - return 0; + return NT_STATUS_OK; } if (!(mem_ctx = talloc_init())) { @@ -53,7 +53,7 @@ static uint32 cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) result = cli_dfs_exist(cli, mem_ctx, &dfs_exists); - if (result == NT_STATUS_OK) + if (NT_STATUS_IS_OK(result)) printf("dfs is %spresent\n", dfs_exists ? "" : "not "); cli_nt_session_close(cli); @@ -63,17 +63,17 @@ done: return result; } -static uint32 cmd_dfs_add(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_add(struct cli_state *cli, int argc, char **argv) { TALLOC_CTX *mem_ctx; - uint32 result; + NTSTATUS result; char *entrypath, *servername, *sharename, *comment; uint32 flags = 0; if (argc != 5) { printf("Usage: %s entrypath servername sharename comment\n", argv[0]); - return 0; + return NT_STATUS_OK; } entrypath = argv[1]; @@ -104,15 +104,15 @@ done: return result; } -static uint32 cmd_dfs_remove(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_remove(struct cli_state *cli, int argc, char **argv) { TALLOC_CTX *mem_ctx; - uint32 result; + NTSTATUS result; char *entrypath, *servername, *sharename; if (argc != 4) { printf("Usage: %s entrypath servername sharename\n", argv[0]); - return 0; + return NT_STATUS_OK; } entrypath = argv[1]; @@ -222,15 +222,16 @@ static void display_dfs_info_ctr(DFS_INFO_CTR *ctr) /* Enumerate dfs shares */ -static uint32 cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) { TALLOC_CTX *mem_ctx; DFS_INFO_CTR ctr; - uint32 result, info_level = 1; + NTSTATUS result; + uint32 info_level = 1; if (argc > 2) { printf("Usage: %s [info_level]\n", argv[0]); - return 0; + return NT_STATUS_OK; } if (argc == 2) @@ -238,7 +239,7 @@ static uint32 cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) if (!(mem_ctx = talloc_init())) { DEBUG(0,("cmd_dfs_enum: talloc_init failed\n")); - return NT_STATUS_UNSUCCESSFUL; + return NT_STATUS_NO_MEMORY; } /* Initialise RPC connection */ @@ -251,9 +252,8 @@ static uint32 cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) /* Call RPC function */ - if ((result = cli_dfs_enum(cli, mem_ctx, info_level, &ctr)) - == NT_STATUS_OK) { - + result = cli_dfs_enum(cli, mem_ctx, info_level, &ctr); + if (NT_STATUS_IS_OK(result)) { /* Print results */ display_dfs_info_ctr(&ctr); } @@ -265,17 +265,17 @@ done: return result; } -static uint32 cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) { TALLOC_CTX *mem_ctx; - uint32 result; + NTSTATUS result; char *entrypath, *servername, *sharename; uint32 info_level = 1; DFS_INFO_CTR ctr; if (argc < 4 || argc > 5) { printf("Usage: %s entrypath servername sharename [info_level]\n", argv[0]); - return 0; + return NT_STATUS_OK; } entrypath = argv[1]; @@ -300,12 +300,10 @@ static uint32 cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) /* Call RPC function */ - if ((result = cli_dfs_get_info(cli, mem_ctx, entrypath, servername, - sharename, info_level, &ctr)) - == NT_STATUS_OK) { - + result = cli_dfs_get_info(cli, mem_ctx, entrypath, servername, + sharename, info_level, &ctr); + if (NT_STATUS_IS_OK(result)) { /* Print results */ - display_dfs_info_ctr(&ctr); } -- cgit From dc1fc3ee8ec2199bc73bb5d7ec711c6800f61d65 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Tue, 2 Oct 2001 04:29:50 +0000 Subject: Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header. (This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e) --- source3/rpcclient/cmd_dfs.c | 1 - 1 file changed, 1 deletion(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index a00b429d5b..a3de9f626d 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -22,7 +22,6 @@ #include "includes.h" -extern int DEBUGLEVEL; extern pstring server; /* Check DFS is supported by the remote server */ -- cgit From 439c7e0ca2ceb866cac4f0fbed65e157aa12482d Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Fri, 12 Oct 2001 05:56:23 +0000 Subject: Some old stuff hanging around since the CIFS conference. Big cleanup of rpcclient code. Refactored cmd_* functions to move common mem_ctx and pipe opening stuff up one level. Moved rpcclient.h into rpcclient directory and out of includes/smb.h (This used to be commit a40facba9651f9fb1dcc9e143f92ca298a324312) --- source3/rpcclient/cmd_dfs.c | 135 ++++++++------------------------------------ 1 file changed, 22 insertions(+), 113 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index a3de9f626d..78f68dcc86 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -21,14 +21,13 @@ */ #include "includes.h" - -extern pstring server; +#include "rpcclient.h" /* Check DFS is supported by the remote server */ -static NTSTATUS cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_exist(struct cli_state *cli, TALLOC_CTX *mem_ctx, + int argc, char **argv) { - TALLOC_CTX *mem_ctx; BOOL dfs_exists; NTSTATUS result; @@ -37,34 +36,17 @@ static NTSTATUS cmd_dfs_exist(struct cli_state *cli, int argc, char **argv) return NT_STATUS_OK; } - if (!(mem_ctx = talloc_init())) { - DEBUG(0,("cmd_dfs_exist: talloc_init failed\n")); - return NT_STATUS_UNSUCCESSFUL; - } - - /* Initialise RPC connection */ - - if (!cli_nt_session_open (cli, PIPE_NETDFS)) { - DEBUG(0, ("Could not initialize netdfs pipe!\n")); - result = NT_STATUS_UNSUCCESSFUL; - goto done; - } - result = cli_dfs_exist(cli, mem_ctx, &dfs_exists); if (NT_STATUS_IS_OK(result)) printf("dfs is %spresent\n", dfs_exists ? "" : "not "); - cli_nt_session_close(cli); - -done: - talloc_destroy(mem_ctx); return result; } -static NTSTATUS cmd_dfs_add(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_add(struct cli_state *cli, TALLOC_CTX *mem_ctx, + int argc, char **argv) { - TALLOC_CTX *mem_ctx; NTSTATUS result; char *entrypath, *servername, *sharename, *comment; uint32 flags = 0; @@ -80,32 +62,15 @@ static NTSTATUS cmd_dfs_add(struct cli_state *cli, int argc, char **argv) sharename = argv[3]; comment = argv[4]; - if (!(mem_ctx = talloc_init())) { - DEBUG(0,("cmd_dfs_add: talloc_init failed\n")); - return NT_STATUS_UNSUCCESSFUL; - } - - /* Initialise RPC connection */ - - if (!cli_nt_session_open (cli, PIPE_NETDFS)) { - DEBUG(0, ("Could not initialize netdfs pipe!\n")); - result = NT_STATUS_UNSUCCESSFUL; - goto done; - } - result = cli_dfs_add(cli, mem_ctx, entrypath, servername, sharename, comment, flags); - cli_nt_session_close(cli); - -done: - talloc_destroy(mem_ctx); return result; } -static NTSTATUS cmd_dfs_remove(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_remove(struct cli_state *cli, TALLOC_CTX *mem_ctx, + int argc, char **argv) { - TALLOC_CTX *mem_ctx; NTSTATUS result; char *entrypath, *servername, *sharename; @@ -118,26 +83,9 @@ static NTSTATUS cmd_dfs_remove(struct cli_state *cli, int argc, char **argv) servername = argv[2]; sharename = argv[3]; - if (!(mem_ctx = talloc_init())) { - DEBUG(0,("cmd_dfs_remove: talloc_init failed\n")); - return NT_STATUS_UNSUCCESSFUL; - } - - /* Initialise RPC connection */ - - if (!cli_nt_session_open (cli, PIPE_NETDFS)) { - DEBUG(0, ("Could not initialize netdfs pipe!\n")); - result = NT_STATUS_UNSUCCESSFUL; - goto done; - } - result = cli_dfs_remove(cli, mem_ctx, entrypath, servername, sharename); - cli_nt_session_close(cli); - -done: - talloc_destroy(mem_ctx); return result; } @@ -221,9 +169,9 @@ static void display_dfs_info_ctr(DFS_INFO_CTR *ctr) /* Enumerate dfs shares */ -static NTSTATUS cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, + int argc, char **argv) { - TALLOC_CTX *mem_ctx; DFS_INFO_CTR ctr; NTSTATUS result; uint32 info_level = 1; @@ -236,44 +184,25 @@ static NTSTATUS cmd_dfs_enum(struct cli_state *cli, int argc, char **argv) if (argc == 2) info_level = atoi(argv[1]); - if (!(mem_ctx = talloc_init())) { - DEBUG(0,("cmd_dfs_enum: talloc_init failed\n")); - return NT_STATUS_NO_MEMORY; - } - - /* Initialise RPC connection */ - - if (!cli_nt_session_open (cli, PIPE_NETDFS)) { - DEBUG(0, ("Could not initialize netdfs pipe!\n")); - result = NT_STATUS_UNSUCCESSFUL; - goto done; - } - - /* Call RPC function */ - result = cli_dfs_enum(cli, mem_ctx, info_level, &ctr); - if (NT_STATUS_IS_OK(result)) { - /* Print results */ - display_dfs_info_ctr(&ctr); - } - cli_nt_session_close(cli); + if (NT_STATUS_IS_OK(result)) + display_dfs_info_ctr(&ctr); -done: - talloc_destroy(mem_ctx); return result; } -static NTSTATUS cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) +static NTSTATUS cmd_dfs_getinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, + int argc, char **argv) { - TALLOC_CTX *mem_ctx; NTSTATUS result; char *entrypath, *servername, *sharename; uint32 info_level = 1; DFS_INFO_CTR ctr; if (argc < 4 || argc > 5) { - printf("Usage: %s entrypath servername sharename [info_level]\n", argv[0]); + printf("Usage: %s entrypath servername sharename " + "[info_level]\n", argv[0]); return NT_STATUS_OK; } @@ -284,32 +213,12 @@ static NTSTATUS cmd_dfs_getinfo(struct cli_state *cli, int argc, char **argv) if (argc == 5) info_level = atoi(argv[4]); - if (!(mem_ctx = talloc_init())) { - DEBUG(0,("cmd_dfs_getinfo: talloc_init failed\n")); - return NT_STATUS_UNSUCCESSFUL; - } - - /* Initialise RPC connection */ - - if (!cli_nt_session_open (cli, PIPE_NETDFS)) { - DEBUG(0, ("Could not initialize netdfs pipe!\n")); - result = NT_STATUS_UNSUCCESSFUL; - goto done; - } - - /* Call RPC function */ - result = cli_dfs_get_info(cli, mem_ctx, entrypath, servername, sharename, info_level, &ctr); - if (NT_STATUS_IS_OK(result)) { - /* Print results */ - display_dfs_info_ctr(&ctr); - } - cli_nt_session_close(cli); + if (NT_STATUS_IS_OK(result)) + display_dfs_info_ctr(&ctr); -done: - talloc_destroy(mem_ctx); return result; } @@ -319,11 +228,11 @@ struct cmd_set dfs_commands[] = { { "DFS" }, - { "dfsexist", cmd_dfs_exist, "Query DFS support", "" }, - { "dfsadd", cmd_dfs_add, "Add a DFS share", "" }, - { "dfsremove", cmd_dfs_remove, "Remove a DFS share", "" }, - { "dfsgetinfo", cmd_dfs_getinfo, "Query DFS share info", "" }, - { "dfsenum", cmd_dfs_enum, "Enumerate dfs shares", "" }, + { "dfsexist", cmd_dfs_exist, PIPE_NETDFS, "Query DFS support", "" }, + { "dfsadd", cmd_dfs_add, PIPE_NETDFS, "Add a DFS share", "" }, + { "dfsremove", cmd_dfs_remove, PIPE_NETDFS, "Remove a DFS share", "" }, + { "dfsgetinfo", cmd_dfs_getinfo, PIPE_NETDFS, "Query DFS share info", "" }, + { "dfsenum", cmd_dfs_enum, PIPE_NETDFS, "Enumerate dfs shares", "" }, { NULL } }; -- cgit From cd68afe31256ad60748b34f7318a180cfc2127cc Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Wed, 30 Jan 2002 06:08:46 +0000 Subject: Removed version number from file header. Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa) --- source3/rpcclient/cmd_dfs.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 78f68dcc86..8a3c3e9db3 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -1,6 +1,5 @@ /* - Unix SMB/Netbios implementation. - Version 2.2 + Unix SMB/CIFS implementation. RPC pipe client Copyright (C) Tim Potter 2000 -- cgit From 36ef82a52953384acedbd51f54ded9357fa8ca3e Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 4 Oct 2002 04:10:23 +0000 Subject: merge of new client side support the Win2k LSARPC UUID in rpcbind from APP_HEAD (This used to be commit 1cfd2ee433305e91e87804dd55d10e025d30a69e) --- source3/rpcclient/cmd_dfs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 8a3c3e9db3..e3c4b77645 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -227,11 +227,11 @@ struct cmd_set dfs_commands[] = { { "DFS" }, - { "dfsexist", cmd_dfs_exist, PIPE_NETDFS, "Query DFS support", "" }, - { "dfsadd", cmd_dfs_add, PIPE_NETDFS, "Add a DFS share", "" }, - { "dfsremove", cmd_dfs_remove, PIPE_NETDFS, "Remove a DFS share", "" }, - { "dfsgetinfo", cmd_dfs_getinfo, PIPE_NETDFS, "Query DFS share info", "" }, - { "dfsenum", cmd_dfs_enum, PIPE_NETDFS, "Enumerate dfs shares", "" }, + { "dfsexist", cmd_dfs_exist, PI_NETDFS, "Query DFS support", "" }, + { "dfsadd", cmd_dfs_add, PI_NETDFS, "Add a DFS share", "" }, + { "dfsremove", cmd_dfs_remove, PI_NETDFS, "Remove a DFS share", "" }, + { "dfsgetinfo", cmd_dfs_getinfo, PI_NETDFS, "Query DFS share info", "" }, + { "dfsenum", cmd_dfs_enum, PI_NETDFS, "Enumerate dfs shares", "" }, { NULL } }; -- cgit From 1788f806e7655aa37cff22eaa6f3f424fb779274 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Tue, 25 Feb 2003 23:51:56 +0000 Subject: Merge: const fixes. (This used to be commit a20aba09996e470425a151271237f2d48a8302af) --- source3/rpcclient/cmd_dfs.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index e3c4b77645..715174c824 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -25,7 +25,7 @@ /* Check DFS is supported by the remote server */ static NTSTATUS cmd_dfs_exist(struct cli_state *cli, TALLOC_CTX *mem_ctx, - int argc, char **argv) + int argc, const char **argv) { BOOL dfs_exists; NTSTATUS result; @@ -44,10 +44,10 @@ static NTSTATUS cmd_dfs_exist(struct cli_state *cli, TALLOC_CTX *mem_ctx, } static NTSTATUS cmd_dfs_add(struct cli_state *cli, TALLOC_CTX *mem_ctx, - int argc, char **argv) + int argc, const char **argv) { NTSTATUS result; - char *entrypath, *servername, *sharename, *comment; + const char *entrypath, *servername, *sharename, *comment; uint32 flags = 0; if (argc != 5) { @@ -68,10 +68,10 @@ static NTSTATUS cmd_dfs_add(struct cli_state *cli, TALLOC_CTX *mem_ctx, } static NTSTATUS cmd_dfs_remove(struct cli_state *cli, TALLOC_CTX *mem_ctx, - int argc, char **argv) + int argc, const char **argv) { NTSTATUS result; - char *entrypath, *servername, *sharename; + const char *entrypath, *servername, *sharename; if (argc != 4) { printf("Usage: %s entrypath servername sharename\n", argv[0]); @@ -169,7 +169,7 @@ static void display_dfs_info_ctr(DFS_INFO_CTR *ctr) /* Enumerate dfs shares */ static NTSTATUS cmd_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, - int argc, char **argv) + int argc, const char **argv) { DFS_INFO_CTR ctr; NTSTATUS result; @@ -192,10 +192,10 @@ static NTSTATUS cmd_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, } static NTSTATUS cmd_dfs_getinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, - int argc, char **argv) + int argc, const char **argv) { NTSTATUS result; - char *entrypath, *servername, *sharename; + const char *entrypath, *servername, *sharename; uint32 info_level = 1; DFS_INFO_CTR ctr; -- cgit From 417bf608f4253fadf4b227b5f7360f03b0193ff2 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Tue, 18 Mar 2003 06:30:30 +0000 Subject: Merge of waider's rpcclient return type patch. (This used to be commit fb91bfa7a28f548dcc549f7e09805e4485c83538) --- source3/rpcclient/cmd_dfs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 715174c824..44e97f9881 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -227,11 +227,11 @@ struct cmd_set dfs_commands[] = { { "DFS" }, - { "dfsexist", cmd_dfs_exist, PI_NETDFS, "Query DFS support", "" }, - { "dfsadd", cmd_dfs_add, PI_NETDFS, "Add a DFS share", "" }, - { "dfsremove", cmd_dfs_remove, PI_NETDFS, "Remove a DFS share", "" }, - { "dfsgetinfo", cmd_dfs_getinfo, PI_NETDFS, "Query DFS share info", "" }, - { "dfsenum", cmd_dfs_enum, PI_NETDFS, "Enumerate dfs shares", "" }, + { "dfsexist", RPC_RTYPE_NTSTATUS, cmd_dfs_exist, NULL, PI_NETDFS, "Query DFS support", "" }, + { "dfsadd", RPC_RTYPE_NTSTATUS, cmd_dfs_add, NULL, PI_NETDFS, "Add a DFS share", "" }, + { "dfsremove", RPC_RTYPE_NTSTATUS, cmd_dfs_remove, NULL, PI_NETDFS, "Remove a DFS share", "" }, + { "dfsgetinfo",RPC_RTYPE_NTSTATUS, cmd_dfs_getinfo, NULL, PI_NETDFS, "Query DFS share info", "" }, + { "dfsenum", RPC_RTYPE_NTSTATUS, cmd_dfs_enum, NULL, PI_NETDFS, "Enumerate dfs shares", "" }, { NULL } }; -- cgit From 54abd2aa66069e6baf7769c496f46d9dba18db39 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 30 Sep 2005 17:13:37 +0000 Subject: r10656: BIG merge from trunk. Features not copied over * \PIPE\unixinfo * winbindd's {group,alias}membership new functions * winbindd's lookupsids() functionality * swat (trunk changes to be reverted as per discussion with Deryck) (This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3) --- source3/rpcclient/cmd_dfs.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 44e97f9881..956dbfa402 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -24,7 +24,7 @@ /* Check DFS is supported by the remote server */ -static NTSTATUS cmd_dfs_exist(struct cli_state *cli, TALLOC_CTX *mem_ctx, +static NTSTATUS cmd_dfs_exist(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { BOOL dfs_exists; @@ -35,7 +35,7 @@ static NTSTATUS cmd_dfs_exist(struct cli_state *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_OK; } - result = cli_dfs_exist(cli, mem_ctx, &dfs_exists); + result = rpccli_dfs_exist(cli, mem_ctx, &dfs_exists); if (NT_STATUS_IS_OK(result)) printf("dfs is %spresent\n", dfs_exists ? "" : "not "); @@ -43,7 +43,7 @@ static NTSTATUS cmd_dfs_exist(struct cli_state *cli, TALLOC_CTX *mem_ctx, return result; } -static NTSTATUS cmd_dfs_add(struct cli_state *cli, TALLOC_CTX *mem_ctx, +static NTSTATUS cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { NTSTATUS result; @@ -61,13 +61,13 @@ static NTSTATUS cmd_dfs_add(struct cli_state *cli, TALLOC_CTX *mem_ctx, sharename = argv[3]; comment = argv[4]; - result = cli_dfs_add(cli, mem_ctx, entrypath, servername, + result = rpccli_dfs_add(cli, mem_ctx, entrypath, servername, sharename, comment, flags); return result; } -static NTSTATUS cmd_dfs_remove(struct cli_state *cli, TALLOC_CTX *mem_ctx, +static NTSTATUS cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { NTSTATUS result; @@ -82,7 +82,7 @@ static NTSTATUS cmd_dfs_remove(struct cli_state *cli, TALLOC_CTX *mem_ctx, servername = argv[2]; sharename = argv[3]; - result = cli_dfs_remove(cli, mem_ctx, entrypath, servername, + result = rpccli_dfs_remove(cli, mem_ctx, entrypath, servername, sharename); return result; @@ -168,7 +168,7 @@ static void display_dfs_info_ctr(DFS_INFO_CTR *ctr) /* Enumerate dfs shares */ -static NTSTATUS cmd_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, +static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { DFS_INFO_CTR ctr; @@ -183,7 +183,7 @@ static NTSTATUS cmd_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, if (argc == 2) info_level = atoi(argv[1]); - result = cli_dfs_enum(cli, mem_ctx, info_level, &ctr); + result = rpccli_dfs_enum(cli, mem_ctx, info_level, &ctr); if (NT_STATUS_IS_OK(result)) display_dfs_info_ctr(&ctr); @@ -191,7 +191,7 @@ static NTSTATUS cmd_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, return result; } -static NTSTATUS cmd_dfs_getinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, +static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { NTSTATUS result; @@ -212,7 +212,7 @@ static NTSTATUS cmd_dfs_getinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, if (argc == 5) info_level = atoi(argv[4]); - result = cli_dfs_get_info(cli, mem_ctx, entrypath, servername, + result = rpccli_dfs_get_info(cli, mem_ctx, entrypath, servername, sharename, info_level, &ctr); if (NT_STATUS_IS_OK(result)) @@ -227,11 +227,11 @@ struct cmd_set dfs_commands[] = { { "DFS" }, - { "dfsexist", RPC_RTYPE_NTSTATUS, cmd_dfs_exist, NULL, PI_NETDFS, "Query DFS support", "" }, - { "dfsadd", RPC_RTYPE_NTSTATUS, cmd_dfs_add, NULL, PI_NETDFS, "Add a DFS share", "" }, - { "dfsremove", RPC_RTYPE_NTSTATUS, cmd_dfs_remove, NULL, PI_NETDFS, "Remove a DFS share", "" }, - { "dfsgetinfo",RPC_RTYPE_NTSTATUS, cmd_dfs_getinfo, NULL, PI_NETDFS, "Query DFS share info", "" }, - { "dfsenum", RPC_RTYPE_NTSTATUS, cmd_dfs_enum, NULL, PI_NETDFS, "Enumerate dfs shares", "" }, + { "dfsexist", RPC_RTYPE_NTSTATUS, cmd_dfs_exist, NULL, PI_NETDFS, NULL, "Query DFS support", "" }, + { "dfsadd", RPC_RTYPE_NTSTATUS, cmd_dfs_add, NULL, PI_NETDFS, NULL, "Add a DFS share", "" }, + { "dfsremove", RPC_RTYPE_NTSTATUS, cmd_dfs_remove, NULL, PI_NETDFS, NULL, "Remove a DFS share", "" }, + { "dfsgetinfo",RPC_RTYPE_NTSTATUS, cmd_dfs_getinfo, NULL, PI_NETDFS, NULL, "Query DFS share info", "" }, + { "dfsenum", RPC_RTYPE_NTSTATUS, cmd_dfs_enum, NULL, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, { NULL } }; -- cgit From 0af1500fc0bafe61019f1b2ab1d9e1d369221240 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 3 Feb 2006 22:19:41 +0000 Subject: r13316: Let the carnage begin.... Sync with trunk as off r13315 (This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f) --- source3/rpcclient/cmd_dfs.c | 111 ++++++++++++++++++++++++++------------------ 1 file changed, 66 insertions(+), 45 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 956dbfa402..b4d43bda5e 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -3,6 +3,7 @@ RPC pipe client Copyright (C) Tim Potter 2000 + Copyright (C) Jelmer Vernooij 2005. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,7 +28,7 @@ static NTSTATUS cmd_dfs_exist(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { - BOOL dfs_exists; + uint32 dfs_exists; NTSTATUS result; if (argc != 1) { @@ -35,7 +36,7 @@ static NTSTATUS cmd_dfs_exist(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_OK; } - result = rpccli_dfs_exist(cli, mem_ctx, &dfs_exists); + result = rpccli_dfs_GetManagerVersion(cli, mem_ctx, &dfs_exists); if (NT_STATUS_IS_OK(result)) printf("dfs is %spresent\n", dfs_exists ? "" : "not "); @@ -47,21 +48,21 @@ static NTSTATUS cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { NTSTATUS result; - const char *entrypath, *servername, *sharename, *comment; + const char *path, *servername, *sharename, *comment; uint32 flags = 0; if (argc != 5) { - printf("Usage: %s entrypath servername sharename comment\n", + printf("Usage: %s path servername sharename comment\n", argv[0]); return NT_STATUS_OK; } - entrypath = argv[1]; + path = argv[1]; servername = argv[2]; sharename = argv[3]; comment = argv[4]; - result = rpccli_dfs_add(cli, mem_ctx, entrypath, servername, + result = rpccli_dfs_Add(cli, mem_ctx, path, servername, sharename, comment, flags); return result; @@ -71,18 +72,18 @@ static NTSTATUS cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { NTSTATUS result; - const char *entrypath, *servername, *sharename; + const char *path, *servername, *sharename; if (argc != 4) { - printf("Usage: %s entrypath servername sharename\n", argv[0]); + printf("Usage: %s path servername sharename\n", argv[0]); return NT_STATUS_OK; } - entrypath = argv[1]; + path = argv[1]; servername = argv[2]; sharename = argv[3]; - result = rpccli_dfs_remove(cli, mem_ctx, entrypath, servername, + result = rpccli_dfs_Remove(cli, mem_ctx, path, servername, sharename); return result; @@ -90,78 +91,92 @@ static NTSTATUS cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, /* Display a DFS_INFO_1 structure */ -static void display_dfs_info_1(DFS_INFO_1 *info1) +static void display_dfs_info_1(NETDFS_DFS_INFO1 *info1) { fstring temp; - unistr2_to_ascii(temp, &info1->entrypath, sizeof(temp) - 1); - printf("entrypath: %s\n", temp); + unistr2_to_ascii(temp, &info1->path, sizeof(temp) - 1); + printf("path: %s\n", temp); } /* Display a DFS_INFO_2 structure */ -static void display_dfs_info_2(DFS_INFO_2 *info2) +static void display_dfs_info_2(NETDFS_DFS_INFO2 *info2) { fstring temp; - unistr2_to_ascii(temp, &info2->entrypath, sizeof(temp) - 1); - printf("entrypath: %s\n", temp); + unistr2_to_ascii(temp, &info2->path, sizeof(temp) - 1); + printf("path: %s\n", temp); unistr2_to_ascii(temp, &info2->comment, sizeof(temp) - 1); printf("\tcomment: %s\n", temp); printf("\tstate: %d\n", info2->state); - printf("\tnum_storages: %d\n", info2->num_storages); + printf("\tnum_stores: %d\n", info2->num_stores); } /* Display a DFS_INFO_3 structure */ -static void display_dfs_info_3(DFS_INFO_3 *info3) +static void display_dfs_info_3(NETDFS_DFS_INFO3 *info3) { fstring temp; int i; - unistr2_to_ascii(temp, &info3->entrypath, sizeof(temp) - 1); - printf("entrypath: %s\n", temp); + unistr2_to_ascii(temp, &info3->path, sizeof(temp) - 1); + printf("path: %s\n", temp); unistr2_to_ascii(temp, &info3->comment, sizeof(temp) - 1); printf("\tcomment: %s\n", temp); printf("\tstate: %d\n", info3->state); - printf("\tnum_storages: %d\n", info3->num_storages); + printf("\tnum_stores: %d\n", info3->num_stores); - for (i = 0; i < info3->num_storages; i++) { - DFS_STORAGE_INFO *dsi = &info3->storages[i]; + for (i = 0; i < info3->num_stores; i++) { + NETDFS_DFS_STORAGEINFO *dsi = &info3->stores[i]; - unistr2_to_ascii(temp, &dsi->servername, sizeof(temp) - 1); - printf("\t\tstorage[%d] servername: %s\n", i, temp); + unistr2_to_ascii(temp, &dsi->server, sizeof(temp) - 1); + printf("\t\tstorage[%d] server: %s\n", i, temp); - unistr2_to_ascii(temp, &dsi->sharename, sizeof(temp) - 1); - printf("\t\tstorage[%d] sharename: %s\n", i, temp); + unistr2_to_ascii(temp, &dsi->share, sizeof(temp) - 1); + printf("\t\tstorage[%d] share: %s\n", i, temp); } } -/* Display a DFS_INFO_CTR structure */ -static void display_dfs_info_ctr(DFS_INFO_CTR *ctr) +/* Display a DFS_INFO_CTR structure */ +static void display_dfs_info(NETDFS_DFS_INFO_CTR *ctr) { - int i; - - for (i = 0; i < ctr->num_entries; i++) { - switch (ctr->switch_value) { + switch (ctr->switch_value) { case 0x01: - display_dfs_info_1(&ctr->dfs.info1[i]); + display_dfs_info_1(&ctr->u.info1); break; case 0x02: - display_dfs_info_2(&ctr->dfs.info2[i]); + display_dfs_info_2(&ctr->u.info2); break; case 0x03: - display_dfs_info_3(&ctr->dfs.info3[i]); + display_dfs_info_3(&ctr->u.info3); break; default: printf("unsupported info level %d\n", ctr->switch_value); break; + } +} + +static void display_dfs_enumstruct(NETDFS_DFS_ENUMSTRUCT *ctr) +{ + int i; + + /* count is always the first element, so we can just use info1 here */ + for (i = 0; i < ctr->e.u.info1.count; i++) { + switch (ctr->level) { + case 1: display_dfs_info_1(&ctr->e.u.info1.s[i]); break; + case 2: display_dfs_info_2(&ctr->e.u.info2.s[i]); break; + case 3: display_dfs_info_3(&ctr->e.u.info3.s[i]); break; + default: + printf("unsupported info level %d\n", + ctr->level); + return; } } } @@ -171,9 +186,11 @@ static void display_dfs_info_ctr(DFS_INFO_CTR *ctr) static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { - DFS_INFO_CTR ctr; + NETDFS_DFS_ENUMSTRUCT str; + NETDFS_DFS_ENUMINFO_CTR ctr; NTSTATUS result; uint32 info_level = 1; + uint32 unknown = 0, total = 0; if (argc > 2) { printf("Usage: %s [info_level]\n", argv[0]); @@ -183,10 +200,14 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, if (argc == 2) info_level = atoi(argv[1]); - result = rpccli_dfs_enum(cli, mem_ctx, info_level, &ctr); + ZERO_STRUCT(ctr); + init_netdfs_dfs_EnumStruct(&str, info_level, ctr); + str.e.ptr0 = 1; + + result = rpccli_dfs_Enum(cli, mem_ctx, info_level, 0xFFFFFFFF, &str, &unknown, &total); if (NT_STATUS_IS_OK(result)) - display_dfs_info_ctr(&ctr); + display_dfs_enumstruct(&str); return result; } @@ -195,28 +216,28 @@ static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx int argc, const char **argv) { NTSTATUS result; - const char *entrypath, *servername, *sharename; + const char *path, *servername, *sharename; uint32 info_level = 1; - DFS_INFO_CTR ctr; + NETDFS_DFS_INFO_CTR ctr; if (argc < 4 || argc > 5) { - printf("Usage: %s entrypath servername sharename " + printf("Usage: %s path servername sharename " "[info_level]\n", argv[0]); return NT_STATUS_OK; } - entrypath = argv[1]; + path = argv[1]; servername = argv[2]; sharename = argv[3]; if (argc == 5) info_level = atoi(argv[4]); - result = rpccli_dfs_get_info(cli, mem_ctx, entrypath, servername, + result = rpccli_dfs_GetInfo(cli, mem_ctx, path, servername, sharename, info_level, &ctr); if (NT_STATUS_IS_OK(result)) - display_dfs_info_ctr(&ctr); + display_dfs_info(&ctr); return result; } -- cgit From 11673dc07a137e911de3920f0ee6717b365f2ab4 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 8 Aug 2006 11:00:16 +0000 Subject: r17453: Fix msdfs RPC management (this broke with the autogenerated dfs rpcs). * Remove "unknown" from dfs_Enum (samba4 dfs IDL updates to follow). * When encountering an unsupported infolevel the rpc server must reply with a dfs_info_0 structure and WERR_OK (observed from w2k3 when talking to nt4). Guenther (This used to be commit f9bef1f08f7d2a4c95c28329ac73e8646f033998) --- source3/rpcclient/cmd_dfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index b4d43bda5e..75543df267 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -190,7 +190,7 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NETDFS_DFS_ENUMINFO_CTR ctr; NTSTATUS result; uint32 info_level = 1; - uint32 unknown = 0, total = 0; + uint32 total = 0; if (argc > 2) { printf("Usage: %s [info_level]\n", argv[0]); @@ -204,7 +204,7 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, init_netdfs_dfs_EnumStruct(&str, info_level, ctr); str.e.ptr0 = 1; - result = rpccli_dfs_Enum(cli, mem_ctx, info_level, 0xFFFFFFFF, &str, &unknown, &total); + result = rpccli_dfs_Enum(cli, mem_ctx, info_level, 0xFFFFFFFF, &str, &total); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); -- cgit From 72c605b4fc518b498688ec032004fded0d2250d7 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 8 Aug 2006 11:45:57 +0000 Subject: r17454: Adding dfs_EnumEx for rpcclient (Samba4 IDL to follow). Guenther (This used to be commit 8c1198c1592e7c07904b448ed7a54b9b23c941df) --- source3/rpcclient/cmd_dfs.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 75543df267..e95b8f7ca0 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -212,6 +212,38 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return result; } +/* Enumerate dfs shares */ + +static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) +{ + NETDFS_DFS_ENUMSTRUCT str; + NETDFS_DFS_ENUMINFO_CTR ctr; + NTSTATUS result; + uint32 info_level = 1; + uint32 total = 0; + + if (argc < 2 || argc > 3) { + printf("Usage: %s dfs_name [info_level]\n", argv[0]); + return NT_STATUS_OK; + } + + if (argc == 3) + info_level = atoi(argv[2]); + + ZERO_STRUCT(ctr); + init_netdfs_dfs_EnumStruct(&str, info_level, ctr); + str.e.ptr0 = 1; + + result = rpccli_dfs_EnumEx(cli, mem_ctx, info_level, 0xFFFFFFFF, &str, &total, argv[1]); + + if (NT_STATUS_IS_OK(result)) + display_dfs_enumstruct(&str); + + return result; +} + + static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { @@ -253,6 +285,7 @@ struct cmd_set dfs_commands[] = { { "dfsremove", RPC_RTYPE_NTSTATUS, cmd_dfs_remove, NULL, PI_NETDFS, NULL, "Remove a DFS share", "" }, { "dfsgetinfo",RPC_RTYPE_NTSTATUS, cmd_dfs_getinfo, NULL, PI_NETDFS, NULL, "Query DFS share info", "" }, { "dfsenum", RPC_RTYPE_NTSTATUS, cmd_dfs_enum, NULL, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, + { "dfsenumex", RPC_RTYPE_NTSTATUS, cmd_dfs_enumex, NULL, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, { NULL } }; -- cgit From 8be112a81bf7d7fb48ee82fd38c1f8d0f85bbc75 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 13 Sep 2006 13:42:23 +0000 Subject: r18469: Use new pidl-generated DFS client code. (This used to be commit e277fb067b1a12d816c8a066839751c1824d27bb) --- source3/rpcclient/cmd_dfs.c | 128 +++++++++++++++++++++++++------------------- 1 file changed, 73 insertions(+), 55 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index e95b8f7ca0..bdc94c3c20 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -91,25 +91,17 @@ static NTSTATUS cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, /* Display a DFS_INFO_1 structure */ -static void display_dfs_info_1(NETDFS_DFS_INFO1 *info1) +static void display_dfs_info_1(struct dfs_Info1 *info1) { - fstring temp; - - unistr2_to_ascii(temp, &info1->path, sizeof(temp) - 1); - printf("path: %s\n", temp); + printf("path: %s\n", info1->path); } /* Display a DFS_INFO_2 structure */ -static void display_dfs_info_2(NETDFS_DFS_INFO2 *info2) +static void display_dfs_info_2(struct dfs_Info2 *info2) { - fstring temp; - - unistr2_to_ascii(temp, &info2->path, sizeof(temp) - 1); - printf("path: %s\n", temp); - - unistr2_to_ascii(temp, &info2->comment, sizeof(temp) - 1); - printf("\tcomment: %s\n", temp); + printf("path: %s\n", info2->path); + printf("\tcomment: %s\n", info2->comment); printf("\tstate: %d\n", info2->state); printf("\tnum_stores: %d\n", info2->num_stores); @@ -117,62 +109,57 @@ static void display_dfs_info_2(NETDFS_DFS_INFO2 *info2) /* Display a DFS_INFO_3 structure */ -static void display_dfs_info_3(NETDFS_DFS_INFO3 *info3) +static void display_dfs_info_3(struct dfs_Info3 *info3) { - fstring temp; int i; - unistr2_to_ascii(temp, &info3->path, sizeof(temp) - 1); - printf("path: %s\n", temp); + printf("path: %s\n", info3->path); - unistr2_to_ascii(temp, &info3->comment, sizeof(temp) - 1); - printf("\tcomment: %s\n", temp); + printf("\tcomment: %s\n", info3->comment); printf("\tstate: %d\n", info3->state); printf("\tnum_stores: %d\n", info3->num_stores); for (i = 0; i < info3->num_stores; i++) { - NETDFS_DFS_STORAGEINFO *dsi = &info3->stores[i]; + struct dfs_StorageInfo *dsi = &info3->stores[i]; - unistr2_to_ascii(temp, &dsi->server, sizeof(temp) - 1); - printf("\t\tstorage[%d] server: %s\n", i, temp); + printf("\t\tstorage[%d] server: %s\n", i, dsi->server); - unistr2_to_ascii(temp, &dsi->share, sizeof(temp) - 1); - printf("\t\tstorage[%d] share: %s\n", i, temp); + printf("\t\tstorage[%d] share: %s\n", i, dsi->share); } } /* Display a DFS_INFO_CTR structure */ -static void display_dfs_info(NETDFS_DFS_INFO_CTR *ctr) +static void display_dfs_info(uint32 level, union dfs_Info *ctr) { - switch (ctr->switch_value) { + switch (level) { case 0x01: - display_dfs_info_1(&ctr->u.info1); + display_dfs_info_1(ctr->info1); break; case 0x02: - display_dfs_info_2(&ctr->u.info2); + display_dfs_info_2(ctr->info2); break; case 0x03: - display_dfs_info_3(&ctr->u.info3); + display_dfs_info_3(ctr->info3); break; default: printf("unsupported info level %d\n", - ctr->switch_value); + level); break; } } -static void display_dfs_enumstruct(NETDFS_DFS_ENUMSTRUCT *ctr) +static void display_dfs_enumstruct(struct dfs_EnumStruct *ctr) { int i; /* count is always the first element, so we can just use info1 here */ - for (i = 0; i < ctr->e.u.info1.count; i++) { + for (i = 0; i < ctr->e.info1->count; i++) { switch (ctr->level) { - case 1: display_dfs_info_1(&ctr->e.u.info1.s[i]); break; - case 2: display_dfs_info_2(&ctr->e.u.info2.s[i]); break; - case 3: display_dfs_info_3(&ctr->e.u.info3.s[i]); break; + case 1: display_dfs_info_1(&ctr->e.info1->s[i]); break; + case 2: display_dfs_info_2(&ctr->e.info2->s[i]); break; + case 3: display_dfs_info_3(&ctr->e.info3->s[i]); break; default: printf("unsupported info level %d\n", ctr->level); @@ -186,25 +173,41 @@ static void display_dfs_enumstruct(NETDFS_DFS_ENUMSTRUCT *ctr) static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { - NETDFS_DFS_ENUMSTRUCT str; - NETDFS_DFS_ENUMINFO_CTR ctr; + struct dfs_EnumStruct str; + struct dfs_EnumArray1 info1; + struct dfs_EnumArray2 info2; + struct dfs_EnumArray3 info3; + struct dfs_EnumArray4 info4; + struct dfs_EnumArray200 info200; + struct dfs_EnumArray300 info300; + NTSTATUS result; - uint32 info_level = 1; uint32 total = 0; + uint32 unknown = 0; if (argc > 2) { printf("Usage: %s [info_level]\n", argv[0]); return NT_STATUS_OK; } + str.level = 1; if (argc == 2) - info_level = atoi(argv[1]); - - ZERO_STRUCT(ctr); - init_netdfs_dfs_EnumStruct(&str, info_level, ctr); - str.e.ptr0 = 1; + str.level = atoi(argv[1]); + + switch (str.level) { + case 1: str.e.info1 = &info1; ZERO_STRUCT(info1); break; + case 2: str.e.info2 = &info2; ZERO_STRUCT(info2); break; + case 3: str.e.info3 = &info3; ZERO_STRUCT(info3); break; + case 4: str.e.info4 = &info4; ZERO_STRUCT(info4); break; + case 200: str.e.info200 = &info200; ZERO_STRUCT(info200); break; + case 300: str.e.info300 = &info300; ZERO_STRUCT(info300); break; + default: + printf("Unknown info level %d\n", str.level); + break; + } - result = rpccli_dfs_Enum(cli, mem_ctx, info_level, 0xFFFFFFFF, &str, &total); + result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &str, &unknown, + &total); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); @@ -217,10 +220,15 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { - NETDFS_DFS_ENUMSTRUCT str; - NETDFS_DFS_ENUMINFO_CTR ctr; + struct dfs_EnumStruct str; + struct dfs_EnumArray1 info1; + struct dfs_EnumArray2 info2; + struct dfs_EnumArray3 info3; + struct dfs_EnumArray4 info4; + struct dfs_EnumArray200 info200; + struct dfs_EnumArray300 info300; + NTSTATUS result; - uint32 info_level = 1; uint32 total = 0; if (argc < 2 || argc > 3) { @@ -229,13 +237,23 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, } if (argc == 3) - info_level = atoi(argv[2]); - - ZERO_STRUCT(ctr); - init_netdfs_dfs_EnumStruct(&str, info_level, ctr); - str.e.ptr0 = 1; + str.level = atoi(argv[2]); + + switch (str.level) { + case 1: str.e.info1 = &info1; ZERO_STRUCT(info1); break; + case 2: str.e.info2 = &info2; ZERO_STRUCT(info2); break; + case 3: str.e.info3 = &info3; ZERO_STRUCT(info3); break; + case 4: str.e.info4 = &info4; ZERO_STRUCT(info4); break; + case 200: str.e.info200 = &info200; ZERO_STRUCT(info200); break; + case 300: str.e.info300 = &info300; ZERO_STRUCT(info300); break; + default: + printf("Unknown info level %d\n", str.level); + break; + } - result = rpccli_dfs_EnumEx(cli, mem_ctx, info_level, 0xFFFFFFFF, &str, &total, argv[1]); + result = rpccli_dfs_EnumEx(cli, mem_ctx, argv[1], + str.level, 0xFFFFFFFF, &str, + &total); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); @@ -250,7 +268,7 @@ static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx NTSTATUS result; const char *path, *servername, *sharename; uint32 info_level = 1; - NETDFS_DFS_INFO_CTR ctr; + union dfs_Info ctr; if (argc < 4 || argc > 5) { printf("Usage: %s path servername sharename " @@ -269,7 +287,7 @@ static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx sharename, info_level, &ctr); if (NT_STATUS_IS_OK(result)) - display_dfs_info(&ctr); + display_dfs_info(info_level, &ctr); return result; } -- cgit From 3372adce58070febd728ee0f941e48d69acc40b4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 19 Nov 2006 18:22:20 +0000 Subject: r19794: Convert DFS (This used to be commit 2efd3b35097a780ce99abad8a10eca536f37fc26) --- source3/rpcclient/cmd_dfs.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index bdc94c3c20..e9e26987e5 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -174,6 +174,7 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { struct dfs_EnumStruct str; + struct dfs_EnumStruct *pstr = &str; struct dfs_EnumArray1 info1; struct dfs_EnumArray2 info2; struct dfs_EnumArray3 info3; @@ -183,6 +184,7 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NTSTATUS result; uint32 total = 0; + uint32 *ptotal = &total; uint32 unknown = 0; if (argc > 2) { @@ -206,8 +208,8 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, break; } - result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &str, &unknown, - &total); + result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &pstr, + &unknown, &ptotal); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); @@ -221,6 +223,7 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { struct dfs_EnumStruct str; + struct dfs_EnumStruct *pstr = &str; struct dfs_EnumArray1 info1; struct dfs_EnumArray2 info2; struct dfs_EnumArray3 info3; @@ -230,6 +233,7 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NTSTATUS result; uint32 total = 0; + uint32 *ptotal = &total; if (argc < 2 || argc > 3) { printf("Usage: %s dfs_name [info_level]\n", argv[0]); @@ -251,9 +255,8 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, break; } - result = rpccli_dfs_EnumEx(cli, mem_ctx, argv[1], - str.level, 0xFFFFFFFF, &str, - &total); + result = rpccli_dfs_EnumEx(cli, mem_ctx, argv[1], str.level, + 0xFFFFFFFF, &pstr, &ptotal); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); -- cgit From 62e11c4f1748d98f479110c8c0e656a8f65dca4d Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 16 Jan 2007 15:42:03 +0000 Subject: r20832: Remove extra pointers previously added to unique [out] pointers. Instead, add [ref] pointers where necessary (top-level [ref] pointers, by spec, don't appear on the wire). This brings us closer to the DCE/RPC standard again. (This used to be commit 580f2a7197b1bc9db14a643fdd112b40ef37aaef) --- source3/rpcclient/cmd_dfs.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index e9e26987e5..7e898ddc52 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -174,7 +174,6 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { struct dfs_EnumStruct str; - struct dfs_EnumStruct *pstr = &str; struct dfs_EnumArray1 info1; struct dfs_EnumArray2 info2; struct dfs_EnumArray3 info3; @@ -184,7 +183,6 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NTSTATUS result; uint32 total = 0; - uint32 *ptotal = &total; uint32 unknown = 0; if (argc > 2) { @@ -208,8 +206,8 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, break; } - result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &pstr, - &unknown, &ptotal); + result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &str, + &unknown, &total); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); @@ -223,7 +221,6 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { struct dfs_EnumStruct str; - struct dfs_EnumStruct *pstr = &str; struct dfs_EnumArray1 info1; struct dfs_EnumArray2 info2; struct dfs_EnumArray3 info3; @@ -233,7 +230,6 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NTSTATUS result; uint32 total = 0; - uint32 *ptotal = &total; if (argc < 2 || argc > 3) { printf("Usage: %s dfs_name [info_level]\n", argv[0]); @@ -256,7 +252,7 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, } result = rpccli_dfs_EnumEx(cli, mem_ctx, argv[1], str.level, - 0xFFFFFFFF, &pstr, &ptotal); + 0xFFFFFFFF, &str, &total); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); -- cgit From 6eb18630f789d4188e299a5d60e796161e2996ad Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 27 Jun 2007 09:23:50 +0000 Subject: r23623: Fix rpcclient and rpc_server with new DFS idl. Guenther (This used to be commit bffe33dd261fdcf9ef8f9f232c15559661843c7c) --- source3/rpcclient/cmd_dfs.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 7e898ddc52..8564e93bd3 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -25,10 +25,10 @@ /* Check DFS is supported by the remote server */ -static NTSTATUS cmd_dfs_exist(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - int argc, const char **argv) +static NTSTATUS cmd_dfs_version(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) { - uint32 dfs_exists; + enum dfs_ManagerVersion version; NTSTATUS result; if (argc != 1) { @@ -36,12 +36,19 @@ static NTSTATUS cmd_dfs_exist(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return NT_STATUS_OK; } - result = rpccli_dfs_GetManagerVersion(cli, mem_ctx, &dfs_exists); + result = rpccli_dfs_GetManagerVersion(cli, mem_ctx, &version); - if (NT_STATUS_IS_OK(result)) - printf("dfs is %spresent\n", dfs_exists ? "" : "not "); + if (!NT_STATUS_IS_OK(result)) { + return result; + } - return result; + if (version > 0) { + printf("dfs is present (%d)\n", version); + } else { + printf("dfs is not present\n"); + } + + return NT_STATUS_OK; } static NTSTATUS cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, @@ -183,7 +190,6 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NTSTATUS result; uint32 total = 0; - uint32 unknown = 0; if (argc > 2) { printf("Usage: %s [info_level]\n", argv[0]); @@ -207,7 +213,7 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, } result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &str, - &unknown, &total); + &total); if (NT_STATUS_IS_OK(result)) display_dfs_enumstruct(&str); @@ -297,7 +303,7 @@ struct cmd_set dfs_commands[] = { { "DFS" }, - { "dfsexist", RPC_RTYPE_NTSTATUS, cmd_dfs_exist, NULL, PI_NETDFS, NULL, "Query DFS support", "" }, + { "dfsversion", RPC_RTYPE_NTSTATUS, cmd_dfs_version, NULL, PI_NETDFS, NULL, "Query DFS support", "" }, { "dfsadd", RPC_RTYPE_NTSTATUS, cmd_dfs_add, NULL, PI_NETDFS, NULL, "Add a DFS share", "" }, { "dfsremove", RPC_RTYPE_NTSTATUS, cmd_dfs_remove, NULL, PI_NETDFS, NULL, "Remove a DFS share", "" }, { "dfsgetinfo",RPC_RTYPE_NTSTATUS, cmd_dfs_getinfo, NULL, PI_NETDFS, NULL, "Query DFS share info", "" }, -- cgit From d824b98f80ba186030cbb70b3a1e5daf80469ecd Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 9 Jul 2007 19:25:36 +0000 Subject: r23779: Change from v2 or later to v3 or later. Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3) --- source3/rpcclient/cmd_dfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 8564e93bd3..d3dddd2364 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -7,7 +7,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, -- cgit From 5e54558c6dea67b56bbfaba5698f3a434d3dffb6 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 10 Jul 2007 00:52:41 +0000 Subject: r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text (This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07) --- source3/rpcclient/cmd_dfs.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index d3dddd2364..7f3aab3997 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -16,8 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with this program. If not, see . */ #include "includes.h" -- cgit From f942b8852dcac082c9a378ffde13d65813a39fcd Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 3 Dec 2007 18:36:25 +0100 Subject: Fix dfs callers. Guenther (This used to be commit 0a8759d0118715ef1546ae5fc404a26f874f2d80) --- source3/rpcclient/cmd_dfs.c | 98 ++++++++++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 42 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 7f3aab3997..b3198fcf07 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -24,21 +24,21 @@ /* Check DFS is supported by the remote server */ -static NTSTATUS cmd_dfs_version(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - int argc, const char **argv) +static WERROR cmd_dfs_version(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) { enum dfs_ManagerVersion version; NTSTATUS result; if (argc != 1) { printf("Usage: %s\n", argv[0]); - return NT_STATUS_OK; + return WERR_OK; } result = rpccli_dfs_GetManagerVersion(cli, mem_ctx, &version); if (!NT_STATUS_IS_OK(result)) { - return result; + return ntstatus_to_werror(result); } if (version > 0) { @@ -47,20 +47,21 @@ static NTSTATUS cmd_dfs_version(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx printf("dfs is not present\n"); } - return NT_STATUS_OK; + return WERR_OK; } -static NTSTATUS cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - int argc, const char **argv) +static WERROR cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) { NTSTATUS result; + WERROR werr; const char *path, *servername, *sharename, *comment; uint32 flags = 0; if (argc != 5) { printf("Usage: %s path servername sharename comment\n", argv[0]); - return NT_STATUS_OK; + return WERR_OK; } path = argv[1]; @@ -68,31 +69,38 @@ static NTSTATUS cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, sharename = argv[3]; comment = argv[4]; - result = rpccli_dfs_Add(cli, mem_ctx, path, servername, - sharename, comment, flags); + result = rpccli_dfs_Add(cli, mem_ctx, path, servername, + sharename, comment, flags, &werr); + if (!NT_STATUS_IS_OK(result)) { + return ntstatus_to_werror(result); + } - return result; + return werr; } -static NTSTATUS cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - int argc, const char **argv) +static WERROR cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) { NTSTATUS result; + WERROR werr; const char *path, *servername, *sharename; if (argc != 4) { printf("Usage: %s path servername sharename\n", argv[0]); - return NT_STATUS_OK; + return WERR_OK; } path = argv[1]; servername = argv[2]; sharename = argv[3]; - result = rpccli_dfs_Remove(cli, mem_ctx, path, servername, - sharename); + result = rpccli_dfs_Remove(cli, mem_ctx, path, servername, + sharename, &werr); + if (!NT_STATUS_IS_OK(result)) { + return ntstatus_to_werror(result); + } - return result; + return werr; } /* Display a DFS_INFO_1 structure */ @@ -176,8 +184,8 @@ static void display_dfs_enumstruct(struct dfs_EnumStruct *ctr) /* Enumerate dfs shares */ -static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - int argc, const char **argv) +static WERROR cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) { struct dfs_EnumStruct str; struct dfs_EnumArray1 info1; @@ -188,11 +196,12 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, struct dfs_EnumArray300 info300; NTSTATUS result; + WERROR werr; uint32 total = 0; if (argc > 2) { printf("Usage: %s [info_level]\n", argv[0]); - return NT_STATUS_OK; + return WERR_OK; } str.level = 1; @@ -212,18 +221,19 @@ static NTSTATUS cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, } result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &str, - &total); + &total, &werr); - if (NT_STATUS_IS_OK(result)) + if (NT_STATUS_IS_OK(result)) { display_dfs_enumstruct(&str); + } - return result; + return werr; } /* Enumerate dfs shares */ -static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - int argc, const char **argv) +static WERROR cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) { struct dfs_EnumStruct str; struct dfs_EnumArray1 info1; @@ -234,11 +244,12 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, struct dfs_EnumArray300 info300; NTSTATUS result; + WERROR werr; uint32 total = 0; if (argc < 2 || argc > 3) { printf("Usage: %s dfs_name [info_level]\n", argv[0]); - return NT_STATUS_OK; + return WERR_OK; } if (argc == 3) @@ -257,19 +268,21 @@ static NTSTATUS cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, } result = rpccli_dfs_EnumEx(cli, mem_ctx, argv[1], str.level, - 0xFFFFFFFF, &str, &total); + 0xFFFFFFFF, &str, &total, &werr); - if (NT_STATUS_IS_OK(result)) + if (NT_STATUS_IS_OK(result)) { display_dfs_enumstruct(&str); + } - return result; + return werr; } -static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, - int argc, const char **argv) +static WERROR cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + int argc, const char **argv) { NTSTATUS result; + WERROR werr; const char *path, *servername, *sharename; uint32 info_level = 1; union dfs_Info ctr; @@ -277,7 +290,7 @@ static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx if (argc < 4 || argc > 5) { printf("Usage: %s path servername sharename " "[info_level]\n", argv[0]); - return NT_STATUS_OK; + return WERR_OK; } path = argv[1]; @@ -287,13 +300,14 @@ static NTSTATUS cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx if (argc == 5) info_level = atoi(argv[4]); - result = rpccli_dfs_GetInfo(cli, mem_ctx, path, servername, - sharename, info_level, &ctr); + result = rpccli_dfs_GetInfo(cli, mem_ctx, path, servername, + sharename, info_level, &ctr, &werr); - if (NT_STATUS_IS_OK(result)) + if (NT_STATUS_IS_OK(result)) { display_dfs_info(info_level, &ctr); + } - return result; + return werr; } /* List of commands exported by this module */ @@ -302,12 +316,12 @@ struct cmd_set dfs_commands[] = { { "DFS" }, - { "dfsversion", RPC_RTYPE_NTSTATUS, cmd_dfs_version, NULL, PI_NETDFS, NULL, "Query DFS support", "" }, - { "dfsadd", RPC_RTYPE_NTSTATUS, cmd_dfs_add, NULL, PI_NETDFS, NULL, "Add a DFS share", "" }, - { "dfsremove", RPC_RTYPE_NTSTATUS, cmd_dfs_remove, NULL, PI_NETDFS, NULL, "Remove a DFS share", "" }, - { "dfsgetinfo",RPC_RTYPE_NTSTATUS, cmd_dfs_getinfo, NULL, PI_NETDFS, NULL, "Query DFS share info", "" }, - { "dfsenum", RPC_RTYPE_NTSTATUS, cmd_dfs_enum, NULL, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, - { "dfsenumex", RPC_RTYPE_NTSTATUS, cmd_dfs_enumex, NULL, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, + { "dfsversion", RPC_RTYPE_WERROR, NULL, cmd_dfs_version, PI_NETDFS, NULL, "Query DFS support", "" }, + { "dfsadd", RPC_RTYPE_WERROR, NULL, cmd_dfs_add, PI_NETDFS, NULL, "Add a DFS share", "" }, + { "dfsremove", RPC_RTYPE_WERROR, NULL, cmd_dfs_remove, PI_NETDFS, NULL, "Remove a DFS share", "" }, + { "dfsgetinfo", RPC_RTYPE_WERROR, NULL, cmd_dfs_getinfo, PI_NETDFS, NULL, "Query DFS share info", "" }, + { "dfsenum", RPC_RTYPE_WERROR, NULL, cmd_dfs_enum, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, + { "dfsenumex", RPC_RTYPE_WERROR, NULL, cmd_dfs_enumex, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, { NULL } }; -- cgit From 7168f310a64de3647a26d086c167ee9b8b8e39f2 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 21 Mar 2008 11:45:57 +0100 Subject: Fix Coverity ID 507 (This used to be commit 4ea5798b97497359b09d97c27c2005750a6cbddd) --- source3/rpcclient/cmd_dfs.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index b3198fcf07..9630e63cc7 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -252,6 +252,8 @@ static WERROR cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, return WERR_OK; } + str.level = 1; + if (argc == 3) str.level = atoi(argv[2]); -- cgit From 82b5f54f96b1161b8357a69b985c75f2853573ef Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 20 Jul 2008 18:17:52 +0200 Subject: Refactoring: rpcclient uses ndr_syntax_id instead of pipe_idx (This used to be commit 85db87c451dacf80e9575c04e9e08c625b3f1199) --- source3/rpcclient/cmd_dfs.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source3/rpcclient/cmd_dfs.c') diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 9630e63cc7..d55261bea3 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -318,12 +318,12 @@ struct cmd_set dfs_commands[] = { { "DFS" }, - { "dfsversion", RPC_RTYPE_WERROR, NULL, cmd_dfs_version, PI_NETDFS, NULL, "Query DFS support", "" }, - { "dfsadd", RPC_RTYPE_WERROR, NULL, cmd_dfs_add, PI_NETDFS, NULL, "Add a DFS share", "" }, - { "dfsremove", RPC_RTYPE_WERROR, NULL, cmd_dfs_remove, PI_NETDFS, NULL, "Remove a DFS share", "" }, - { "dfsgetinfo", RPC_RTYPE_WERROR, NULL, cmd_dfs_getinfo, PI_NETDFS, NULL, "Query DFS share info", "" }, - { "dfsenum", RPC_RTYPE_WERROR, NULL, cmd_dfs_enum, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, - { "dfsenumex", RPC_RTYPE_WERROR, NULL, cmd_dfs_enumex, PI_NETDFS, NULL, "Enumerate dfs shares", "" }, + { "dfsversion", RPC_RTYPE_WERROR, NULL, cmd_dfs_version, &ndr_table_netdfs.syntax_id, NULL, "Query DFS support", "" }, + { "dfsadd", RPC_RTYPE_WERROR, NULL, cmd_dfs_add, &ndr_table_netdfs.syntax_id, NULL, "Add a DFS share", "" }, + { "dfsremove", RPC_RTYPE_WERROR, NULL, cmd_dfs_remove, &ndr_table_netdfs.syntax_id, NULL, "Remove a DFS share", "" }, + { "dfsgetinfo", RPC_RTYPE_WERROR, NULL, cmd_dfs_getinfo, &ndr_table_netdfs.syntax_id, NULL, "Query DFS share info", "" }, + { "dfsenum", RPC_RTYPE_WERROR, NULL, cmd_dfs_enum, &ndr_table_netdfs.syntax_id, NULL, "Enumerate dfs shares", "" }, + { "dfsenumex", RPC_RTYPE_WERROR, NULL, cmd_dfs_enumex, &ndr_table_netdfs.syntax_id, NULL, "Enumerate dfs shares", "" }, { NULL } }; -- cgit