Wire up invalidate and validate methods for sudoers
This commit is contained in:
@@ -609,6 +609,23 @@ sudoers_policy_check(int argc, char * const argv[], char *env_add[],
|
|||||||
argv_out, user_env_out);
|
argv_out, user_env_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
sudoers_policy_validate(void)
|
||||||
|
{
|
||||||
|
user_cmnd = "validate";
|
||||||
|
SET(sudo_mode, MODE_VALIDATE);
|
||||||
|
|
||||||
|
return sudoers_policy_main(0, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
sudoers_policy_invalidate(int remove)
|
||||||
|
{
|
||||||
|
user_cmnd = "kill";
|
||||||
|
remove_timestamp(remove);
|
||||||
|
cleanup(0);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
sudoers_policy_list(int argc, char * const argv[], int verbose,
|
sudoers_policy_list(int argc, char * const argv[], int verbose,
|
||||||
const char *list_user)
|
const char *list_user)
|
||||||
@@ -1324,10 +1341,8 @@ struct policy_plugin sudoers_policy = {
|
|||||||
sudoers_policy_version,
|
sudoers_policy_version,
|
||||||
sudoers_policy_check,
|
sudoers_policy_check,
|
||||||
sudoers_policy_list,
|
sudoers_policy_list,
|
||||||
#ifdef notyet
|
|
||||||
sudoers_policy_validate,
|
sudoers_policy_validate,
|
||||||
sudoers_policy_invalidate
|
sudoers_policy_invalidate
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef notyet
|
#ifdef notyet
|
||||||
|
@@ -201,7 +201,7 @@ main(int argc, char *argv[], char *envp[])
|
|||||||
exit(ok != TRUE);
|
exit(ok != TRUE);
|
||||||
case MODE_KILL:
|
case MODE_KILL:
|
||||||
case MODE_INVALIDATE:
|
case MODE_INVALIDATE:
|
||||||
if (policy_plugin.u.policy->validate == NULL) {
|
if (policy_plugin.u.policy->invalidate == NULL) {
|
||||||
warningx("policy plugin %s does not support the -k/-K flags",
|
warningx("policy plugin %s does not support the -k/-K flags",
|
||||||
policy_plugin.name);
|
policy_plugin.name);
|
||||||
exit(1);
|
exit(1);
|
||||||
|
Reference in New Issue
Block a user