Add log_warningx

This commit is contained in:
Todd C. Miller
2014-05-02 16:40:30 -06:00
parent 7f0b9eca03
commit 954a3e77b1
13 changed files with 91 additions and 75 deletions

View File

@@ -156,7 +156,7 @@ sudoers_policy_init(void *info, char * const envp[])
if (nss->open(nss) == 0 && nss->parse(nss) == 0) {
sources++;
if (nss->setdefs(nss) != 0)
log_warning(NO_STDERR, N_("problem with defaults entries"));
log_warningx(NO_STDERR, N_("problem with defaults entries"));
} else {
TAILQ_REMOVE(snl, nss, entries);
}
@@ -195,7 +195,7 @@ sudoers_policy_init(void *info, char * const envp[])
}
if (!update_defaults(SETDEF_RUNAS))
log_warning(NO_STDERR, N_("problem with defaults entries"));
log_warningx(NO_STDERR, N_("problem with defaults entries"));
if (def_fqdn)
set_fqdn(); /* deferred until after sudoers is parsed */
@@ -335,7 +335,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
timestamp_uid = pw->pw_uid;
sudo_pw_delref(pw);
} else {
log_warning(0, N_("timestamp owner (%s): No such user"),
log_warningx(0, N_("timestamp owner (%s): No such user"),
def_timestampowner);
timestamp_uid = ROOT_UID;
}
@@ -600,7 +600,7 @@ init_vars(char * const envp[])
debug_return_bool(false);
}
/* Need to make a fake struct passwd for the call to log_warning(). */
/* Need to make a fake struct passwd for the call to log_warningx(). */
sudo_user.pw = sudo_mkpwent(user_name, user_uid, user_gid, NULL, NULL);
unknown_user = true;
}
@@ -623,9 +623,9 @@ init_vars(char * const envp[])
/* Set maxseq callback. */
sudo_defs_table[I_MAXSEQ].callback = io_set_max_sessid;
/* It is now safe to use log_warning() and set_perms() */
/* It is now safe to use log_warningx() and set_perms() */
if (unknown_user) {
log_warning(0, N_("unknown uid: %u"), (unsigned int) user_uid);
log_warningx(0, N_("unknown uid: %u"), (unsigned int) user_uid);
debug_return_bool(false);
}
debug_return_bool(true);
@@ -671,7 +671,7 @@ set_cmnd(void)
if (rval == NOT_FOUND_ERROR) {
if (errno == ENAMETOOLONG)
audit_failure(NewArgv, N_("command too long"));
log_warning(NO_MAIL|USE_ERRNO, "%s", NewArgv[0]);
log_warning(NO_MAIL, "%s", NewArgv[0]);
debug_return_int(rval);
}
}
@@ -721,7 +721,7 @@ set_cmnd(void)
user_base = user_cmnd;
if (!update_defaults(SETDEF_CMND))
log_warning(NO_STDERR, N_("problem with defaults entries"));
log_warningx(NO_STDERR, N_("problem with defaults entries"));
debug_return_int(rval);
}
@@ -758,11 +758,10 @@ open_sudoers(const char *sudoers, bool doedit, bool *keepopen)
* the user with a reasonable error message (unlike the lexer).
*/
if ((fp = fopen(sudoers, "r")) == NULL) {
log_warning(USE_ERRNO, N_("unable to open %s"), sudoers);
log_warning(0, N_("unable to open %s"), sudoers);
} else {
if (sb.st_size != 0 && fgetc(fp) == EOF) {
log_warning(USE_ERRNO, N_("unable to read %s"),
sudoers);
log_warning(0, N_("unable to read %s"), sudoers);
fclose(fp);
fp = NULL;
} else {
@@ -773,20 +772,20 @@ open_sudoers(const char *sudoers, bool doedit, bool *keepopen)
}
break;
case SUDO_PATH_MISSING:
log_warning(USE_ERRNO, N_("unable to stat %s"), sudoers);
log_warning(0, N_("unable to stat %s"), sudoers);
break;
case SUDO_PATH_BAD_TYPE:
log_warning(0, N_("%s is not a regular file"), sudoers);
log_warningx(0, N_("%s is not a regular file"), sudoers);
break;
case SUDO_PATH_WRONG_OWNER:
log_warning(0, N_("%s is owned by uid %u, should be %u"),
log_warningx(0, N_("%s is owned by uid %u, should be %u"),
sudoers, (unsigned int) sb.st_uid, (unsigned int) sudoers_uid);
break;
case SUDO_PATH_WORLD_WRITABLE:
log_warning(0, N_("%s is world writable"), sudoers);
log_warningx(0, N_("%s is world writable"), sudoers);
break;
case SUDO_PATH_GROUP_WRITABLE:
log_warning(0, N_("%s is owned by gid %u, should be %u"),
log_warningx(0, N_("%s is owned by gid %u, should be %u"),
sudoers, (unsigned int) sb.st_gid, (unsigned int) sudoers_gid);
break;
default:
@@ -836,7 +835,7 @@ set_loginclass(struct passwd *pw)
* class themselves. We do this because if login.conf gets
* corrupted we want the admin to be able to use sudo to fix it.
*/
log_warning(errflags, N_("unknown login class: %s"), login_class);
log_warningx(errflags, N_("unknown login class: %s"), login_class);
def_use_loginclass = false;
if (login_class)
rval = false;
@@ -872,7 +871,7 @@ set_fqdn(void)
hint.ai_family = PF_UNSPEC;
hint.ai_flags = AI_FQDN;
if (getaddrinfo(user_host, NULL, &hint, &res0) != 0) {
log_warning(MSG_ONLY, N_("unable to resolve host %s"), user_host);
log_warningx(MSG_ONLY, N_("unable to resolve host %s"), user_host);
} else {
if (user_shost != user_host)
efree(user_shost);
@@ -908,7 +907,7 @@ set_runaspw(const char *user, bool quiet)
if (pw == NULL) {
if ((pw = sudo_getpwnam(user)) == NULL) {
if (!quiet)
log_warning(NO_MAIL|MSG_ONLY, N_("unknown user: %s"), user);
log_warningx(NO_MAIL|MSG_ONLY, N_("unknown user: %s"), user);
debug_return_bool(false);
}
}
@@ -939,7 +938,7 @@ set_runasgr(const char *group, bool quiet)
if (gr == NULL) {
if ((gr = sudo_getgrnam(group)) == NULL) {
if (!quiet)
log_warning(NO_MAIL|MSG_ONLY, N_("unknown group: %s"), group);
log_warningx(NO_MAIL|MSG_ONLY, N_("unknown group: %s"), group);
debug_return_bool(false);
}
}