diff options
-rw-r--r-- | source3/Makefile.in | 2 | ||||
-rw-r--r-- | source3/utils/net.c | 7 | ||||
-rw-r--r-- | source3/utils/net_file.c | 57 | ||||
-rw-r--r-- | source3/utils/net_help.c | 19 | ||||
-rw-r--r-- | source3/utils/net_proto.h | 6 | ||||
-rw-r--r-- | source3/utils/net_rap.c | 2 | ||||
-rw-r--r-- | source3/utils/net_rpc.c | 2 |
7 files changed, 66 insertions, 29 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index 592abe01bf..51c5ea1393 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -881,7 +881,7 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \ utils/net_util.o utils/net_rpc_sh_acct.o utils/net_rpc_audit.o \ $(PASSWD_UTIL_OBJ) utils/net_dns.o utils/net_ads_gpo.o \ utils/net_conf.o utils/net_join.o utils/net_user.o \ - utils/net_group.o utils/net_registry.o \ + utils/net_group.o utils/net_file.o utils/net_registry.o \ auth/token_util.o utils/net_dom.o # these are not processed by make proto diff --git a/source3/utils/net.c b/source3/utils/net.c index 614d3f1ea2..bc5eb72069 100644 --- a/source3/utils/net.c +++ b/source3/utils/net.c @@ -615,13 +615,6 @@ static int net_share(struct net_context *c, int argc, const char **argv) return net_rap_share(c, argc, argv); } -static int net_file(struct net_context *c, int argc, const char **argv) -{ - if (net_rpc_check(c, 0)) - return net_rpc_file(c, argc, argv); - return net_rap_file(c, argc, argv); -} - /* Retrieve our local SID or the SID for the specified name */ diff --git a/source3/utils/net_file.c b/source3/utils/net_file.c new file mode 100644 index 0000000000..8aa1b0e443 --- /dev/null +++ b/source3/utils/net_file.c @@ -0,0 +1,57 @@ +/* + Samba Unix/Linux SMB client library + net file commands + Copyright (C) 2002 Jim McDonough (jmcd@us.ibm.com) + Copyright (C) 2002 Andrew Tridgell (tridge@samba.org) + Copyright (C) 2008 Kai Blin (kai@samba.org) + + 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 3 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, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "utils/net.h" + +int net_file_usage(struct net_context *c, int argc, const char **argv) +{ + d_printf("net [<method>] file [misc. options] [targets]\n"\ + "\tlists all open files on file server\n\n"); + d_printf("net [<method>] file USER <username> "\ + "[misc. options] [targets]"\ + "\n\tlists all files opened by username on file server\n\n"); + d_printf("net [<method>] file CLOSE <id> [misc. options] [targets]\n"\ + "\tcloses specified file on target server\n\n"); + d_printf("net [rap] file INFO <id> [misc. options] [targets]\n"\ + "\tdisplays information about the specified open file\n"); + + net_common_methods_usage(c, argc, argv); + net_common_flags_usage(c, argc, argv); + return -1; +} + +int net_file(struct net_context *c, int argc, const char **argv) +{ + if (argc < 1) + return net_file_usage(c, argc, argv); + + if (StrCaseCmp(argv[0], "HELP") == 0) { + net_file_usage(c, argc, argv); + return 0; + } + + if (net_rpc_check(c, 0)) + return net_rpc_file(c, argc, argv); + return net_rap_file(c, argc, argv); +} + + diff --git a/source3/utils/net_help.c b/source3/utils/net_help.c index 4d53898305..3635ba02f3 100644 --- a/source3/utils/net_help.c +++ b/source3/utils/net_help.c @@ -72,23 +72,6 @@ int net_help_share(struct net_context *c, int argc, const char **argv) return -1; } -int net_help_file(struct net_context *c, int argc, const char **argv) -{ - d_printf("net [<method>] file [misc. options] [targets]\n"\ - "\tlists all open files on file server\n\n"); - d_printf("net [<method>] file USER <username> "\ - "[misc. options] [targets]"\ - "\n\tlists all files opened by username on file server\n\n"); - d_printf("net [<method>] file CLOSE <id> [misc. options] [targets]\n"\ - "\tcloses specified file on target server\n\n"); - d_printf("net [rap] file INFO <id> [misc. options] [targets]\n"\ - "\tdisplays information about the specified open file\n"); - - net_common_methods_usage(c, argc, argv); - net_common_flags_usage(c, argc, argv); - return -1; -} - int net_help_printer(struct net_context *c, int argc, const char **argv) { d_printf("net rpc printer LIST [printer] [misc. options] [targets]\n"\ @@ -170,7 +153,7 @@ int net_help(struct net_context *c, int argc, const char **argv) {"RAP", net_rap_help}, {"RPC", net_rpc_help}, - {"FILE", net_help_file}, + {"FILE", net_file_usage}, {"SHARE", net_help_share}, {"SESSION", net_rap_session_usage}, {"SERVER", net_rap_server_usage}, diff --git a/source3/utils/net_proto.h b/source3/utils/net_proto.h index 0e35ee7fed..82b291e8b2 100644 --- a/source3/utils/net_proto.h +++ b/source3/utils/net_proto.h @@ -138,6 +138,11 @@ int get_my_ip_address( struct sockaddr_storage **pp_ss ); int net_help_dom(struct net_context *c, int argc, const char **argv); int net_dom(struct net_context *c, int argc, const char **argv); +/* The following definitions come from utils/net_file.c */ + +int net_file_usage(struct net_context *c, int argc, const char **argv); +int net_file(struct net_context *c, int argc, const char **argv); + /* The following definitions come from utils/net_group.c */ int net_group_usage(struct net_context *c, int argc, const char **argv); @@ -151,7 +156,6 @@ int net_groupmap(struct net_context *c, int argc, const char **argv); /* The following definitions come from utils/net_help.c */ int net_help_share(struct net_context *c, int argc, const char **argv); -int net_help_file(struct net_context *c, int argc, const char **argv); int net_help_printer(struct net_context *c, int argc, const char **argv); int net_help_status(struct net_context *c, int argc, const char **argv); int net_help(struct net_context *c, int argc, const char **argv); diff --git a/source3/utils/net_rap.c b/source3/utils/net_rap.c index ea46469a29..0d67dcf71d 100644 --- a/source3/utils/net_rap.c +++ b/source3/utils/net_rap.c @@ -49,7 +49,7 @@ static int errmsg_not_implemented(void) int net_rap_file_usage(struct net_context *c, int argc, const char **argv) { - return net_help_file(c, argc, argv); + return net_file_usage(c, argc, argv); } /*************************************************************************** diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c index 2bf2b9b2ad..375c1518ab 100644 --- a/source3/utils/net_rpc.c +++ b/source3/utils/net_rpc.c @@ -4968,7 +4968,7 @@ struct rpc_sh_cmd *net_rpc_share_cmds(struct net_context *c, TALLOC_CTX *mem_ctx static int rpc_file_usage(struct net_context *c, int argc, const char **argv) { - return net_help_file(c, argc, argv); + return net_file_usage(c, argc, argv); } /** |