Use run_argv and run_envp passed into the audit plugin for event logging.
Previously we used NewArgv[] and env_get() but now that logging is performed via an audit plugin we should use the values passed in.
This commit is contained in:
@@ -335,7 +335,7 @@ sudoers_audit_accept(const char *plugin_name, unsigned int plugin_type,
|
||||
if (audit_success(run_argv) != 0 && !def_ignore_audit_errors)
|
||||
ret = false;
|
||||
|
||||
if (!log_allowed() && !def_ignore_logfile_errors)
|
||||
if (!log_allowed(run_argv, run_envp) && !def_ignore_logfile_errors)
|
||||
ret = false;
|
||||
|
||||
if (!log_server_accept(command_info, run_argv, run_envp)) {
|
||||
|
@@ -463,7 +463,7 @@ log_auth_failure(int status, unsigned int tries)
|
||||
* Log and potentially mail the allowed command.
|
||||
*/
|
||||
bool
|
||||
log_allowed(void)
|
||||
log_allowed(char *const argv[], char *const envp[])
|
||||
{
|
||||
struct eventlog evlog;
|
||||
int oldlocale;
|
||||
@@ -478,7 +478,7 @@ log_allowed(void)
|
||||
/* Log and mail messages should be in the sudoers locale. */
|
||||
sudoers_setlocale(SUDOERS_LOCALE_SUDOERS, &oldlocale);
|
||||
|
||||
sudoers_to_eventlog(&evlog, NewArgv, env_get());
|
||||
sudoers_to_eventlog(&evlog, argv, envp);
|
||||
if (mailit) {
|
||||
SET(evl_flags, EVLOG_MAIL);
|
||||
if (!def_log_allowed)
|
||||
|
@@ -56,7 +56,7 @@ bool sudoers_setlocale(int locale_type, int *prev_locale);
|
||||
int sudoers_getlocale(void);
|
||||
int audit_failure(char *const argv[], char const *const fmt, ...) __printflike(2, 3);
|
||||
int vaudit_failure(char *const argv[], char const *const fmt, va_list ap) __printflike(2, 0);
|
||||
bool log_allowed(void);
|
||||
bool log_allowed(char *const argv[], char *const envp[]);
|
||||
bool log_exit_status(int exit_status);
|
||||
bool log_auth_failure(int status, unsigned int tries);
|
||||
bool log_denial(int status, bool inform_user);
|
||||
|
Reference in New Issue
Block a user