]> granicus.if.org Git - sudo/commitdiff
Do not error out if arg to -U option cannot be resolved, that is for
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 16 Jul 2013 20:04:23 +0000 (14:04 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 16 Jul 2013 20:04:23 +0000 (14:04 -0600)
the plugin to decide.
There is no need for runas_user and runas_group to be global, make
them local to parse_args() instead.

src/parse_args.c
src/sudo.c
src/sudo.h

index 00aeda764b820f5ab3df83724cc9a1d90fde3f15..819e432fec70bd59f0f9d06a373b54db8eb8c287 100644 (file)
@@ -129,6 +129,8 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
     int valid_flags, ch;
     int i, j;
     char *cp, **env_add, **settings;
+    const char *runas_user = NULL;
+    const char *runas_group = NULL;
     const char *debug_flags;
     int nenv = 0;
     int env_size = 32;
@@ -282,8 +284,6 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, char ***settingsp,
                    SET(flags, MODE_SHELL);
                    break;
                case 'U':
-                   if ((getpwnam(optarg)) == NULL)
-                       fatalx(_("unknown user: %s"), optarg);
                    list_user = optarg;
                    break;
                case 'u':
index 0de32d4c181ed7856b106bbe7bede326d3f1c7b4..e9eac66ca164223ecb3a0928703c135f548e6898 100644 (file)
@@ -94,7 +94,7 @@
 struct plugin_container policy_plugin;
 struct plugin_container_list io_plugins;
 struct user_details user_details;
-const char *list_user, *runas_user, *runas_group; /* extern for parse_args.c */
+const char *list_user; /* extern for parse_args.c */
 static struct command_details command_details;
 static int sudo_mode;
 
index 703e3980b85496845f1ff941de6053d501743224..26c9025a229a638a6412ea1302a3d6abec95f4a7 100644 (file)
@@ -214,7 +214,7 @@ bool exec_setup(struct command_details *details, const char *ptyname, int ptyfd)
 int policy_init_session(struct command_details *details);
 int run_command(struct command_details *details);
 int os_init_common(int argc, char *argv[], char *envp[]);
-extern const char *list_user, *runas_user, *runas_group;
+extern const char *list_user;
 extern struct user_details user_details;
 
 /* sudo_edit.c */