net: Split out "net user"
authorKai Blin <kai@samba.org>
Tue, 13 May 2008 10:51:09 +0000 (12:51 +0200)
committerKai Blin <kai@samba.org>
Tue, 20 May 2008 12:27:27 +0000 (14:27 +0200)
(This used to be commit 4ca08a5acc90c77d56f8f3e38443f23f43f034e8)

source3/Makefile.in
source3/utils/net.c
source3/utils/net_ads.c
source3/utils/net_help.c
source3/utils/net_proto.h
source3/utils/net_rap.c
source3/utils/net_rpc.c
source3/utils/net_user.c [new file with mode: 0644]

index acb22d859692afea8f78ac6a7ce83c517482726b..c752b0962932ef0eb936505c0e83243eaf0d016c 100644 (file)
@@ -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
 
index cc038e21782046a9eccbda34b62d194303778d3c..6f29d04ccd867bac9fd827065caba121fdc9ec9a 100644 (file)
@@ -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)
index d1480961b4ac14f6825e5e99c951c602509d2937..2c1d72c720715c10a53642e7701b86d9caa1649b 100644 (file)
@@ -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)
index ed55e91526053c37b9253ee6fb20bd65266d7821..a55b0332e20ffc7ee6349ca852c699920165c5b4 100644 (file)
@@ -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},
index 6124f2ddd35e231c7bdc445e393259e793d6f0f9..2462135a2e9a2b9adfda3d3a2ed893d8f1dd24c9 100644 (file)
@@ -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);
index 552f0b667a28cf40fb3256def30637f9b1a5d49d..e71e3632c508ff2d0f4004786c2beb62b132916e 100644 (file)
@@ -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)
index 759cfa7adb10858cff095cb8d3c4915f4b952c29..7bb82ad661eeac946b7d8fd2761c6e9ef2bea85d 100644 (file)
@@ -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 (file)
index 0000000..b98b6a1
--- /dev/null
@@ -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);
+}
+