From: Todd C. Miller Date: Mon, 15 Mar 2010 23:41:15 +0000 (-0400) Subject: Add support for -k flag with a command. X-Git-Tag: SUDO_1_8_0~807 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=248bae4e564d9fffc22cb422b55b87b4fd21cf95;p=sudo Add support for -k flag with a command. --- diff --git a/plugins/sudoers/check.c b/plugins/sudoers/check.c index b380d5346..f6390d04b 100644 --- a/plugins/sudoers/check.c +++ b/plugins/sudoers/check.c @@ -91,7 +91,7 @@ check_user(validated, mode) int status, rval = TRUE; /* Always prompt for a password when -k was specified with the command. */ - if (ISSET(mode, MODE_INVALIDATE)) { + if (ISSET(mode, MODE_IGNORE_TICKET)) { SET(validated, FLAG_CHECK_USER); } else { if (user_uid == 0 || user_uid == runas_pw->pw_uid || user_is_exempt()) @@ -140,7 +140,7 @@ check_user(validated, mode) rval = verify_user(auth_pw, prompt); } /* Only update timestamp if user was validated. */ - if (ISSET(validated, VALIDATE_OK) && !ISSET(mode, MODE_INVALIDATE) && status != TS_ERROR) + if (ISSET(validated, VALIDATE_OK) && !ISSET(mode, MODE_IGNORE_TICKET) && status != TS_ERROR) update_timestamp(timestampdir, timestampfile); efree(timestampdir); efree(timestampfile); diff --git a/plugins/sudoers/sudoers.c b/plugins/sudoers/sudoers.c index 69f466cd5..33c2e3c67 100644 --- a/plugins/sudoers/sudoers.c +++ b/plugins/sudoers/sudoers.c @@ -1232,7 +1232,7 @@ deserialize_info(char * const settings[], char * const user_info[]) continue; } if (MATCHES(*cur, "ignore_ticket=")) { - /* XXX */ + SET(flags, MODE_IGNORE_TICKET); continue; } if (MATCHES(*cur, "login_class=")) { diff --git a/plugins/sudoers/sudoers.h b/plugins/sudoers/sudoers.h index 74022082b..f77fa0b25 100644 --- a/plugins/sudoers/sudoers.h +++ b/plugins/sudoers/sudoers.h @@ -130,6 +130,7 @@ struct sudo_user { #define MODE_PRESERVE_GROUPS 0x00200000 #define MODE_PRESERVE_ENV 0x00400000 #define MODE_NONINTERACTIVE 0x00800000 +#define MODE_IGNORE_TICKET 0x01000000 /* * Used with set_perms()