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 <g...@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

Reply via email to