}
static int
-sudoers_policy_main(int argc, char * const argv[], char *env_add[],
+sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
char **command_infop[], char **argv_out[], char **user_env_out[])
{
static char *command_info[32]; /* XXX */
struct sudo_nss *nss;
- int cmnd_status = -1, validated, pwflag = 0;
+ int cmnd_status = -1, validated;
int info_len = 0;
int rval = FALSE;
*/
validated = FLAG_NO_USER | FLAG_NO_HOST;
tq_foreach_fwd(snl, nss) {
- /* XXX - pwflag always 0 */
validated = nss->lookup(nss, validated, pwflag);
if (ISSET(validated, VALIDATE_OK)) {
}
if (!ISSET(validated, VALIDATE_OK)) {
- /* XXX - error message */
+ /* XXX - real error message */
+ warningx("unexpected error, not validated"); /* XXX */
goto done;
}
{
SET(sudo_mode, MODE_RUN);
- return sudoers_policy_main(argc, argv, env_add, command_infop,
+ return sudoers_policy_main(argc, argv, 0, env_add, command_infop,
argv_out, user_env_out);
}
user_cmnd = "validate";
SET(sudo_mode, MODE_VALIDATE);
- return sudoers_policy_main(0, NULL, NULL, NULL, NULL, NULL);
+ return sudoers_policy_main(0, NULL, I_VERIFYPW, NULL, NULL, NULL, NULL);
}
static void
return -1;
}
- return sudoers_policy_main(argc, argv, NULL, NULL, NULL, NULL);
+ return sudoers_policy_main(argc, argv, I_LISTPW, NULL, NULL, NULL, NULL);
}
/*