net: Split out "net group"
authorKai Blin <kai@samba.org>
Tue, 13 May 2008 11:44:28 +0000 (13:44 +0200)
committerKai Blin <kai@samba.org>
Tue, 20 May 2008 12:27:40 +0000 (14:27 +0200)
(This used to be commit 3ddd9c09e3b51df01ac34a9a1537e8954d2b1167)

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

index c752b0962932ef0eb936505c0e83243eaf0d016c..592abe01bfcfacbd5764021e4413bcb75a67c61c 100644 (file)
@@ -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_registry.o \
+          utils/net_group.o utils/net_registry.o \
           auth/token_util.o utils/net_dom.o
 
 # these are not processed by make proto
index 6f29d04ccd867bac9fd827065caba121fdc9ec9a..614d3f1ea285ecdffcd1e2ce472f2632e3a1eae1 100644 (file)
@@ -563,17 +563,6 @@ done:
        return nt_status;
 }
 
-static int net_group(struct net_context *c, int argc, const char **argv)
-{
-       if (net_ads_check(c) == 0)
-               return net_ads_group(c, argc, argv);
-
-       if (argc == 0 && net_rpc_check(c, NET_FLAGS_PDC))
-               return net_rpc_group(c,argc, argv);
-
-       return net_rap_group(c, argc, argv);
-}
-
 static int net_changetrustpw(struct net_context *c, int argc, const char **argv)
 {
        if (net_ads_check_our_domain(c) == 0)
index 2c1d72c720715c10a53642e7701b86d9caa1649b..40bbdad0c637e2881930ef2b072147e486d17715 100644 (file)
@@ -647,7 +647,7 @@ int net_ads_user(struct net_context *c, int argc, const char **argv)
 
 static int net_ads_group_usage(struct net_context *c, int argc, const char **argv)
 {
-       return net_help_group(c, argc, argv);
+       return net_group_usage(c, argc, argv);
 }
 
 static int ads_group_add(struct net_context *c, int argc, const char **argv)
diff --git a/source3/utils/net_group.c b/source3/utils/net_group.c
new file mode 100644 (file)
index 0000000..2d5dba8
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+   Samba Unix/Linux SMB client library
+   net group 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_group_usage(struct net_context *c, int argc, const char **argv)
+{
+       d_printf("net [<method>] group [misc. options] [targets]"\
+                "\n\tList user groups\n\n");
+       d_printf("net rpc group LIST [global|local|builtin]* [misc. options]"\
+                "\n\tList specific user groups\n\n");
+       d_printf("net [<method>] group DELETE <name> "\
+                "[misc. options] [targets]"\
+                "\n\tDelete specified group\n");
+       d_printf("\nnet [<method>] group ADD <name> [-C comment] [-c container]"\
+                " [misc. options] [targets]\n\tCreate specified group\n");
+       d_printf("\nnet rpc group MEMBERS <name>\n\tList Group Members\n\n");
+       d_printf("\nnet rpc group ADDMEM <group> <member>\n\tAdd Group Members\n\n");
+       d_printf("\nnet rpc group DELMEM <group> <member>\n\tDelete Group Members\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");
+       d_printf("\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n");
+       return -1;
+}
+
+int net_group(struct net_context *c, int argc, const char **argv)
+{
+       if (argc < 1)
+               return net_group_usage(c, argc, argv);
+
+       if (StrCaseCmp(argv[0], "HELP") == 0) {
+               net_group_usage(c, argc, argv);
+               return 0;
+       }
+
+       if (net_ads_check(c) == 0)
+               return net_ads_group(c, argc, argv);
+
+       if (argc == 0 && net_rpc_check(c, NET_FLAGS_PDC))
+               return net_rpc_group(c,argc, argv);
+
+       return net_rap_group(c, argc, argv);
+}
+
index a55b0332e20ffc7ee6349ca852c699920165c5b4..4d538983054860494f143170144638fad3ea577f 100644 (file)
@@ -33,28 +33,6 @@ static int help_usage(struct net_context *c, int argc, const char **argv)
        return -1;
 }
 
-int net_help_group(struct net_context *c, int argc, const char **argv)
-{
-       d_printf("net [<method>] group [misc. options] [targets]"\
-                "\n\tList user groups\n\n");
-       d_printf("net rpc group LIST [global|local|builtin]* [misc. options]"\
-                "\n\tList specific user groups\n\n");
-       d_printf("net [<method>] group DELETE <name> "\
-                "[misc. options] [targets]"\
-                "\n\tDelete specified group\n");
-       d_printf("\nnet [<method>] group ADD <name> [-C comment] [-c container]"\
-                " [misc. options] [targets]\n\tCreate specified group\n");
-       d_printf("\nnet rpc group MEMBERS <name>\n\tList Group Members\n\n");
-       d_printf("\nnet rpc group ADDMEM <group> <member>\n\tAdd Group Members\n\n");
-       d_printf("\nnet rpc group DELMEM <group> <member>\n\tDelete Group Members\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");
-       d_printf("\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n");
-       return -1;
-}
-
 int net_help_share(struct net_context *c, int argc, const char **argv)
 {
        d_printf(
@@ -199,7 +177,7 @@ int net_help(struct net_context *c, int argc, const char **argv)
                {"DOMAIN", net_rap_domain_usage},
                {"PRINTQ", net_rap_printq_usage},
                {"USER", net_user_usage},
-               {"GROUP", net_help_group},
+               {"GROUP", net_group_usage},
                {"GROUPMAP", net_help_groupmap},
                {"JOIN", net_join_usage},
                {"DOM", net_help_dom},
index 2462135a2e9a2b9adfda3d3a2ed893d8f1dd24c9..0e35ee7fed1b1ee0e6c52d08d1be93b45122bbeb 100644 (file)
@@ -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_group.c  */
+
+int net_group_usage(struct net_context *c, int argc, const char **argv);
+int net_group(struct net_context *c, int argc, const char **argv);
+
 /* The following definitions come from utils/net_groupmap.c  */
 
 int net_help_groupmap(struct net_context *c, int argc, const char **argv);
@@ -145,7 +150,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_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);
 int net_help_printer(struct net_context *c, int argc, const char **argv);
index e71e3632c508ff2d0f4004786c2beb62b132916e..ea46469a2961f2698266f21ce7161bda3899bb93 100644 (file)
@@ -762,7 +762,7 @@ int net_rap_user(struct net_context *c, int argc, const char **argv)
 
 int net_rap_group_usage(struct net_context *c, int argc, const char **argv)
 {
-       return net_help_group(c, argc, argv);
+       return net_group_usage(c, argc, argv);
 }
 
 static void long_group_fn(const char *group_name, const char *comment,
index 7bb82ad661eeac946b7d8fd2761c6e9ef2bea85d..2bf2b9b2add95178dd6791acff0ff75289c8955a 100644 (file)
@@ -1586,7 +1586,7 @@ struct rpc_sh_cmd *net_rpc_user_cmds(struct net_context *c,
 
 static int rpc_group_usage(struct net_context *c, int argc, const char **argv)
 {
-       return net_help_group(c, argc, argv);
+       return net_group_usage(c, argc, argv);
 }
 
 /**