static int set_cmnd __P((int));
static void initial_setup __P((void));
static void set_loginclass __P((struct passwd *));
-static void set_runasgr __P((char *));
-static void set_runaspw __P((char *));
+static int set_runaspw __P((const char *));
+static int set_runasgr __P((const char *));
static void show_version __P((void));
static void create_admin_success_flag __P((void));
extern int sudo_edit __P((int, char **, char **));
NewArgc++;
NewArgv[0] = user_cmnd;
}
+
+ /* Set runas callback. */
+ sudo_defs_table[I_RUNAS_DEFAULT].callback = set_runaspw;
}
/*
if (!update_defaults(SETDEF_CMND))
log_error(NO_STDERR|NO_EXIT, "problem with defaults entries");
- if (!runas_user && !runas_group)
- set_runaspw(def_runas_default); /* may have been updated above */
-
return rval;
}
* Get passwd entry for the user we are going to run commands as
* and store it in runas_pw. By default, commands run as "root".
*/
-static void
+int
set_runaspw(user)
- char *user;
+ const char *user;
{
if (runas_pw != NULL)
pw_delref(runas_pw);
log_error(NO_MAIL|MSG_ONLY, "unknown user: %s", user);
}
}
+ return TRUE;
}
/*
* Get group entry for the group we are going to run commands as
* and store it in runas_gr.
*/
-static void
+static int
set_runasgr(group)
- char *group;
+ const char *group;
{
if (runas_gr != NULL)
gr_delref(runas_gr);
if ((runas_gr = sudo_getgrnam(group)) == NULL)
log_error(NO_MAIL|MSG_ONLY, "unknown group: %s", group);
}
+ return TRUE;
}
/*