git.samba.org
/
ira
/
wip.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f0930ce
)
s3-net: Fix Bug #6328: allow multiple rights in "net sam rights grant".
author
Günther Deschner
<gd@samba.org>
Wed, 17 Jun 2009 10:31:49 +0000
(12:31 +0200)
committer
Günther Deschner
<gd@samba.org>
Wed, 17 Jun 2009 10:40:28 +0000
(12:40 +0200)
Guenther
source3/utils/net_sam.c
patch
|
blob
|
history
diff --git
a/source3/utils/net_sam.c
b/source3/utils/net_sam.c
index 0d8b6ff4821062ca989a7182d656f95064463e64..e8ab412469d916185a895406536c9a023f103fae 100644
(file)
--- 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;
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> "
d_fprintf(stderr, "usage: net sam rights grant <name> "
- "<right>\n");
+ "<right>
...
\n");
return -1;
}
return -1;
}
@@
-691,17
+692,20
@@
static int net_sam_rights_grant(struct net_context *c, int argc,
return -1;
}
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;
}
return 0;
}