groupmap delete should take a name or a SID
authorGerald Carter <jerry@samba.org>
Thu, 24 Apr 2003 16:48:08 +0000 (16:48 +0000)
committerGerald Carter <jerry@samba.org>
Thu, 24 Apr 2003 16:48:08 +0000 (16:48 +0000)
(This used to be commit 4c7ee6e6b82c69ead96bc90c75cbdfab19486bb5)

source3/utils/net_groupmap.c

index 2b88183f22d2756479a7c2948a5d58ad17262272..aaefda2e5c32d995ea1b6c00f02be3c519e8e4ac 100644 (file)
@@ -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;