summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/Makefile.in2
-rw-r--r--source3/utils/net.c12
-rw-r--r--source3/utils/net_ads.c2
-rw-r--r--source3/utils/net_help.c24
-rw-r--r--source3/utils/net_proto.h6
-rw-r--r--source3/utils/net_rap.c2
-rw-r--r--source3/utils/net_rpc.c2
-rw-r--r--source3/utils/net_user.c67
8 files changed, 77 insertions, 40 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index acb22d8596..c752b09629 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -880,7 +880,7 @@ NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \
utils/netlookup.o utils/net_sam.o utils/net_rpc_shell.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_conf.o utils/net_join.o utils/net_user.o \
utils/net_registry.o \
auth/token_util.o utils/net_dom.o
diff --git a/source3/utils/net.c b/source3/utils/net.c
index cc038e2178..6f29d04ccd 100644
--- a/source3/utils/net.c
+++ b/source3/utils/net.c
@@ -563,18 +563,6 @@ done:
return nt_status;
}
-static int net_user(struct net_context *c, int argc, const char **argv)
-{
- if (net_ads_check(c) == 0)
- return net_ads_user(c, argc, argv);
-
- /* if server is not specified, default to PDC? */
- if (net_rpc_check(c, NET_FLAGS_PDC))
- return net_rpc_user(c, argc, argv);
-
- return net_rap_user(c, argc, argv);
-}
-
static int net_group(struct net_context *c, int argc, const char **argv)
{
if (net_ads_check(c) == 0)
diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c
index d1480961b4..2c1d72c720 100644
--- a/source3/utils/net_ads.c
+++ b/source3/utils/net_ads.c
@@ -434,7 +434,7 @@ static bool usergrp_display(ADS_STRUCT *ads, char *field, void **values, void *d
static int net_ads_user_usage(struct net_context *c, int argc, const char **argv)
{
- return net_help_user(c, argc, argv);
+ return net_user_usage(c, argc, argv);
}
static int ads_user_add(struct net_context *c, int argc, const char **argv)
diff --git a/source3/utils/net_help.c b/source3/utils/net_help.c
index ed55e91526..a55b0332e2 100644
--- a/source3/utils/net_help.c
+++ b/source3/utils/net_help.c
@@ -33,28 +33,6 @@ static int help_usage(struct net_context *c, int argc, const char **argv)
return -1;
}
-int net_help_user(struct net_context *c, int argc, const char **argv)
-{
- d_printf("\nnet [<method>] user [misc. options] [targets]"\
- "\n\tList users\n\n");
- d_printf("net [<method>] user DELETE <name> [misc. options] [targets]"\
- "\n\tDelete specified user\n");
- d_printf("\nnet [<method>] user INFO <name> [misc. options] [targets]"\
- "\n\tList the domain groups of the specified user\n");
- d_printf("\nnet [<method>] user ADD <name> [password] [-c container] "\
- "[-F user flags] [misc. options]"\
- " [targets]\n\tAdd specified user\n");
- d_printf("\nnet [<method>] user RENAME <oldusername> <newusername>"\
- " [targets]\n\tRename specified user\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");
- d_printf("\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n");
- return -1;
-}
-
int net_help_group(struct net_context *c, int argc, const char **argv)
{
d_printf("net [<method>] group [misc. options] [targets]"\
@@ -220,7 +198,7 @@ int net_help(struct net_context *c, int argc, const char **argv)
{"SERVER", net_rap_server_usage},
{"DOMAIN", net_rap_domain_usage},
{"PRINTQ", net_rap_printq_usage},
- {"USER", net_help_user},
+ {"USER", net_user_usage},
{"GROUP", net_help_group},
{"GROUPMAP", net_help_groupmap},
{"JOIN", net_join_usage},
diff --git a/source3/utils/net_proto.h b/source3/utils/net_proto.h
index 6124f2ddd3..2462135a2e 100644
--- a/source3/utils/net_proto.h
+++ b/source3/utils/net_proto.h
@@ -145,7 +145,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_user(struct net_context *c, int argc, const char **argv);
int net_help_group(struct net_context *c, int argc, const char **argv);
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);
@@ -444,6 +443,11 @@ int net_status(struct net_context *c, int argc, const char **argv);
int net_time_usage(struct net_context *c, int argc, const char **argv);
int net_time(struct net_context *c, int argc, const char **argv);
+/* The following definitions come from utils/net_user.c */
+
+int net_user_usage(struct net_context *c, int argc, const char **argv);
+int net_user(struct net_context *c, int argc, const char **argv);
+
/* The following definitions come from utils/net_usershare.c */
int net_usershare_usage(struct net_context *c, int argc, const char **argv);
diff --git a/source3/utils/net_rap.c b/source3/utils/net_rap.c
index 552f0b667a..e71e3632c5 100644
--- a/source3/utils/net_rap.c
+++ b/source3/utils/net_rap.c
@@ -638,7 +638,7 @@ int net_rap_printq(struct net_context *c, int argc, const char **argv)
static int net_rap_user_usage(struct net_context *c, int argc, const char **argv)
{
- return net_help_user(c, argc, argv);
+ return net_user_usage(c, argc, argv);
}
static void user_fn(const char *user_name, void *state)
diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c
index 759cfa7adb..7bb82ad661 100644
--- a/source3/utils/net_rpc.c
+++ b/source3/utils/net_rpc.c
@@ -571,7 +571,7 @@ int net_rpc_getsid(struct net_context *c, int argc, const char **argv)
static int rpc_user_usage(struct net_context *c, int argc, const char **argv)
{
- return net_help_user(c, argc, argv);
+ return net_user_usage(c, argc, argv);
}
/**
diff --git a/source3/utils/net_user.c b/source3/utils/net_user.c
new file mode 100644
index 0000000000..b98b6a13a7
--- /dev/null
+++ b/source3/utils/net_user.c
@@ -0,0 +1,67 @@
+/*
+ Samba Unix/Linux SMB client library
+ net user 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_user_usage(struct net_context *c, int argc, const char **argv)
+{
+ d_printf("\nnet [<method>] user [misc. options] [targets]"\
+ "\n\tList users\n\n");
+ d_printf("net [<method>] user DELETE <name> [misc. options] [targets]"\
+ "\n\tDelete specified user\n");
+ d_printf("\nnet [<method>] user INFO <name> [misc. options] [targets]"\
+ "\n\tList the domain groups of the specified user\n");
+ d_printf("\nnet [<method>] user ADD <name> [password] [-c container] "\
+ "[-F user flags] [misc. options]"\
+ " [targets]\n\tAdd specified user\n");
+ d_printf("\nnet [<method>] user RENAME <oldusername> <newusername>"\
+ " [targets]\n\tRename specified user\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");
+ d_printf("\t-c or --container=<container>\tLDAP container, defaults "\
+ "to cn=Users (for add in ADS only)\n");
+ return -1;
+}
+
+int net_user(struct net_context *c, int argc, const char **argv)
+{
+ if (argc < 1)
+ return net_user_usage(c, argc, argv);
+
+ if (StrCaseCmp(argv[0], "HELP") == 0) {
+ net_user_usage(c, argc, argv);
+ return 0;
+ }
+
+ if (net_ads_check(c) == 0)
+ return net_ads_user(c, argc, argv);
+
+ /* if server is not specified, default to PDC? */
+ if (net_rpc_check(c, NET_FLAGS_PDC))
+ return net_rpc_user(c, argc, argv);
+
+ return net_rap_user(c, argc, argv);
+}
+