[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-2346-g5a8483e

Günther Deschner gd at samba.org
Wed Jun 17 10:40:51 GMT 2009


The branch, master has been updated
       via  5a8483ea742a2f7f043e62b7abb6f17b957804d5 (commit)
      from  f0930cef837cb4bdbbc98b01abde41303bef6d88 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 5a8483ea742a2f7f043e62b7abb6f17b957804d5
Author: Günther Deschner <gd at samba.org>
Date:   Wed Jun 17 12:31:49 2009 +0200

    s3-net: Fix Bug #6328: allow multiple rights in "net sam rights grant".
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/utils/net_sam.c |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/utils/net_sam.c b/source3/utils/net_sam.c
index 0d8b6ff..e8ab412 100644
--- a/source3/utils/net_sam.c
+++ b/source3/utils/net_sam.c
@@ -678,10 +678,11 @@ static int net_sam_rights_grant(struct net_context *c, int argc,
 	enum lsa_SidType type;
 	const char *dom, *name;
 	SE_PRIV mask;
+	int i;
 
-	if (argc != 2 || c->display_usage) {
+	if (argc < 2 || c->display_usage) {
 		d_fprintf(stderr, "usage: net sam rights grant <name> "
-			  "<right>\n");
+			  "<right> ...\n");
 		return -1;
 	}
 
@@ -691,17 +692,20 @@ static int net_sam_rights_grant(struct net_context *c, int argc,
 		return -1;
 	}
 
-	if (!se_priv_from_name(argv[1], &mask)) {
-		d_fprintf(stderr, "%s unknown\n", argv[1]);
-		return -1;
-	}
+	for (i=1; i < argc; i++) {
+		if (!se_priv_from_name(argv[i], &mask)) {
+			d_fprintf(stderr, "%s unknown\n", argv[i]);
+			return -1;
+		}
 
-	if (!grant_privilege(&sid, &mask)) {
-		d_fprintf(stderr, "Could not grant privilege\n");
-		return -1;
+		if (!grant_privilege(&sid, &mask)) {
+			d_fprintf(stderr, "Could not grant privilege\n");
+			return -1;
+		}
+
+		d_printf("Granted %s to %s\\%s\n", argv[i], dom, name);
 	}
 
-	d_printf("Granted %s to %s\\%s\n", argv[1], dom, name);
 	return 0;
 }
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list