svn commit: samba r19835 - in branches: SAMBA_3_0/source/utils SAMBA_3_0_24/source/utils

vlendec at samba.org vlendec at samba.org
Wed Nov 22 14:17:37 GMT 2006


Author: vlendec
Date: 2006-11-22 14:17:36 +0000 (Wed, 22 Nov 2006)
New Revision: 19835

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19835

Log:
Some net sam policy improvements.

Thanks to Karolin Seeger <ks at sernet.de>

Volker

Modified:
   branches/SAMBA_3_0/source/utils/net_sam.c
   branches/SAMBA_3_0_24/source/utils/net_sam.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_sam.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_sam.c	2006-11-22 13:59:14 UTC (rev 19834)
+++ branches/SAMBA_3_0/source/utils/net_sam.c	2006-11-22 14:17:36 UTC (rev 19835)
@@ -357,79 +357,106 @@
 }
 
 /*
- * Change account policies
+ * Manage account policies
  */
 
-static int net_sam_policy(int argc, const char **argv)
+static int net_sam_policy_set(int argc, const char **argv)
 {
-	
 	const char *account_policy = NULL;
 	uint32 value, old_value;
 	int field;
 
-	if ((argc < 1) || (argc > 2)) {
-		d_fprintf(stderr, "usage: net sam policy \"<account policy>\" "
-			  "-> show current value\n");
-		d_fprintf(stderr, "usage: net sam policy \"<account policy>\" "
-			  "<value> -> set a new value\n");
-		return -1;
-	}
+        if (argc != 2) {
+                d_fprintf(stderr, "usage: net sam policy set" 
+			  "\"<account policy>\" <value> \n");
+                return -1;
+        }
 
+	value = strtoul(argv[1], NULL, 10);
 	account_policy = argv[0];
 	field = account_policy_name_to_fieldnum(account_policy);
 
-	if (field == 0) {
-		char *apn = account_policy_names_list();
-		d_fprintf(stderr, "No account policy by that name!\n");
-		if (apn) {
-			d_fprintf(stderr, "Valid account policies "
-				  "are:\n%s\n", apn);
-		}
-		SAFE_FREE(apn);
-		return -1;
-	}
+	printf("Account policy \"%s\" description: %s\n", account_policy,
+               account_policy_get_desc(field));
+        printf("Account policy \"%s\" value was: %d\n", account_policy,
+               old_value);
 
-	if (!pdb_get_account_policy(field, &old_value)) {
-		fprintf(stderr, "Valid account policy, but unable to "
-			"fetch value!\n");
-		return -1;
-	}
+        if (!pdb_set_account_policy(field, value)) {
+                d_fprintf(stderr, "Setting account policy %s to %u failed \n",
+                          account_policy, value);
+        }
 
-	if (argc == 1) {
-		/*
-		 * Just read the value
-		 */
+        printf("Account policy \"%s\" value is now: %d\n", account_policy,
+               value);
 
-		printf("Account policy \"%s\" description: %s\n",
-		       account_policy, account_policy_get_desc(field));
-		printf("Account policy \"%s\" value is: %d\n", account_policy,
-		       old_value);
-		return 0;
-	}
+        return 0;
+}
 
-	/*
-	 * Here we know we have 2 args, so set it
-	 */
+static int net_sam_policy_show(int argc, const char **argv)
+{
+	const char *account_policy = NULL;
+        uint32 old_value;
+        int field;
+
+        if (argc != 1) {
+                d_fprintf(stderr, "usage: net sam policy show"
+			  " \"<account policy>\" \n");
+                return -1;
+        }
 	
-	value = strtoul(argv[1], NULL, 10);
+	account_policy = argv[0];
+        field = account_policy_name_to_fieldnum(account_policy);
 
-	printf("Account policy \"%s\" description: %s\n", account_policy,
-	       account_policy_get_desc(field));
-	printf("Account policy \"%s\" value was: %d\n", account_policy,
+        if (field == 0) {
+                char *apn = account_policy_names_list();
+                d_fprintf(stderr, "No account policy by that name!\n");
+                if (apn) {
+                        d_fprintf(stderr, "Valid account policies "
+                                  "are:\n%s\n", apn);
+                }
+                SAFE_FREE(apn);
+                return -1;
+        }
+
+	if (!pdb_get_account_policy(field, &old_value)) {
+                fprintf(stderr, "Valid account policy, but unable to "
+                        "fetch value!\n");
+                return -1;
+        }
+	
+	printf("Account policy \"%s\" description: %s\n",
+	       account_policy, account_policy_get_desc(field));
+        printf("Account policy \"%s\" value is: %d\n", account_policy,
 	       old_value);
+        return 0;
+}
 
-	if (!pdb_set_account_policy(field, value)) {
-		d_fprintf(stderr, "Setting account policy %s to %u failed \n",
-			  account_policy, value);
+static int net_sam_policy_list(int argc, const char **argv)
+{
+	char *apn = account_policy_names_list();
+        if (apn) {
+        	d_fprintf(stderr, "Valid account policies "
+			  "are:\n\n%s\n", apn);
 	}
+        SAFE_FREE(apn);
+        return -1;
+}
 
-	printf("Account policy \"%s\" value is now: %d\n", account_policy,
-	       value);
+static int net_sam_policy(int argc, const char **argv)
+{
+        struct functable2 func[] = {
+		{ "list", net_sam_policy_list,
+                  "List account policies" },
+                { "show", net_sam_policy_show,
+                  "Show account policies" },
+		{ "set", net_sam_policy_set,
+                  "Change account policies" },
+                {NULL, NULL}
+        };
 
-	return 0;
+        return net_run_function2(argc, argv, "net sam policy", func);
 }
 
-
 /*
  * Map a unix group to a domain group
  */

Modified: branches/SAMBA_3_0_24/source/utils/net_sam.c
===================================================================
--- branches/SAMBA_3_0_24/source/utils/net_sam.c	2006-11-22 13:59:14 UTC (rev 19834)
+++ branches/SAMBA_3_0_24/source/utils/net_sam.c	2006-11-22 14:17:36 UTC (rev 19835)
@@ -357,79 +357,106 @@
 }
 
 /*
- * Change account policies
+ * Manage account policies
  */
 
-static int net_sam_policy(int argc, const char **argv)
+static int net_sam_policy_set(int argc, const char **argv)
 {
-	
 	const char *account_policy = NULL;
 	uint32 value, old_value;
 	int field;
 
-	if ((argc < 1) || (argc > 2)) {
-		d_fprintf(stderr, "usage: net sam policy \"<account policy>\" "
-			  "-> show current value\n");
-		d_fprintf(stderr, "usage: net sam policy \"<account policy>\" "
-			  "<value> -> set a new value\n");
-		return -1;
-	}
+        if (argc != 2) {
+                d_fprintf(stderr, "usage: net sam policy set" 
+			  "\"<account policy>\" <value> \n");
+                return -1;
+        }
 
+	value = strtoul(argv[1], NULL, 10);
 	account_policy = argv[0];
 	field = account_policy_name_to_fieldnum(account_policy);
 
-	if (field == 0) {
-		char *apn = account_policy_names_list();
-		d_fprintf(stderr, "No account policy by that name!\n");
-		if (apn) {
-			d_fprintf(stderr, "Valid account policies "
-				  "are:\n%s\n", apn);
-		}
-		SAFE_FREE(apn);
-		return -1;
-	}
+	printf("Account policy \"%s\" description: %s\n", account_policy,
+               account_policy_get_desc(field));
+        printf("Account policy \"%s\" value was: %d\n", account_policy,
+               old_value);
 
-	if (!pdb_get_account_policy(field, &old_value)) {
-		fprintf(stderr, "Valid account policy, but unable to "
-			"fetch value!\n");
-		return -1;
-	}
+        if (!pdb_set_account_policy(field, value)) {
+                d_fprintf(stderr, "Setting account policy %s to %u failed \n",
+                          account_policy, value);
+        }
 
-	if (argc == 1) {
-		/*
-		 * Just read the value
-		 */
+        printf("Account policy \"%s\" value is now: %d\n", account_policy,
+               value);
 
-		printf("Account policy \"%s\" description: %s\n",
-		       account_policy, account_policy_get_desc(field));
-		printf("Account policy \"%s\" value is: %d\n", account_policy,
-		       old_value);
-		return 0;
-	}
+        return 0;
+}
 
-	/*
-	 * Here we know we have 2 args, so set it
-	 */
+static int net_sam_policy_show(int argc, const char **argv)
+{
+	const char *account_policy = NULL;
+        uint32 old_value;
+        int field;
+
+        if (argc != 1) {
+                d_fprintf(stderr, "usage: net sam policy show"
+			  " \"<account policy>\" \n");
+                return -1;
+        }
 	
-	value = strtoul(argv[1], NULL, 10);
+	account_policy = argv[0];
+        field = account_policy_name_to_fieldnum(account_policy);
 
-	printf("Account policy \"%s\" description: %s\n", account_policy,
-	       account_policy_get_desc(field));
-	printf("Account policy \"%s\" value was: %d\n", account_policy,
+        if (field == 0) {
+                char *apn = account_policy_names_list();
+                d_fprintf(stderr, "No account policy by that name!\n");
+                if (apn) {
+                        d_fprintf(stderr, "Valid account policies "
+                                  "are:\n%s\n", apn);
+                }
+                SAFE_FREE(apn);
+                return -1;
+        }
+
+	if (!pdb_get_account_policy(field, &old_value)) {
+                fprintf(stderr, "Valid account policy, but unable to "
+                        "fetch value!\n");
+                return -1;
+        }
+	
+	printf("Account policy \"%s\" description: %s\n",
+	       account_policy, account_policy_get_desc(field));
+        printf("Account policy \"%s\" value is: %d\n", account_policy,
 	       old_value);
+        return 0;
+}
 
-	if (!pdb_set_account_policy(field, value)) {
-		d_fprintf(stderr, "Setting account policy %s to %u failed \n",
-			  account_policy, value);
+static int net_sam_policy_list(int argc, const char **argv)
+{
+	char *apn = account_policy_names_list();
+        if (apn) {
+        	d_fprintf(stderr, "Valid account policies "
+			  "are:\n\n%s\n", apn);
 	}
+        SAFE_FREE(apn);
+        return -1;
+}
 
-	printf("Account policy \"%s\" value is now: %d\n", account_policy,
-	       value);
+static int net_sam_policy(int argc, const char **argv)
+{
+        struct functable2 func[] = {
+		{ "list", net_sam_policy_list,
+                  "List account policies" },
+                { "show", net_sam_policy_show,
+                  "Show account policies" },
+		{ "set", net_sam_policy_set,
+                  "Change account policies" },
+                {NULL, NULL}
+        };
 
-	return 0;
+        return net_run_function2(argc, argv, "net sam policy", func);
 }
 
-
 /*
  * Map a unix group to a domain group
  */



More information about the samba-cvs mailing list