summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-04-24 16:47:32 +0000
committerGerald Carter <jerry@samba.org>2003-04-24 16:47:32 +0000
commit9530bbe2add93cd4e7f40cf38e374c64d30a735f (patch)
tree768e3eedadbe8572b81ab65c2eea6588df91243e
parent7041e295eb1167ea4d6fe8d947efb20e1e74d15d (diff)
downloadsamba-9530bbe2add93cd4e7f40cf38e374c64d30a735f.tar.gz
samba-9530bbe2add93cd4e7f40cf38e374c64d30a735f.tar.bz2
samba-9530bbe2add93cd4e7f40cf38e374c64d30a735f.zip
groupmap delet should take a name or a SID
(This used to be commit d9277bd06401cb040390739ae730c8991736c886)
-rw-r--r--source3/utils/net_groupmap.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/source3/utils/net_groupmap.c b/source3/utils/net_groupmap.c
index 2b88183f22..aaefda2e5c 100644
--- a/source3/utils/net_groupmap.c
+++ b/source3/utils/net_groupmap.c
@@ -115,19 +115,27 @@ int net_groupmap_list(int argc, const char **argv)
BOOL long_list = False;
int i;
fstring ntgroup = "";
+ fstring sid_string = "";
/* get the options */
for ( i=0; i<argc; i++ ) {
if ( !StrCaseCmp(argv[i], "verbose")) {
long_list = True;
}
- else if ( !StrnCaseCmp(argv[i], "name", strlen("name")) ) {
+ else if ( !StrnCaseCmp(argv[i], "ntgroup", strlen("ntgroup")) ) {
fstrcpy( ntgroup, get_string_param( argv[i] ) );
if ( !ntgroup[0] ) {
d_printf("must supply a name\n");
return -1;
}
}
+ else if ( !StrnCaseCmp(argv[i], "sid", strlen("sid")) ) {
+ fstrcpy( sid_string, get_string_param( argv[i] ) );
+ if ( !sid_string[0] ) {
+ d_printf("must supply a SID\n");
+ return -1;
+ }
+ }
else {
d_printf("Bad option: %s\n", argv[i]);
return -1;
@@ -135,9 +143,12 @@ int net_groupmap_list(int argc, const char **argv)
}
/* list a single group is given a name */
- if ( ntgroup[0] ) {
+ if ( ntgroup[0] || sid_string[0] ) {
DOM_SID sid;
GROUP_MAP map;
+
+ if ( sid_string[0] )
+ fstrcpy( ntgroup, sid_string);
if (!get_sid_from_input(&sid, ntgroup)) {
return -1;