diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/Makefile.in | 2 | ||||
-rw-r--r-- | source3/utils/net.c | 7 | ||||
-rw-r--r-- | source3/utils/net_help.c | 41 | ||||
-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 | ||||
-rw-r--r-- | source3/utils/net_share.c | 77 |
7 files changed, 86 insertions, 51 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index 6a1bd8dd10..85385f6b01 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -882,7 +882,7 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.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_file.o utils/net_registry.o \ - auth/token_util.o utils/net_dom.o + auth/token_util.o utils/net_dom.o utils/net_share.o # these are not processed by make proto NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o diff --git a/source3/utils/net.c b/source3/utils/net.c index 15064302cd..99e1e0c889 100644 --- a/source3/utils/net.c +++ b/source3/utils/net.c @@ -174,13 +174,6 @@ static int net_changesecretpw(struct net_context *c, int argc, return 0; } -static int net_share(struct net_context *c, int argc, const char **argv) -{ - if (net_rpc_check(c, 0)) - return net_rpc_share(c, argc, argv); - return net_rap_share(c, argc, argv); -} - /* Retrieve our local SID or the SID for the specified name */ diff --git a/source3/utils/net_help.c b/source3/utils/net_help.c index ffd533eedd..9648f2f8f7 100644 --- a/source3/utils/net_help.c +++ b/source3/utils/net_help.c @@ -33,45 +33,6 @@ static int help_usage(struct net_context *c, int argc, const char **argv) return -1; } -int net_help_share(struct net_context *c, int argc, const char **argv) -{ - d_printf( - "\nnet [<method>] share [misc. options] [targets] \n" - "\tenumerates all exported resources (network shares) " - "on target server\n\n" - "net [<method>] share ADD <name=serverpath> [misc. options] [targets]" - "\n\tadds a share from a server (makes the export active)\n\n" - "net [<method>] share DELETE <sharename> [misc. options] [targets]" - "\n\tdeletes a share from a server (makes the export inactive)\n\n" - "net [<method>] share ALLOWEDUSERS [<filename>] " - "[misc. options] [targets]" - "\n\tshows a list of all shares together with all users allowed to" - "\n\taccess them. This needs the output of 'net usersidlist' on" - "\n\tstdin or in <filename>.\n\n" - "net [<method>] share MIGRATE FILES <sharename> [misc. options] [targets]" - "\n\tMigrates files from remote to local server\n\n" - "net [<method>] share MIGRATE SHARES <sharename> [misc. options] [targets]" - "\n\tMigrates shares from remote to local server\n\n" - "net [<method>] share MIGRATE SECURITY <sharename> [misc. options] [targets]" - "\n\tMigrates share-ACLs from remote to local server\n\n" - "net [<method>] share MIGRATE ALL <sharename> [misc. options] [targets]" - "\n\tMigrates shares (including directories, files) from remote\n" - "\tto local server\n\n" - ); - net_common_methods_usage(c, argc, argv); - net_common_flags_usage(c, argc, argv); - d_printf( - "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" - "\t-M or --maxusers=<num>\t\tmax users allowed for share\n" - "\t --acls\t\t\tcopies ACLs as well\n" - "\t --attrs\t\t\tcopies DOS Attributes as well\n" - "\t --timestamps\t\tpreserve timestamps while copying files\n" - "\t --destination\t\tmigration target server (default: localhost)\n" - "\t-e or --exclude\t\t\tlist of shares to be excluded from mirroring\n" - "\t-v or --verbose\t\t\tgive verbose output\n"); - 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"\ @@ -154,7 +115,7 @@ int net_help(struct net_context *c, int argc, const char **argv) {"RPC", net_rpc_help}, {"FILE", net_file_usage}, - {"SHARE", net_help_share}, + {"SHARE", net_share_usage}, {"SESSION", net_rap_session_usage}, {"SERVER", net_rap_server_usage}, {"DOMAIN", net_rap_domain_usage}, diff --git a/source3/utils/net_proto.h b/source3/utils/net_proto.h index 3a98c3bc01..1472e8feb8 100644 --- a/source3/utils/net_proto.h +++ b/source3/utils/net_proto.h @@ -117,7 +117,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_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); @@ -404,6 +403,11 @@ int net_rpc_shell(struct net_context *c, int argc, const char **argv); int net_sam(struct net_context *c, int argc, const char **argv); +/* The following definitions come from utils/net_share.c */ + +int net_share_usage(struct net_context *c, int argc, const char **argv); +int net_share(struct net_context *c, int argc, const char **argv); + /* The following definitions come from utils/net_status.c */ int net_status(struct net_context *c, int argc, const char **argv); diff --git a/source3/utils/net_rap.c b/source3/utils/net_rap.c index 0d67dcf71d..32d9fbe409 100644 --- a/source3/utils/net_rap.c +++ b/source3/utils/net_rap.c @@ -166,7 +166,7 @@ int net_rap_file(struct net_context *c, int argc, const char **argv) int net_rap_share_usage(struct net_context *c, int argc, const char **argv) { - return net_help_share(c, argc, argv); + return net_share_usage(c, argc, argv); } static void long_share_fn(const char *share_name, uint32 type, diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c index 375c1518ab..fc22ca9daf 100644 --- a/source3/utils/net_rpc.c +++ b/source3/utils/net_rpc.c @@ -3059,7 +3059,7 @@ int net_rpc_group(struct net_context *c, int argc, const char **argv) static int rpc_share_usage(struct net_context *c, int argc, const char **argv) { - return net_help_share(c, argc, argv); + return net_share_usage(c, argc, argv); } /** diff --git a/source3/utils/net_share.c b/source3/utils/net_share.c new file mode 100644 index 0000000000..68fcd3b3bd --- /dev/null +++ b/source3/utils/net_share.c @@ -0,0 +1,77 @@ +/* + Samba Unix/Linux SMB client library + net share commands + 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_share_usage(struct net_context *c, int argc, const char **argv) +{ + d_printf( + "\nnet [<method>] share [misc. options] [targets] \n" + "\tenumerates all exported resources (network shares) " + "on target server\n\n" + "net [<method>] share ADD <name=serverpath> [misc. options] [targets]" + "\n\tadds a share from a server (makes the export active)\n\n" + "net [<method>] share DELETE <sharename> [misc. options] [targets]" + "\n\tdeletes a share from a server (makes the export inactive)\n\n" + "net [<method>] share ALLOWEDUSERS [<filename>] " + "[misc. options] [targets]" + "\n\tshows a list of all shares together with all users allowed to" + "\n\taccess them. This needs the output of 'net usersidlist' on" + "\n\tstdin or in <filename>.\n\n" + "net [<method>] share MIGRATE FILES <sharename> [misc. options] [targets]" + "\n\tMigrates files from remote to local server\n\n" + "net [<method>] share MIGRATE SHARES <sharename> [misc. options] [targets]" + "\n\tMigrates shares from remote to local server\n\n" + "net [<method>] share MIGRATE SECURITY <sharename> [misc. options] [targets]" + "\n\tMigrates share-ACLs from remote to local server\n\n" + "net [<method>] share MIGRATE ALL <sharename> [misc. options] [targets]" + "\n\tMigrates shares (including directories, files) from remote\n" + "\tto local server\n\n" + ); + net_common_methods_usage(c, argc, argv); + net_common_flags_usage(c, argc, argv); + d_printf( + "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" + "\t-M or --maxusers=<num>\t\tmax users allowed for share\n" + "\t --acls\t\t\tcopies ACLs as well\n" + "\t --attrs\t\t\tcopies DOS Attributes as well\n" + "\t --timestamps\t\tpreserve timestamps while copying files\n" + "\t --destination\t\tmigration target server (default: localhost)\n" + "\t-e or --exclude\t\t\tlist of shares to be excluded from mirroring\n" + "\t-v or --verbose\t\t\tgive verbose output\n"); + return -1; +} + +int net_share(struct net_context *c, int argc, const char **argv) +{ + if (argc < 1) + return net_share_usage(c, argc, argv); + + if (StrCaseCmp(argv[0], "HELP") == 0) { + net_share_usage(c, argc, argv); + return 0; + } + + if (net_rpc_check(c, 0)) + return net_rpc_share(c, argc, argv); + return net_rap_share(c, argc, argv); +} + |