Use "double quotes" in messages instead of a combination of the
accent (grave) mark and apostrophe.
This commit is contained in:
@@ -220,7 +220,7 @@ parse_path(const char *entry, const char *conf_file, unsigned int lineno)
|
|||||||
__func__, conf_file, lineno, entry);
|
__func__, conf_file, lineno, entry);
|
||||||
debug_return_int(false);
|
debug_return_int(false);
|
||||||
bad:
|
bad:
|
||||||
sudo_warnx(U_("invalid Path value `%s' in %s, line %u"),
|
sudo_warnx(U_("invalid Path value \"%s\" in %s, line %u"),
|
||||||
entry, conf_file, lineno);
|
entry, conf_file, lineno);
|
||||||
debug_return_int(false);
|
debug_return_int(false);
|
||||||
}
|
}
|
||||||
@@ -386,7 +386,7 @@ set_var_disable_coredump(const char *strval, const char *conf_file,
|
|||||||
debug_decl(set_var_disable_coredump, SUDO_DEBUG_UTIL)
|
debug_decl(set_var_disable_coredump, SUDO_DEBUG_UTIL)
|
||||||
|
|
||||||
if (val == -1) {
|
if (val == -1) {
|
||||||
sudo_warnx(U_("invalid value for %s `%s' in %s, line %u"),
|
sudo_warnx(U_("invalid value for %s \"%s\" in %s, line %u"),
|
||||||
"disable_coredump", strval, conf_file, lineno);
|
"disable_coredump", strval, conf_file, lineno);
|
||||||
debug_return_bool(false);
|
debug_return_bool(false);
|
||||||
}
|
}
|
||||||
@@ -407,7 +407,7 @@ set_var_group_source(const char *strval, const char *conf_file,
|
|||||||
} else if (strcasecmp(strval, "dynamic") == 0) {
|
} else if (strcasecmp(strval, "dynamic") == 0) {
|
||||||
sudo_conf_data.group_source = GROUP_SOURCE_DYNAMIC;
|
sudo_conf_data.group_source = GROUP_SOURCE_DYNAMIC;
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("unsupported group source `%s' in %s, line %u"), strval,
|
sudo_warnx(U_("unsupported group source \"%s\" in %s, line %u"), strval,
|
||||||
conf_file, lineno);
|
conf_file, lineno);
|
||||||
debug_return_bool(false);
|
debug_return_bool(false);
|
||||||
}
|
}
|
||||||
@@ -423,7 +423,7 @@ set_var_max_groups(const char *strval, const char *conf_file,
|
|||||||
|
|
||||||
max_groups = strtonum(strval, 1, INT_MAX, NULL);
|
max_groups = strtonum(strval, 1, INT_MAX, NULL);
|
||||||
if (max_groups <= 0) {
|
if (max_groups <= 0) {
|
||||||
sudo_warnx(U_("invalid max groups `%s' in %s, line %u"), strval,
|
sudo_warnx(U_("invalid max groups \"%s\" in %s, line %u"), strval,
|
||||||
conf_file, lineno);
|
conf_file, lineno);
|
||||||
debug_return_bool(false);
|
debug_return_bool(false);
|
||||||
}
|
}
|
||||||
@@ -439,7 +439,7 @@ set_var_probe_interfaces(const char *strval, const char *conf_file,
|
|||||||
debug_decl(set_var_probe_interfaces, SUDO_DEBUG_UTIL)
|
debug_decl(set_var_probe_interfaces, SUDO_DEBUG_UTIL)
|
||||||
|
|
||||||
if (val == -1) {
|
if (val == -1) {
|
||||||
sudo_warnx(U_("invalid value for %s `%s' in %s, line %u"),
|
sudo_warnx(U_("invalid value for %s \"%s\" in %s, line %u"),
|
||||||
"probe_interfaces", strval, conf_file, lineno);
|
"probe_interfaces", strval, conf_file, lineno);
|
||||||
debug_return_bool(false);
|
debug_return_bool(false);
|
||||||
}
|
}
|
||||||
|
@@ -129,7 +129,7 @@ alias_add(char *name, int type, struct member *members)
|
|||||||
HLTQ_TO_TAILQ(&a->members, members, entries);
|
HLTQ_TO_TAILQ(&a->members, members, entries);
|
||||||
switch (rbinsert(aliases, a, NULL)) {
|
switch (rbinsert(aliases, a, NULL)) {
|
||||||
case 1:
|
case 1:
|
||||||
snprintf(errbuf, sizeof(errbuf), N_("Alias `%s' already defined"), name);
|
snprintf(errbuf, sizeof(errbuf), N_("Alias \"%s\" already defined"), name);
|
||||||
alias_free(a);
|
alias_free(a);
|
||||||
debug_return_str(errbuf);
|
debug_return_str(errbuf);
|
||||||
case -1:
|
case -1:
|
||||||
|
@@ -207,10 +207,10 @@ set_default_entry(struct sudo_defs_types *def, const char *val, int op,
|
|||||||
if (!ISSET(def->type, T_BOOL) || op != false) {
|
if (!ISSET(def->type, T_BOOL) || op != false) {
|
||||||
if (!ISSET(flags, FLAG_QUIET)) {
|
if (!ISSET(flags, FLAG_QUIET)) {
|
||||||
if (lineno > 0) {
|
if (lineno > 0) {
|
||||||
sudo_warnx(U_("%s:%d no value specified for `%s'"),
|
sudo_warnx(U_("%s:%d no value specified for \"%s\""),
|
||||||
file, lineno, def->name);
|
file, lineno, def->name);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("%s: no value specified for `%s'"),
|
sudo_warnx(U_("%s: no value specified for \"%s\""),
|
||||||
file, def->name);
|
file, def->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -229,10 +229,10 @@ set_default_entry(struct sudo_defs_types *def, const char *val, int op,
|
|||||||
if (ISSET(def->type, T_PATH) && val != NULL && *val != '/') {
|
if (ISSET(def->type, T_PATH) && val != NULL && *val != '/') {
|
||||||
if (!ISSET(flags, FLAG_QUIET)) {
|
if (!ISSET(flags, FLAG_QUIET)) {
|
||||||
if (lineno > 0) {
|
if (lineno > 0) {
|
||||||
sudo_warnx(U_("%s:%d values for `%s' must start with a '/'"),
|
sudo_warnx(U_("%s:%d values for \"%s\" must start with a '/'"),
|
||||||
file, lineno, def->name);
|
file, lineno, def->name);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("%s: values for `%s' must start with a '/'"),
|
sudo_warnx(U_("%s: values for \"%s\" must start with a '/'"),
|
||||||
file, def->name);
|
file, def->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -257,10 +257,10 @@ set_default_entry(struct sudo_defs_types *def, const char *val, int op,
|
|||||||
if (val != NULL) {
|
if (val != NULL) {
|
||||||
if (!ISSET(flags, FLAG_QUIET)) {
|
if (!ISSET(flags, FLAG_QUIET)) {
|
||||||
if (lineno > 0) {
|
if (lineno > 0) {
|
||||||
sudo_warnx(U_("%s:%d option `%s' does not take a value"),
|
sudo_warnx(U_("%s:%d option \"%s\" does not take a value"),
|
||||||
file, lineno, def->name);
|
file, lineno, def->name);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("%s: option `%s' does not take a value"),
|
sudo_warnx(U_("%s: option \"%s\" does not take a value"),
|
||||||
file, def->name);
|
file, def->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -279,10 +279,10 @@ set_default_entry(struct sudo_defs_types *def, const char *val, int op,
|
|||||||
default:
|
default:
|
||||||
if (!ISSET(flags, FLAG_QUIET)) {
|
if (!ISSET(flags, FLAG_QUIET)) {
|
||||||
if (lineno > 0) {
|
if (lineno > 0) {
|
||||||
sudo_warnx(U_("%s:%d invalid Defaults type 0x%x for option `%s'"),
|
sudo_warnx(U_("%s:%d invalid Defaults type 0x%x for option \"%s\""),
|
||||||
file, lineno, def->type, def->name);
|
file, lineno, def->type, def->name);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("%s: invalid Defaults type 0x%x for option `%s'"),
|
sudo_warnx(U_("%s: invalid Defaults type 0x%x for option \"%s\""),
|
||||||
file, def->type, def->name);
|
file, def->type, def->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -297,10 +297,10 @@ set_default_entry(struct sudo_defs_types *def, const char *val, int op,
|
|||||||
case false:
|
case false:
|
||||||
if (!ISSET(flags, FLAG_QUIET)) {
|
if (!ISSET(flags, FLAG_QUIET)) {
|
||||||
if (lineno > 0) {
|
if (lineno > 0) {
|
||||||
sudo_warnx(U_("%s:%d value `%s' is invalid for option `%s'"),
|
sudo_warnx(U_("%s:%d value \"%s\" is invalid for option \"%s\""),
|
||||||
file, lineno, val, def->name);
|
file, lineno, val, def->name);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("%s: value `%s' is invalid for option `%s'"),
|
sudo_warnx(U_("%s: value \"%s\" is invalid for option \"%s\""),
|
||||||
file, val, def->name);
|
file, val, def->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -349,10 +349,10 @@ set_default_int(const char *var, const char *val, int op, const char *file,
|
|||||||
if (!cur->name) {
|
if (!cur->name) {
|
||||||
if (!ISSET(flags, FLAG_QUIET)) {
|
if (!ISSET(flags, FLAG_QUIET)) {
|
||||||
if (lineno > 0) {
|
if (lineno > 0) {
|
||||||
sudo_warnx(U_("%s:%d unknown defaults entry `%s'"),
|
sudo_warnx(U_("%s:%d unknown defaults entry \"%s\""),
|
||||||
file, lineno, var);
|
file, lineno, var);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("%s: unknown defaults entry `%s'"),
|
sudo_warnx(U_("%s: unknown defaults entry \"%s\""),
|
||||||
file, var);
|
file, var);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -769,10 +769,10 @@ check_default(const char *var, const char *val, int op, const char *file,
|
|||||||
if (cur->name == NULL) {
|
if (cur->name == NULL) {
|
||||||
if (!quiet) {
|
if (!quiet) {
|
||||||
if (lineno > 0) {
|
if (lineno > 0) {
|
||||||
sudo_warnx(U_("%s:%d unknown defaults entry `%s'"),
|
sudo_warnx(U_("%s:%d unknown defaults entry \"%s\""),
|
||||||
file, lineno, var);
|
file, lineno, var);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(U_("%s: unknown defaults entry `%s'"),
|
sudo_warnx(U_("%s: unknown defaults entry \"%s\""),
|
||||||
file, var);
|
file, var);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -323,7 +323,7 @@ log_failure(int status, int flags)
|
|||||||
if (flags == NOT_FOUND)
|
if (flags == NOT_FOUND)
|
||||||
sudo_warnx(U_("%s: command not found"), user_cmnd);
|
sudo_warnx(U_("%s: command not found"), user_cmnd);
|
||||||
else if (flags == NOT_FOUND_DOT)
|
else if (flags == NOT_FOUND_DOT)
|
||||||
sudo_warnx(U_("ignoring `%s' found in '.'\nUse `sudo ./%s' if this is the `%s' you wish to run."), user_cmnd, user_cmnd, user_cmnd);
|
sudo_warnx(U_("ignoring \"%s\" found in '.'\nUse \"sudo ./%s\" if this is the \"%s\" you wish to run."), user_cmnd, user_cmnd, user_cmnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
debug_return_bool(ret);
|
debug_return_bool(ret);
|
||||||
|
@@ -459,7 +459,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
|
|||||||
/* Finally tell the user if the command did not exist. */
|
/* Finally tell the user if the command did not exist. */
|
||||||
if (cmnd_status == NOT_FOUND_DOT) {
|
if (cmnd_status == NOT_FOUND_DOT) {
|
||||||
audit_failure(NewArgc, NewArgv, N_("command in current directory"));
|
audit_failure(NewArgc, NewArgv, N_("command in current directory"));
|
||||||
sudo_warnx(U_("ignoring `%s' found in '.'\nUse `sudo ./%s' if this is the `%s' you wish to run."), user_cmnd, user_cmnd, user_cmnd);
|
sudo_warnx(U_("ignoring \"%s\" found in '.'\nUse \"sudo ./%s\" if this is the \"%s\" you wish to run."), user_cmnd, user_cmnd, user_cmnd);
|
||||||
goto bad;
|
goto bad;
|
||||||
} else if (cmnd_status == NOT_FOUND) {
|
} else if (cmnd_status == NOT_FOUND) {
|
||||||
if (ISSET(sudo_mode, MODE_CHECK)) {
|
if (ISSET(sudo_mode, MODE_CHECK)) {
|
||||||
@@ -645,7 +645,7 @@ done:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize timezone and fill in ``sudo_user'' struct.
|
* Initialize timezone and fill in sudo_user struct.
|
||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
init_vars(char * const envp[])
|
init_vars(char * const envp[])
|
||||||
@@ -956,7 +956,7 @@ set_loginclass(struct passwd *pw)
|
|||||||
|
|
||||||
if (login_class && strcmp(login_class, "-") != 0) {
|
if (login_class && strcmp(login_class, "-") != 0) {
|
||||||
if (user_uid != 0 && pw->pw_uid != 0) {
|
if (user_uid != 0 && pw->pw_uid != 0) {
|
||||||
sudo_warnx(U_("only root can use `-c %s'"), login_class);
|
sudo_warnx(U_("only root can use \"-c %s\""), login_class);
|
||||||
ret = false;
|
ret = false;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
@@ -1109,13 +1109,13 @@ check_alias(char *name, int type, int strict, int quiet)
|
|||||||
if (!quiet) {
|
if (!quiet) {
|
||||||
if (errno == ELOOP) {
|
if (errno == ELOOP) {
|
||||||
sudo_warnx(strict ?
|
sudo_warnx(strict ?
|
||||||
U_("Error: cycle in %s `%s'") :
|
U_("Error: cycle in %s \"%s\"") :
|
||||||
U_("Warning: cycle in %s `%s'"),
|
U_("Warning: cycle in %s \"%s\""),
|
||||||
alias_type_to_string(type), name);
|
alias_type_to_string(type), name);
|
||||||
} else {
|
} else {
|
||||||
sudo_warnx(strict ?
|
sudo_warnx(strict ?
|
||||||
U_("Error: %s `%s' referenced but not defined") :
|
U_("Error: %s \"%s\" referenced but not defined") :
|
||||||
U_("Warning: %s `%s' referenced but not defined"),
|
U_("Warning: %s \"%s\" referenced but not defined"),
|
||||||
alias_type_to_string(type), name);
|
alias_type_to_string(type), name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1258,7 +1258,7 @@ print_unused(void *v1, void *v2)
|
|||||||
{
|
{
|
||||||
struct alias *a = (struct alias *)v1;
|
struct alias *a = (struct alias *)v1;
|
||||||
|
|
||||||
sudo_warnx_nodebug(U_("Warning: unused %s `%s'"),
|
sudo_warnx_nodebug(U_("Warning: unused %s \"%s\""),
|
||||||
alias_type_to_string(a->type), a->name);
|
alias_type_to_string(a->type), a->name);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -629,7 +629,7 @@ print_defaults_json(FILE *fp, int indent, bool need_comma)
|
|||||||
TAILQ_FOREACH_SAFE(def, &defaults, entries, next) {
|
TAILQ_FOREACH_SAFE(def, &defaults, entries, next) {
|
||||||
type = get_defaults_type(def);
|
type = get_defaults_type(def);
|
||||||
if (type == -1) {
|
if (type == -1) {
|
||||||
sudo_warnx(U_("unknown defaults entry `%s'"), def->var);
|
sudo_warnx(U_("unknown defaults entry \"%s\""), def->var);
|
||||||
/* XXX - just pass it through as a string anyway? */
|
/* XXX - just pass it through as a string anyway? */
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -664,7 +664,7 @@ print_defaults_json(FILE *fp, int indent, bool need_comma)
|
|||||||
def = next;
|
def = next;
|
||||||
type = get_defaults_type(def);
|
type = get_defaults_type(def);
|
||||||
if (type == -1) {
|
if (type == -1) {
|
||||||
sudo_warnx(U_("unknown defaults entry `%s'"), def->var);
|
sudo_warnx(U_("unknown defaults entry \"%s\""), def->var);
|
||||||
/* XXX - just pass it through as a string anyway? */
|
/* XXX - just pass it through as a string anyway? */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -47,7 +47,7 @@ sudo_stat_plugin(struct plugin_info *info, char *fullpath,
|
|||||||
|
|
||||||
if (info->path[0] == '/') {
|
if (info->path[0] == '/') {
|
||||||
if (strlcpy(fullpath, info->path, pathsize) >= pathsize) {
|
if (strlcpy(fullpath, info->path, pathsize) >= pathsize) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("%s: %s"), info->path, strerror(ENAMETOOLONG));
|
sudo_warnx(U_("%s: %s"), info->path, strerror(ENAMETOOLONG));
|
||||||
goto done;
|
goto done;
|
||||||
@@ -60,7 +60,7 @@ sudo_stat_plugin(struct plugin_info *info, char *fullpath,
|
|||||||
/* Check static symbols. */
|
/* Check static symbols. */
|
||||||
if (strcmp(info->path, SUDOERS_PLUGIN) == 0) {
|
if (strcmp(info->path, SUDOERS_PLUGIN) == 0) {
|
||||||
if (strlcpy(fullpath, info->path, pathsize) >= pathsize) {
|
if (strlcpy(fullpath, info->path, pathsize) >= pathsize) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("%s: %s"), info->path, strerror(ENAMETOOLONG));
|
sudo_warnx(U_("%s: %s"), info->path, strerror(ENAMETOOLONG));
|
||||||
goto done;
|
goto done;
|
||||||
@@ -82,7 +82,7 @@ sudo_stat_plugin(struct plugin_info *info, char *fullpath,
|
|||||||
len = snprintf(fullpath, pathsize, "%s%s", sudo_conf_plugin_dir_path(),
|
len = snprintf(fullpath, pathsize, "%s%s", sudo_conf_plugin_dir_path(),
|
||||||
info->path);
|
info->path);
|
||||||
if (len <= 0 || (size_t)len >= pathsize) {
|
if (len <= 0 || (size_t)len >= pathsize) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("%s%s: %s"), sudo_conf_plugin_dir_path(), info->path,
|
sudo_warnx(U_("%s%s: %s"), sudo_conf_plugin_dir_path(), info->path,
|
||||||
strerror(ENAMETOOLONG));
|
strerror(ENAMETOOLONG));
|
||||||
@@ -112,7 +112,7 @@ sudo_check_plugin(struct plugin_info *info, char *fullpath, size_t pathsize)
|
|||||||
debug_decl(sudo_check_plugin, SUDO_DEBUG_PLUGIN)
|
debug_decl(sudo_check_plugin, SUDO_DEBUG_PLUGIN)
|
||||||
|
|
||||||
if (sudo_stat_plugin(info, fullpath, pathsize, &sb) != 0) {
|
if (sudo_stat_plugin(info, fullpath, pathsize, &sb) != 0) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warn("%s%s",
|
sudo_warn("%s%s",
|
||||||
sudo_conf_plugin_dir_path() ? sudo_conf_plugin_dir_path() : "",
|
sudo_conf_plugin_dir_path() ? sudo_conf_plugin_dir_path() : "",
|
||||||
@@ -120,13 +120,13 @@ sudo_check_plugin(struct plugin_info *info, char *fullpath, size_t pathsize)
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
if (sb.st_uid != ROOT_UID) {
|
if (sb.st_uid != ROOT_UID) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("%s must be owned by uid %d"), fullpath, ROOT_UID);
|
sudo_warnx(U_("%s must be owned by uid %d"), fullpath, ROOT_UID);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
if ((sb.st_mode & (S_IWGRP|S_IWOTH)) != 0) {
|
if ((sb.st_mode & (S_IWGRP|S_IWOTH)) != 0) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("%s must be only be writable by owner"), fullpath);
|
sudo_warnx(U_("%s must be only be writable by owner"), fullpath);
|
||||||
goto done;
|
goto done;
|
||||||
@@ -167,7 +167,7 @@ sudo_load_plugin(struct plugin_container *policy_plugin,
|
|||||||
handle = sudo_dso_load(path, SUDO_DSO_LAZY|SUDO_DSO_GLOBAL);
|
handle = sudo_dso_load(path, SUDO_DSO_LAZY|SUDO_DSO_GLOBAL);
|
||||||
if (!handle) {
|
if (!handle) {
|
||||||
const char *errstr = sudo_dso_strerror();
|
const char *errstr = sudo_dso_strerror();
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("unable to load %s: %s"), path,
|
sudo_warnx(U_("unable to load %s: %s"), path,
|
||||||
errstr ? errstr : "unknown error");
|
errstr ? errstr : "unknown error");
|
||||||
@@ -175,20 +175,20 @@ sudo_load_plugin(struct plugin_container *policy_plugin,
|
|||||||
}
|
}
|
||||||
plugin = sudo_dso_findsym(handle, info->symbol_name);
|
plugin = sudo_dso_findsym(handle, info->symbol_name);
|
||||||
if (!plugin) {
|
if (!plugin) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("unable to find symbol `%s' in %s"), info->symbol_name, path);
|
sudo_warnx(U_("unable to find symbol \"%s\" in %s"), info->symbol_name, path);
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin->type != SUDO_POLICY_PLUGIN && plugin->type != SUDO_IO_PLUGIN) {
|
if (plugin->type != SUDO_POLICY_PLUGIN && plugin->type != SUDO_IO_PLUGIN) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("unknown policy type %d found in %s"), plugin->type, path);
|
sudo_warnx(U_("unknown policy type %d found in %s"), plugin->type, path);
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
if (SUDO_API_VERSION_GET_MAJOR(plugin->version) != SUDO_API_VERSION_MAJOR) {
|
if (SUDO_API_VERSION_GET_MAJOR(plugin->version) != SUDO_API_VERSION_MAJOR) {
|
||||||
sudo_warnx(U_("error in %s, line %d while loading plugin `%s'"),
|
sudo_warnx(U_("error in %s, line %d while loading plugin \"%s\""),
|
||||||
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
_PATH_SUDO_CONF, info->lineno, info->symbol_name);
|
||||||
sudo_warnx(U_("incompatible plugin major version %d (expected %d) found in %s"),
|
sudo_warnx(U_("incompatible plugin major version %d (expected %d) found in %s"),
|
||||||
SUDO_API_VERSION_GET_MAJOR(plugin->version),
|
SUDO_API_VERSION_GET_MAJOR(plugin->version),
|
||||||
@@ -199,12 +199,12 @@ sudo_load_plugin(struct plugin_container *policy_plugin,
|
|||||||
if (policy_plugin->handle != NULL) {
|
if (policy_plugin->handle != NULL) {
|
||||||
/* Ignore duplicate entries. */
|
/* Ignore duplicate entries. */
|
||||||
if (strcmp(policy_plugin->name, info->symbol_name) != 0) {
|
if (strcmp(policy_plugin->name, info->symbol_name) != 0) {
|
||||||
sudo_warnx(U_("ignoring policy plugin `%s' in %s, line %d"),
|
sudo_warnx(U_("ignoring policy plugin \"%s\" in %s, line %d"),
|
||||||
info->symbol_name, _PATH_SUDO_CONF, info->lineno);
|
info->symbol_name, _PATH_SUDO_CONF, info->lineno);
|
||||||
sudo_warnx(U_("only a single policy plugin may be specified"));
|
sudo_warnx(U_("only a single policy plugin may be specified"));
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
sudo_warnx(U_("ignoring duplicate policy plugin `%s' in %s, line %d"),
|
sudo_warnx(U_("ignoring duplicate policy plugin \"%s\" in %s, line %d"),
|
||||||
info->symbol_name, _PATH_SUDO_CONF, info->lineno);
|
info->symbol_name, _PATH_SUDO_CONF, info->lineno);
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
@@ -225,7 +225,7 @@ sudo_load_plugin(struct plugin_container *policy_plugin,
|
|||||||
/* Check for duplicate entries. */
|
/* Check for duplicate entries. */
|
||||||
TAILQ_FOREACH(container, io_plugins, entries) {
|
TAILQ_FOREACH(container, io_plugins, entries) {
|
||||||
if (strcmp(container->name, info->symbol_name) == 0) {
|
if (strcmp(container->name, info->symbol_name) == 0) {
|
||||||
sudo_warnx(U_("ignoring duplicate I/O plugin `%s' in %s, line %d"),
|
sudo_warnx(U_("ignoring duplicate I/O plugin \"%s\" in %s, line %d"),
|
||||||
info->symbol_name, _PATH_SUDO_CONF, info->lineno);
|
info->symbol_name, _PATH_SUDO_CONF, info->lineno);
|
||||||
sudo_dso_unload(handle);
|
sudo_dso_unload(handle);
|
||||||
handle = NULL;
|
handle = NULL;
|
||||||
|
Reference in New Issue
Block a user