summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/audit_json/Makefile.in4
-rw-r--r--plugins/audit_json/audit_json.c116
-rw-r--r--plugins/group_file/getgrent.c2
-rw-r--r--plugins/python/Makefile.in13
-rw-r--r--plugins/python/pyhelpers.c9
-rw-r--r--plugins/python/pyhelpers.h2
-rw-r--r--plugins/python/python_convmessage.c4
-rw-r--r--plugins/python/python_importblocker.c44
-rw-r--r--plugins/python/python_plugin_approval.c5
-rw-r--r--plugins/python/python_plugin_approval_multi.inc8
-rw-r--r--plugins/python/python_plugin_audit.c11
-rw-r--r--plugins/python/python_plugin_audit_multi.inc8
-rw-r--r--plugins/python/python_plugin_common.c8
-rw-r--r--plugins/python/python_plugin_group.c6
-rw-r--r--plugins/python/python_plugin_io.c23
-rw-r--r--plugins/python/python_plugin_io_multi.inc20
-rw-r--r--plugins/python/python_plugin_policy.c6
-rw-r--r--plugins/python/regress/check_python_examples.c101
-rw-r--r--plugins/python/regress/iohelpers.h10
-rw-r--r--plugins/python/regress/testdata/check_multiple_approval_plugin_and_arguments.stdout4
-rw-r--r--plugins/python/sudo_python_module.c14
-rw-r--r--plugins/sample/Makefile.in2
-rw-r--r--plugins/sample/sample_plugin.c49
-rw-r--r--plugins/sample_approval/Makefile.in4
-rw-r--r--plugins/sudoers/Makefile.in103
-rw-r--r--plugins/sudoers/audit.c14
-rw-r--r--plugins/sudoers/auth/bsdauth.c8
-rw-r--r--plugins/sudoers/auth/pam.c2
-rw-r--r--plugins/sudoers/auth/sudo_auth.h2
-rw-r--r--plugins/sudoers/check.c18
-rw-r--r--plugins/sudoers/check_aliases.c2
-rw-r--r--plugins/sudoers/cvtsudoers.c45
-rw-r--r--plugins/sudoers/cvtsudoers.h2
-rw-r--r--plugins/sudoers/cvtsudoers_csv.c4
-rw-r--r--plugins/sudoers/cvtsudoers_json.c6
-rw-r--r--plugins/sudoers/cvtsudoers_ldif.c18
-rw-r--r--plugins/sudoers/cvtsudoers_merge.c10
-rw-r--r--plugins/sudoers/cvtsudoers_pwutil.c6
-rw-r--r--plugins/sudoers/def_data.c24
-rw-r--r--plugins/sudoers/def_data.h172
-rw-r--r--plugins/sudoers/def_data.in20
-rw-r--r--plugins/sudoers/defaults.c5
-rw-r--r--plugins/sudoers/defaults.h11
-rw-r--r--plugins/sudoers/editor.c15
-rw-r--r--plugins/sudoers/env.c22
-rw-r--r--plugins/sudoers/exptilde.c2
-rw-r--r--plugins/sudoers/fmtsudoers.c3
-rw-r--r--plugins/sudoers/getdate.c2519
-rw-r--r--plugins/sudoers/getdate.y8
-rw-r--r--plugins/sudoers/gram.c618
-rw-r--r--plugins/sudoers/gram.h3
-rw-r--r--plugins/sudoers/gram.y42
-rw-r--r--plugins/sudoers/group_plugin.c137
-rw-r--r--plugins/sudoers/insults.h2
-rw-r--r--plugins/sudoers/iolog.c4
-rw-r--r--plugins/sudoers/ldap.c4
-rw-r--r--plugins/sudoers/ldap_conf.c3
-rw-r--r--plugins/sudoers/log_client.c141
-rw-r--r--plugins/sudoers/logging.c30
-rw-r--r--plugins/sudoers/logging.h15
-rw-r--r--plugins/sudoers/match_command.c17
-rw-r--r--plugins/sudoers/match_digest.c4
-rw-r--r--plugins/sudoers/parse.c40
-rw-r--r--plugins/sudoers/parse.h4
-rw-r--r--plugins/sudoers/po/de.mobin78597 -> 80080 bytes
-rw-r--r--plugins/sudoers/po/de.po1551
-rw-r--r--plugins/sudoers/po/fr.mobin82988 -> 84559 bytes
-rw-r--r--plugins/sudoers/po/fr.po1547
-rw-r--r--plugins/sudoers/po/ja.mobin86746 -> 86736 bytes
-rw-r--r--plugins/sudoers/po/ja.po2078
-rw-r--r--plugins/sudoers/po/ko.mobin78472 -> 79927 bytes
-rw-r--r--plugins/sudoers/po/ko.po1557
-rw-r--r--plugins/sudoers/po/pl.mobin76514 -> 77976 bytes
-rw-r--r--plugins/sudoers/po/pl.po1551
-rw-r--r--plugins/sudoers/po/ro.mobin79651 -> 81174 bytes
-rw-r--r--plugins/sudoers/po/ro.po1552
-rw-r--r--plugins/sudoers/po/sr.mobin99815 -> 98181 bytes
-rw-r--r--plugins/sudoers/po/sr.po1590
-rw-r--r--plugins/sudoers/po/sudoers.pot1493
-rw-r--r--plugins/sudoers/po/sv.mobin65932 -> 74658 bytes
-rw-r--r--plugins/sudoers/po/sv.po2718
-rw-r--r--plugins/sudoers/po/uk.mobin103837 -> 105824 bytes
-rw-r--r--plugins/sudoers/po/uk.po1545
-rw-r--r--plugins/sudoers/policy.c73
-rw-r--r--plugins/sudoers/pwutil.c2
-rw-r--r--plugins/sudoers/regress/editor/check_editor.c31
-rw-r--r--plugins/sudoers/regress/exptilde/check_exptilde.c6
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_policy.c20
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_stubs.c2
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_sudoers.c41
-rw-r--r--plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c1
-rw-r--r--plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c13
-rw-r--r--plugins/sudoers/regress/parser/check_gentime.c4
-rw-r--r--plugins/sudoers/regress/serialize_list/check_serialize_list.c6
-rw-r--r--plugins/sudoers/regress/testsudoers/test11.out.ok4
-rwxr-xr-xplugins/sudoers/regress/testsudoers/test18.sh2
-rw-r--r--plugins/sudoers/regress/testsudoers/test19.out.ok20
-rwxr-xr-xplugins/sudoers/regress/testsudoers/test19.sh20
-rw-r--r--plugins/sudoers/regress/unescape/check_unesc.c6
-rw-r--r--plugins/sudoers/strlcpy_unesc.c3
-rw-r--r--plugins/sudoers/stubs.c1
-rw-r--r--plugins/sudoers/sudoers.c166
-rw-r--r--plugins/sudoers/sudoers.h19
-rw-r--r--plugins/sudoers/sudoers_hooks.c2
-rw-r--r--plugins/sudoers/sudoreplay.c29
-rw-r--r--plugins/sudoers/testsudoers.c25
-rw-r--r--plugins/sudoers/timestamp.c190
-rw-r--r--plugins/sudoers/timestr.c4
-rw-r--r--plugins/sudoers/toke.c2
-rw-r--r--plugins/sudoers/toke.h2
-rw-r--r--plugins/sudoers/toke.l2
-rw-r--r--plugins/sudoers/tsdump.c2
-rw-r--r--plugins/sudoers/tsgetgrpw.c4
-rw-r--r--plugins/sudoers/tsgetgrpw.h7
-rw-r--r--plugins/sudoers/unesc_str.c4
-rw-r--r--plugins/sudoers/visudo.c66
116 files changed, 12601 insertions, 9938 deletions
diff --git a/plugins/audit_json/Makefile.in b/plugins/audit_json/Makefile.in
index 2ec476bcc..199a60d97 100644
--- a/plugins/audit_json/Makefile.in
+++ b/plugins/audit_json/Makefile.in
@@ -191,8 +191,8 @@ check: check-fuzzer
check-verbose: check
clean:
- -$(LIBTOOL) $(LTFLAGS) --mode=clean rm -f *.lo *.o *.la *.a *.i *.plog \
- stamp-* core *.core core.*
+ -$(LIBTOOL) $(LTFLAGS) --mode=clean rm -f *.lo *.o *.la *.a
+ -rm -f *.i *.plog stamp-* core *.core core.*
mostlyclean: clean
diff --git a/plugins/audit_json/audit_json.c b/plugins/audit_json/audit_json.c
index c6c1f73f8..b419ca386 100644
--- a/plugins/audit_json/audit_json.c
+++ b/plugins/audit_json/audit_json.c
@@ -68,7 +68,7 @@ static struct audit_state {
} state = { -1 };
/* Filter out entries in settings[] that are not really options. */
-char * const settings_filter[] = {
+const char * const settings_filter[] = {
"debug_flags",
"max_groups",
"network_addrs",
@@ -189,7 +189,7 @@ done:
}
static bool
-add_key_value(struct json_container *json, const char *str)
+add_key_value(struct json_container *jsonc, const char *str)
{
struct json_value json_value;
const char *cp, *errstr;
@@ -256,35 +256,35 @@ add_key_value(struct json_container *json, const char *str)
json_value.u.string = cp;
}
- debug_return_bool(sudo_json_add_value(json, name, &json_value));
+ debug_return_bool(sudo_json_add_value(jsonc, name, &json_value));
}
static bool
-add_array(struct json_container *json, const char *name, char * const * array)
+add_array(struct json_container *jsonc, const char *name, char * const * array)
{
const char *cp;
struct json_value json_value;
debug_decl(add_array, SUDO_DEBUG_PLUGIN);
- if (!sudo_json_open_array(json, name))
+ if (!sudo_json_open_array(jsonc, name))
debug_return_bool(false);
while ((cp = *array) != NULL) {
json_value.type = JSON_STRING;
json_value.u.string = cp;
- if (!sudo_json_add_value(json, name, &json_value))
+ if (!sudo_json_add_value(jsonc, name, &json_value))
debug_return_bool(false);
array++;
}
- if (!sudo_json_close_array(json))
+ if (!sudo_json_close_array(jsonc))
debug_return_bool(false);
debug_return_bool(true);
}
static bool
-filter_key_value(const char *kv, char * const * filter)
+filter_key_value(const char *kv, const char * const * filter)
{
- char * const *cur;
+ const char * const *cur;
const char *cp;
size_t namelen;
@@ -299,8 +299,8 @@ filter_key_value(const char *kv, char * const * filter)
}
static bool
-add_key_value_object(struct json_container *json, const char *name,
- char * const * array, char * const * filter)
+add_key_value_object(struct json_container *jsonc, const char *name,
+ char * const * array, const char * const * filter)
{
char * const *cur;
const char *cp;
@@ -318,15 +318,15 @@ add_key_value_object(struct json_container *json, const char *name,
}
}
if (!empty) {
- if (!sudo_json_open_object(json, name))
+ if (!sudo_json_open_object(jsonc, name))
goto bad;
for (cur = array; (cp = *cur) != NULL; cur++) {
if (filter_key_value(cp, filter))
continue;
- if (!add_key_value(json, cp))
+ if (!add_key_value(jsonc, cp))
goto bad;
}
- if (!sudo_json_close_object(json))
+ if (!sudo_json_close_object(jsonc))
goto bad;
}
@@ -336,7 +336,7 @@ bad:
}
static bool
-add_timestamp(struct json_container *json, struct timespec *ts)
+add_timestamp(struct json_container *jsonc, struct timespec *ts)
{
struct json_value json_value;
time_t secs = ts->tv_sec;
@@ -348,22 +348,22 @@ add_timestamp(struct json_container *json, struct timespec *ts)
if (gmtime_r(&secs, &gmt) == NULL)
debug_return_bool(false);
- sudo_json_open_object(json, "timestamp");
+ sudo_json_open_object(jsonc, "timestamp");
json_value.type = JSON_NUMBER;
json_value.u.number = ts->tv_sec;
- sudo_json_add_value(json, "seconds", &json_value);
+ sudo_json_add_value(jsonc, "seconds", &json_value);
json_value.type = JSON_NUMBER;
json_value.u.number = ts->tv_nsec;
- sudo_json_add_value(json, "nanoseconds", &json_value);
+ sudo_json_add_value(jsonc, "nanoseconds", &json_value);
timebuf[sizeof(timebuf) - 1] = '\0';
len = strftime(timebuf, sizeof(timebuf), "%Y%m%d%H%M%SZ", &gmt);
if (len != 0 && timebuf[sizeof(timebuf) - 1] == '\0'){
json_value.type = JSON_STRING;
json_value.u.string = timebuf;
- sudo_json_add_value(json, "iso8601", &json_value);
+ sudo_json_add_value(jsonc, "iso8601", &json_value);
}
timebuf[sizeof(timebuf) - 1] = '\0';
@@ -371,16 +371,16 @@ add_timestamp(struct json_container *json, struct timespec *ts)
if (len != 0 && timebuf[sizeof(timebuf) - 1] == '\0'){
json_value.type = JSON_STRING;
json_value.u.string = timebuf;
- sudo_json_add_value(json, "localtime", &json_value);
+ sudo_json_add_value(jsonc, "localtime", &json_value);
}
- sudo_json_close_object(json);
+ sudo_json_close_object(jsonc);
debug_return_bool(true);
}
static int
-audit_write_json(struct json_container *json)
+audit_write_json(struct json_container *jsonc)
{
struct stat sb;
int ret = -1;
@@ -410,7 +410,7 @@ audit_write_json(struct json_container *json)
goto done;
}
- fputs(sudo_json_get_buf(json), state.log_fp);
+ fputs(sudo_json_get_buf(jsonc), state.log_fp);
fputs("\n}\n", state.log_fp);
fflush(state.log_fp);
(void)sudo_lock_file(fileno(state.log_fp), SUDO_UNLOCK);
@@ -426,7 +426,7 @@ done:
static int
audit_write_exit_record(int exit_status, int error)
{
- struct json_container json;
+ struct json_container jsonc;
struct json_value json_value;
struct timespec now;
int ret = -1;
@@ -437,33 +437,33 @@ audit_write_exit_record(int exit_status, int error)
goto done;
}
- if (!sudo_json_init(&json, 4, false, false))
+ if (!sudo_json_init(&jsonc, 4, false, false))
goto oom;
- if (!sudo_json_open_object(&json, "exit"))
+ if (!sudo_json_open_object(&jsonc, "exit"))
goto oom;
/* Write UUID */
json_value.type = JSON_STRING;
json_value.u.string = state.uuid_str;
- if (!sudo_json_add_value(&json, "uuid", &json_value))
+ if (!sudo_json_add_value(&jsonc, "uuid", &json_value))
goto oom;
/* Write time stamp */
- if (!add_timestamp(&json, &now))
+ if (!add_timestamp(&jsonc, &now))
goto oom;
if (error != 0) {
/* Error executing command */
json_value.type = JSON_STRING;
json_value.u.string = strerror(error);
- if (!sudo_json_add_value(&json, "error", &json_value))
+ if (!sudo_json_add_value(&jsonc, "error", &json_value))
goto oom;
} else {
if (WIFEXITED(exit_status)) {
/* Command exited normally. */
json_value.type = JSON_NUMBER;
json_value.u.number = WEXITSTATUS(exit_status);
- if (!sudo_json_add_value(&json, "exit_value", &json_value))
+ if (!sudo_json_add_value(&jsonc, "exit_value", &json_value))
goto oom;
} else if (WIFSIGNALED(exit_status)) {
/* Command killed by signal. */
@@ -472,37 +472,37 @@ audit_write_exit_record(int exit_status, int error)
if (signo <= 0 || sig2str(signo, signame) == -1) {
json_value.type = JSON_NUMBER;
json_value.u.number = signo;
- if (!sudo_json_add_value(&json, "signal", &json_value))
+ if (!sudo_json_add_value(&jsonc, "signal", &json_value))
goto oom;
} else {
json_value.type = JSON_STRING;
json_value.u.string = signame; // -V507
- if (!sudo_json_add_value(&json, "signal", &json_value))
+ if (!sudo_json_add_value(&jsonc, "signal", &json_value))
goto oom;
}
/* Core dump? */
json_value.type = JSON_BOOL;
json_value.u.boolean = WCOREDUMP(exit_status);
- if (!sudo_json_add_value(&json, "dumped_core", &json_value))
+ if (!sudo_json_add_value(&jsonc, "dumped_core", &json_value))
goto oom;
/* Exit value */
json_value.type = JSON_NUMBER;
json_value.u.number = WTERMSIG(exit_status) | 128;
- if (!sudo_json_add_value(&json, "exit_value", &json_value))
+ if (!sudo_json_add_value(&jsonc, "exit_value", &json_value))
goto oom;
}
}
- if (!sudo_json_close_object(&json))
+ if (!sudo_json_close_object(&jsonc))
goto oom;
- ret = audit_write_json(&json);
- sudo_json_free(&json);
+ ret = audit_write_json(&jsonc);
+ sudo_json_free(&jsonc);
done:
debug_return_int(ret);
oom:
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
- sudo_json_free(&json);
+ sudo_json_free(&jsonc);
debug_return_int(-1);
}
@@ -511,7 +511,7 @@ audit_write_record(const char *audit_str, const char *plugin_name,
unsigned int plugin_type, const char *reason, char * const command_info[],
char * const run_argv[], char * const run_envp[])
{
- struct json_container json;
+ struct json_container jsonc;
struct json_value json_value;
struct timespec now;
int ret = -1;
@@ -522,14 +522,14 @@ audit_write_record(const char *audit_str, const char *plugin_name,
goto done;
}
- if (!sudo_json_init(&json, 4, false, false))
+ if (!sudo_json_init(&jsonc, 4, false, false))
goto oom;
- if (!sudo_json_open_object(&json, audit_str))
+ if (!sudo_json_open_object(&jsonc, audit_str))
goto oom;
json_value.type = JSON_STRING;
json_value.u.string = plugin_name;
- if (!sudo_json_add_value(&json, "plugin_name", &json_value))
+ if (!sudo_json_add_value(&jsonc, "plugin_name", &json_value))
goto oom;
switch (plugin_type) {
@@ -553,85 +553,85 @@ audit_write_record(const char *audit_str, const char *plugin_name,
break;
}
json_value.type = JSON_STRING;
- if (!sudo_json_add_value(&json, "plugin_type", &json_value))
+ if (!sudo_json_add_value(&jsonc, "plugin_type", &json_value))
goto oom;
/* error and reject audit events usually contain a reason. */
if (reason != NULL) {
json_value.type = JSON_STRING;
json_value.u.string = reason;
- if (!sudo_json_add_value(&json, "reason", &json_value))
+ if (!sudo_json_add_value(&jsonc, "reason", &json_value))
goto oom;
}
json_value.type = JSON_STRING;
json_value.u.string = state.uuid_str;
- if (!sudo_json_add_value(&json, "uuid", &json_value))
+ if (!sudo_json_add_value(&jsonc, "uuid", &json_value))
goto oom;
- if (!add_timestamp(&json, &now))
+ if (!add_timestamp(&jsonc, &now))
goto oom;
/* Write key=value objects. */
if (state.settings != NULL) {
- if (!add_key_value_object(&json, "options", state.settings, settings_filter))
+ if (!add_key_value_object(&jsonc, "options", state.settings, settings_filter))
goto oom;
} else {
sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO,
"missing settings list");
}
if (state.user_info != NULL) {
- if (!add_key_value_object(&json, "user_info", state.user_info, NULL))
+ if (!add_key_value_object(&jsonc, "user_info", state.user_info, NULL))
goto oom;
} else {
sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO,
"missing user_info list");
}
if (command_info != NULL) {
- if (!add_key_value_object(&json, "command_info", command_info, NULL))
+ if (!add_key_value_object(&jsonc, "command_info", command_info, NULL))
goto oom;
}
/* Write submit_optind before submit_argv */
json_value.type = JSON_NUMBER;
json_value.u.number = state.submit_optind;
- if (!sudo_json_add_value(&json, "submit_optind", &json_value))
+ if (!sudo_json_add_value(&jsonc, "submit_optind", &json_value))
goto oom;
if (state.submit_argv != NULL) {
- if (!add_array(&json, "submit_argv", state.submit_argv))
+ if (!add_array(&jsonc, "submit_argv", state.submit_argv))
goto oom;
} else {
sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO,
"missing submit_argv array");
}
if (state.submit_envp != NULL) {
- if (!add_array(&json, "submit_envp", state.submit_envp))
+ if (!add_array(&jsonc, "submit_envp", state.submit_envp))
goto oom;
} else {
sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO,
"missing submit_envp array");
}
if (run_argv != NULL) {
- if (!add_array(&json, "run_argv", run_argv))
+ if (!add_array(&jsonc, "run_argv", run_argv))
goto oom;
}
if (run_envp != NULL) {
- if (!add_array(&json, "run_envp", run_envp))
+ if (!add_array(&jsonc, "run_envp", run_envp))
goto oom;
}
- if (!sudo_json_close_object(&json))
+ if (!sudo_json_close_object(&jsonc))
goto oom;
- ret = audit_write_json(&json);
- sudo_json_free(&json);
+ ret = audit_write_json(&jsonc);
+ sudo_json_free(&jsonc);
done:
debug_return_int(ret);
oom:
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
- sudo_json_free(&json);
+ sudo_json_free(&jsonc);
debug_return_int(-1);
}
diff --git a/plugins/group_file/getgrent.c b/plugins/group_file/getgrent.c
index 142fd39e1..efb74b25b 100644
--- a/plugins/group_file/getgrent.c
+++ b/plugins/group_file/getgrent.c
@@ -22,7 +22,7 @@
*/
/*
- * Trivial replacements for the libc getgr{uid,nam}() routines.
+ * Trivial replacements for the libc getgrent() family of functions.
*/
#include <config.h>
diff --git a/plugins/python/Makefile.in b/plugins/python/Makefile.in
index a4b71e57a..1510d22e7 100644
--- a/plugins/python/Makefile.in
+++ b/plugins/python/Makefile.in
@@ -36,6 +36,7 @@ cross_compiling = @CROSS_COMPILING@
# Compiler & tools to use
CC = @CC@
LIBTOOL = @LIBTOOL@
+GREP = @GREP@
SED = @SED@
AWK = @AWK@
@@ -227,7 +228,7 @@ check-fuzzer:
check: $(TEST_PROGS) check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
- if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
+ if locale -a 2>&1 | $(GREP) '^C.UTF-8$$' >/dev/null 2>&1; then \
LC_ALL=C.UTF-8; export LC_ALL; \
else \
LC_ALL=C; export LC_ALL; \
@@ -276,11 +277,13 @@ check_python_examples.i: $(srcdir)/regress/check_python_examples.c \
$(CC) -E -o $@ $(CPPFLAGS) $<
check_python_examples.plog: check_python_examples.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/check_python_examples.c --i-file $< --output-file $@
-iohelpers.o: $(srcdir)/regress/iohelpers.c $(incdir)/sudo_compat.h \
- $(srcdir)/regress/iohelpers.h $(top_builddir)/config.h
+iohelpers.o: $(srcdir)/regress/iohelpers.c $(incdir)/compat/stdbool.h \
+ $(incdir)/sudo_compat.h $(srcdir)/regress/iohelpers.h \
+ $(top_builddir)/config.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/iohelpers.c
-iohelpers.i: $(srcdir)/regress/iohelpers.c $(incdir)/sudo_compat.h \
- $(srcdir)/regress/iohelpers.h $(top_builddir)/config.h
+iohelpers.i: $(srcdir)/regress/iohelpers.c $(incdir)/compat/stdbool.h \
+ $(incdir)/sudo_compat.h $(srcdir)/regress/iohelpers.h \
+ $(top_builddir)/config.h
$(CC) -E -o $@ $(CPPFLAGS) $<
iohelpers.plog: iohelpers.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/iohelpers.c --i-file $< --output-file $@
diff --git a/plugins/python/pyhelpers.c b/plugins/python/pyhelpers.c
index 2670752d8..882b31a6b 100644
--- a/plugins/python/pyhelpers.c
+++ b/plugins/python/pyhelpers.c
@@ -67,13 +67,6 @@ struct PythonContext py_ctx = {
};
-int
-py_is_sudo_log_available(void)
-{
- debug_decl(py_is_sudo_log_available, PYTHON_DEBUG_INTERNAL);
- debug_return_int(py_ctx.sudo_log != &_sudo_printf_default);
-}
-
char *
py_join_str_list(PyObject *py_str_list, const char *separator)
{
@@ -104,7 +97,7 @@ cleanup:
debug_return_str(result);
}
-char *
+static char *
py_create_traceback_string(PyObject *py_traceback)
{
debug_decl(py_create_traceback_string, PYTHON_DEBUG_INTERNAL);
diff --git a/plugins/python/pyhelpers.h b/plugins/python/pyhelpers.h
index 524b14e3b..5448e1d48 100644
--- a/plugins/python/pyhelpers.h
+++ b/plugins/python/pyhelpers.h
@@ -22,7 +22,7 @@
#define PY_SSIZE_T_CLEAN
#include <Python.h>
-#include "config.h"
+#include <config.h>
#include "sudo_compat.h"
#include "sudo_plugin.h"
diff --git a/plugins/python/python_convmessage.c b/plugins/python/python_convmessage.c
index 14283dcd7..7b2aa6d0e 100644
--- a/plugins/python/python_convmessage.c
+++ b/plugins/python/python_convmessage.c
@@ -36,8 +36,8 @@ _sudo_ConvMessage__Init(PyObject *py_self, PyObject *py_args, PyObject *py_kwarg
struct sudo_conv_message conv_message = { 0, 0, NULL };
- static char *keywords[] = { "self", "msg_type", "msg", "timeout", NULL };
- if (!PyArg_ParseTupleAndKeywords(py_args ? py_args : py_empty, py_kwargs, "Ois|i:sudo.ConvMessage", keywords,
+ static const char *keywords[] = { "self", "msg_type", "msg", "timeout", NULL };
+ if (!PyArg_ParseTupleAndKeywords(py_args ? py_args : py_empty, py_kwargs, "Ois|i:sudo.ConvMessage", (char **)keywords,
&py_self, &(conv_message.msg_type), &(conv_message.msg),
&(conv_message.timeout)))
goto cleanup;
diff --git a/plugins/python/python_importblocker.c b/plugins/python/python_importblocker.c
index 2bce36c0b..109a816a4 100644
--- a/plugins/python/python_importblocker.c
+++ b/plugins/python/python_importblocker.c
@@ -78,17 +78,18 @@ cleanup:
}
static PyObject *
-_sudo_ImportBlocker__find_module(PyObject *py_self, PyObject *py_args)
+_sudo_ImportBlocker__find_spec(PyObject *py_self, PyObject *py_args)
{
- debug_decl(_sudo_ImportBlocker__find_module, PYTHON_DEBUG_C_CALLS);
+ debug_decl(_sudo_ImportBlocker__find_spec, PYTHON_DEBUG_C_CALLS);
- PyObject *py_fullname = NULL, *py_path = NULL, *py_meta_path = NULL,
- *py_meta_path_iterator = NULL, *py_finder = NULL,
- *py_importer = NULL, *py_import_path = NULL;
+ PyObject *py_fullname = NULL, *py_path = NULL, *py_target = NULL,
+ *py_meta_path = NULL, *py_meta_path_iterator = NULL,
+ *py_finder = NULL, *py_spec = NULL, *py_loader = NULL,
+ *py_import_path = NULL;
- py_debug_python_call("ImportBlocker", "find_module", py_args, NULL, PYTHON_DEBUG_C_CALLS);
+ py_debug_python_call("ImportBlocker", "find_spec", py_args, NULL, PYTHON_DEBUG_C_CALLS);
- if (!PyArg_UnpackTuple(py_args, "sudo.ImportBlocker.find_module", 2, 3, &py_self, &py_fullname, &py_path))
+ if (!PyArg_UnpackTuple(py_args, "sudo.ImportBlocker.find_spec", 2, 4, &py_self, &py_fullname, &py_path, &py_target))
goto cleanup;
py_meta_path = PyObject_GetAttrString(py_self, "meta_path");
@@ -100,16 +101,18 @@ _sudo_ImportBlocker__find_module(PyObject *py_self, PyObject *py_args)
goto cleanup;
while ((py_finder = PyIter_Next(py_meta_path_iterator)) != NULL) {
- py_importer = PyObject_CallMethod(py_finder, "find_module", "(OO)",
- py_fullname, py_path);
- if (py_importer == NULL) {
+ py_spec = PyObject_CallMethod(py_finder, "find_spec", "(OO)",
+ py_fullname, py_path, py_target);
+ if (py_spec == NULL) {
goto cleanup;
}
- if (py_importer != Py_None) { // the import could be resolved
- if (PyObject_HasAttrString(py_importer, "get_filename")) {
+ if (py_spec != Py_None && PyObject_HasAttrString(py_spec, "loader")) {
+ // the finder could be resolved and contains a loader
+ py_loader = PyObject_GetAttrString(py_spec, "loader");
+ if (py_loader != NULL && PyObject_HasAttrString(py_loader, "get_filename")) {
// there is a file associated with the import (.py, .so, etc)
- py_import_path = PyObject_CallMethod(py_importer, "get_filename", "");
+ py_import_path = PyObject_CallMethod(py_loader, "get_filename", "");
const char *import_path = PyUnicode_AsUTF8(py_import_path);
sudo_debug_printf(SUDO_DEBUG_DIAG, "ImportBlocker: verifying permissions "
@@ -127,32 +130,33 @@ _sudo_ImportBlocker__find_module(PyObject *py_self, PyObject *py_args)
goto cleanup;
}
- Py_CLEAR(py_importer);
+ Py_CLEAR(py_spec);
Py_CLEAR(py_finder);
}
- Py_CLEAR(py_importer);
- py_importer = Py_None;
- Py_INCREF(py_importer);
+ Py_CLEAR(py_spec);
+ py_spec = Py_None;
+ Py_INCREF(py_spec);
cleanup:
Py_CLEAR(py_meta_path_iterator);
Py_CLEAR(py_meta_path);
Py_CLEAR(py_finder);
Py_CLEAR(py_import_path);
+ Py_CLEAR(py_loader);
if (PyErr_Occurred()) {
- Py_CLEAR(py_importer);
+ Py_CLEAR(py_spec);
debug_return_ptr(NULL);
}
- debug_return_ptr(py_importer);
+ debug_return_ptr(py_spec);
}
static PyMethodDef _sudo_ImportBlocker_class_methods[] =
{
{"__init__", _sudo_ImportBlocker__Init, METH_VARARGS, ""},
- {"find_module", _sudo_ImportBlocker__find_module, METH_VARARGS, ""},
+ {"find_spec", _sudo_ImportBlocker__find_spec, METH_VARARGS, ""},
{NULL, NULL, 0, NULL}
};
diff --git a/plugins/python/python_plugin_approval.c b/plugins/python/python_plugin_approval.c
index 31c479f19..b9c746ed4 100644
--- a/plugins/python/python_plugin_approval.c
+++ b/plugins/python/python_plugin_approval.c
@@ -38,6 +38,7 @@ struct ApprovalPluginContext
// This also verifies compile time that the name matches the sudo plugin API.
#define CALLBACK_PYNAME(func_name) ((void)CALLBACK_PLUGINFUNC(func_name), #func_name)
+sudo_dso_public struct approval_plugin *python_approval_clone(void);
static int
python_plugin_approval_open(struct ApprovalPluginContext *approval_ctx,
@@ -133,7 +134,7 @@ python_plugin_approval_check(struct ApprovalPluginContext *approval_ctx,
debug_return_int(rc);
}
-int
+static int
python_plugin_approval_show_version(struct ApprovalPluginContext *approval_ctx, int verbose)
{
debug_decl(python_plugin_approval_show_version, PYTHON_DEBUG_CALLBACKS);
@@ -175,7 +176,7 @@ static struct approval_plugin *extra_approval_plugins[] = {
&python_approval7
};
-sudo_dso_public struct approval_plugin *
+struct approval_plugin *
python_approval_clone(void)
{
static size_t counter = 0;
diff --git a/plugins/python/python_plugin_approval_multi.inc b/plugins/python/python_plugin_approval_multi.inc
index 941c14d32..d5b15ffe6 100644
--- a/plugins/python/python_plugin_approval_multi.inc
+++ b/plugins/python/python_plugin_approval_multi.inc
@@ -11,7 +11,7 @@ extern struct approval_plugin APPROVAL_SYMBOL_NAME(python_approval);
static struct ApprovalPluginContext PLUGIN_CTX = { { NULL }, &APPROVAL_SYMBOL_NAME(python_approval) };
-int
+static int
CALLBACK_CFUNC(open)(unsigned int version, sudo_conv_t conversation,
sudo_printf_t sudo_printf, char * const settings[],
char * const user_info[], int submit_optind,
@@ -23,13 +23,13 @@ CALLBACK_CFUNC(open)(unsigned int version, sudo_conv_t conversation,
submit_envp, plugin_options, errstr);
}
-void
+static void
CALLBACK_CFUNC(close)(void)
{
python_plugin_approval_close(&PLUGIN_CTX);
}
-int
+static int
CALLBACK_CFUNC(check)(char * const command_info[], char * const run_argv[],
char * const run_envp[], const char **errstr)
{
@@ -37,7 +37,7 @@ CALLBACK_CFUNC(check)(char * const command_info[], char * const run_argv[],
run_envp, errstr);
}
-int
+static int
CALLBACK_CFUNC(show_version)(int verbose)
{
return python_plugin_approval_show_version(&PLUGIN_CTX, verbose);
diff --git a/plugins/python/python_plugin_audit.c b/plugins/python/python_plugin_audit.c
index ac4093482..e2036ed6e 100644
--- a/plugins/python/python_plugin_audit.c
+++ b/plugins/python/python_plugin_audit.c
@@ -44,6 +44,7 @@ struct AuditPluginContext
(void **)&CALLBACK_PLUGINFUNC(function_name)); \
} while(0)
+sudo_dso_public struct audit_plugin *python_audit_clone(void);
static int
_call_plugin_open(struct AuditPluginContext *audit_ctx, int submit_optind, char * const submit_argv[])
@@ -126,7 +127,7 @@ python_plugin_audit_close(struct AuditPluginContext *audit_ctx, int status_type,
debug_return;
}
-int
+static int
python_plugin_audit_accept(struct AuditPluginContext *audit_ctx,
const char *plugin_name, unsigned int plugin_type,
char * const command_info[], char * const run_argv[],
@@ -164,7 +165,7 @@ cleanup:
debug_return_int(rc);
}
-int
+static int
python_plugin_audit_reject(struct AuditPluginContext *audit_ctx,
const char *plugin_name, unsigned int plugin_type,
const char *audit_msg, char * const command_info[], const char **errstr)
@@ -194,7 +195,7 @@ cleanup:
debug_return_int(rc);
}
-int
+static int
python_plugin_audit_error(struct AuditPluginContext *audit_ctx,
const char *plugin_name, unsigned int plugin_type,
const char *audit_msg, char * const command_info[], const char **errstr)
@@ -221,7 +222,7 @@ cleanup:
debug_return_int(rc);
}
-int
+static int
python_plugin_audit_show_version(struct AuditPluginContext *audit_ctx, int verbose)
{
debug_decl(python_plugin_audit_show_version, PYTHON_DEBUG_CALLBACKS);
@@ -263,7 +264,7 @@ static struct audit_plugin *extra_audit_plugins[] = {
&python_audit7
};
-sudo_dso_public struct audit_plugin *
+struct audit_plugin *
python_audit_clone(void)
{
static size_t counter = 0;
diff --git a/plugins/python/python_plugin_audit_multi.inc b/plugins/python/python_plugin_audit_multi.inc
index 3dc8c1768..015b4d145 100644
--- a/plugins/python/python_plugin_audit_multi.inc
+++ b/plugins/python/python_plugin_audit_multi.inc
@@ -29,7 +29,7 @@ CALLBACK_CFUNC(close)(int status_type, int status)
python_plugin_audit_close(&PLUGIN_CTX, status_type, status);
}
-int
+static int
CALLBACK_CFUNC(accept)(const char *plugin_name, unsigned int plugin_type,
char * const command_info[], char * const run_argv[],
char * const run_envp[], const char **errstr)
@@ -38,7 +38,7 @@ CALLBACK_CFUNC(accept)(const char *plugin_name, unsigned int plugin_type,
command_info, run_argv, run_envp, errstr);
}
-int
+static int
CALLBACK_CFUNC(reject)(const char *plugin_name, unsigned int plugin_type,
const char *audit_msg, char * const command_info[], const char **errstr)
{
@@ -46,7 +46,7 @@ CALLBACK_CFUNC(reject)(const char *plugin_name, unsigned int plugin_type,
audit_msg, command_info, errstr);
}
-int
+static int
CALLBACK_CFUNC(error)(const char *plugin_name, unsigned int plugin_type,
const char *audit_msg, char * const command_info[], const char **errstr)
{
@@ -54,7 +54,7 @@ CALLBACK_CFUNC(error)(const char *plugin_name, unsigned int plugin_type,
audit_msg, command_info, errstr);
}
-int
+static int
CALLBACK_CFUNC(show_version)(int verbose)
{
return python_plugin_audit_show_version(&PLUGIN_CTX, verbose);
diff --git a/plugins/python/python_plugin_common.c b/plugins/python/python_plugin_common.c
index c337dd730..a583a5e58 100644
--- a/plugins/python/python_plugin_common.c
+++ b/plugins/python/python_plugin_common.c
@@ -42,7 +42,7 @@ static size_t python_inittab_copy_len = 0;
# define Py_FinalizeEx() (Py_Finalize(), 0)
#endif
-const char *
+static const char *
_lookup_value(char * const keyvalues[], const char *key)
{
debug_decl(_lookup_value, PYTHON_DEBUG_INTERNAL);
@@ -101,7 +101,7 @@ _import_module(const char *path)
if (strlcpy(path_copy, path, sizeof(path_copy)) >= sizeof(path_copy))
debug_return_ptr(NULL);
- char *module_dir = path_copy;
+ const char *module_dir = path_copy;
char *module_name = strrchr(path_copy, '/');
if (module_name == NULL) {
module_name = path_copy;
@@ -190,7 +190,7 @@ _restore_inittab(void)
debug_return;
}
-void
+static void
python_plugin_handle_plugin_error_exception(PyObject **py_result, struct PluginContext *plugin_ctx)
{
debug_decl(python_plugin_handle_plugin_error_exception, PYTHON_DEBUG_INTERNAL);
@@ -396,7 +396,7 @@ _python_plugin_register_plugin_in_py_ctx(void)
debug_return_int(SUDO_RC_OK);
}
-int
+static int
_python_plugin_set_path(struct PluginContext *plugin_ctx, const char *path)
{
if (path == NULL) {
diff --git a/plugins/python/python_plugin_group.c b/plugins/python/python_plugin_group.c
index d0ea3c113..b1514c7e5 100644
--- a/plugins/python/python_plugin_group.c
+++ b/plugins/python/python_plugin_group.c
@@ -36,7 +36,7 @@ extern struct sudoers_group_plugin group_plugin;
#define CALLBACK_PYNAME(func_name) ((void)CALLBACK_PLUGINFUNC(func_name), #func_name)
-int
+static int
python_plugin_group_init(int version, sudo_printf_t sudo_printf, char *const plugin_options[])
{
debug_decl(python_plugin_group_init, PYTHON_DEBUG_CALLBACKS);
@@ -79,7 +79,7 @@ python_plugin_group_init(int version, sudo_printf_t sudo_printf, char *const plu
debug_return_int(rc);
}
-void
+static void
python_plugin_group_cleanup(void)
{
debug_decl(python_plugin_group_cleanup, PYTHON_DEBUG_CALLBACKS);
@@ -87,7 +87,7 @@ python_plugin_group_cleanup(void)
python_plugin_deinit(&plugin_ctx);
}
-int
+static int
python_plugin_group_query(const char *user, const char *group, const struct passwd *pwd)
{
debug_decl(python_plugin_group_query, PYTHON_DEBUG_CALLBACKS);
diff --git a/plugins/python/python_plugin_io.c b/plugins/python/python_plugin_io.c
index b12480846..46289c361 100644
--- a/plugins/python/python_plugin_io.c
+++ b/plugins/python/python_plugin_io.c
@@ -44,6 +44,7 @@ struct IOPluginContext
(void **)&CALLBACK_PLUGINFUNC(function_name)); \
} while(0)
+sudo_dso_public struct io_plugin *python_io_clone(void);
static int
_call_plugin_open(struct IOPluginContext *io_ctx, int argc, char * const argv[], char * const command_info[])
@@ -75,7 +76,7 @@ _call_plugin_open(struct IOPluginContext *io_ctx, int argc, char * const argv[],
debug_return_int(rc);
}
-int
+static int
python_plugin_io_open(struct IOPluginContext *io_ctx,
unsigned int version, sudo_conv_t conversation,
sudo_printf_t sudo_printf, char * const settings[],
@@ -125,7 +126,7 @@ python_plugin_io_open(struct IOPluginContext *io_ctx,
debug_return_int(rc);
}
-void
+static void
python_plugin_io_close(struct IOPluginContext *io_ctx, int exit_status, int error)
{
debug_decl(python_plugin_io_close, PYTHON_DEBUG_CALLBACKS);
@@ -134,7 +135,7 @@ python_plugin_io_close(struct IOPluginContext *io_ctx, int exit_status, int erro
debug_return;
}
-int
+static int
python_plugin_io_show_version(struct IOPluginContext *io_ctx, int verbose)
{
debug_decl(python_plugin_io_show_version, PYTHON_DEBUG_CALLBACKS);
@@ -145,7 +146,7 @@ python_plugin_io_show_version(struct IOPluginContext *io_ctx, int verbose)
verbose, PY_IO_PLUGIN_VERSION, "io"));
}
-int
+static int
python_plugin_io_log_ttyin(struct IOPluginContext *io_ctx, const char *buf, unsigned int len, const char **errstr)
{
debug_decl(python_plugin_io_log_ttyin, PYTHON_DEBUG_CALLBACKS);
@@ -157,7 +158,7 @@ python_plugin_io_log_ttyin(struct IOPluginContext *io_ctx, const char *buf, unsi
debug_return_int(rc);
}
-int
+static int
python_plugin_io_log_ttyout(struct IOPluginContext *io_ctx, const char *buf, unsigned int len, const char **errstr)
{
debug_decl(python_plugin_io_log_ttyout, PYTHON_DEBUG_CALLBACKS);
@@ -169,7 +170,7 @@ python_plugin_io_log_ttyout(struct IOPluginContext *io_ctx, const char *buf, uns
debug_return_int(rc);
}
-int
+static int
python_plugin_io_log_stdin(struct IOPluginContext *io_ctx, const char *buf, unsigned int len, const char **errstr)
{
debug_decl(python_plugin_io_log_stdin, PYTHON_DEBUG_CALLBACKS);
@@ -181,7 +182,7 @@ python_plugin_io_log_stdin(struct IOPluginContext *io_ctx, const char *buf, unsi
debug_return_int(rc);
}
-int
+static int
python_plugin_io_log_stdout(struct IOPluginContext *io_ctx, const char *buf, unsigned int len, const char **errstr)
{
debug_decl(python_plugin_io_log_stdout, PYTHON_DEBUG_CALLBACKS);
@@ -193,7 +194,7 @@ python_plugin_io_log_stdout(struct IOPluginContext *io_ctx, const char *buf, uns
debug_return_int(rc);
}
-int
+static int
python_plugin_io_log_stderr(struct IOPluginContext *io_ctx, const char *buf, unsigned int len, const char **errstr)
{
debug_decl(python_plugin_io_log_stderr, PYTHON_DEBUG_CALLBACKS);
@@ -205,7 +206,7 @@ python_plugin_io_log_stderr(struct IOPluginContext *io_ctx, const char *buf, uns
debug_return_int(rc);
}
-int
+static int
python_plugin_io_change_winsize(struct IOPluginContext *io_ctx, unsigned int line, unsigned int cols, const char **errstr)
{
debug_decl(python_plugin_io_change_winsize, PYTHON_DEBUG_CALLBACKS);
@@ -217,7 +218,7 @@ python_plugin_io_change_winsize(struct IOPluginContext *io_ctx, unsigned int lin
debug_return_int(rc);
}
-int
+static int
python_plugin_io_log_suspend(struct IOPluginContext *io_ctx, int signo, const char **errstr)
{
debug_decl(python_plugin_io_log_suspend, PYTHON_DEBUG_CALLBACKS);
@@ -258,7 +259,7 @@ static struct io_plugin *extra_io_plugins[] = {
&python_io7
};
-sudo_dso_public struct io_plugin *
+struct io_plugin *
python_io_clone(void)
{
static size_t counter = 0;
diff --git a/plugins/python/python_plugin_io_multi.inc b/plugins/python/python_plugin_io_multi.inc
index 2ccdb5e68..d5d58d2d2 100644
--- a/plugins/python/python_plugin_io_multi.inc
+++ b/plugins/python/python_plugin_io_multi.inc
@@ -10,7 +10,7 @@
extern struct io_plugin IO_SYMBOL_NAME(python_io);
static struct IOPluginContext PLUGIN_CTX = { { NULL }, &IO_SYMBOL_NAME(python_io) };
-int
+static int
CALLBACK_CFUNC(open)(
unsigned int version, sudo_conv_t conversation,
sudo_printf_t sudo_printf, char * const settings[],
@@ -22,55 +22,55 @@ CALLBACK_CFUNC(open)(
sudo_printf, settings, user_info, command_info, argc, argv, user_env, plugin_options, errstr);
}
-void
+static void
CALLBACK_CFUNC(close)(int exit_status, int error)
{
python_plugin_io_close(&PLUGIN_CTX, exit_status, error);
}
-int
+static int
CALLBACK_CFUNC(show_version)(int verbose)
{
return python_plugin_io_show_version(&PLUGIN_CTX, verbose);
}
-int
+static int
CALLBACK_CFUNC(log_ttyin)(const char *buf, unsigned int len, const char **errstr)
{
return python_plugin_io_log_ttyin(&PLUGIN_CTX, buf, len, errstr);
}
-int
+static int
CALLBACK_CFUNC(log_ttyout)(const char *buf, unsigned int len, const char **errstr)
{
return python_plugin_io_log_ttyout(&PLUGIN_CTX, buf, len, errstr);
}
-int
+static int
CALLBACK_CFUNC(log_stdin)(const char *buf, unsigned int len, const char **errstr)
{
return python_plugin_io_log_stdin(&PLUGIN_CTX, buf, len, errstr);
}
-int
+static int
CALLBACK_CFUNC(log_stdout)(const char *buf, unsigned int len, const char **errstr)
{
return python_plugin_io_log_stdout(&PLUGIN_CTX, buf, len, errstr);
}
-int
+static int
CALLBACK_CFUNC(log_stderr)(const char *buf, unsigned int len, const char **errstr)
{
return python_plugin_io_log_stderr(&PLUGIN_CTX, buf, len, errstr);
}
-int
+static int
CALLBACK_CFUNC(change_winsize)(unsigned int line, unsigned int cols, const char **errstr)
{
return python_plugin_io_change_winsize(&PLUGIN_CTX, line, cols, errstr);
}
-int
+static int
CALLBACK_CFUNC(log_suspend)(int signo, const char **errstr)
{
return python_plugin_io_log_suspend(&PLUGIN_CTX, signo, errstr);
diff --git a/plugins/python/python_plugin_policy.c b/plugins/python/python_plugin_policy.c
index ded793aa5..776c9e0a4 100644
--- a/plugins/python/python_plugin_policy.c
+++ b/plugins/python/python_plugin_policy.c
@@ -203,7 +203,7 @@ python_plugin_policy_version(int verbose)
verbose, PY_POLICY_PLUGIN_VERSION, "policy"));
}
-int
+static int
python_plugin_policy_validate(const char **errstr)
{
debug_decl(python_plugin_policy_validate, PYTHON_DEBUG_CALLBACKS);
@@ -213,7 +213,7 @@ python_plugin_policy_validate(const char **errstr)
debug_return_int(rc);
}
-void
+static void
python_plugin_policy_invalidate(int unlinkit)
{
debug_decl(python_plugin_policy_invalidate, PYTHON_DEBUG_CALLBACKS);
@@ -223,7 +223,7 @@ python_plugin_policy_invalidate(int unlinkit)
debug_return;
}
-int
+static int
python_plugin_policy_init_session(struct passwd *pwd, char **user_env[], const char **errstr)
{
debug_decl(python_plugin_policy_init_session, PYTHON_DEBUG_CALLBACKS);
diff --git a/plugins/python/regress/check_python_examples.c b/plugins/python/regress/check_python_examples.c
index 10eefac6c..122797a5e 100644
--- a/plugins/python/regress/check_python_examples.c
+++ b/plugins/python/regress/check_python_examples.c
@@ -22,6 +22,7 @@
*/
#include "testhelpers.h"
+#include <unistd.h>
#include "sudo_dso.h"
@@ -49,7 +50,7 @@ static bool verbose;
static int _init_symbols(void);
static int _unlink_symbols(void);
-void
+static void
create_plugin_options(const char *module_name, const char *class_name, const char *extra_option)
{
char opt_module_path[PATH_MAX + 256];
@@ -65,7 +66,7 @@ create_plugin_options(const char *module_name, const char *class_name, const cha
opt_classname, extra_option, NULL);
}
-void
+static void
create_io_plugin_options(const char *log_path)
{
char opt_logpath[PATH_MAX + 16];
@@ -73,19 +74,19 @@ create_io_plugin_options(const char *log_path)
create_plugin_options("example_io_plugin", "SudoIOPlugin", opt_logpath);
}
-void
+static void
create_debugging_plugin_options(void)
{
create_plugin_options("example_debugging", "DebugDemoPlugin", NULL);
}
-void
+static void
create_audit_plugin_options(const char *extra_argument)
{
create_plugin_options("example_audit_plugin", "SudoAuditPlugin", extra_argument);
}
-void
+static void
create_conversation_plugin_options(void)
{
char opt_logpath[PATH_MAX + 16];
@@ -93,24 +94,24 @@ create_conversation_plugin_options(void)
create_plugin_options("example_conversation", "ReasonLoggerIOPlugin", opt_logpath);
}
-void
+static void
create_policy_plugin_options(void)
{
create_plugin_options("example_policy_plugin", "SudoPolicyPlugin", NULL);
}
-int
+static int
init(void)
{
// always start each test from clean state
memset(&data, 0, sizeof(data));
memset(&example_pwd, 0, sizeof(example_pwd));
- example_pwd.pw_name = "pw_name";
- example_pwd.pw_passwd = "pw_passwd";
- example_pwd.pw_gecos = "pw_gecos";
- example_pwd.pw_shell ="pw_shell";
- example_pwd.pw_dir = "pw_dir";
+ example_pwd.pw_name = (char *)"pw_name";
+ example_pwd.pw_passwd = (char *)"pw_passwd";
+ example_pwd.pw_gecos = (char *)"pw_gecos";
+ example_pwd.pw_shell = (char *)"pw_shell";
+ example_pwd.pw_dir = (char *)"pw_dir";
example_pwd.pw_uid = (uid_t)1001;
example_pwd.pw_gid = (gid_t)101;
@@ -134,7 +135,7 @@ init(void)
return true;
}
-int
+static int
cleanup(int success)
{
if (!success) {
@@ -160,7 +161,7 @@ cleanup(int success)
return true;
}
-int
+static int
check_example_io_plugin_version_display(int is_verbose)
{
const char *errstr = NULL;
@@ -188,7 +189,7 @@ check_example_io_plugin_version_display(int is_verbose)
return true;
}
-int
+static int
check_example_io_plugin_command_log(void)
{
const char *errstr = NULL;
@@ -233,7 +234,7 @@ check_example_io_plugin_command_log(void)
typedef struct io_plugin * (io_clone_func)(void);
-int
+static int
check_example_io_plugin_command_log_multiple(void)
{
const char *errstr = NULL;
@@ -330,7 +331,7 @@ check_example_io_plugin_command_log_multiple(void)
return true;
}
-int
+static int
check_example_io_plugin_failed_to_start_command(void)
{
const char *errstr = NULL;
@@ -358,7 +359,7 @@ check_example_io_plugin_failed_to_start_command(void)
return true;
}
-int
+static int
check_example_io_plugin_fails_with_python_backtrace(void)
{
const char *errstr = NULL;
@@ -377,7 +378,7 @@ check_example_io_plugin_fails_with_python_backtrace(void)
return true;
}
-int
+static int
check_io_plugin_reports_error(void)
{
const char *errstr = NULL;
@@ -445,7 +446,7 @@ check_io_plugin_reports_error(void)
return true;
}
-int
+static int
check_example_group_plugin(void)
{
create_plugin_options("example_group_plugin", "SudoGroupPlugin", NULL);
@@ -463,7 +464,7 @@ check_example_group_plugin(void)
return true;
}
-const char *
+static const char *
create_debug_config(const char *debug_spec)
{
char *result = NULL;
@@ -493,7 +494,7 @@ cleanup:
return result;
}
-int
+static int
check_example_group_plugin_is_able_to_debug(void)
{
const char *config_path = create_debug_config("py_calls@diag");
@@ -516,7 +517,7 @@ check_example_group_plugin_is_able_to_debug(void)
return true;
}
-int
+static int
check_plugin_unload(void)
{
// You can call this test to avoid having a lot of subinterpreters
@@ -528,7 +529,7 @@ check_plugin_unload(void)
return true;
}
-int
+static int
check_example_debugging(const char *debug_spec)
{
const char *errstr = NULL;
@@ -559,7 +560,7 @@ check_example_debugging(const char *debug_spec)
return true;
}
-int
+static int
check_loading_fails(const char *name)
{
const char *errstr = NULL;
@@ -576,7 +577,7 @@ check_loading_fails(const char *name)
return true;
}
-int
+static int
check_loading_fails_with_missing_path(void)
{
str_array_free(&data.plugin_options);
@@ -584,7 +585,7 @@ check_loading_fails_with_missing_path(void)
return check_loading_fails("missing_path");
}
-int
+static int
check_loading_succeeds_with_missing_classname(void)
{
str_array_free(&data.plugin_options);
@@ -605,7 +606,7 @@ check_loading_succeeds_with_missing_classname(void)
return true;
}
-int
+static int
check_loading_fails_with_missing_classname(void)
{
str_array_free(&data.plugin_options);
@@ -613,14 +614,14 @@ check_loading_fails_with_missing_classname(void)
return check_loading_fails("missing_classname");
}
-int
+static int
check_loading_fails_with_wrong_classname(void)
{
create_plugin_options("example_debugging", "MispelledPluginName", NULL);
return check_loading_fails("wrong_classname");
}
-int
+static int
check_loading_fails_with_wrong_path(void)
{
str_array_free(&data.plugin_options);
@@ -628,7 +629,7 @@ check_loading_fails_with_wrong_path(void)
return check_loading_fails("wrong_path");
}
-int
+static int
check_loading_fails_plugin_is_not_owned_by_root(void)
{
sudo_conf_clear_paths();
@@ -638,7 +639,7 @@ check_loading_fails_plugin_is_not_owned_by_root(void)
return check_loading_fails("not_owned_by_root");
}
-int
+static int
check_example_conversation_plugin_reason_log(int simulate_suspend, const char *description)
{
const char *errstr = NULL;
@@ -667,7 +668,7 @@ check_example_conversation_plugin_reason_log(int simulate_suspend, const char *d
return true;
}
-int
+static int
check_example_conversation_plugin_user_interrupts(void)
{
const char *errstr = NULL;
@@ -692,7 +693,7 @@ check_example_conversation_plugin_user_interrupts(void)
return true;
}
-int
+static int
check_example_policy_plugin_version_display(int is_verbose)
{
const char *errstr = NULL;
@@ -721,7 +722,7 @@ check_example_policy_plugin_version_display(int is_verbose)
return true;
}
-int
+static int
check_example_policy_plugin_accepted_execution(void)
{
const char *errstr = NULL;
@@ -773,7 +774,7 @@ check_example_policy_plugin_accepted_execution(void)
return true;
}
-int
+static int
check_example_policy_plugin_failed_execution(void)
{
const char *errstr = NULL;
@@ -811,7 +812,7 @@ check_example_policy_plugin_failed_execution(void)
return true;
}
-int
+static int
check_example_policy_plugin_denied_execution(void)
{
const char *errstr = NULL;
@@ -846,7 +847,7 @@ check_example_policy_plugin_denied_execution(void)
return true;
}
-int
+static int
check_example_policy_plugin_list(void)
{
const char *errstr = NULL;
@@ -904,7 +905,7 @@ check_example_policy_plugin_list(void)
return true;
}
-int
+static int
check_example_policy_plugin_validate_invalidate(void)
{
const char *errstr = NULL;
@@ -935,7 +936,7 @@ check_example_policy_plugin_validate_invalidate(void)
return true;
}
-int
+static int
check_policy_plugin_callbacks_are_optional(void)
{
const char *errstr = NULL;
@@ -961,7 +962,7 @@ check_policy_plugin_callbacks_are_optional(void)
return true;
}
-int
+static int
check_policy_plugin_reports_error(void)
{
const char *errstr = NULL;
@@ -1024,7 +1025,7 @@ check_policy_plugin_reports_error(void)
return true;
}
-int
+static int
check_io_plugin_callbacks_are_optional(void)
{
const char *errstr = NULL;
@@ -1051,7 +1052,7 @@ check_io_plugin_callbacks_are_optional(void)
return true;
}
-int
+static int
check_python_plugins_do_not_affect_each_other(void)
{
const char *errstr = NULL;
@@ -1078,7 +1079,7 @@ check_python_plugins_do_not_affect_each_other(void)
return true;
}
-int
+static int
check_example_audit_plugin_receives_accept(void)
{
create_audit_plugin_options("");
@@ -1117,7 +1118,7 @@ check_example_audit_plugin_receives_accept(void)
return true;
}
-int
+static int
check_example_audit_plugin_receives_reject(void)
{
create_audit_plugin_options(NULL);
@@ -1147,7 +1148,7 @@ check_example_audit_plugin_receives_reject(void)
return true;
}
-int
+static int
check_example_audit_plugin_receives_error(void)
{
create_audit_plugin_options("");
@@ -1179,7 +1180,7 @@ check_example_audit_plugin_receives_error(void)
typedef struct audit_plugin * (audit_clone_func)(void);
-int
+static int
check_example_audit_plugin_workflow_multiple(void)
{
// verify multiple python audit plugins are available
@@ -1247,7 +1248,7 @@ check_example_audit_plugin_workflow_multiple(void)
return true;
}
-int
+static int
check_example_audit_plugin_version_display(void)
{
create_audit_plugin_options(NULL);
@@ -1275,7 +1276,7 @@ check_example_audit_plugin_version_display(void)
return true;
}
-int
+static int
check_audit_plugin_callbacks_are_optional(void)
{
const char *errstr = NULL;
@@ -1300,7 +1301,7 @@ check_audit_plugin_callbacks_are_optional(void)
return true;
}
-int
+static int
check_audit_plugin_reports_error(void)
{
const char *errstr = NULL;
diff --git a/plugins/python/regress/iohelpers.h b/plugins/python/regress/iohelpers.h
index b2383af76..ed21d56ca 100644
--- a/plugins/python/regress/iohelpers.h
+++ b/plugins/python/regress/iohelpers.h
@@ -19,17 +19,21 @@
#ifndef PYTHON_IO_HELPERS
#define PYTHON_IO_HELPERS
-#include "config.h"
-#include "sudo_compat.h"
+#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+#else
+# include "compat/stdbool.h"
+#endif /* HAVE_STDBOOL_H */
#include <string.h>
#include <stdarg.h>
#include <signal.h>
#include <pwd.h>
-#include <stdbool.h>
+#include "sudo_compat.h"
#define MAX_OUTPUT (2 << 16)
diff --git a/plugins/python/regress/testdata/check_multiple_approval_plugin_and_arguments.stdout b/plugins/python/regress/testdata/check_multiple_approval_plugin_and_arguments.stdout
index d0c1566cf..9884aa0df 100644
--- a/plugins/python/regress/testdata/check_multiple_approval_plugin_and_arguments.stdout
+++ b/plugins/python/regress/testdata/check_multiple_approval_plugin_and_arguments.stdout
@@ -26,7 +26,7 @@
"INFO1=VALUE1",
"info2=value2"
],
- "version": "1.19"
+ "version": "1.20"
}
(APPROVAL 2) Constructed:
{
@@ -56,7 +56,7 @@
"INFO1=VALUE1",
"info2=value2"
],
- "version": "1.19"
+ "version": "1.20"
}
(APPROVAL 1) Show version was called with arguments: (0,)
Python approval plugin (API 1.0): ApprovalTestPlugin (loaded from 'SRC_DIR/regress/plugin_approval_test.py')
diff --git a/plugins/python/sudo_python_module.c b/plugins/python/sudo_python_module.c
index 897d471fc..ee94101c9 100644
--- a/plugins/python/sudo_python_module.c
+++ b/plugins/python/sudo_python_module.c
@@ -79,8 +79,8 @@ _parse_log_function_args(PyObject *py_args, PyObject *py_kwargs, char **args_joi
if (py_empty == NULL)
goto cleanup;
- static char *keywords[] = { "sep", "end", NULL };
- if (py_kwargs != NULL && !PyArg_ParseTupleAndKeywords(py_empty, py_kwargs, "|zz:sudo.log", keywords, &sep, end))
+ static const char *keywords[] = { "sep", "end", NULL };
+ if (py_kwargs != NULL && !PyArg_ParseTupleAndKeywords(py_empty, py_kwargs, "|zz:sudo.log", (char **)keywords, &sep, end))
goto cleanup;
if (sep == NULL)
@@ -293,13 +293,13 @@ _call_conversation_callback(PyObject *py_callback, int signo)
debug_return_int(rc);
}
-int
+static int
python_sudo_conversation_suspend_cb(int signo, struct py_conv_callback_closure *closure)
{
return _call_conversation_callback(closure->py_on_suspend, signo);
}
-int
+static int
python_sudo_conversation_resume_cb(int signo, struct py_conv_callback_closure *closure)
{
return _call_conversation_callback(closure->py_on_resume, signo);
@@ -330,8 +330,8 @@ python_sudo_conversation(PyObject *Py_UNUSED(self), PyObject *py_args, PyObject
if (py_empty == NULL)
goto cleanup;
- static char *keywords[] = { "on_suspend", "on_resume", NULL };
- if (py_kwargs != NULL && !PyArg_ParseTupleAndKeywords(py_empty, py_kwargs, "|OO:sudo.conv", keywords,
+ static const char *keywords[] = { "on_suspend", "on_resume", NULL };
+ if (py_kwargs != NULL && !PyArg_ParseTupleAndKeywords(py_empty, py_kwargs, "|OO:sudo.conv", (char **)keywords,
&callback_closure.py_on_suspend,
&callback_closure.py_on_resume))
goto cleanup;
@@ -467,7 +467,7 @@ cleanup:
}
CPYCHECKER_STEALS_REFERENCE_TO_ARG(3)
-void
+static void
sudo_module_register_enum(PyObject *py_module, const char *enum_name, PyObject *py_constants_dict)
{
// pseudo code:
diff --git a/plugins/sample/Makefile.in b/plugins/sample/Makefile.in
index 412dac3a6..e0a814c3e 100644
--- a/plugins/sample/Makefile.in
+++ b/plugins/sample/Makefile.in
@@ -1,7 +1,7 @@
#
# SPDX-License-Identifier: ISC
#
-# Copyright (c) 2011-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+# Copyright (c) 2011-2022 Todd C. Miller <Todd.Miller@sudo.ws>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
diff --git a/plugins/sample/sample_plugin.c b/plugins/sample/sample_plugin.c
index 1b57e9c1d..e09a8da83 100644
--- a/plugins/sample/sample_plugin.c
+++ b/plugins/sample/sample_plugin.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2010-2016 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2010-2016, 2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -39,6 +39,7 @@
# include <strings.h>
#endif /* HAVE_STRINGS_H */
#include <unistd.h>
+#include <ctype.h>
#include <fcntl.h>
#include <limits.h>
#include <grp.h>
@@ -72,8 +73,9 @@ static int use_sudoedit = false;
*/
static int
policy_open(unsigned int version, sudo_conv_t conversation,
- sudo_printf_t sudo_printf, char * const settings[],
- char * const user_info[], char * const user_env[], char * const args[])
+ sudo_printf_t sudo_plugin_printf, char * const settings[],
+ char * const user_info[], char * const user_env[], char * const args[],
+ const char **errstr)
{
char * const *ui;
struct passwd *pw;
@@ -142,20 +144,20 @@ static char *
find_in_path(char *command, char **envp)
{
struct stat sb;
- char *path, *path0, **ep, *cp;
+ char *path = NULL;
+ char *path0, **ep, *cp;
char pathbuf[PATH_MAX], *qualified = NULL;
if (strchr(command, '/') != NULL)
return command;
- path = _PATH_DEFPATH;
for (ep = plugin_state.envp; *ep != NULL; ep++) {
if (strncmp(*ep, "PATH=", 5) == 0) {
path = *ep + 5;
break;
}
}
- path = path0 = strdup(path);
+ path = path0 = strdup(path ? path : _PATH_DEFPATH);
do {
if ((cp = strchr(path, ':')))
*cp = '\0';
@@ -231,18 +233,18 @@ build_command_info(const char *command)
static char *
find_editor(int nfiles, char * const files[], char **argv_out[])
{
- char *cp, *last, **ep, **nargv, *editor, *editor_path;
+ char *cp, *last, **ep, **nargv, *editor_path;
+ char *editor = NULL;
int ac, i, nargc, wasblank;
/* Lookup EDITOR in user's environment. */
- editor = _PATH_VI;
for (ep = plugin_state.envp; *ep != NULL; ep++) {
if (strncmp(*ep, "EDITOR=", 7) == 0) {
editor = *ep + 7;
break;
}
}
- editor = strdup(editor);
+ editor = strdup(editor ? editor : _PATH_VI);
if (editor == NULL) {
sudo_log(SUDO_CONV_ERROR_MSG, "unable to allocate memory\n");
return NULL;
@@ -281,7 +283,7 @@ find_editor(int nfiles, char * const files[], char **argv_out[])
nargv[ac] = cp;
cp = strtok_r(NULL, " \t", &last);
}
- nargv[ac++] = "--";
+ nargv[ac++] = (char *)"--";
for (i = 0; i < nfiles; )
nargv[ac++] = files[i++];
nargv[ac] = NULL;
@@ -297,7 +299,7 @@ find_editor(int nfiles, char * const files[], char **argv_out[])
static int
policy_check(int argc, char * const argv[],
char *env_add[], char **command_info_out[],
- char **argv_out[], char **user_env_out[])
+ char **argv_out[], char **user_env_out[], const char **errstr)
{
char *command;
@@ -348,7 +350,8 @@ policy_check(int argc, char * const argv[],
}
static int
-policy_list(int argc, char * const argv[], int verbose, const char *list_user)
+policy_list(int argc, char * const argv[], int verbose, const char *list_user,
+ const char **errstr)
{
/*
* List user's capabilities.
@@ -360,7 +363,8 @@ policy_list(int argc, char * const argv[], int verbose, const char *list_user)
static int
policy_version(int verbose)
{
- sudo_log(SUDO_CONV_INFO_MSG, "Sample policy plugin version %s\n", PACKAGE_VERSION);
+ sudo_log(SUDO_CONV_INFO_MSG, "Sample policy plugin version %s\n",
+ PACKAGE_VERSION);
return true;
}
@@ -386,9 +390,10 @@ policy_close(int exit_status, int error)
static int
io_open(unsigned int version, sudo_conv_t conversation,
- sudo_printf_t sudo_printf, char * const settings[],
+ sudo_printf_t sudo_plugin_printf, char * const settings[],
char * const user_info[], char * const command_info[],
- int argc, char * const argv[], char * const user_env[], char * const args[])
+ int argc, char * const argv[], char * const user_env[], char * const args[],
+ const char **errstr)
{
int fd;
char path[PATH_MAX];
@@ -432,14 +437,14 @@ io_version(int verbose)
}
static int
-io_log_input(const char *buf, unsigned int len)
+io_log_input(const char *buf, unsigned int len, const char **errstr)
{
ignore_result(fwrite(buf, len, 1, input));
return true;
}
static int
-io_log_output(const char *buf, unsigned int len)
+io_log_output(const char *buf, unsigned int len, const char **errstr)
{
const char *cp, *ep;
bool ret = true;
@@ -471,7 +476,8 @@ sudo_dso_public struct policy_plugin sample_policy = {
NULL, /* invalidate */
NULL, /* init_session */
NULL, /* register_hooks */
- NULL /* deregister_hooks */
+ NULL, /* deregister_hooks */
+ NULL /* event_alloc() filled in by sudo */
};
/*
@@ -488,5 +494,10 @@ sudo_dso_public struct io_plugin sample_io = {
io_log_output, /* tty output */
io_log_input, /* command stdin if not tty */
io_log_output, /* command stdout if not tty */
- io_log_output /* command stderr if not tty */
+ io_log_output, /* command stderr if not tty */
+ NULL, /* register_hooks */
+ NULL, /* deregister_hooks */
+ NULL, /* change_winsize */
+ NULL, /* log_suspend */
+ NULL /* event_alloc() filled in by sudo */
};
diff --git a/plugins/sample_approval/Makefile.in b/plugins/sample_approval/Makefile.in
index 212fe8d8e..fb3b435cd 100644
--- a/plugins/sample_approval/Makefile.in
+++ b/plugins/sample_approval/Makefile.in
@@ -191,8 +191,8 @@ check: check-fuzzer
check-verbose: check
clean:
- -$(LIBTOOL) $(LTFLAGS) --mode=clean rm -f *.lo *.o *.la *.a *.i *.plog \
- stamp-* core *.core core.*
+ -$(LIBTOOL) $(LTFLAGS) --mode=clean rm -f *.lo *.o *.la *.a
+ -rm -f *.i *.plog stamp-* core *.core core.*
mostlyclean: clean
diff --git a/plugins/sudoers/Makefile.in b/plugins/sudoers/Makefile.in
index 5cf8ef243..29110dcfd 100644
--- a/plugins/sudoers/Makefile.in
+++ b/plugins/sudoers/Makefile.in
@@ -47,6 +47,7 @@ LIBTOOL = @LIBTOOL@
SHA1SUM = @SHA1SUM@
FLEX = @FLEX@
YACC = @YACC@
+GREP = @GREP@
SED = @SED@
AWK = @AWK@
@@ -429,7 +430,7 @@ fuzz_policy_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_policy: fuzz_policy
- if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
+ if locale -a 2>&1 | $(GREP) '^C.UTF-8$$' >/dev/null 2>&1; then \
LC_ALL=C.UTF-8; export LC_ALL; \
else \
LC_ALL=C; export LC_ALL; \
@@ -456,7 +457,7 @@ fuzz_sudoers_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_sudoers: fuzz_sudoers
- if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
+ if locale -a 2>&1 | $(GREP) '^C.UTF-8$$' >/dev/null 2>&1; then \
LC_ALL=C.UTF-8; export LC_ALL; \
else \
LC_ALL=C; export LC_ALL; \
@@ -483,7 +484,7 @@ fuzz_sudoers_ldif_seed_corpus.zip:
rm -rf $$tdir
run-fuzz_sudoers_ldif: fuzz_sudoers_ldif
- if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
+ if locale -a 2>&1 | $(GREP) '^C.UTF-8$$' >/dev/null 2>&1; then \
LC_ALL=C.UTF-8; export LC_ALL; \
else \
LC_ALL=C; export LC_ALL; \
@@ -633,7 +634,7 @@ fuzz: run-fuzz_policy run-fuzz_sudoers run-fuzz_sudoers_ldif
check-fuzzer: $(FUZZ_PROGS)
@if test X"$(cross_compiling)" != X"yes"; then \
- if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
+ if locale -a 2>&1 | $(GREP) '^C.UTF-8$$' >/dev/null 2>&1; then \
LC_ALL=C.UTF-8; export LC_ALL; \
else \
LC_ALL=C; export LC_ALL; \
@@ -652,7 +653,7 @@ check-fuzzer: $(FUZZ_PROGS)
check: $(TEST_PROGS) visudo testsudoers cvtsudoers check-fuzzer
@if test X"$(cross_compiling)" != X"yes"; then \
- if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
+ if locale -a 2>&1 | $(GREP) '^C.UTF-8$$' >/dev/null 2>&1; then \
LC_ALL=C.UTF-8; export LC_ALL; \
else \
LC_ALL=C; export LC_ALL; \
@@ -1687,10 +1688,10 @@ fuzz_policy.o: $(srcdir)/regress/fuzz/fuzz_policy.c $(devdir)/def_data.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
- $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
- $(incdir)/sudo_util.h $(srcdir)/defaults.h \
- $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \
- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
+ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/check.h \
+ $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \
+ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/regress/fuzz/fuzz_policy.c
@@ -1699,10 +1700,10 @@ fuzz_policy.i: $(srcdir)/regress/fuzz/fuzz_policy.c $(devdir)/def_data.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
$(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \
$(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
- $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
- $(incdir)/sudo_util.h $(srcdir)/defaults.h \
- $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \
- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
+ $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/check.h \
+ $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \
+ $(srcdir)/parse.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
$(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
$(top_builddir)/pathnames.h
$(CC) -E -o $@ $(CPPFLAGS) $<
@@ -2320,15 +2321,19 @@ match_digest.plog: match_digest.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/match_digest.c --i-file $< --output-file $@
net_ifs.o: $(top_srcdir)/src/net_ifs.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
- $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
- $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
- $(incdir)/sudo_queue.h $(top_builddir)/config.h
+ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
+ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
+ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
+ $(incdir)/sudo_util.h $(top_builddir)/config.h \
+ $(top_builddir)/pathnames.h $(top_srcdir)/src/sudo.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(top_srcdir)/src/net_ifs.c
net_ifs.i: $(top_srcdir)/src/net_ifs.c $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
- $(incdir)/sudo_debug.h $(incdir)/sudo_fatal.h \
- $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
- $(incdir)/sudo_queue.h $(top_builddir)/config.h
+ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
+ $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
+ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
+ $(incdir)/sudo_util.h $(top_builddir)/config.h \
+ $(top_builddir)/pathnames.h $(top_srcdir)/src/sudo.h
$(CC) -E -o $@ $(CPPFLAGS) $<
net_ifs.plog: net_ifs.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(top_srcdir)/src/net_ifs.c --i-file $< --output-file $@
@@ -2808,18 +2813,20 @@ stubs.o: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
$(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
- $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
- $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \
- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/cvtsudoers.h \
+ $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \
+ $(srcdir)/parse.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \
+ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/stubs.c
stubs.i: $(srcdir)/stubs.c $(devdir)/def_data.h $(incdir)/compat/stdbool.h \
$(incdir)/sudo_compat.h $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
$(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
$(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
- $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
- $(srcdir)/interfaces.h $(srcdir)/logging.h $(srcdir)/parse.h \
- $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/cvtsudoers.h \
+ $(srcdir)/defaults.h $(srcdir)/interfaces.h $(srcdir)/logging.h \
+ $(srcdir)/parse.h $(srcdir)/strlist.h $(srcdir)/sudo_nss.h \
+ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
$(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -E -o $@ $(CPPFLAGS) $<
stubs.plog: stubs.i
@@ -3072,13 +3079,25 @@ timestamp.i: $(srcdir)/timestamp.c $(devdir)/def_data.h \
$(CC) -E -o $@ $(CPPFLAGS) $<
timestamp.plog: timestamp.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timestamp.c --i-file $< --output-file $@
-timestr.lo: $(srcdir)/timestr.c $(incdir)/compat/stdbool.h \
- $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
- $(incdir)/sudo_queue.h $(srcdir)/parse.h $(top_builddir)/config.h
+timestr.lo: $(srcdir)/timestr.c $(devdir)/def_data.h \
+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
+ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
+ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
+ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
+ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
+ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
+ $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/timestr.c
-timestr.i: $(srcdir)/timestr.c $(incdir)/compat/stdbool.h \
- $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
- $(incdir)/sudo_queue.h $(srcdir)/parse.h $(top_builddir)/config.h
+timestr.i: $(srcdir)/timestr.c $(devdir)/def_data.h \
+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
+ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
+ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
+ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
+ $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
+ $(srcdir)/sudoers.h $(srcdir)/sudoers_debug.h \
+ $(top_builddir)/config.h $(top_builddir)/pathnames.h
$(CC) -E -o $@ $(CPPFLAGS) $<
timestr.plog: timestr.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/timestr.c --i-file $< --output-file $@
@@ -3172,9 +3191,27 @@ tsgetgrpw.i: $(srcdir)/tsgetgrpw.c $(devdir)/def_data.h \
$(CC) -E -o $@ $(CPPFLAGS) $<
tsgetgrpw.plog: tsgetgrpw.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tsgetgrpw.c --i-file $< --output-file $@
-unesc_str.lo: $(srcdir)/unesc_str.c
+unesc_str.lo: $(srcdir)/unesc_str.c $(devdir)/def_data.h \
+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
+ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
+ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
+ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
+ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
+ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
+ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
+ $(top_builddir)/pathnames.h
$(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/unesc_str.c
-unesc_str.i: $(srcdir)/unesc_str.c
+unesc_str.i: $(srcdir)/unesc_str.c $(devdir)/def_data.h \
+ $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \
+ $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
+ $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
+ $(incdir)/sudo_gettext.h $(incdir)/sudo_plugin.h \
+ $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
+ $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
+ $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
+ $(srcdir)/sudoers_debug.h $(top_builddir)/config.h \
+ $(top_builddir)/pathnames.h
$(CC) -E -o $@ $(CPPFLAGS) $<
unesc_str.plog: unesc_str.i
rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/unesc_str.c --i-file $< --output-file $@
diff --git a/plugins/sudoers/audit.c b/plugins/sudoers/audit.c
index 0dfb99f72..5a03bfeec 100644
--- a/plugins/sudoers/audit.c
+++ b/plugins/sudoers/audit.c
@@ -208,7 +208,7 @@ audit_to_eventlog(struct eventlog *evlog, char * const command_info[],
debug_decl(audit_to_eventlog, SUDOERS_DEBUG_PLUGIN);
/* Fill in evlog from sudoers Defaults, run_argv and run_envp. */
- sudoers_to_eventlog(evlog, run_argv, run_envp, uuid_str);
+ sudoers_to_eventlog(evlog, NULL, run_argv, run_envp, uuid_str);
/* Update iolog and execution environment from command_info[]. */
if (command_info != NULL) {
@@ -261,7 +261,7 @@ log_server_accept(struct eventlog *evlog)
debug_return_bool(true);
} else {
/* Only send accept event to log server if I/O log plugin did not. */
- if (def_log_input || def_log_output)
+ if (iolog_enabled)
debug_return_bool(true);
}
@@ -341,6 +341,7 @@ sudoers_audit_accept(const char *plugin_name, unsigned int plugin_type,
{
const char *uuid_str = NULL;
struct eventlog evlog;
+ static bool first = true;
int ret = true;
debug_decl(sudoers_audit_accept, SUDOERS_DEBUG_PLUGIN);
@@ -366,6 +367,13 @@ sudoers_audit_accept(const char *plugin_name, unsigned int plugin_type,
ret = false;
}
+ if (first) {
+ /* log_subcmds doesn't go through sudo_policy_main again to set this. */
+ if (def_log_subcmds)
+ SET(sudo_mode, MODE_POLICY_INTERCEPTED);
+ first = false;
+ }
+
debug_return_int(ret);
}
@@ -432,7 +440,7 @@ sudoers_audit_error(const char *plugin_name, unsigned int plugin_type,
debug_return_int(ret);
}
-void
+static void
sudoers_audit_close(int status_type, int status)
{
log_server_exit(status_type, status);
diff --git a/plugins/sudoers/auth/bsdauth.c b/plugins/sudoers/auth/bsdauth.c
index 356efd713..c34785a3b 100644
--- a/plugins/sudoers/auth/bsdauth.c
+++ b/plugins/sudoers/auth/bsdauth.c
@@ -68,7 +68,7 @@ bsdauth_init(struct passwd *pw, sudo_auth *auth)
if (pw->pw_class && *pw->pw_class)
state.lc = login_getclass(pw->pw_class);
else
- state.lc = login_getclass(pw->pw_uid ? LOGIN_DEFCLASS : LOGIN_DEFROOTCLASS);
+ state.lc = login_getclass(pw->pw_uid ? (char *)LOGIN_DEFCLASS : (char *)LOGIN_DEFROOTCLASS);
if (state.lc == NULL) {
log_warning(0,
N_("unable to get login class for user %s"), pw->pw_name);
@@ -82,7 +82,7 @@ bsdauth_init(struct passwd *pw, sudo_auth *auth)
}
/* XXX - maybe check the auth style earlier? */
- login_style = login_getstyle(state.lc, login_style, "auth-sudo");
+ login_style = login_getstyle(state.lc, login_style, (char *)"auth-sudo");
if (login_style == NULL) {
log_warningx(0, N_("invalid authentication type"));
auth_close(state.as);
@@ -170,7 +170,7 @@ bsdauth_verify(struct passwd *pw, char *prompt, sudo_auth *auth, struct sudo_con
if (!pass)
debug_return_int(AUTH_INTR);
- if ((s = auth_getvalue(as, "errormsg")) != NULL)
+ if ((s = auth_getvalue(as, (char *)"errormsg")) != NULL)
log_warningx(0, "%s", s);
debug_return_int(AUTH_FAILURE);
}
@@ -181,7 +181,7 @@ bsdauth_approval(struct passwd *pw, sudo_auth *auth, bool exempt)
struct bsdauth_state *state = auth->data;
debug_decl(bsdauth_approval, SUDOERS_DEBUG_AUTH);
- if (auth_approval(state->as, state->lc, pw->pw_name, "auth-sudo") == 0) {
+ if (auth_approval(state->as, state->lc, pw->pw_name, (char *)"auth-sudo") == 0) {
if (auth_getstate(state->as) & AUTH_EXPIRED)
log_warningx(0, "%s", N_("your account has expired"));
else
diff --git a/plugins/sudoers/auth/pam.c b/plugins/sudoers/auth/pam.c
index eef26bb8a..4f6e89c85 100644
--- a/plugins/sudoers/auth/pam.c
+++ b/plugins/sudoers/auth/pam.c
@@ -90,7 +90,7 @@ static int converse(int, PAM_CONST struct pam_message **,
struct pam_response **, void *);
static struct sudo_conv_callback *conv_callback;
static struct pam_conv pam_conv = { converse, &conv_callback };
-static char *def_prompt = PASSPROMPT;
+static const char *def_prompt = PASSPROMPT;
static bool getpass_error;
static bool noninteractive;
static pam_handle_t *pamh;
diff --git a/plugins/sudoers/auth/sudo_auth.h b/plugins/sudoers/auth/sudo_auth.h
index d8780c496..de41e6fdc 100644
--- a/plugins/sudoers/auth/sudo_auth.h
+++ b/plugins/sudoers/auth/sudo_auth.h
@@ -29,7 +29,7 @@
typedef struct sudo_auth {
int flags; /* various flags, see below */
int status; /* status from verify routine */
- char *name; /* name of the method as a string */
+ const char *name; /* name of the method as a string */
void *data; /* method-specific data pointer */
int (*init)(struct passwd *pw, struct sudo_auth *auth);
int (*setup)(struct passwd *pw, char **prompt, struct sudo_auth *auth);
diff --git a/plugins/sudoers/check.c b/plugins/sudoers/check.c
index 6f5d9cc0a..d7bfd9ad1 100644
--- a/plugins/sudoers/check.c
+++ b/plugins/sudoers/check.c
@@ -165,6 +165,16 @@ check_user(int validated, int mode)
debug_decl(check_user, SUDOERS_DEBUG_AUTH);
/*
+ * In intercept mode, only check the user if configured to do so.
+ * We already have a session so no need to init the auth subsystem.
+ */
+ if (ISSET(sudo_mode, MODE_POLICY_INTERCEPTED)) {
+ if (!def_intercept_authenticate) {
+ debug_return_int(true);
+ }
+ }
+
+ /*
* Init authentication system regardless of whether we need a password.
* Required for proper PAM session support.
*/
@@ -215,8 +225,8 @@ done:
* Only update time stamp if user validated and was approved.
* Failure to update the time stamp is not a fatal error.
*/
- if (ret == true && closure.tstat != TS_ERROR) {
- if (ISSET(validated, VALIDATE_SUCCESS))
+ if (ret == true && ISSET(validated, VALIDATE_SUCCESS)) {
+ if (ISSET(mode, MODE_UPDATE_TICKET) && closure.tstat != TS_ERROR)
(void)timestamp_update(closure.cookie, closure.auth_pw);
}
}
@@ -310,10 +320,6 @@ user_is_exempt(void)
bool ret = false;
debug_decl(user_is_exempt, SUDOERS_DEBUG_AUTH);
- if (ISSET(sudo_mode, MODE_POLICY_INTERCEPTED)) {
- if (!def_intercept_authenticate)
- ret = true;
- }
if (def_exempt_group) {
if (user_in_group(sudo_user.pw, def_exempt_group))
ret = true;
diff --git a/plugins/sudoers/check_aliases.c b/plugins/sudoers/check_aliases.c
index 959a220cc..1b3d03009 100644
--- a/plugins/sudoers/check_aliases.c
+++ b/plugins/sudoers/check_aliases.c
@@ -38,7 +38,7 @@ struct alias_warned {
};
SLIST_HEAD(alias_warned_list, alias_warned);
-static bool alias_warnx(const char *file, int line, int column, bool strict, bool quiet, const char *fmt, ...) __printflike(6, 7);
+static bool alias_warnx(const char *file, int line, int column, bool strict, bool quiet, const char *fmt, ...) sudo_printflike(6, 7);
static bool
alias_warned(struct alias_warned_list *warned, char *name)
diff --git a/plugins/sudoers/cvtsudoers.c b/plugins/sudoers/cvtsudoers.c
index 847c5c750..a6f17e9c8 100644
--- a/plugins/sudoers/cvtsudoers.c
+++ b/plugins/sudoers/cvtsudoers.c
@@ -87,8 +87,8 @@ static struct option long_opts[] = {
};
sudo_dso_public int main(int argc, char *argv[]);
-static void help(void) __attribute__((__noreturn__));
-static void usage(int);
+static sudo_noreturn void help(void);
+static sudo_noreturn void usage(void);
static bool convert_sudoers_sudoers(struct sudoers_parse_tree *parse_tree, const char *output_file, struct cvtsudoers_config *conf);
static bool parse_sudoers(const char *input_file, struct cvtsudoers_config *conf);
static bool parse_ldif(struct sudoers_parse_tree *parse_tree, const char *input_file, struct cvtsudoers_config *conf);
@@ -207,7 +207,7 @@ main(int argc, char *argv[])
conf->order_increment = sudo_strtonum(optarg, 1, UINT_MAX, &errstr);
if (errstr != NULL) {
sudo_warnx(U_("order increment: %s: %s"), optarg, U_(errstr));
- usage(1);
+ usage();
}
break;
case 'l':
@@ -226,7 +226,7 @@ main(int argc, char *argv[])
conf->sudo_order = sudo_strtonum(optarg, 0, UINT_MAX, &errstr);
if (errstr != NULL) {
sudo_warnx(U_("starting order: %s: %s"), optarg, U_(errstr));
- usage(1);
+ usage();
}
break;
case 'p':
@@ -236,7 +236,7 @@ main(int argc, char *argv[])
conf->order_padding = sudo_strtonum(optarg, 1, UINT_MAX, &errstr);
if (errstr != NULL ) {
sudo_warnx(U_("order padding: %s: %s"), optarg, U_(errstr));
- usage(1);
+ usage();
}
break;
case 's':
@@ -256,7 +256,7 @@ main(int argc, char *argv[])
pwfile = optarg;
break;
default:
- usage(1);
+ usage();
}
}
argc -= optind;
@@ -275,7 +275,7 @@ main(int argc, char *argv[])
input_format = format_sudoers;
} else {
sudo_warnx(U_("unsupported input format %s"), conf->input_format);
- usage(1);
+ usage();
}
}
if (conf->output_format != NULL) {
@@ -293,23 +293,23 @@ main(int argc, char *argv[])
conf->store_options = false;
} else {
sudo_warnx(U_("unsupported output format %s"), conf->output_format);
- usage(1);
+ usage();
}
}
if (conf->filter != NULL) {
/* We always expand aliases when filtering (may change in future). */
if (!cvtsudoers_parse_filter(conf->filter))
- usage(1);
+ usage();
}
if (conf->defstr != NULL) {
conf->defaults = cvtsudoers_parse_defaults(conf->defstr);
if (conf->defaults == -1)
- usage(1);
+ usage();
}
if (conf->supstr != NULL) {
conf->suppress = cvtsudoers_parse_suppression(conf->supstr);
if (conf->suppress == -1)
- usage(1);
+ usage();
}
/* Apply padding to sudo_order if present. */
@@ -691,7 +691,7 @@ cvtsudoers_parse_filter(char *expression)
/* Parse keyword = value */
keyword = cp;
if ((cp = strchr(cp, '=')) == NULL) {
- sudo_warnx(U_("invalid filter: %s"), keyword);;
+ sudo_warnx(U_("invalid filter: %s"), keyword);
free(s);
debug_return_bool(false);
}
@@ -707,7 +707,7 @@ cvtsudoers_parse_filter(char *expression)
} else if (strcmp(keyword, "cmnd") == 0 || strcmp(keyword, "cmd") == 0) {
STAILQ_INSERT_TAIL(&filters->cmnds, s, entries);
} else {
- sudo_warnx(U_("invalid filter: %s"), keyword);;
+ sudo_warnx(U_("invalid filter: %s"), keyword);
free(s);
debug_return_bool(false);
}
@@ -787,7 +787,7 @@ userlist_matches_filter(struct sudoers_parse_tree *parse_tree,
* can do its thing.
*/
memset(&pw, 0, sizeof(pw));
- pw.pw_name = "_nobody";
+ pw.pw_name = (char *)"_nobody";
pw.pw_uid = (uid_t)-1;
pw.pw_gid = (gid_t)-1;
@@ -1384,7 +1384,7 @@ alias_prune_helper(struct sudoers_parse_tree *parse_tree, struct alias *a,
{
struct cvtsudoers_config *conf = v;
- /* XXX - misue of these functions */
+ /* XXX - misuse of these functions */
switch (a->type) {
case USERALIAS:
userlist_matches_filter(parse_tree, &a->members, conf);
@@ -1485,21 +1485,26 @@ done:
}
static void
-usage(int fatal)
+print_usage(FILE *fp)
{
- (void) fprintf(fatal ? stderr : stdout, "usage: %s [-ehMpV] [-b dn] "
+ (void) fprintf(fp, "usage: %s [-ehMpV] [-b dn] "
"[-c conf_file ] [-d deftypes] [-f output_format] [-i input_format] "
"[-I increment] [-m filter] [-o output_file] [-O start_point] "
"[-P padding] [-s sections] [input_file]\n", getprogname());
- if (fatal)
- exit(EXIT_FAILURE);
+}
+
+static void
+usage(void)
+{
+ print_usage(stderr);
+ exit(EXIT_FAILURE);
}
static void
help(void)
{
(void) printf(_("%s - convert between sudoers file formats\n\n"), getprogname());
- usage(0);
+ print_usage(stdout);
(void) puts(_("\nOptions:\n"
" -b, --base=dn the base DN for sudo LDAP queries\n"
" -c, --config=conf_file the path to the configuration file\n"
diff --git a/plugins/sudoers/cvtsudoers.h b/plugins/sudoers/cvtsudoers.h
index cf48d1a9a..6aaaeb2fd 100644
--- a/plugins/sudoers/cvtsudoers.h
+++ b/plugins/sudoers/cvtsudoers.h
@@ -87,7 +87,7 @@ struct cvtsudoers_filter {
/* cvtsudoers.c */
extern struct cvtsudoers_filter *filters;
-void log_warnx(const char *fmt, ...) __printflike(1, 2);
+void log_warnx(const char *fmt, ...) sudo_printflike(1, 2);
/* cvtsudoers_csv.c */
bool convert_sudoers_csv(struct sudoers_parse_tree *parse_tree, const char *output_file, struct cvtsudoers_config *conf);
diff --git a/plugins/sudoers/cvtsudoers_csv.c b/plugins/sudoers/cvtsudoers_csv.c
index 63512c5dc..aa96c5d63 100644
--- a/plugins/sudoers/cvtsudoers_csv.c
+++ b/plugins/sudoers/cvtsudoers_csv.c
@@ -167,7 +167,7 @@ format_cmnd(struct sudo_command *c, bool negated)
int len;
debug_decl(format_cmnd, SUDOERS_DEBUG_UTIL);
- cmnd = c->cmnd ? c->cmnd : "ALL";
+ cmnd = c->cmnd ? c->cmnd : (char *)"ALL";
bufsiz = negated + strlen(cmnd) + 1;
if (c->args != NULL)
bufsiz += 1 + strlen(c->args);
@@ -597,7 +597,7 @@ print_cmndspec_csv(FILE *fp, struct sudoers_parse_tree *parse_tree,
|| cs->role != next->role || cs->type != next->type
#endif /* HAVE_SELINUX */
#ifdef HAVE_APPARMOR
- || cs->apparmor_profile != next->apparmor_profile
+ || cs->apparmor_profile != next->apparmor_profile
#endif /* HAVE_APPARMOR */
|| cs->runchroot != next->runchroot || cs->runcwd != next->runcwd;
diff --git a/plugins/sudoers/cvtsudoers_json.c b/plugins/sudoers/cvtsudoers_json.c
index a89ef82b3..ab686e1d7 100644
--- a/plugins/sudoers/cvtsudoers_json.c
+++ b/plugins/sudoers/cvtsudoers_json.c
@@ -77,7 +77,7 @@ print_command_json(struct json_container *jsonc, const char *name, bool negated)
}
}
value.type = JSON_STRING;
- value.u.string = cmnd ? cmnd : "ALL";
+ value.u.string = cmnd ? cmnd : (char *)"ALL";
if (!negated && TAILQ_EMPTY(&c->digests)) {
/* Print as { "command": "command and args" } */
@@ -759,13 +759,13 @@ print_cmndspec_json(struct json_container *jsonc,
#endif /* HAVE_SELINUX */
#ifdef HAVE_APPARMOR
- if (cs->apparmor_profile != NULL) {
+ if (cs->apparmor_profile != NULL) {
sudo_json_open_array(jsonc, "AppArmor_Spec");
value.type = JSON_STRING;
value.u.string = cs->apparmor_profile;
sudo_json_add_value(jsonc, "apparmor_profile", &value);
sudo_json_close_array(jsonc);
- }
+ }
#endif /* HAVE_APPARMOR */
#ifdef HAVE_PRIV_SET
diff --git a/plugins/sudoers/cvtsudoers_ldif.c b/plugins/sudoers/cvtsudoers_ldif.c
index 91acfcd86..9be75e504 100644
--- a/plugins/sudoers/cvtsudoers_ldif.c
+++ b/plugins/sudoers/cvtsudoers_ldif.c
@@ -219,7 +219,7 @@ format_cmnd(struct sudo_command *c, bool negated)
int len;
debug_decl(format_cmnd, SUDOERS_DEBUG_UTIL);
- cmnd = c->cmnd ? c->cmnd : "ALL";
+ cmnd = c->cmnd ? c->cmnd : (char *)"ALL";
bufsiz = negated + strlen(cmnd) + 1;
if (c->args != NULL)
bufsiz += 1 + strlen(c->args);
@@ -461,15 +461,15 @@ print_cmndspec_ldif(FILE *fp, struct sudoers_parse_tree *parse_tree,
#endif /* HAVE_SELINUX */
#ifdef HAVE_APPARMOR
- /* Print AppArmor profile */
- if (cs->apparmor_profile != NULL) {
- if (asprintf(&attr_val, "apparmor_profile=%s", cs->apparmor_profile) == -1) {
- sudo_fatalx(U_("%s: %s"), __func__,
- U_("unable to allocate memory"));
- }
- print_attribute_ldif(fp, "sudoOption", attr_val);
- free(attr_val);
+ /* Print AppArmor profile */
+ if (cs->apparmor_profile != NULL) {
+ if (asprintf(&attr_val, "apparmor_profile=%s", cs->apparmor_profile) == -1) {
+ sudo_fatalx(U_("%s: %s"), __func__,
+ U_("unable to allocate memory"));
}
+ print_attribute_ldif(fp, "sudoOption", attr_val);
+ free(attr_val);
+ }
#endif /* HAVE_APPARMOR */
#ifdef HAVE_PRIV_SET
diff --git a/plugins/sudoers/cvtsudoers_merge.c b/plugins/sudoers/cvtsudoers_merge.c
index dde5b9b37..bd62cc068 100644
--- a/plugins/sudoers/cvtsudoers_merge.c
+++ b/plugins/sudoers/cvtsudoers_merge.c
@@ -978,11 +978,11 @@ cmndspec_equivalent(struct cmndspec *cs1, struct cmndspec *cs2, bool check_negat
#endif
#ifdef HAVE_APPARMOR
if (cs1->apparmor_profile != NULL && cs2->apparmor_profile != NULL) {
- if (strcmp(cs1->apparmor_profile, cs2->apparmor_profile) != 0)
- debug_return_bool(false);
- } else if (cs1->apparmor_profile != cs2->apparmor_profile) {
- debug_return_bool(false);
- }
+ if (strcmp(cs1->apparmor_profile, cs2->apparmor_profile) != 0)
+ debug_return_bool(false);
+ } else if (cs1->apparmor_profile != cs2->apparmor_profile) {
+ debug_return_bool(false);
+ }
#endif
#ifdef HAVE_PRIV_SET
if (cs1->privs != NULL && cs2->privs != NULL) {
diff --git a/plugins/sudoers/cvtsudoers_pwutil.c b/plugins/sudoers/cvtsudoers_pwutil.c
index a7b163e91..6b30d03ac 100644
--- a/plugins/sudoers/cvtsudoers_pwutil.c
+++ b/plugins/sudoers/cvtsudoers_pwutil.c
@@ -126,11 +126,11 @@ cvtsudoers_make_pwitem(uid_t uid, const char *name)
/* Fake up a passwd struct. */
memset(&pw, 0, sizeof(pw));
pw.pw_name = name ? s->str : uidstr;
- pw.pw_passwd = "*";
+ pw.pw_passwd = (char *)"*";
pw.pw_uid = uid;
pw.pw_gid = (gid_t)-1;
- pw.pw_shell = _PATH_BSHELL;
- pw.pw_dir = "/";
+ pw.pw_shell = (char *)_PATH_BSHELL;
+ pw.pw_dir = (char *)"/";
/* Allocate in one big chunk for easy freeing. */
total = sizeof(*pwitem);
diff --git a/plugins/sudoers/def_data.c b/plugins/sudoers/def_data.c
index 41de8fc0b..b8c1212d2 100644
--- a/plugins/sudoers/def_data.c
+++ b/plugins/sudoers/def_data.c
@@ -352,10 +352,30 @@ struct sudo_defs_types sudo_defs_table[] = {
N_("Log user's input for the command being run"),
NULL,
}, {
+ "log_stdin", T_FLAG,
+ N_("Log the command's standard input if not connected to a terminal"),
+ NULL,
+ }, {
+ "log_ttyin", T_FLAG,
+ N_("Log the user's terminal input for the command being run"),
+ NULL,
+ }, {
"log_output", T_FLAG,
N_("Log the output of the command being run"),
NULL,
}, {
+ "log_stdout", T_FLAG,
+ N_("Log the command's standard output if not connected to a terminal"),
+ NULL,
+ }, {
+ "log_stderr", T_FLAG,
+ N_("Log the command's standard error if not connected to a terminal"),
+ NULL,
+ }, {
+ "log_ttyout", T_FLAG,
+ N_("Log the terminal output of the command being run"),
+ NULL,
+ }, {
"compress_io", T_FLAG,
N_("Compress I/O logs using zlib"),
NULL,
@@ -668,6 +688,10 @@ struct sudo_defs_types sudo_defs_table[] = {
N_("The mechanism used by the intercept and log_subcmds options: %s"),
def_data_intercept_type,
}, {
+ "intercept_verify", T_FLAG,
+ N_("Attempt to verify the command and arguments after execution"),
+ NULL,
+ }, {
"apparmor_profile", T_STR,
N_("AppArmor profile to use in the new security context: %s"),
NULL,
diff --git a/plugins/sudoers/def_data.h b/plugins/sudoers/def_data.h
index 38de4386b..5c244a45c 100644
--- a/plugins/sudoers/def_data.h
+++ b/plugins/sudoers/def_data.h
@@ -150,165 +150,177 @@
#define def_umask_override (sudo_defs_table[I_UMASK_OVERRIDE].sd_un.flag)
#define I_LOG_INPUT 74
#define def_log_input (sudo_defs_table[I_LOG_INPUT].sd_un.flag)
-#define I_LOG_OUTPUT 75
+#define I_LOG_STDIN 75
+#define def_log_stdin (sudo_defs_table[I_LOG_STDIN].sd_un.flag)
+#define I_LOG_TTYIN 76
+#define def_log_ttyin (sudo_defs_table[I_LOG_TTYIN].sd_un.flag)
+#define I_LOG_OUTPUT 77
#define def_log_output (sudo_defs_table[I_LOG_OUTPUT].sd_un.flag)
-#define I_COMPRESS_IO 76
+#define I_LOG_STDOUT 78
+#define def_log_stdout (sudo_defs_table[I_LOG_STDOUT].sd_un.flag)
+#define I_LOG_STDERR 79
+#define def_log_stderr (sudo_defs_table[I_LOG_STDERR].sd_un.flag)
+#define I_LOG_TTYOUT 80
+#define def_log_ttyout (sudo_defs_table[I_LOG_TTYOUT].sd_un.flag)
+#define I_COMPRESS_IO 81
#define def_compress_io (sudo_defs_table[I_COMPRESS_IO].sd_un.flag)
-#define I_USE_PTY 77
+#define I_USE_PTY 82
#define def_use_pty (sudo_defs_table[I_USE_PTY].sd_un.flag)
-#define I_GROUP_PLUGIN 78
+#define I_GROUP_PLUGIN 83
#define def_group_plugin (sudo_defs_table[I_GROUP_PLUGIN].sd_un.str)
-#define I_IOLOG_DIR 79
+#define I_IOLOG_DIR 84
#define def_iolog_dir (sudo_defs_table[I_IOLOG_DIR].sd_un.str)
-#define I_IOLOG_FILE 80
+#define I_IOLOG_FILE 85
#define def_iolog_file (sudo_defs_table[I_IOLOG_FILE].sd_un.str)
-#define I_SET_UTMP 81
+#define I_SET_UTMP 86
#define def_set_utmp (sudo_defs_table[I_SET_UTMP].sd_un.flag)
-#define I_UTMP_RUNAS 82
+#define I_UTMP_RUNAS 87
#define def_utmp_runas (sudo_defs_table[I_UTMP_RUNAS].sd_un.flag)
-#define I_PRIVS 83
+#define I_PRIVS 88
#define def_privs (sudo_defs_table[I_PRIVS].sd_un.str)
-#define I_LIMITPRIVS 84
+#define I_LIMITPRIVS 89
#define def_limitprivs (sudo_defs_table[I_LIMITPRIVS].sd_un.str)
-#define I_EXEC_BACKGROUND 85
+#define I_EXEC_BACKGROUND 90
#define def_exec_background (sudo_defs_table[I_EXEC_BACKGROUND].sd_un.flag)
-#define I_PAM_SERVICE 86
+#define I_PAM_SERVICE 91
#define def_pam_service (sudo_defs_table[I_PAM_SERVICE].sd_un.str)
-#define I_PAM_LOGIN_SERVICE 87
+#define I_PAM_LOGIN_SERVICE 92
#define def_pam_login_service (sudo_defs_table[I_PAM_LOGIN_SERVICE].sd_un.str)
-#define I_PAM_ASKPASS_SERVICE 88
+#define I_PAM_ASKPASS_SERVICE 93
#define def_pam_askpass_service (sudo_defs_table[I_PAM_ASKPASS_SERVICE].sd_un.str)
-#define I_PAM_SETCRED 89
+#define I_PAM_SETCRED 94
#define def_pam_setcred (sudo_defs_table[I_PAM_SETCRED].sd_un.flag)
-#define I_PAM_SESSION 90
+#define I_PAM_SESSION 95
#define def_pam_session (sudo_defs_table[I_PAM_SESSION].sd_un.flag)
-#define I_PAM_ACCT_MGMT 91
+#define I_PAM_ACCT_MGMT 96
#define def_pam_acct_mgmt (sudo_defs_table[I_PAM_ACCT_MGMT].sd_un.flag)
-#define I_MAXSEQ 92
+#define I_MAXSEQ 97
#define def_maxseq (sudo_defs_table[I_MAXSEQ].sd_un.str)
-#define I_USE_NETGROUPS 93
+#define I_USE_NETGROUPS 98
#define def_use_netgroups (sudo_defs_table[I_USE_NETGROUPS].sd_un.flag)
-#define I_SUDOEDIT_CHECKDIR 94
+#define I_SUDOEDIT_CHECKDIR 99
#define def_sudoedit_checkdir (sudo_defs_table[I_SUDOEDIT_CHECKDIR].sd_un.flag)
-#define I_SUDOEDIT_FOLLOW 95
+#define I_SUDOEDIT_FOLLOW 100
#define def_sudoedit_follow (sudo_defs_table[I_SUDOEDIT_FOLLOW].sd_un.flag)
-#define I_ALWAYS_QUERY_GROUP_PLUGIN 96
+#define I_ALWAYS_QUERY_GROUP_PLUGIN 101
#define def_always_query_group_plugin (sudo_defs_table[I_ALWAYS_QUERY_GROUP_PLUGIN].sd_un.flag)
-#define I_NETGROUP_TUPLE 97
+#define I_NETGROUP_TUPLE 102
#define def_netgroup_tuple (sudo_defs_table[I_NETGROUP_TUPLE].sd_un.flag)
-#define I_IGNORE_AUDIT_ERRORS 98
+#define I_IGNORE_AUDIT_ERRORS 103
#define def_ignore_audit_errors (sudo_defs_table[I_IGNORE_AUDIT_ERRORS].sd_un.flag)
-#define I_IGNORE_IOLOG_ERRORS 99
+#define I_IGNORE_IOLOG_ERRORS 104
#define def_ignore_iolog_errors (sudo_defs_table[I_IGNORE_IOLOG_ERRORS].sd_un.flag)
-#define I_IGNORE_LOGFILE_ERRORS 100
+#define I_IGNORE_LOGFILE_ERRORS 105
#define def_ignore_logfile_errors (sudo_defs_table[I_IGNORE_LOGFILE_ERRORS].sd_un.flag)
-#define I_MATCH_GROUP_BY_GID 101
+#define I_MATCH_GROUP_BY_GID 106
#define def_match_group_by_gid (sudo_defs_table[I_MATCH_GROUP_BY_GID].sd_un.flag)
-#define I_SYSLOG_MAXLEN 102
+#define I_SYSLOG_MAXLEN 107
#define def_syslog_maxlen (sudo_defs_table[I_SYSLOG_MAXLEN].sd_un.uival)
-#define I_IOLOG_USER 103
+#define I_IOLOG_USER 108
#define def_iolog_user (sudo_defs_table[I_IOLOG_USER].sd_un.str)
-#define I_IOLOG_GROUP 104
+#define I_IOLOG_GROUP 109
#define def_iolog_group (sudo_defs_table[I_IOLOG_GROUP].sd_un.str)
-#define I_IOLOG_MODE 105
+#define I_IOLOG_MODE 110
#define def_iolog_mode (sudo_defs_table[I_IOLOG_MODE].sd_un.mode)
-#define I_FDEXEC 106
+#define I_FDEXEC 111
#define def_fdexec (sudo_defs_table[I_FDEXEC].sd_un.tuple)
-#define I_IGNORE_UNKNOWN_DEFAULTS 107
+#define I_IGNORE_UNKNOWN_DEFAULTS 112
#define def_ignore_unknown_defaults (sudo_defs_table[I_IGNORE_UNKNOWN_DEFAULTS].sd_un.flag)
-#define I_COMMAND_TIMEOUT 108
+#define I_COMMAND_TIMEOUT 113
#define def_command_timeout (sudo_defs_table[I_COMMAND_TIMEOUT].sd_un.ival)
-#define I_USER_COMMAND_TIMEOUTS 109
+#define I_USER_COMMAND_TIMEOUTS 114
#define def_user_command_timeouts (sudo_defs_table[I_USER_COMMAND_TIMEOUTS].sd_un.flag)
-#define I_IOLOG_FLUSH 110
+#define I_IOLOG_FLUSH 115
#define def_iolog_flush (sudo_defs_table[I_IOLOG_FLUSH].sd_un.flag)
-#define I_SYSLOG_PID 111
+#define I_SYSLOG_PID 116
#define def_syslog_pid (sudo_defs_table[I_SYSLOG_PID].sd_un.flag)
-#define I_TIMESTAMP_TYPE 112
+#define I_TIMESTAMP_TYPE 117
#define def_timestamp_type (sudo_defs_table[I_TIMESTAMP_TYPE].sd_un.tuple)
-#define I_AUTHFAIL_MESSAGE 113
+#define I_AUTHFAIL_MESSAGE 118
#define def_authfail_message (sudo_defs_table[I_AUTHFAIL_MESSAGE].sd_un.str)
-#define I_CASE_INSENSITIVE_USER 114
+#define I_CASE_INSENSITIVE_USER 119
#define def_case_insensitive_user (sudo_defs_table[I_CASE_INSENSITIVE_USER].sd_un.flag)
-#define I_CASE_INSENSITIVE_GROUP 115
+#define I_CASE_INSENSITIVE_GROUP 120
#define def_case_insensitive_group (sudo_defs_table[I_CASE_INSENSITIVE_GROUP].sd_un.flag)
-#define I_LOG_ALLOWED 116
+#define I_LOG_ALLOWED 121
#define def_log_allowed (sudo_defs_table[I_LOG_ALLOWED].sd_un.flag)
-#define I_LOG_DENIED 117
+#define I_LOG_DENIED 122
#define def_log_denied (sudo_defs_table[I_LOG_DENIED].sd_un.flag)
-#define I_LOG_SERVERS 118
+#define I_LOG_SERVERS 123
#define def_log_servers (sudo_defs_table[I_LOG_SERVERS].sd_un.list)
-#define I_LOG_SERVER_TIMEOUT 119
+#define I_LOG_SERVER_TIMEOUT 124
#define def_log_server_timeout (sudo_defs_table[I_LOG_SERVER_TIMEOUT].sd_un.ival)
-#define I_LOG_SERVER_KEEPALIVE 120
+#define I_LOG_SERVER_KEEPALIVE 125
#define def_log_server_keepalive (sudo_defs_table[I_LOG_SERVER_KEEPALIVE].sd_un.flag)
-#define I_LOG_SERVER_CABUNDLE 121
+#define I_LOG_SERVER_CABUNDLE 126
#define def_log_server_cabundle (sudo_defs_table[I_LOG_SERVER_CABUNDLE].sd_un.str)
-#define I_LOG_SERVER_PEER_CERT 122
+#define I_LOG_SERVER_PEER_CERT 127
#define def_log_server_peer_cert (sudo_defs_table[I_LOG_SERVER_PEER_CERT].sd_un.str)
-#define I_LOG_SERVER_PEER_KEY 123
+#define I_LOG_SERVER_PEER_KEY 128
#define def_log_server_peer_key (sudo_defs_table[I_LOG_SERVER_PEER_KEY].sd_un.str)
-#define I_LOG_SERVER_VERIFY 124
+#define I_LOG_SERVER_VERIFY 129
#define def_log_server_verify (sudo_defs_table[I_LOG_SERVER_VERIFY].sd_un.flag)
-#define I_RUNAS_ALLOW_UNKNOWN_ID 125
+#define I_RUNAS_ALLOW_UNKNOWN_ID 130
#define def_runas_allow_unknown_id (sudo_defs_table[I_RUNAS_ALLOW_UNKNOWN_ID].sd_un.flag)
-#define I_RUNAS_CHECK_SHELL 126
+#define I_RUNAS_CHECK_SHELL 131
#define def_runas_check_shell (sudo_defs_table[I_RUNAS_CHECK_SHELL].sd_un.flag)
-#define I_PAM_RUSER 127
+#define I_PAM_RUSER 132
#define def_pam_ruser (sudo_defs_table[I_PAM_RUSER].sd_un.flag)
-#define I_PAM_RHOST 128
+#define I_PAM_RHOST 133
#define def_pam_rhost (sudo_defs_table[I_PAM_RHOST].sd_un.flag)
-#define I_RUNCWD 129
+#define I_RUNCWD 134
#define def_runcwd (sudo_defs_table[I_RUNCWD].sd_un.str)
-#define I_RUNCHROOT 130
+#define I_RUNCHROOT 135
#define def_runchroot (sudo_defs_table[I_RUNCHROOT].sd_un.str)
-#define I_LOG_FORMAT 131
+#define I_LOG_FORMAT 136
#define def_log_format (sudo_defs_table[I_LOG_FORMAT].sd_un.tuple)
-#define I_SELINUX 132
+#define I_SELINUX 137
#define def_selinux (sudo_defs_table[I_SELINUX].sd_un.flag)
-#define I_ADMIN_FLAG 133
+#define I_ADMIN_FLAG 138
#define def_admin_flag (sudo_defs_table[I_ADMIN_FLAG].sd_un.str)
-#define I_INTERCEPT 134
+#define I_INTERCEPT 139
#define def_intercept (sudo_defs_table[I_INTERCEPT].sd_un.flag)
-#define I_LOG_SUBCMDS 135
+#define I_LOG_SUBCMDS 140
#define def_log_subcmds (sudo_defs_table[I_LOG_SUBCMDS].sd_un.flag)
-#define I_LOG_EXIT_STATUS 136
+#define I_LOG_EXIT_STATUS 141
#define def_log_exit_status (sudo_defs_table[I_LOG_EXIT_STATUS].sd_un.flag)
-#define I_INTERCEPT_AUTHENTICATE 137
+#define I_INTERCEPT_AUTHENTICATE 142
#define def_intercept_authenticate (sudo_defs_table[I_INTERCEPT_AUTHENTICATE].sd_un.flag)
-#define I_INTERCEPT_ALLOW_SETID 138
+#define I_INTERCEPT_ALLOW_SETID 143
#define def_intercept_allow_setid (sudo_defs_table[I_INTERCEPT_ALLOW_SETID].sd_un.flag)
-#define I_RLIMIT_AS 139
+#define I_RLIMIT_AS 144
#define def_rlimit_as (sudo_defs_table[I_RLIMIT_AS].sd_un.str)
-#define I_RLIMIT_CORE 140
+#define I_RLIMIT_CORE 145
#define def_rlimit_core (sudo_defs_table[I_RLIMIT_CORE].sd_un.str)
-#define I_RLIMIT_CPU 141
+#define I_RLIMIT_CPU 146
#define def_rlimit_cpu (sudo_defs_table[I_RLIMIT_CPU].sd_un.str)
-#define I_RLIMIT_DATA 142
+#define I_RLIMIT_DATA 147
#define def_rlimit_data (sudo_defs_table[I_RLIMIT_DATA].sd_un.str)
-#define I_RLIMIT_FSIZE 143
+#define I_RLIMIT_FSIZE 148
#define def_rlimit_fsize (sudo_defs_table[I_RLIMIT_FSIZE].sd_un.str)
-#define I_RLIMIT_LOCKS 144
+#define I_RLIMIT_LOCKS 149
#define def_rlimit_locks (sudo_defs_table[I_RLIMIT_LOCKS].sd_un.str)
-#define I_RLIMIT_MEMLOCK 145
+#define I_RLIMIT_MEMLOCK 150
#define def_rlimit_memlock (sudo_defs_table[I_RLIMIT_MEMLOCK].sd_un.str)
-#define I_RLIMIT_NOFILE 146
+#define I_RLIMIT_NOFILE 151
#define def_rlimit_nofile (sudo_defs_table[I_RLIMIT_NOFILE].sd_un.str)
-#define I_RLIMIT_NPROC 147
+#define I_RLIMIT_NPROC 152
#define def_rlimit_nproc (sudo_defs_table[I_RLIMIT_NPROC].sd_un.str)
-#define I_RLIMIT_RSS 148
+#define I_RLIMIT_RSS 153
#define def_rlimit_rss (sudo_defs_table[I_RLIMIT_RSS].sd_un.str)
-#define I_RLIMIT_STACK 149
+#define I_RLIMIT_STACK 154
#define def_rlimit_stack (sudo_defs_table[I_RLIMIT_STACK].sd_un.str)
-#define I_NONINTERACTIVE_AUTH 150
+#define I_NONINTERACTIVE_AUTH 155
#define def_noninteractive_auth (sudo_defs_table[I_NONINTERACTIVE_AUTH].sd_un.flag)
-#define I_LOG_PASSWORDS 151
+#define I_LOG_PASSWORDS 156
#define def_log_passwords (sudo_defs_table[I_LOG_PASSWORDS].sd_un.flag)
-#define I_PASSPROMPT_REGEX 152
+#define I_PASSPROMPT_REGEX 157
#define def_passprompt_regex (sudo_defs_table[I_PASSPROMPT_REGEX].sd_un.list)
-#define I_INTERCEPT_TYPE 153
+#define I_INTERCEPT_TYPE 158
#define def_intercept_type (sudo_defs_table[I_INTERCEPT_TYPE].sd_un.tuple)
-#define I_APPARMOR_PROFILE 154
+#define I_INTERCEPT_VERIFY 159
+#define def_intercept_verify (sudo_defs_table[I_INTERCEPT_VERIFY].sd_un.flag)
+#define I_APPARMOR_PROFILE 160
#define def_apparmor_profile (sudo_defs_table[I_APPARMOR_PROFILE].sd_un.str)
enum def_tuple {
diff --git a/plugins/sudoers/def_data.in b/plugins/sudoers/def_data.in
index 6372048c9..4d627e64b 100644
--- a/plugins/sudoers/def_data.in
+++ b/plugins/sudoers/def_data.in
@@ -238,9 +238,24 @@ umask_override
log_input
T_FLAG
"Log user's input for the command being run"
+log_stdin
+ T_FLAG
+ "Log the command's standard input if not connected to a terminal"
+log_ttyin
+ T_FLAG
+ "Log the user's terminal input for the command being run"
log_output
T_FLAG
"Log the output of the command being run"
+log_stdout
+ T_FLAG
+ "Log the command's standard output if not connected to a terminal"
+log_stderr
+ T_FLAG
+ "Log the command's standard error if not connected to a terminal"
+log_ttyout
+ T_FLAG
+ "Log the terminal output of the command being run"
compress_io
T_FLAG
"Compress I/O logs using zlib"
@@ -479,6 +494,9 @@ intercept_type
T_TUPLE
"The mechanism used by the intercept and log_subcmds options: %s"
dso trace
+intercept_verify
+ T_FLAG
+ "Attempt to verify the command and arguments after execution"
apparmor_profile
T_STR
- "AppArmor profile to use in the new security context: %s" \ No newline at end of file
+ "AppArmor profile to use in the new security context: %s"
diff --git a/plugins/sudoers/defaults.c b/plugins/sudoers/defaults.c
index ec6b64fe9..e90be1f64 100644
--- a/plugins/sudoers/defaults.c
+++ b/plugins/sudoers/defaults.c
@@ -73,7 +73,7 @@ static bool store_timespec(const char *str, struct sudo_defs_types *def);
static bool store_rlimit(const char *str, struct sudo_defs_types *def);
static bool list_op(const char *str, size_t, struct list_members *list, enum list_ops op);
static bool valid_path(struct sudo_defs_types *def, const char *val, const char *file, int line, int column, bool quiet);
-static bool defaults_warnx(const char *file, int line, int column, bool quiet, const char *fmt, ...) __printflike(5, 6);
+static bool defaults_warnx(const char *file, int line, int column, bool quiet, const char *fmt, ...) sudo_printflike(5, 6);
/*
* Table describing compile-time and run-time options.
@@ -89,7 +89,7 @@ dump_defaults(void)
struct sudo_defs_types *cur;
struct list_member *item;
struct def_values *def;
- char *desc;
+ const char *desc;
debug_decl(dump_defaults, SUDOERS_DEBUG_DEFAULTS);
for (cur = sudo_defs_table; cur->name; cur++) {
@@ -549,6 +549,7 @@ init_defaults(void)
if ((def_rlimit_core = strdup("0,0")) == NULL)
goto oom;
def_intercept_type = dso;
+ def_intercept_verify = true;
def_netgroup_tuple = false;
def_sudoedit_checkdir = true;
def_iolog_mode = S_IRUSR|S_IWUSR;
diff --git a/plugins/sudoers/defaults.h b/plugins/sudoers/defaults.h
index 7e9d44fb6..f0bf88ebf 100644
--- a/plugins/sudoers/defaults.h
+++ b/plugins/sudoers/defaults.h
@@ -43,7 +43,7 @@ enum list_ops {
/* Mapping of tuple string value to enum def_tuple. */
struct def_values {
- char *sval; /* string value */
+ const char *sval; /* string value */
enum def_tuple nval;/* numeric value */
};
@@ -62,9 +62,9 @@ union sudo_defs_val {
* Structure describing compile-time and run-time options.
*/
struct sudo_defs_types {
- char *name;
+ const char *name;
int type;
- char *desc;
+ const char *desc;
struct def_values *values;
bool (*callback)(const char *file, int line, int column, const union sudo_defs_val *, int op);
union sudo_defs_val sd_un;
@@ -132,6 +132,11 @@ struct early_default {
#define SETDEF_ALL (SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER|SETDEF_RUNAS|SETDEF_CMND)
/*
+ * Convenience macros
+ */
+#define iolog_enabled (def_log_stdin || def_log_ttyin || def_log_stdout || def_log_stderr || def_log_ttyout)
+
+/*
* Prototypes
*/
struct defaults_list;
diff --git a/plugins/sudoers/editor.c b/plugins/sudoers/editor.c
index db55fc719..5ca4eb0af 100644
--- a/plugins/sudoers/editor.c
+++ b/plugins/sudoers/editor.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2010-2015 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2010-2015, 2020-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -103,10 +103,8 @@ copy_arg(const char *src, size_t len)
if ((copy = malloc(len + 1)) != NULL) {
sudoers_gc_add(GC_PTR, copy);
for (dst = copy; src < src_end; ) {
- if (src[0] == '\\' && src[1] != '\0') {
+ if (src[0] == '\\' && src[1] != '\0')
src++;
- continue;
- }
*dst++ = *src++;
}
*dst = '\0';
@@ -126,7 +124,7 @@ copy_arg(const char *src, size_t len)
* as well as the argument vector.
*/
static char *
-resolve_editor(const char *ed, size_t edlen, int nfiles, char **files,
+resolve_editor(const char *ed, size_t edlen, int nfiles, char * const *files,
int *argc_out, char ***argv_out, char * const *allowlist)
{
char **nargv = NULL, *editor = NULL, *editor_path = NULL;
@@ -177,7 +175,7 @@ resolve_editor(const char *ed, size_t edlen, int nfiles, char **files,
goto oom;
}
if (nfiles != 0) {
- nargv[nargc++] = "--";
+ nargv[nargc++] = (char *)"--";
while (nfiles--)
nargv[nargc++] = *files++;
}
@@ -211,10 +209,11 @@ oom:
* as well as the argument vector.
*/
char *
-find_editor(int nfiles, char **files, int *argc_out, char ***argv_out,
+find_editor(int nfiles, char * const *files, int *argc_out, char ***argv_out,
char * const *allowlist, const char **env_editor)
{
- char *ev[3], *editor_path = NULL;
+ char *editor_path = NULL;
+ const char *ev[3];
unsigned int i;
debug_decl(find_editor, SUDOERS_DEBUG_UTIL);
diff --git a/plugins/sudoers/env.c b/plugins/sudoers/env.c
index 82dc61832..887d6468f 100644
--- a/plugins/sudoers/env.c
+++ b/plugins/sudoers/env.c
@@ -224,6 +224,7 @@ static const char *initial_keepenv_table[] = {
"PS2",
"XAUTHORITY",
"XAUTHORIZATION",
+ "XDG_CURRENT_DESKTOP",
NULL
};
@@ -314,9 +315,22 @@ int
sudo_putenv_nodebug(char *str, bool dupcheck, bool overwrite)
{
char **ep;
- size_t len;
+ const char *equal;
bool found = false;
+ /* Some putenv(3) implementations check for NULL. */
+ if (str == NULL) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* The string must contain a '=' char but not start with one. */
+ equal = strchr(str, '=');
+ if (equal == NULL || equal == str) {
+ errno = EINVAL;
+ return -1;
+ }
+
/* Make sure there is room for the new entry plus a NULL. */
if (env.env_size > 2 && env.env_len > env.env_size - 2) {
char **nenvp;
@@ -358,7 +372,7 @@ sudo_putenv_nodebug(char *str, bool dupcheck, bool overwrite)
#endif
if (dupcheck) {
- len = (strchr(str, '=') - str) + 1;
+ size_t len = (size_t)(equal - str) + 1;
for (ep = env.envp; *ep != NULL; ep++) {
if (strncmp(str, *ep, len) == 0) {
if (overwrite)
@@ -818,13 +832,13 @@ env_update_didvar(const char *ep, unsigned int *didvar)
}
#define CHECK_PUTENV(a, b, c) do { \
- if (sudo_putenv((a), (b), (c)) == -1) { \
+ if (sudo_putenv((char *)(a), (b), (c)) == -1) { \
goto bad; \
} \
} while (0)
#define CHECK_SETENV2(a, b, c, d) do { \
- if (sudo_setenv2((a), (b), (c), (d)) == -1) { \
+ if (sudo_setenv2((char *)(a), (b), (c), (d)) == -1) { \
goto bad; \
} \
} while (0)
diff --git a/plugins/sudoers/exptilde.c b/plugins/sudoers/exptilde.c
index 00ab0ac5c..b6e8a602b 100644
--- a/plugins/sudoers/exptilde.c
+++ b/plugins/sudoers/exptilde.c
@@ -74,7 +74,7 @@ expand_tilde(char **path, const char *user)
*slash = '\0';
opath = slash + 1;
} else {
- opath = "";
+ opath = (char *)"";
}
}
pw = sudo_getpwnam(user);
diff --git a/plugins/sudoers/fmtsudoers.c b/plugins/sudoers/fmtsudoers.c
index c4152efbf..8f0ab0539 100644
--- a/plugins/sudoers/fmtsudoers.c
+++ b/plugins/sudoers/fmtsudoers.c
@@ -26,6 +26,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <pwd.h>
#include <time.h>
#include "sudoers.h"
@@ -51,7 +52,7 @@ sudoers_format_member_int(struct sudo_lbuf *lbuf,
switch (type) {
case MYSELF:
sudo_lbuf_append(lbuf, "%s%s", negated ? "!" : "",
- user_name ? user_name : "");
+ list_pw ? list_pw->pw_name : (user_name ? user_name : ""));
break;
case ALL:
if (name == NULL) {
diff --git a/plugins/sudoers/getdate.c b/plugins/sudoers/getdate.c
index 405ea888b..0f06b466c 100644
--- a/plugins/sudoers/getdate.c
+++ b/plugins/sudoers/getdate.c
@@ -4,18 +4,77 @@
*/
#include <config.h>
-#include <stdlib.h>
-#include <string.h>
-#define YYBYACC 1
-#define YYMAJOR 1
-#define YYMINOR 9
-#define YYLEX yylex()
-#define YYEMPTY -1
-#define yyclearin (yychar=(YYEMPTY))
-#define yyerrok (yyerrflag=0)
-#define YYRECOVERING() (yyerrflag!=0)
-#define YYPREFIX "yy"
-#line 2 "getdate.y"
+/* A Bison parser, made by GNU Bison 3.8.2. */
+
+/* Bison implementation for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+ Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+ especially those whose name start with YY_ or yy_. They are
+ private implementation details that can be changed or removed. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output, and Bison version. */
+#define YYBISON 30802
+
+/* Bison version string. */
+#define YYBISON_VERSION "3.8.2"
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 0
+
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
+
+
+
+/* First part of user prologue. */
+#line 1 "getdate.y"
+
/*
** Originally written by Steven M. Bellovin <smb@research.att.com> while
** at the University of North Carolina at Chapel Hill. Later tweaked by
@@ -29,8 +88,8 @@
/* SUPPRESS 287 on yaccpar_sccsid *//* Unused static variable */
/* SUPPRESS 288 on yyerrlab *//* Label unused */
-/* PVS Studio suppression*/
-/* -V::1037, 1042*/
+// PVS Studio suppression
+// -V::560, 592, 1037, 1042
#include <config.h>
@@ -58,7 +117,7 @@
** An entry in the lexical lookup table.
*/
typedef struct _TABLE {
- char *name;
+ const char *name;
int type;
time_t value;
} TABLE;
@@ -109,238 +168,1685 @@ static int yylex(void);
int yyparse(void);
void yyerror(const char *s);
+
+#line 167 "getdate.c"
+
+# ifndef YY_CAST
+# ifdef __cplusplus
+# define YY_CAST(Type, Val) static_cast<Type> (Val)
+# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+# else
+# define YY_CAST(Type, Val) ((Type) (Val))
+# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+# endif
+# endif
+# ifndef YY_NULLPTR
+# if defined __cplusplus
+# if 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# else
+# define YY_NULLPTR ((void*)0)
+# endif
+# endif
+
+
+/* Debug traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token kinds. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ enum yytokentype
+ {
+ YYEMPTY = -2,
+ YYEOF = 0, /* "end of file" */
+ YYerror = 256, /* error */
+ YYUNDEF = 257, /* "invalid token" */
+ tAGO = 258, /* tAGO */
+ tID = 259, /* tID */
+ tDST = 260, /* tDST */
+ tDAY = 261, /* tDAY */
+ tDAYZONE = 262, /* tDAYZONE */
+ tMINUTE_UNIT = 263, /* tMINUTE_UNIT */
+ tMONTH = 264, /* tMONTH */
+ tMONTH_UNIT = 265, /* tMONTH_UNIT */
+ tSEC_UNIT = 266, /* tSEC_UNIT */
+ tSNUMBER = 267, /* tSNUMBER */
+ tUNUMBER = 268, /* tUNUMBER */
+ tZONE = 269, /* tZONE */
+ tMERIDIAN = 270 /* tMERIDIAN */
+ };
+ typedef enum yytokentype yytoken_kind_t;
+#endif
+/* Token kinds. */
+#define YYEMPTY -2
+#define YYEOF 0
+#define YYerror 256
+#define YYUNDEF 257
+#define tAGO 258
+#define tID 259
+#define tDST 260
+#define tDAY 261
+#define tDAYZONE 262
+#define tMINUTE_UNIT 263
+#define tMONTH 264
+#define tMONTH_UNIT 265
+#define tSEC_UNIT 266
+#define tSNUMBER 267
+#define tUNUMBER 268
+#define tZONE 269
+#define tMERIDIAN 270
+
+/* Value type. */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+union YYSTYPE
+{
#line 97 "getdate.y"
-#ifndef YYSTYPE_DEFINED
-#define YYSTYPE_DEFINED
-typedef union {
+
time_t Number;
enum _MERIDIAN Meridian;
-} YYSTYPE;
-#endif /* YYSTYPE_DEFINED */
-#line 115 "getdate.c"
-#define tAGO 257
-#define tID 258
-#define tDST 259
-#define tDAY 260
-#define tDAYZONE 261
-#define tMINUTE_UNIT 262
-#define tMONTH 263
-#define tMONTH_UNIT 264
-#define tSEC_UNIT 265
-#define tSNUMBER 266
-#define tUNUMBER 267
-#define tZONE 268
-#define tMERIDIAN 269
-#define YYERRCODE 256
-const short yylhs[] =
- { -1,
- 0, 0, 2, 2, 2, 2, 2, 2, 3, 3,
- 3, 3, 3, 4, 4, 4, 6, 6, 6, 5,
- 5, 5, 5, 5, 5, 5, 5, 7, 7, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 8, 1,
- 1,
-};
-const short yylen[] =
- { 2,
- 0, 2, 1, 1, 1, 1, 1, 1, 2, 4,
- 4, 6, 6, 1, 1, 2, 1, 2, 2, 3,
- 5, 3, 3, 2, 4, 2, 3, 2, 1, 2,
- 2, 1, 2, 2, 1, 2, 2, 1, 1, 0,
- 1,
+
+#line 252 "getdate.c"
+
};
-const short yydefred[] =
- { 1,
- 0, 0, 15, 32, 0, 38, 35, 0, 0, 0,
- 2, 3, 4, 5, 6, 7, 8, 0, 18, 0,
- 31, 36, 33, 19, 30, 0, 37, 34, 0, 9,
- 0, 0, 16, 28, 0, 23, 27, 22, 0, 0,
- 25, 11, 41, 0, 10, 0, 0, 21, 13, 12,
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+
+int yyparse (void);
+
+
+
+/* Symbol kind. */
+enum yysymbol_kind_t
+{
+ YYSYMBOL_YYEMPTY = -2,
+ YYSYMBOL_YYEOF = 0, /* "end of file" */
+ YYSYMBOL_YYerror = 1, /* error */
+ YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
+ YYSYMBOL_tAGO = 3, /* tAGO */
+ YYSYMBOL_tID = 4, /* tID */
+ YYSYMBOL_tDST = 5, /* tDST */
+ YYSYMBOL_tDAY = 6, /* tDAY */
+ YYSYMBOL_tDAYZONE = 7, /* tDAYZONE */
+ YYSYMBOL_tMINUTE_UNIT = 8, /* tMINUTE_UNIT */
+ YYSYMBOL_tMONTH = 9, /* tMONTH */
+ YYSYMBOL_tMONTH_UNIT = 10, /* tMONTH_UNIT */
+ YYSYMBOL_tSEC_UNIT = 11, /* tSEC_UNIT */
+ YYSYMBOL_tSNUMBER = 12, /* tSNUMBER */
+ YYSYMBOL_tUNUMBER = 13, /* tUNUMBER */
+ YYSYMBOL_tZONE = 14, /* tZONE */
+ YYSYMBOL_tMERIDIAN = 15, /* tMERIDIAN */
+ YYSYMBOL_16_ = 16, /* ':' */
+ YYSYMBOL_17_ = 17, /* ',' */
+ YYSYMBOL_18_ = 18, /* '/' */
+ YYSYMBOL_YYACCEPT = 19, /* $accept */
+ YYSYMBOL_spec = 20, /* spec */
+ YYSYMBOL_item = 21, /* item */
+ YYSYMBOL_time = 22, /* time */
+ YYSYMBOL_zone = 23, /* zone */
+ YYSYMBOL_day = 24, /* day */
+ YYSYMBOL_date = 25, /* date */
+ YYSYMBOL_rel = 26, /* rel */
+ YYSYMBOL_relunit = 27, /* relunit */
+ YYSYMBOL_number = 28, /* number */
+ YYSYMBOL_o_merid = 29 /* o_merid */
};
-const short yydgoto[] =
- { 1,
- 45, 11, 12, 13, 14, 15, 16, 17, 18,
+typedef enum yysymbol_kind_t yysymbol_kind_t;
+
+
+
+
+#ifdef short
+# undef short
+#endif
+
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+ <limits.h> and (if available) <stdint.h> are included
+ so that the code can choose integer types of a good width. */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined HAVE_STDINT_H
+# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_STDINT_H
+# endif
+#endif
+
+/* Narrow types that promote to a signed type and that can represent a
+ signed or unsigned integer of at least N bits. In tables they can
+ save space and decrease cache pressure. Promoting to a signed type
+ helps avoid bugs in integer arithmetic. */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
+#else
+typedef short yytype_int16;
+#endif
+
+/* Work around bug in HP-UX 11.23, which defines these macros
+ incorrectly for preprocessor constants. This workaround can likely
+ be removed in 2023, as HPE has promised support for HP-UX 11.23
+ (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+ <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+# define YYPTRDIFF_T __PTRDIFF_TYPE__
+# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+# ifndef ptrdiff_t
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# endif
+# define YYPTRDIFF_T ptrdiff_t
+# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+# define YYPTRDIFF_T long
+# define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# else
+# define YYSIZE_T unsigned
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM \
+ YY_CAST (YYPTRDIFF_T, \
+ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
+ ? YYPTRDIFF_MAXIMUM \
+ : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int8 yy_state_t;
+
+/* State numbers in computations. */
+typedef int yy_state_fast_t;
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+# if ENABLE_NLS
+# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+# endif
+# endif
+# ifndef YY_
+# define YY_(Msgid) Msgid
+# endif
+#endif
+
+
+#ifndef YY_ATTRIBUTE_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+# define YY_ATTRIBUTE_PURE
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+# define YY_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YY_USE(E) ((void) (E))
+#else
+# define YY_USE(E) /* empty */
+#endif
+
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
+# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
+# else
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# endif
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END \
+ _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
+
+#if !defined yyoverflow
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
+# else
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+# endif
+# endif
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# ifndef YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+# endif
+# else
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# ifndef YYSTACK_ALLOC_MAXIMUM
+# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
+ && ! ((defined YYMALLOC || defined malloc) \
+ && (defined YYFREE || defined free)))
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+# endif
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef YYFREE
+# define YYFREE free
+# if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# endif
+#endif /* !defined yyoverflow */
+
+#if (! defined yyoverflow \
+ && (! defined __cplusplus \
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ yy_state_t yyss_alloc;
+ YYSTYPE yyvs_alloc;
};
-const short yysindex[] =
- { 0,
- -199, -38, 0, 0, -254, 0, 0, -260, -47, -245,
- 0, 0, 0, 0, 0, 0, 0, -242, 0, -28,
- 0, 0, 0, 0, 0, -259, 0, 0, -249, 0,
- -247, -246, 0, 0, -244, 0, 0, 0, -55, -29,
- 0, 0, 0, -243, 0, -241, -257, 0, 0, 0,};
-const short yyrindex[] =
- { 0,
- 0, 1, 0, 0, 0, 0, 0, 0, 60, 10,
- 0, 0, 0, 0, 0, 0, 0, 19, 0, 28,
- 0, 0, 0, 0, 0, 55, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 46, 37,
- 0, 0, 0, 0, 0, 0, 46, 0, 0, 0,};
-const short yygindex[] =
- { 0,
- -25, 0, 0, 0, 0, 0, 0, 0, 0,
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYPTRDIFF_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / YYSIZEOF (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(Dst, Src, Count) \
+ __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
+# else
+# define YYCOPY(Dst, Src, Count) \
+ do \
+ { \
+ YYPTRDIFF_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (Dst)[yyi] = (Src)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 2
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 41
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 19
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 11
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 42
+/* YYNSTATES -- Number of states. */
+#define YYNSTATES 52
+
+/* YYMAXUTOK -- Last valid token kind. */
+#define YYMAXUTOK 270
+
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, with out-of-bounds checking. */
+#define YYTRANSLATE(YYX) \
+ (0 <= (YYX) && (YYX) <= YYMAXUTOK \
+ ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
+ : YYSYMBOL_YYUNDEF)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex. */
+static const yytype_int8 yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 17, 2, 2, 18, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 16, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15
};
-#define YYTABLESIZE 328
-const short yytable[] =
- { 32,
- 17, 21, 44, 22, 23, 19, 36, 37, 49, 14,
- 31, 43, 20, 33, 34, 35, 38, 46, 29, 39,
- 40, 50, 41, 47, 0, 48, 0, 24, 0, 0,
- 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
- 0, 0, 0, 0, 26, 0, 0, 0, 0, 39,
- 2, 3, 4, 5, 6, 7, 8, 9, 10, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 42, 0, 24, 43, 25, 26, 27, 28, 29, 0,
- 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 40, 40, 40, 40, 40,
- 40, 0, 40, 40, 26, 26, 26, 26, 26, 26,
- 39, 0, 26, 0, 0, 0, 39, 39,
+
+#if YYDEBUG
+/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
+static const yytype_int16 yyrline[] =
+{
+ 0, 111, 111, 112, 115, 118, 121, 124, 127, 130,
+ 133, 139, 145, 152, 158, 168, 172, 177, 183, 187,
+ 191, 197, 201, 212, 218, 224, 228, 233, 237, 244,
+ 248, 251, 254, 257, 260, 263, 266, 269, 272, 275,
+ 280, 307, 310
};
-const short yycheck[] =
- { 47,
- 0, 262, 58, 264, 265, 44, 266, 267, 266, 0,
- 58, 269, 267, 259, 257, 44, 266, 47, 0, 267,
- 267, 47, 267, 267, -1, 267, -1, 0, -1, -1,
- -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, -1, -1, -1, 0,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 266, -1, 260, 269, 262, 263, 264, 265, 266, -1,
- -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 260, 261, 262, 263, 264, 265, 266, 267, 268, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 260, 261,
- 262, 263, 264, 265, 266, 267, 268, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 260, 261, 262, 263,
- 264, 265, 266, 267, 268, 260, 261, 262, 263, 264,
- 265, -1, 267, 268, 260, 261, 262, 263, 264, 265,
- 261, -1, 268, -1, -1, -1, 267, 268,
+#endif
+
+/** Accessing symbol of state STATE. */
+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+
+#if YYDEBUG || 0
+/* The user-facing name of the symbol whose (internal) number is
+ YYSYMBOL. No bounds checking. */
+static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "\"end of file\"", "error", "\"invalid token\"", "tAGO", "tID", "tDST",
+ "tDAY", "tDAYZONE", "tMINUTE_UNIT", "tMONTH", "tMONTH_UNIT", "tSEC_UNIT",
+ "tSNUMBER", "tUNUMBER", "tZONE", "tMERIDIAN", "':'", "','", "'/'",
+ "$accept", "spec", "item", "time", "zone", "day", "date", "rel",
+ "relunit", "number", "o_merid", YY_NULLPTR
};
-#define YYFINAL 1
-#ifndef YYDEBUG
-#define YYDEBUG 0
+
+static const char *
+yysymbol_name (yysymbol_kind_t yysymbol)
+{
+ return yytname[yysymbol];
+}
#endif
-#define YYMAXTOKEN 269
-#if YYDEBUG
-const char * const yyname[] =
- {
-"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,"','",0,0,"'/'",0,0,0,0,0,0,0,0,0,0,"':'",0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"tAGO","tID","tDST",
-"tDAY","tDAYZONE","tMINUTE_UNIT","tMONTH","tMONTH_UNIT","tSEC_UNIT","tSNUMBER",
-"tUNUMBER","tZONE","tMERIDIAN",
+
+#define YYPACT_NINF (-12)
+
+#define yypact_value_is_default(Yyn) \
+ ((Yyn) == YYPACT_NINF)
+
+#define YYTABLE_NINF (-1)
+
+#define yytable_value_is_error(Yyn) \
+ 0
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const yytype_int8 yypact[] =
+{
+ -12, 0, -12, -1, -12, -12, 10, -12, -12, 18,
+ 9, 17, -12, -12, -12, -12, -12, -12, 27, -12,
+ -12, 15, -12, -12, -12, -12, -12, -10, -12, -12,
+ 21, -12, 22, 23, -12, -12, 24, -12, -12, -12,
+ -11, 20, -12, -12, -12, 26, -12, 28, 19, -12,
+ -12, -12
};
-const char * const yyrule[] =
- {"$accept : spec",
-"spec :",
-"spec : spec item",
-"item : time",
-"item : zone",
-"item : date",
-"item : day",
-"item : rel",
-"item : number",
-"time : tUNUMBER tMERIDIAN",
-"time : tUNUMBER ':' tUNUMBER o_merid",
-"time : tUNUMBER ':' tUNUMBER tSNUMBER",
-"time : tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid",
-"time : tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER",
-"zone : tZONE",
-"zone : tDAYZONE",
-"zone : tZONE tDST",
-"day : tDAY",
-"day : tDAY ','",
-"day : tUNUMBER tDAY",
-"date : tUNUMBER '/' tUNUMBER",
-"date : tUNUMBER '/' tUNUMBER '/' tUNUMBER",
-"date : tUNUMBER tSNUMBER tSNUMBER",
-"date : tUNUMBER tMONTH tSNUMBER",
-"date : tMONTH tUNUMBER",
-"date : tMONTH tUNUMBER ',' tUNUMBER",
-"date : tUNUMBER tMONTH",
-"date : tUNUMBER tMONTH tUNUMBER",
-"rel : relunit tAGO",
-"rel : relunit",
-"relunit : tUNUMBER tMINUTE_UNIT",
-"relunit : tSNUMBER tMINUTE_UNIT",
-"relunit : tMINUTE_UNIT",
-"relunit : tSNUMBER tSEC_UNIT",
-"relunit : tUNUMBER tSEC_UNIT",
-"relunit : tSEC_UNIT",
-"relunit : tSNUMBER tMONTH_UNIT",
-"relunit : tUNUMBER tMONTH_UNIT",
-"relunit : tMONTH_UNIT",
-"number : tUNUMBER",
-"o_merid :",
-"o_merid : tMERIDIAN",
+
+/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+static const yytype_int8 yydefact[] =
+{
+ 2, 0, 1, 18, 16, 33, 0, 39, 36, 0,
+ 40, 15, 3, 4, 5, 7, 6, 8, 30, 9,
+ 19, 25, 32, 37, 34, 20, 31, 27, 38, 35,
+ 0, 10, 0, 0, 17, 29, 0, 24, 28, 23,
+ 41, 21, 26, 12, 42, 0, 11, 0, 41, 22,
+ 14, 13
};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yytype_int8 yypgoto[] =
+{
+ -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
+ -8
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
+{
+ 0, 1, 12, 13, 14, 15, 16, 17, 18, 19,
+ 46
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
+static const yytype_int8 yytable[] =
+{
+ 2, 43, 37, 38, 44, 45, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 25, 20, 26, 27, 28,
+ 29, 30, 34, 21, 31, 32, 22, 33, 23, 24,
+ 35, 50, 36, 39, 44, 40, 41, 42, 47, 48,
+ 51, 49
+};
+
+static const yytype_int8 yycheck[] =
+{
+ 0, 12, 12, 13, 15, 16, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 6, 17, 8, 9, 10,
+ 11, 12, 5, 13, 15, 16, 8, 18, 10, 11,
+ 3, 12, 17, 12, 15, 13, 13, 13, 18, 13,
+ 48, 13
+};
+
+/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
+ state STATE-NUM. */
+static const yytype_int8 yystos[] =
+{
+ 0, 20, 0, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 21, 22, 23, 24, 25, 26, 27, 28,
+ 17, 13, 8, 10, 11, 6, 8, 9, 10, 11,
+ 12, 15, 16, 18, 5, 3, 17, 12, 13, 12,
+ 13, 13, 13, 12, 15, 16, 29, 18, 13, 13,
+ 12, 29
+};
+
+/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
+static const yytype_int8 yyr1[] =
+{
+ 0, 19, 20, 20, 21, 21, 21, 21, 21, 21,
+ 22, 22, 22, 22, 22, 23, 23, 23, 24, 24,
+ 24, 25, 25, 25, 25, 25, 25, 25, 25, 26,
+ 26, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+ 28, 29, 29
+};
+
+/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
+static const yytype_int8 yyr2[] =
+{
+ 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
+ 2, 4, 4, 6, 6, 1, 1, 2, 1, 2,
+ 2, 3, 5, 3, 3, 2, 4, 2, 3, 2,
+ 1, 2, 2, 1, 2, 2, 1, 2, 2, 1,
+ 1, 0, 1
+};
+
+
+enum { YYENOMEM = -2 };
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+#define YYNOMEM goto yyexhaustedlab
+
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+ do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+ while (0)
+
+/* Backward compatibility with an undocumented macro.
+ Use YYerror or YYUNDEF. */
+#define YYERRCODE YYUNDEF
+
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+
+
+
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Kind, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+
+/*-----------------------------------.
+| Print this symbol's value on YYO. |
+`-----------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyo,
+ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+ FILE *yyoutput = yyo;
+ YY_USE (yyoutput);
+ if (!yyvaluep)
+ return;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ YY_USE (yykind);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/*---------------------------.
+| Print this symbol on YYO. |
+`---------------------------*/
+
+static void
+yy_symbol_print (FILE *yyo,
+ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+{
+ YYFPRINTF (yyo, "%s %s (",
+ yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+
+ yy_symbol_value_print (yyo, yykind, yyvaluep);
+ YYFPRINTF (yyo, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
+ int yyrule)
+{
+ int yylno = yyrline[yyrule];
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr,
+ YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
+ &yyvsp[(yyi + 1) - (yynrhs)]);
+ YYFPRINTF (stderr, "\n");
+ }
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args) ((void) 0)
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
#endif
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 10000
-#define YYMAXDEPTH 10000
-#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
#endif
-#define YYINITSTACKSIZE 200
-/* LINTUSED */
-int yydebug;
-int yynerrs;
-int yyerrflag;
+
+
+
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg,
+ yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+{
+ YY_USE (yyvaluep);
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ YY_USE (yykind);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/* Lookahead token kind. */
int yychar;
-short *yyssp;
-YYSTYPE *yyvsp;
-YYSTYPE yyval;
+
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-short *yyss;
-short *yysslim;
-YYSTYPE *yyvs;
-unsigned int yystacksize;
-int yyparse(void);
-#line 316 "getdate.y"
+/* Number of syntax errors so far. */
+int yynerrs;
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+int
+yyparse (void)
+{
+ yy_state_fast_t yystate = 0;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus = 0;
+
+ /* Refer to the stacks through separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* Their size. */
+ YYPTRDIFF_T yystacksize = YYINITDEPTH;
+
+ /* The state stack: array, bottom, top. */
+ yy_state_t yyssa[YYINITDEPTH];
+ yy_state_t *yyss = yyssa;
+ yy_state_t *yyssp = yyss;
+
+ /* The semantic value stack: array, bottom, top. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ YYSTYPE *yyvsp = yyvs;
+
+ int yyn;
+ /* The return value of yyparse. */
+ int yyresult;
+ /* Lookahead symbol kind. */
+ yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ goto yysetstate;
+
+
+/*------------------------------------------------------------.
+| yynewstate -- push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate. |
+`--------------------------------------------------------------------*/
+yysetstate:
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+ YY_IGNORE_USELESS_CAST_BEGIN
+ *yyssp = YY_CAST (yy_state_t, yystate);
+ YY_IGNORE_USELESS_CAST_END
+ YY_STACK_PRINT (yyss, yyssp);
+
+ if (yyss + yystacksize - 1 <= yyssp)
+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
+ YYNOMEM;
+#else
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYPTRDIFF_T yysize = yyssp - yyss + 1;
+
+# if defined yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ yy_state_t *yyss1 = yyss;
+ YYSTYPE *yyvs1 = yyvs;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * YYSIZEOF (*yyssp),
+ &yyvs1, yysize * YYSIZEOF (*yyvsp),
+ &yystacksize);
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+# else /* defined YYSTACK_RELOCATE */
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ YYNOMEM;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ yy_state_t *yyss1 = yyss;
+ union yyalloc *yyptr =
+ YY_CAST (union yyalloc *,
+ YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
+ if (! yyptr)
+ YYNOMEM;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+ YY_IGNORE_USELESS_CAST_BEGIN
+ YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+ YY_CAST (long, yystacksize)));
+ YY_IGNORE_USELESS_CAST_END
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
+ goto yybackup;
+
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+ /* Do appropriate processing given the current state. Read a
+ lookahead token if we need one and don't already have one. */
+
+ /* First try to decide what to do without reference to lookahead token. */
+ yyn = yypact[yystate];
+ if (yypact_value_is_default (yyn))
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token\n"));
+ yychar = yylex ();
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = YYEOF;
+ yytoken = YYSYMBOL_YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else if (yychar == YYerror)
+ {
+ /* The scanner already issued an error message, process directly
+ to error recovery. But do not keep the error token as
+ lookahead, it is too special and may lead us to an endless
+ loop in error recovery. */
+ yychar = YYUNDEF;
+ yytoken = YYSYMBOL_YYerror;
+ goto yyerrlab1;
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yytable_value_is_error (yyn))
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ /* Shift the lookahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+ yystate = yyn;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ '$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 4: /* item: time */
+#line 115 "getdate.y"
+ {
+ yyHaveTime++;
+ }
+#line 1290 "getdate.c"
+ break;
+
+ case 5: /* item: zone */
+#line 118 "getdate.y"
+ {
+ yyHaveZone++;
+ }
+#line 1298 "getdate.c"
+ break;
+
+ case 6: /* item: date */
+#line 121 "getdate.y"
+ {
+ yyHaveDate++;
+ }
+#line 1306 "getdate.c"
+ break;
+
+ case 7: /* item: day */
+#line 124 "getdate.y"
+ {
+ yyHaveDay++;
+ }
+#line 1314 "getdate.c"
+ break;
+
+ case 8: /* item: rel */
+#line 127 "getdate.y"
+ {
+ yyHaveRel++;
+ }
+#line 1322 "getdate.c"
+ break;
+
+ case 10: /* time: tUNUMBER tMERIDIAN */
+#line 133 "getdate.y"
+ {
+ yyHour = (yyvsp[-1].Number);
+ yyMinutes = 0;
+ yySeconds = 0;
+ yyMeridian = (yyvsp[0].Meridian);
+ }
+#line 1333 "getdate.c"
+ break;
+
+ case 11: /* time: tUNUMBER ':' tUNUMBER o_merid */
+#line 139 "getdate.y"
+ {
+ yyHour = (yyvsp[-3].Number);
+ yyMinutes = (yyvsp[-1].Number);
+ yySeconds = 0;
+ yyMeridian = (yyvsp[0].Meridian);
+ }
+#line 1344 "getdate.c"
+ break;
+
+ case 12: /* time: tUNUMBER ':' tUNUMBER tSNUMBER */
+#line 145 "getdate.y"
+ {
+ yyHour = (yyvsp[-3].Number);
+ yyMinutes = (yyvsp[-1].Number);
+ yyMeridian = MER24;
+ yyDSTmode = DSToff;
+ yyTimezone = - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60);
+ }
+#line 1356 "getdate.c"
+ break;
+
+ case 13: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid */
+#line 152 "getdate.y"
+ {
+ yyHour = (yyvsp[-5].Number);
+ yyMinutes = (yyvsp[-3].Number);
+ yySeconds = (yyvsp[-1].Number);
+ yyMeridian = (yyvsp[0].Meridian);
+ }
+#line 1367 "getdate.c"
+ break;
+
+ case 14: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER */
+#line 158 "getdate.y"
+ {
+ yyHour = (yyvsp[-5].Number);
+ yyMinutes = (yyvsp[-3].Number);
+ yySeconds = (yyvsp[-1].Number);
+ yyMeridian = MER24;
+ yyDSTmode = DSToff;
+ yyTimezone = - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60);
+ }
+#line 1380 "getdate.c"
+ break;
+
+ case 15: /* zone: tZONE */
+#line 168 "getdate.y"
+ {
+ yyTimezone = (yyvsp[0].Number);
+ yyDSTmode = DSToff;
+ }
+#line 1389 "getdate.c"
+ break;
+
+ case 16: /* zone: tDAYZONE */
+#line 172 "getdate.y"
+ {
+ yyTimezone = (yyvsp[0].Number);
+ yyDSTmode = DSTon;
+ }
+#line 1398 "getdate.c"
+ break;
+
+ case 17: /* zone: tZONE tDST */
+#line 177 "getdate.y"
+ {
+ yyTimezone = (yyvsp[-1].Number);
+ yyDSTmode = DSTon;
+ }
+#line 1407 "getdate.c"
+ break;
+
+ case 18: /* day: tDAY */
+#line 183 "getdate.y"
+ {
+ yyDayOrdinal = 1;
+ yyDayNumber = (yyvsp[0].Number);
+ }
+#line 1416 "getdate.c"
+ break;
+
+ case 19: /* day: tDAY ',' */
+#line 187 "getdate.y"
+ {
+ yyDayOrdinal = 1;
+ yyDayNumber = (yyvsp[-1].Number);
+ }
+#line 1425 "getdate.c"
+ break;
+
+ case 20: /* day: tUNUMBER tDAY */
+#line 191 "getdate.y"
+ {
+ yyDayOrdinal = (yyvsp[-1].Number);
+ yyDayNumber = (yyvsp[0].Number);
+ }
+#line 1434 "getdate.c"
+ break;
+
+ case 21: /* date: tUNUMBER '/' tUNUMBER */
+#line 197 "getdate.y"
+ {
+ yyMonth = (yyvsp[-2].Number);
+ yyDay = (yyvsp[0].Number);
+ }
+#line 1443 "getdate.c"
+ break;
+
+ case 22: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */
+#line 201 "getdate.y"
+ {
+ if ((yyvsp[-4].Number) >= 100) {
+ yyYear = (yyvsp[-4].Number);
+ yyMonth = (yyvsp[-2].Number);
+ yyDay = (yyvsp[0].Number);
+ } else {
+ yyMonth = (yyvsp[-4].Number);
+ yyDay = (yyvsp[-2].Number);
+ yyYear = (yyvsp[0].Number);
+ }
+ }
+#line 1459 "getdate.c"
+ break;
+
+ case 23: /* date: tUNUMBER tSNUMBER tSNUMBER */
+#line 212 "getdate.y"
+ {
+ /* ISO 8601 format. yyyy-mm-dd. */
+ yyYear = (yyvsp[-2].Number);
+ yyMonth = -(yyvsp[-1].Number);
+ yyDay = -(yyvsp[0].Number);
+ }
+#line 1470 "getdate.c"
+ break;
+
+ case 24: /* date: tUNUMBER tMONTH tSNUMBER */
+#line 218 "getdate.y"
+ {
+ /* e.g. 17-JUN-1992. */
+ yyDay = (yyvsp[-2].Number);
+ yyMonth = (yyvsp[-1].Number);
+ yyYear = -(yyvsp[0].Number);
+ }
+#line 1481 "getdate.c"
+ break;
+
+ case 25: /* date: tMONTH tUNUMBER */
+#line 224 "getdate.y"
+ {
+ yyMonth = (yyvsp[-1].Number);
+ yyDay = (yyvsp[0].Number);
+ }
+#line 1490 "getdate.c"
+ break;
+
+ case 26: /* date: tMONTH tUNUMBER ',' tUNUMBER */
+#line 228 "getdate.y"
+ {
+ yyMonth = (yyvsp[-3].Number);
+ yyDay = (yyvsp[-2].Number);
+ yyYear = (yyvsp[0].Number);
+ }
+#line 1500 "getdate.c"
+ break;
+
+ case 27: /* date: tUNUMBER tMONTH */
+#line 233 "getdate.y"
+ {
+ yyMonth = (yyvsp[0].Number);
+ yyDay = (yyvsp[-1].Number);
+ }
+#line 1509 "getdate.c"
+ break;
+
+ case 28: /* date: tUNUMBER tMONTH tUNUMBER */
+#line 237 "getdate.y"
+ {
+ yyMonth = (yyvsp[-1].Number);
+ yyDay = (yyvsp[-2].Number);
+ yyYear = (yyvsp[0].Number);
+ }
+#line 1519 "getdate.c"
+ break;
+
+ case 29: /* rel: relunit tAGO */
+#line 244 "getdate.y"
+ {
+ yyRelSeconds = -yyRelSeconds;
+ yyRelMonth = -yyRelMonth;
+ }
+#line 1528 "getdate.c"
+ break;
+
+ case 31: /* relunit: tUNUMBER tMINUTE_UNIT */
+#line 251 "getdate.y"
+ {
+ yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number) * 60L;
+ }
+#line 1536 "getdate.c"
+ break;
+
+ case 32: /* relunit: tSNUMBER tMINUTE_UNIT */
+#line 254 "getdate.y"
+ {
+ yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number) * 60L;
+ }
+#line 1544 "getdate.c"
+ break;
+
+ case 33: /* relunit: tMINUTE_UNIT */
+#line 257 "getdate.y"
+ {
+ yyRelSeconds += (yyvsp[0].Number) * 60L;
+ }
+#line 1552 "getdate.c"
+ break;
+
+ case 34: /* relunit: tSNUMBER tSEC_UNIT */
+#line 260 "getdate.y"
+ {
+ yyRelSeconds += (yyvsp[-1].Number);
+ }
+#line 1560 "getdate.c"
+ break;
+
+ case 35: /* relunit: tUNUMBER tSEC_UNIT */
+#line 263 "getdate.y"
+ {
+ yyRelSeconds += (yyvsp[-1].Number);
+ }
+#line 1568 "getdate.c"
+ break;
+
+ case 36: /* relunit: tSEC_UNIT */
+#line 266 "getdate.y"
+ {
+ yyRelSeconds++;
+ }
+#line 1576 "getdate.c"
+ break;
+
+ case 37: /* relunit: tSNUMBER tMONTH_UNIT */
+#line 269 "getdate.y"
+ {
+ yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number);
+ }
+#line 1584 "getdate.c"
+ break;
+
+ case 38: /* relunit: tUNUMBER tMONTH_UNIT */
+#line 272 "getdate.y"
+ {
+ yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number);
+ }
+#line 1592 "getdate.c"
+ break;
+
+ case 39: /* relunit: tMONTH_UNIT */
+#line 275 "getdate.y"
+ {
+ yyRelMonth += (yyvsp[0].Number);
+ }
+#line 1600 "getdate.c"
+ break;
+
+ case 40: /* number: tUNUMBER */
+#line 280 "getdate.y"
+ {
+ if (yyHaveTime && yyHaveDate && !yyHaveRel)
+ yyYear = (yyvsp[0].Number);
+ else {
+ if((yyvsp[0].Number)>10000) {
+ yyHaveDate++;
+ yyDay= ((yyvsp[0].Number))%100;
+ yyMonth= ((yyvsp[0].Number)/100)%100;
+ yyYear = (yyvsp[0].Number)/10000;
+ }
+ else {
+ yyHaveTime++;
+ if ((yyvsp[0].Number) < 100) {
+ yyHour = (yyvsp[0].Number);
+ yyMinutes = 0;
+ }
+ else {
+ yyHour = (yyvsp[0].Number) / 100;
+ yyMinutes = (yyvsp[0].Number) % 100;
+ }
+ yySeconds = 0;
+ yyMeridian = MER24;
+ }
+ }
+ }
+#line 1630 "getdate.c"
+ break;
+
+ case 41: /* o_merid: %empty */
+#line 307 "getdate.y"
+ {
+ (yyval.Meridian) = MER24;
+ }
+#line 1638 "getdate.c"
+ break;
+
+ case 42: /* o_merid: tMERIDIAN */
+#line 310 "getdate.y"
+ {
+ (yyval.Meridian) = (yyvsp[0].Meridian);
+ }
+#line 1646 "getdate.c"
+ break;
+
+
+#line 1650 "getdate.c"
+
+ default: break;
+ }
+ /* User semantic actions sometimes alter yychar, and that requires
+ that yytoken be updated with the new translation. We take the
+ approach of translating immediately before every use of yytoken.
+ One alternative is translating here after every semantic action,
+ but that translation would be missed if the semantic action invokes
+ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
+ incorrect destructor might then be invoked immediately. In the
+ case of YYERROR or YYBACKUP, subsequent parser actions might lead
+ to an incorrect destructor call or verbose syntax error message
+ before the lookahead is translated. */
+ YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+
+ *++yyvsp = yyval;
+
+ /* Now 'shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+ {
+ const int yylhs = yyr1[yyn] - YYNTOKENS;
+ const int yyi = yypgoto[yylhs] + *yyssp;
+ yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+ ? yytable[yyi]
+ : yydefgoto[yylhs]);
+ }
+
+ goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
+yyerrlab:
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+ yyerror (YY_("syntax error"));
+ }
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
+ else
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+ /* Pacify compilers when the user code never invokes YYERROR and the
+ label yyerrorlab therefore never appears in user code. */
+ if (0)
+ YYERROR;
+ ++yynerrs;
+
+ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ /* Pop stack until we find a state that shifts the error token. */
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (!yypact_value_is_default (yyn))
+ {
+ yyn += YYSYMBOL_YYerror;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+
+ yydestruct ("Error: popping",
+ YY_ACCESSING_SYMBOL (yystate), yyvsp);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturnlab;
+
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturnlab;
+
+
+/*-----------------------------------------------------------.
+| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
+`-----------------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (YY_("memory exhausted"));
+ yyresult = 2;
+ goto yyreturnlab;
+
+
+/*----------------------------------------------------------.
+| yyreturnlab -- parsing is finished, clean up and return. |
+`----------------------------------------------------------*/
+yyreturnlab:
+ if (yychar != YYEMPTY)
+ {
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = YYTRANSLATE (yychar);
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ }
+ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
+ {
+ yydestruct ("Cleanup: popping",
+ YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+ YYPOPSTACK (1);
+ }
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+
+ return yyresult;
+}
+
+#line 315 "getdate.y"
+
/* Month and day table. */
static TABLE const MonthDayTable[] = {
@@ -597,7 +2103,7 @@ Convert(time_t Month, time_t Day, time_t Year, time_t Hours, time_t Minutes,
if (Year < EPOCH || (sizeof(time_t) == sizeof(int) && Year > 2038)
|| Month < 1 || Month > 12
/* Lint fluff: "conversion from long may lose accuracy" */
- || Day < 1 || Day > DaysInMonth[(int)--Month])
+ || Day < 1 || Day > DaysInMonth[--Month])
return -1;
for (Julian = Day - 1, i = 0; i < Month; i++)
@@ -854,6 +2360,8 @@ difftm(struct tm *a, struct tm *b)
+ (a->tm_sec - b->tm_sec));
}
+time_t get_date(char *p);
+
time_t
get_date(char *p)
{
@@ -947,550 +2455,3 @@ main(int argc, char *argv[])
/* NOTREACHED */
}
#endif /* TEST */
-#line 937 "getdate.c"
-/* allocate initial stack or double stack size, up to YYMAXDEPTH */
-static int yygrowstack(void)
-{
- unsigned int newsize;
- long sslen;
- short *newss;
- YYSTYPE *newvs;
-
- if ((newsize = yystacksize) == 0)
- newsize = YYINITSTACKSIZE;
- else if (newsize >= YYMAXDEPTH)
- return -1;
- else if ((newsize *= 2) > YYMAXDEPTH)
- newsize = YYMAXDEPTH;
-#ifdef SIZE_MAX
-#define YY_SIZE_MAX SIZE_MAX
-#else
-#define YY_SIZE_MAX 0xffffffffU
-#endif
- if (YY_SIZE_MAX / newsize < sizeof *newss)
- goto bail;
- sslen = yyssp - yyss;
- newss = yyss ? realloc(yyss, newsize * sizeof *newss) :
- malloc(newsize * sizeof *newss); /* overflow check above */
- if (newss == NULL)
- goto bail;
- yyss = newss;
- yyssp = newss + sslen;
- newvs = yyvs ? realloc(yyvs, newsize * sizeof *newvs) :
- malloc(newsize * sizeof *newvs); /* overflow check above */
- if (newvs == NULL)
- goto bail;
- yyvs = newvs;
- yyvsp = newvs + sslen;
- yystacksize = newsize;
- yysslim = yyss + newsize - 1;
- return 0;
-bail:
- free(yyss);
- free(yyvs);
- yyss = yyssp = NULL;
- yyvs = yyvsp = NULL;
- yystacksize = 0;
- return -1;
-}
-
-#define YYABORT goto yyabort
-#define YYREJECT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
-int
-yyparse(void)
-{
- int yym, yyn, yystate;
-#if YYDEBUG
- const char *yys;
-
- if ((yys = getenv("YYDEBUG")))
- {
- yyn = *yys;
- if (yyn >= '0' && yyn <= '9')
- yydebug = yyn - '0';
- }
-#endif /* YYDEBUG */
-
- yynerrs = 0;
- yyerrflag = 0;
- yychar = (-1);
-
- if (yyss == NULL && yygrowstack()) goto yyoverflow;
- yyssp = yyss;
- yyvsp = yyvs;
- *yyssp = yystate = 0;
-
-yyloop:
- if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- }
- if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, shifting to state %d\n",
- YYPREFIX, yystate, yytable[yyn]);
-#endif
- if (yyssp >= yysslim && yygrowstack())
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- yychar = (-1);
- if (yyerrflag > 0) --yyerrflag;
- goto yyloop;
- }
- if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
- {
- yyn = yytable[yyn];
- goto yyreduce;
- }
- if (yyerrflag) goto yyinrecovery;
-#if defined(__GNUC__)
- goto yynewerror;
-#endif
-yynewerror:
- yyerror("syntax error");
-#if defined(__GNUC__)
- goto yyerrlab;
-#endif
-yyerrlab:
- ++yynerrs;
-yyinrecovery:
- if (yyerrflag < 3)
- {
- yyerrflag = 3;
- for (;;)
- {
- if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, error recovery shifting\
- to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
-#endif
- if (yyssp >= yysslim && yygrowstack())
- {
- goto yyoverflow;
- }
- *++yyssp = yystate = yytable[yyn];
- *++yyvsp = yylval;
- goto yyloop;
- }
- else
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: error recovery discarding state %d\n",
- YYPREFIX, *yyssp);
-#endif
- if (yyssp <= yyss) goto yyabort;
- --yyssp;
- --yyvsp;
- }
- }
- }
- else
- {
- if (yychar == 0) goto yyabort;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
- YYPREFIX, yystate, yychar, yys);
- }
-#endif
- yychar = (-1);
- goto yyloop;
- }
-yyreduce:
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: state %d, reducing by rule %d (%s)\n",
- YYPREFIX, yystate, yyn, yyrule[yyn]);
-#endif
- yym = yylen[yyn];
- if (yym)
- yyval = yyvsp[1-yym];
- else
- memset(&yyval, 0, sizeof yyval);
- switch (yyn)
- {
-case 3:
-#line 115 "getdate.y"
-{
- yyHaveTime++;
- }
-break;
-case 4:
-#line 118 "getdate.y"
-{
- yyHaveZone++;
- }
-break;
-case 5:
-#line 121 "getdate.y"
-{
- yyHaveDate++;
- }
-break;
-case 6:
-#line 124 "getdate.y"
-{
- yyHaveDay++;
- }
-break;
-case 7:
-#line 127 "getdate.y"
-{
- yyHaveRel++;
- }
-break;
-case 9:
-#line 133 "getdate.y"
-{
- yyHour = yyvsp[-1].Number;
- yyMinutes = 0;
- yySeconds = 0;
- yyMeridian = yyvsp[0].Meridian;
- }
-break;
-case 10:
-#line 139 "getdate.y"
-{
- yyHour = yyvsp[-3].Number;
- yyMinutes = yyvsp[-1].Number;
- yySeconds = 0;
- yyMeridian = yyvsp[0].Meridian;
- }
-break;
-case 11:
-#line 145 "getdate.y"
-{
- yyHour = yyvsp[-3].Number;
- yyMinutes = yyvsp[-1].Number;
- yyMeridian = MER24;
- yyDSTmode = DSToff;
- yyTimezone = - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60);
- }
-break;
-case 12:
-#line 152 "getdate.y"
-{
- yyHour = yyvsp[-5].Number;
- yyMinutes = yyvsp[-3].Number;
- yySeconds = yyvsp[-1].Number;
- yyMeridian = yyvsp[0].Meridian;
- }
-break;
-case 13:
-#line 158 "getdate.y"
-{
- yyHour = yyvsp[-5].Number;
- yyMinutes = yyvsp[-3].Number;
- yySeconds = yyvsp[-1].Number;
- yyMeridian = MER24;
- yyDSTmode = DSToff;
- yyTimezone = - (yyvsp[0].Number % 100 + (yyvsp[0].Number / 100) * 60);
- }
-break;
-case 14:
-#line 168 "getdate.y"
-{
- yyTimezone = yyvsp[0].Number;
- yyDSTmode = DSToff;
- }
-break;
-case 15:
-#line 172 "getdate.y"
-{
- yyTimezone = yyvsp[0].Number;
- yyDSTmode = DSTon;
- }
-break;
-case 16:
-#line 177 "getdate.y"
-{
- yyTimezone = yyvsp[-1].Number;
- yyDSTmode = DSTon;
- }
-break;
-case 17:
-#line 183 "getdate.y"
-{
- yyDayOrdinal = 1;
- yyDayNumber = yyvsp[0].Number;
- }
-break;
-case 18:
-#line 187 "getdate.y"
-{
- yyDayOrdinal = 1;
- yyDayNumber = yyvsp[-1].Number;
- }
-break;
-case 19:
-#line 191 "getdate.y"
-{
- yyDayOrdinal = yyvsp[-1].Number;
- yyDayNumber = yyvsp[0].Number;
- }
-break;
-case 20:
-#line 197 "getdate.y"
-{
- yyMonth = yyvsp[-2].Number;
- yyDay = yyvsp[0].Number;
- }
-break;
-case 21:
-#line 201 "getdate.y"
-{
- if (yyvsp[-4].Number >= 100) {
- yyYear = yyvsp[-4].Number;
- yyMonth = yyvsp[-2].Number;
- yyDay = yyvsp[0].Number;
- } else {
- yyMonth = yyvsp[-4].Number;
- yyDay = yyvsp[-2].Number;
- yyYear = yyvsp[0].Number;
- }
- }
-break;
-case 22:
-#line 212 "getdate.y"
-{
- /* ISO 8601 format. yyyy-mm-dd. */
- yyYear = yyvsp[-2].Number;
- yyMonth = -yyvsp[-1].Number;
- yyDay = -yyvsp[0].Number;
- }
-break;
-case 23:
-#line 218 "getdate.y"
-{
- /* e.g. 17-JUN-1992. */
- yyDay = yyvsp[-2].Number;
- yyMonth = yyvsp[-1].Number;
- yyYear = -yyvsp[0].Number;
- }
-break;
-case 24:
-#line 224 "getdate.y"
-{
- yyMonth = yyvsp[-1].Number;
- yyDay = yyvsp[0].Number;
- }
-break;
-case 25:
-#line 228 "getdate.y"
-{
- yyMonth = yyvsp[-3].Number;
- yyDay = yyvsp[-2].Number;
- yyYear = yyvsp[0].Number;
- }
-break;
-case 26:
-#line 233 "getdate.y"
-{
- yyMonth = yyvsp[0].Number;
- yyDay = yyvsp[-1].Number;
- }
-break;
-case 27:
-#line 237 "getdate.y"
-{
- yyMonth = yyvsp[-1].Number;
- yyDay = yyvsp[-2].Number;
- yyYear = yyvsp[0].Number;
- }
-break;
-case 28:
-#line 244 "getdate.y"
-{
- yyRelSeconds = -yyRelSeconds;
- yyRelMonth = -yyRelMonth;
- }
-break;
-case 30:
-#line 251 "getdate.y"
-{
- yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number * 60L;
- }
-break;
-case 31:
-#line 254 "getdate.y"
-{
- yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number * 60L;
- }
-break;
-case 32:
-#line 257 "getdate.y"
-{
- yyRelSeconds += yyvsp[0].Number * 60L;
- }
-break;
-case 33:
-#line 260 "getdate.y"
-{
- yyRelSeconds += yyvsp[-1].Number;
- }
-break;
-case 34:
-#line 263 "getdate.y"
-{
- yyRelSeconds += yyvsp[-1].Number;
- }
-break;
-case 35:
-#line 266 "getdate.y"
-{
- yyRelSeconds++;
- }
-break;
-case 36:
-#line 269 "getdate.y"
-{
- yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
- }
-break;
-case 37:
-#line 272 "getdate.y"
-{
- yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
- }
-break;
-case 38:
-#line 275 "getdate.y"
-{
- yyRelMonth += yyvsp[0].Number;
- }
-break;
-case 39:
-#line 280 "getdate.y"
-{
- if (yyHaveTime && yyHaveDate && !yyHaveRel)
- yyYear = yyvsp[0].Number;
- else {
- if(yyvsp[0].Number>10000) {
- yyHaveDate++;
- yyDay= (yyvsp[0].Number)%100;
- yyMonth= (yyvsp[0].Number/100)%100;
- yyYear = yyvsp[0].Number/10000;
- }
- else {
- yyHaveTime++;
- if (yyvsp[0].Number < 100) {
- yyHour = yyvsp[0].Number;
- yyMinutes = 0;
- }
- else {
- yyHour = yyvsp[0].Number / 100;
- yyMinutes = yyvsp[0].Number % 100;
- }
- yySeconds = 0;
- yyMeridian = MER24;
- }
- }
- }
-break;
-case 40:
-#line 307 "getdate.y"
-{
- yyval.Meridian = MER24;
- }
-break;
-case 41:
-#line 310 "getdate.y"
-{
- yyval.Meridian = yyvsp[0].Meridian;
- }
-break;
-#line 1417 "getdate.c"
- }
- yyssp -= yym;
- yystate = *yyssp;
- yyvsp -= yym;
- yym = yylhs[yyn];
- if (yystate == 0 && yym == 0)
- {
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state 0 to\
- state %d\n", YYPREFIX, YYFINAL);
-#endif
- yystate = YYFINAL;
- *++yyssp = YYFINAL;
- *++yyvsp = yyval;
- if (yychar < 0)
- {
- if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
- if (yydebug)
- {
- yys = 0;
- if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
- if (!yys) yys = "illegal-symbol";
- printf("%sdebug: state %d, reading %d (%s)\n",
- YYPREFIX, YYFINAL, yychar, yys);
- }
-#endif
- }
- if (yychar == 0) goto yyaccept;
- goto yyloop;
- }
- if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
- yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
- yystate = yytable[yyn];
- else
- yystate = yydgoto[yym];
-#if YYDEBUG
- if (yydebug)
- printf("%sdebug: after reduction, shifting from state %d \
-to state %d\n", YYPREFIX, *yyssp, yystate);
-#endif
- if (yyssp >= yysslim && yygrowstack())
- {
- goto yyoverflow;
- }
- *++yyssp = yystate;
- *++yyvsp = yyval;
- goto yyloop;
-yyoverflow:
- yyerror("yacc stack overflow");
-yyabort:
- free(yyss);
- free(yyvs);
- yyss = yyssp = NULL;
- yyvs = yyvsp = NULL;
- yystacksize = 0;
- return (1);
-yyaccept:
- free(yyss);
- free(yyvs);
- yyss = yyssp = NULL;
- yyvs = yyvsp = NULL;
- yystacksize = 0;
- return (0);
-}
diff --git a/plugins/sudoers/getdate.y b/plugins/sudoers/getdate.y
index 0ce8b7a0f..1e3893c99 100644
--- a/plugins/sudoers/getdate.y
+++ b/plugins/sudoers/getdate.y
@@ -13,7 +13,7 @@
/* SUPPRESS 288 on yyerrlab *//* Label unused */
// PVS Studio suppression
-// -V::1037, 1042
+// -V::560, 592, 1037, 1042
#include <config.h>
@@ -41,7 +41,7 @@
** An entry in the lexical lookup table.
*/
typedef struct _TABLE {
- char *name;
+ const char *name;
int type;
time_t value;
} TABLE;
@@ -569,7 +569,7 @@ Convert(time_t Month, time_t Day, time_t Year, time_t Hours, time_t Minutes,
if (Year < EPOCH || (sizeof(time_t) == sizeof(int) && Year > 2038)
|| Month < 1 || Month > 12
/* Lint fluff: "conversion from long may lose accuracy" */
- || Day < 1 || Day > DaysInMonth[(int)--Month])
+ || Day < 1 || Day > DaysInMonth[--Month])
return -1;
for (Julian = Day - 1, i = 0; i < Month; i++)
@@ -826,6 +826,8 @@ difftm(struct tm *a, struct tm *b)
+ (a->tm_sec - b->tm_sec));
}
+time_t get_date(char *p);
+
time_t
get_date(char *p)
{
diff --git a/plugins/sudoers/gram.c b/plugins/sudoers/gram.c
index 2157d072c..1dffb5723 100644
--- a/plugins/sudoers/gram.c
+++ b/plugins/sudoers/gram.c
@@ -126,7 +126,7 @@
#define this_lineno (sudoerschar == '\n' ? sudolineno - 1 : sudolineno)
// PVS Studio suppression
-// -V::1037, 1042
+// -V::560, 592, 1037, 1042
/*
* Globals
@@ -341,9 +341,10 @@ union YYSTYPE
struct command_options options;
struct cmndtag tag;
char *string;
+ const char *cstring;
int tok;
-#line 341 "gram.c"
+#line 342 "gram.c"
};
typedef union YYSTYPE YYSTYPE;
@@ -874,22 +875,22 @@ static const yytype_int8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_int16 yyrline[] =
{
- 0, 200, 200, 203, 206, 207, 210, 213, 216, 225,
- 234, 240, 243, 246, 249, 252, 256, 260, 264, 268,
- 274, 277, 283, 286, 292, 293, 300, 309, 318, 328,
- 338, 350, 351, 356, 362, 379, 383, 389, 398, 406,
- 415, 424, 435, 436, 498, 568, 577, 586, 595, 606,
- 607, 614, 617, 631, 635, 641, 657, 673, 678, 682,
- 687, 692, 697, 702, 706, 711, 714, 719, 735, 746,
- 758, 769, 787, 788, 789, 790, 791, 792, 793, 794,
- 795, 796, 797, 800, 806, 809, 814, 819, 828, 837,
- 849, 856, 863, 870, 877, 886, 889, 892, 895, 898,
- 901, 904, 907, 910, 913, 916, 919, 922, 925, 928,
- 931, 934, 939, 953, 962, 985, 986, 989, 989, 1001,
- 1004, 1005, 1012, 1013, 1016, 1016, 1028, 1031, 1032, 1039,
- 1040, 1043, 1043, 1055, 1058, 1059, 1062, 1062, 1074, 1077,
- 1078, 1085, 1089, 1095, 1104, 1112, 1121, 1130, 1141, 1142,
- 1149, 1153, 1159, 1168, 1176
+ 0, 201, 201, 204, 207, 208, 211, 214, 217, 226,
+ 235, 241, 244, 247, 250, 253, 257, 261, 265, 269,
+ 275, 278, 284, 287, 293, 294, 301, 310, 319, 329,
+ 339, 351, 352, 357, 363, 380, 384, 390, 399, 407,
+ 416, 425, 436, 437, 499, 569, 578, 587, 596, 607,
+ 608, 615, 618, 632, 636, 642, 658, 674, 679, 683,
+ 688, 693, 698, 703, 707, 712, 715, 720, 736, 747,
+ 759, 770, 788, 789, 790, 791, 792, 793, 794, 795,
+ 796, 797, 798, 801, 807, 810, 815, 820, 829, 838,
+ 850, 857, 864, 871, 878, 887, 890, 893, 896, 899,
+ 902, 905, 908, 911, 914, 917, 920, 923, 926, 929,
+ 932, 935, 940, 954, 963, 986, 987, 990, 990, 1002,
+ 1005, 1006, 1013, 1014, 1017, 1017, 1029, 1032, 1033, 1040,
+ 1041, 1044, 1044, 1056, 1059, 1060, 1063, 1063, 1075, 1078,
+ 1079, 1086, 1090, 1096, 1105, 1113, 1122, 1131, 1142, 1143,
+ 1150, 1154, 1160, 1169, 1177
};
#endif
@@ -1647,31 +1648,31 @@ yyreduce:
switch (yyn)
{
case 2: /* file: %empty */
-#line 200 "gram.y"
+#line 201 "gram.y"
{
; /* empty file */
}
-#line 1649 "gram.c"
+#line 1650 "gram.c"
break;
case 6: /* entry: '\n' */
-#line 210 "gram.y"
+#line 211 "gram.y"
{
; /* blank line */
}
-#line 1657 "gram.c"
+#line 1658 "gram.c"
break;
case 7: /* entry: error '\n' */
-#line 213 "gram.y"
+#line 214 "gram.y"
{
yyerrok;
}
-#line 1665 "gram.c"
+#line 1666 "gram.c"
break;
case 8: /* entry: include */
-#line 216 "gram.y"
+#line 217 "gram.y"
{
if (!push_include((yyvsp[0].string), false)) {
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -1681,11 +1682,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
free((yyvsp[0].string));
}
-#line 1679 "gram.c"
+#line 1680 "gram.c"
break;
case 9: /* entry: includedir */
-#line 225 "gram.y"
+#line 226 "gram.y"
{
if (!push_include((yyvsp[0].string), true)) {
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -1695,143 +1696,143 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
free((yyvsp[0].string));
}
-#line 1693 "gram.c"
+#line 1694 "gram.c"
break;
case 10: /* entry: userlist privileges '\n' */
-#line 234 "gram.y"
+#line 235 "gram.y"
{
if (!add_userspec((yyvsp[-2].member), (yyvsp[-1].privilege))) {
sudoerserror(N_("unable to allocate memory"));
YYERROR;
}
}
-#line 1704 "gram.c"
+#line 1705 "gram.c"
break;
case 11: /* entry: USERALIAS useraliases '\n' */
-#line 240 "gram.y"
+#line 241 "gram.y"
{
;
}
-#line 1712 "gram.c"
+#line 1713 "gram.c"
break;
case 12: /* entry: HOSTALIAS hostaliases '\n' */
-#line 243 "gram.y"
+#line 244 "gram.y"
{
;
}
-#line 1720 "gram.c"
+#line 1721 "gram.c"
break;
case 13: /* entry: CMNDALIAS cmndaliases '\n' */
-#line 246 "gram.y"
+#line 247 "gram.y"
{
;
}
-#line 1728 "gram.c"
+#line 1729 "gram.c"
break;
case 14: /* entry: RUNASALIAS runasaliases '\n' */
-#line 249 "gram.y"
+#line 250 "gram.y"
{
;
}
-#line 1736 "gram.c"
+#line 1737 "gram.c"
break;
case 15: /* entry: DEFAULTS defaults_list '\n' */
-#line 252 "gram.y"
+#line 253 "gram.y"
{
if (!add_defaults(DEFAULTS, NULL, (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1745 "gram.c"
+#line 1746 "gram.c"
break;
case 16: /* entry: DEFAULTS_USER userlist defaults_list '\n' */
-#line 256 "gram.y"
+#line 257 "gram.y"
{
if (!add_defaults(DEFAULTS_USER, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1754 "gram.c"
+#line 1755 "gram.c"
break;
case 17: /* entry: DEFAULTS_RUNAS userlist defaults_list '\n' */
-#line 260 "gram.y"
+#line 261 "gram.y"
{
if (!add_defaults(DEFAULTS_RUNAS, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1763 "gram.c"
+#line 1764 "gram.c"
break;
case 18: /* entry: DEFAULTS_HOST hostlist defaults_list '\n' */
-#line 264 "gram.y"
+#line 265 "gram.y"
{
if (!add_defaults(DEFAULTS_HOST, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1772 "gram.c"
+#line 1773 "gram.c"
break;
case 19: /* entry: DEFAULTS_CMND cmndlist defaults_list '\n' */
-#line 268 "gram.y"
+#line 269 "gram.y"
{
if (!add_defaults(DEFAULTS_CMND, (yyvsp[-2].member), (yyvsp[-1].defaults)))
YYERROR;
}
-#line 1781 "gram.c"
+#line 1782 "gram.c"
break;
case 20: /* include: INCLUDE WORD '\n' */
-#line 274 "gram.y"
+#line 275 "gram.y"
{
(yyval.string) = (yyvsp[-1].string);
}
-#line 1789 "gram.c"
+#line 1790 "gram.c"
break;
case 21: /* include: INCLUDE WORD error '\n' */
-#line 277 "gram.y"
+#line 278 "gram.y"
{
yyerrok;
(yyval.string) = (yyvsp[-2].string);
}
-#line 1798 "gram.c"
+#line 1799 "gram.c"
break;
case 22: /* includedir: INCLUDEDIR WORD '\n' */
-#line 283 "gram.y"
+#line 284 "gram.y"
{
(yyval.string) = (yyvsp[-1].string);
}
-#line 1806 "gram.c"
+#line 1807 "gram.c"
break;
case 23: /* includedir: INCLUDEDIR WORD error '\n' */
-#line 286 "gram.y"
+#line 287 "gram.y"
{
yyerrok;
(yyval.string) = (yyvsp[-2].string);
}
-#line 1815 "gram.c"
+#line 1816 "gram.c"
break;
case 25: /* defaults_list: defaults_list ',' defaults_entry */
-#line 293 "gram.y"
+#line 294 "gram.y"
{
parser_leak_remove(LEAK_DEFAULTS, (yyvsp[0].defaults));
HLTQ_CONCAT((yyvsp[-2].defaults), (yyvsp[0].defaults), entries);
(yyval.defaults) = (yyvsp[-2].defaults);
}
-#line 1825 "gram.c"
+#line 1826 "gram.c"
break;
case 26: /* defaults_entry: DEFVAR */
-#line 300 "gram.y"
+#line 301 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[0].string), NULL, true);
if ((yyval.defaults) == NULL) {
@@ -1841,11 +1842,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1839 "gram.c"
+#line 1840 "gram.c"
break;
case 27: /* defaults_entry: '!' DEFVAR */
-#line 309 "gram.y"
+#line 310 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[0].string), NULL, false);
if ((yyval.defaults) == NULL) {
@@ -1855,11 +1856,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1853 "gram.c"
+#line 1854 "gram.c"
break;
case 28: /* defaults_entry: DEFVAR '=' WORD */
-#line 318 "gram.y"
+#line 319 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), true);
if ((yyval.defaults) == NULL) {
@@ -1870,11 +1871,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1868 "gram.c"
+#line 1869 "gram.c"
break;
case 29: /* defaults_entry: DEFVAR '+' WORD */
-#line 328 "gram.y"
+#line 329 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), '+');
if ((yyval.defaults) == NULL) {
@@ -1885,11 +1886,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1883 "gram.c"
+#line 1884 "gram.c"
break;
case 30: /* defaults_entry: DEFVAR '-' WORD */
-#line 338 "gram.y"
+#line 339 "gram.y"
{
(yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), '-');
if ((yyval.defaults) == NULL) {
@@ -1900,30 +1901,30 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DEFAULTS, (yyval.defaults));
}
-#line 1898 "gram.c"
+#line 1899 "gram.c"
break;
case 32: /* privileges: privileges ':' privilege */
-#line 351 "gram.y"
+#line 352 "gram.y"
{
parser_leak_remove(LEAK_PRIVILEGE, (yyvsp[0].privilege));
HLTQ_CONCAT((yyvsp[-2].privilege), (yyvsp[0].privilege), entries);
(yyval.privilege) = (yyvsp[-2].privilege);
}
-#line 1908 "gram.c"
+#line 1909 "gram.c"
break;
case 33: /* privileges: privileges ':' error */
-#line 356 "gram.y"
+#line 357 "gram.y"
{
yyerrok;
(yyval.privilege) = (yyvsp[-2].privilege);
}
-#line 1917 "gram.c"
+#line 1918 "gram.c"
break;
case 34: /* privilege: hostlist '=' cmndspeclist */
-#line 362 "gram.y"
+#line 363 "gram.y"
{
struct privilege *p = calloc(1, sizeof(*p));
if (p == NULL) {
@@ -1939,29 +1940,29 @@ yyreduce:
HLTQ_INIT(p, entries);
(yyval.privilege) = p;
}
-#line 1937 "gram.c"
+#line 1938 "gram.c"
break;
case 35: /* ophost: host */
-#line 379 "gram.y"
+#line 380 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 1946 "gram.c"
+#line 1947 "gram.c"
break;
case 36: /* ophost: '!' host */
-#line 383 "gram.y"
+#line 384 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 1955 "gram.c"
+#line 1956 "gram.c"
break;
case 37: /* host: ALIAS */
-#line 389 "gram.y"
+#line 390 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -1971,11 +1972,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 1969 "gram.c"
+#line 1970 "gram.c"
break;
case 38: /* host: ALL */
-#line 398 "gram.y"
+#line 399 "gram.y"
{
(yyval.member) = new_member(NULL, ALL);
if ((yyval.member) == NULL) {
@@ -1984,11 +1985,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 1982 "gram.c"
+#line 1983 "gram.c"
break;
case 39: /* host: NETGROUP */
-#line 406 "gram.y"
+#line 407 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), NETGROUP);
if ((yyval.member) == NULL) {
@@ -1998,11 +1999,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 1996 "gram.c"
+#line 1997 "gram.c"
break;
case 40: /* host: NTWKADDR */
-#line 415 "gram.y"
+#line 416 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), NTWKADDR);
if ((yyval.member) == NULL) {
@@ -2012,11 +2013,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2010 "gram.c"
+#line 2011 "gram.c"
break;
case 41: /* host: WORD */
-#line 424 "gram.y"
+#line 425 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), WORD);
if ((yyval.member) == NULL) {
@@ -2026,11 +2027,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2024 "gram.c"
+#line 2025 "gram.c"
break;
case 43: /* cmndspeclist: cmndspeclist ',' cmndspec */
-#line 436 "gram.y"
+#line 437 "gram.y"
{
struct cmndspec *prev;
prev = HLTQ_LAST((yyvsp[-2].cmndspec), cmndspec, entries);
@@ -2091,11 +2092,11 @@ yyreduce:
}
(yyval.cmndspec) = (yyvsp[-2].cmndspec);
}
-#line 2089 "gram.c"
+#line 2090 "gram.c"
break;
case 44: /* cmndspec: runasspec options cmndtag digcmnd */
-#line 498 "gram.y"
+#line 499 "gram.y"
{
struct cmndspec *cs = calloc(1, sizeof(*cs));
if (cs == NULL) {
@@ -2138,8 +2139,8 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).type);
#endif
#ifdef HAVE_APPARMOR
- cs->apparmor_profile = (yyvsp[-2].options).apparmor_profile;
- parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).apparmor_profile);
+ cs->apparmor_profile = (yyvsp[-2].options).apparmor_profile;
+ parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).apparmor_profile);
#endif
#ifdef HAVE_PRIV_SET
cs->privs = (yyvsp[-2].options).privs;
@@ -2164,11 +2165,11 @@ yyreduce:
cs->tags.setenv = IMPLIED;
(yyval.cmndspec) = cs;
}
-#line 2162 "gram.c"
+#line 2163 "gram.c"
break;
case 45: /* digestspec: SHA224_TOK ':' DIGEST */
-#line 568 "gram.y"
+#line 569 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA224, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2178,11 +2179,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2176 "gram.c"
+#line 2177 "gram.c"
break;
case 46: /* digestspec: SHA256_TOK ':' DIGEST */
-#line 577 "gram.y"
+#line 578 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA256, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2192,11 +2193,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2190 "gram.c"
+#line 2191 "gram.c"
break;
case 47: /* digestspec: SHA384_TOK ':' DIGEST */
-#line 586 "gram.y"
+#line 587 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA384, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2206,11 +2207,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2204 "gram.c"
+#line 2205 "gram.c"
break;
case 48: /* digestspec: SHA512_TOK ':' DIGEST */
-#line 595 "gram.y"
+#line 596 "gram.y"
{
(yyval.digest) = new_digest(SUDO_DIGEST_SHA512, (yyvsp[0].string));
if ((yyval.digest) == NULL) {
@@ -2220,29 +2221,29 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_DIGEST, (yyval.digest));
}
-#line 2218 "gram.c"
+#line 2219 "gram.c"
break;
case 50: /* digestlist: digestlist ',' digestspec */
-#line 607 "gram.y"
+#line 608 "gram.y"
{
parser_leak_remove(LEAK_DIGEST, (yyvsp[0].digest));
HLTQ_CONCAT((yyvsp[-2].digest), (yyvsp[0].digest), entries);
(yyval.digest) = (yyvsp[-2].digest);
}
-#line 2228 "gram.c"
+#line 2229 "gram.c"
break;
case 51: /* digcmnd: opcmnd */
-#line 614 "gram.y"
+#line 615 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
}
-#line 2236 "gram.c"
+#line 2237 "gram.c"
break;
case 52: /* digcmnd: digestlist opcmnd */
-#line 617 "gram.y"
+#line 618 "gram.y"
{
struct sudo_command *c =
(struct sudo_command *) (yyvsp[0].member)->name;
@@ -2255,29 +2256,29 @@ yyreduce:
HLTQ_TO_TAILQ(&c->digests, (yyvsp[-1].digest), entries);
(yyval.member) = (yyvsp[0].member);
}
-#line 2253 "gram.c"
+#line 2254 "gram.c"
break;
case 53: /* opcmnd: cmnd */
-#line 631 "gram.y"
+#line 632 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 2262 "gram.c"
+#line 2263 "gram.c"
break;
case 54: /* opcmnd: '!' cmnd */
-#line 635 "gram.y"
+#line 636 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 2271 "gram.c"
+#line 2272 "gram.c"
break;
case 55: /* chdirspec: CWD '=' WORD */
-#line 641 "gram.y"
+#line 642 "gram.y"
{
if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') {
if (strcmp((yyvsp[0].string), "*") != 0) {
@@ -2292,11 +2293,11 @@ yyreduce:
}
(yyval.string) = (yyvsp[0].string);
}
-#line 2290 "gram.c"
+#line 2291 "gram.c"
break;
case 56: /* chrootspec: CHROOT '=' WORD */
-#line 657 "gram.y"
+#line 658 "gram.y"
{
if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') {
if (strcmp((yyvsp[0].string), "*") != 0) {
@@ -2311,91 +2312,91 @@ yyreduce:
}
(yyval.string) = (yyvsp[0].string);
}
-#line 2309 "gram.c"
+#line 2310 "gram.c"
break;
case 57: /* timeoutspec: CMND_TIMEOUT '=' WORD */
-#line 673 "gram.y"
+#line 674 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2317 "gram.c"
+#line 2318 "gram.c"
break;
case 58: /* notbeforespec: NOTBEFORE '=' WORD */
-#line 678 "gram.y"
+#line 679 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2325 "gram.c"
+#line 2326 "gram.c"
break;
case 59: /* notafterspec: NOTAFTER '=' WORD */
-#line 682 "gram.y"
+#line 683 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2333 "gram.c"
+#line 2334 "gram.c"
break;
case 60: /* rolespec: ROLE '=' WORD */
-#line 687 "gram.y"
+#line 688 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2341 "gram.c"
+#line 2342 "gram.c"
break;
case 61: /* typespec: TYPE '=' WORD */
-#line 692 "gram.y"
+#line 693 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2349 "gram.c"
+#line 2350 "gram.c"
break;
case 62: /* apparmor_profilespec: APPARMOR_PROFILE '=' WORD */
-#line 697 "gram.y"
+#line 698 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2357 "gram.c"
+#line 2358 "gram.c"
break;
case 63: /* privsspec: PRIVS '=' WORD */
-#line 702 "gram.y"
+#line 703 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2365 "gram.c"
+#line 2366 "gram.c"
break;
case 64: /* limitprivsspec: LIMITPRIVS '=' WORD */
-#line 706 "gram.y"
+#line 707 "gram.y"
{
(yyval.string) = (yyvsp[0].string);
}
-#line 2373 "gram.c"
+#line 2374 "gram.c"
break;
case 65: /* runasspec: %empty */
-#line 711 "gram.y"
+#line 712 "gram.y"
{
(yyval.runas) = NULL;
}
-#line 2381 "gram.c"
+#line 2382 "gram.c"
break;
case 66: /* runasspec: '(' runaslist ')' */
-#line 714 "gram.y"
+#line 715 "gram.y"
{
(yyval.runas) = (yyvsp[-1].runas);
}
-#line 2389 "gram.c"
+#line 2390 "gram.c"
break;
case 67: /* runaslist: %empty */
-#line 719 "gram.y"
+#line 720 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) != NULL) {
@@ -2412,11 +2413,11 @@ yyreduce:
}
parser_leak_add(LEAK_RUNAS, (yyval.runas));
}
-#line 2410 "gram.c"
+#line 2411 "gram.c"
break;
case 68: /* runaslist: userlist */
-#line 735 "gram.y"
+#line 736 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) == NULL) {
@@ -2428,11 +2429,11 @@ yyreduce:
(yyval.runas)->runasusers = (yyvsp[0].member);
/* $$->runasgroups = NULL; */
}
-#line 2426 "gram.c"
+#line 2427 "gram.c"
break;
case 69: /* runaslist: userlist ':' grouplist */
-#line 746 "gram.y"
+#line 747 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) == NULL) {
@@ -2445,11 +2446,11 @@ yyreduce:
(yyval.runas)->runasusers = (yyvsp[-2].member);
(yyval.runas)->runasgroups = (yyvsp[0].member);
}
-#line 2443 "gram.c"
+#line 2444 "gram.c"
break;
case 70: /* runaslist: ':' grouplist */
-#line 758 "gram.y"
+#line 759 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) == NULL) {
@@ -2461,11 +2462,11 @@ yyreduce:
/* $$->runasusers = NULL; */
(yyval.runas)->runasgroups = (yyvsp[0].member);
}
-#line 2459 "gram.c"
+#line 2460 "gram.c"
break;
case 71: /* runaslist: ':' */
-#line 769 "gram.y"
+#line 770 "gram.y"
{
(yyval.runas) = calloc(1, sizeof(struct runascontainer));
if ((yyval.runas) != NULL) {
@@ -2482,114 +2483,114 @@ yyreduce:
}
parser_leak_add(LEAK_RUNAS, (yyval.runas));
}
-#line 2480 "gram.c"
+#line 2481 "gram.c"
break;
case 72: /* reserved_word: ALL */
-#line 787 "gram.y"
- { (yyval.string) = "ALL"; }
-#line 2486 "gram.c"
+#line 788 "gram.y"
+ { (yyval.cstring) = "ALL"; }
+#line 2487 "gram.c"
break;
case 73: /* reserved_word: CHROOT */
-#line 788 "gram.y"
- { (yyval.string) = "CHROOT"; }
-#line 2492 "gram.c"
+#line 789 "gram.y"
+ { (yyval.cstring) = "CHROOT"; }
+#line 2493 "gram.c"
break;
case 74: /* reserved_word: CWD */
-#line 789 "gram.y"
- { (yyval.string) = "CWD"; }
-#line 2498 "gram.c"
+#line 790 "gram.y"
+ { (yyval.cstring) = "CWD"; }
+#line 2499 "gram.c"
break;
case 75: /* reserved_word: CMND_TIMEOUT */
-#line 790 "gram.y"
- { (yyval.string) = "CMND_TIMEOUT"; }
-#line 2504 "gram.c"
+#line 791 "gram.y"
+ { (yyval.cstring) = "CMND_TIMEOUT"; }
+#line 2505 "gram.c"
break;
case 76: /* reserved_word: NOTBEFORE */
-#line 791 "gram.y"
- { (yyval.string) = "NOTBEFORE"; }
-#line 2510 "gram.c"
+#line 792 "gram.y"
+ { (yyval.cstring) = "NOTBEFORE"; }
+#line 2511 "gram.c"
break;
case 77: /* reserved_word: NOTAFTER */
-#line 792 "gram.y"
- { (yyval.string) = "NOTAFTER"; }
-#line 2516 "gram.c"
+#line 793 "gram.y"
+ { (yyval.cstring) = "NOTAFTER"; }
+#line 2517 "gram.c"
break;
case 78: /* reserved_word: ROLE */
-#line 793 "gram.y"
- { (yyval.string) = "ROLE"; }
-#line 2522 "gram.c"
+#line 794 "gram.y"
+ { (yyval.cstring) = "ROLE"; }
+#line 2523 "gram.c"
break;
case 79: /* reserved_word: TYPE */
-#line 794 "gram.y"
- { (yyval.string) = "TYPE"; }
-#line 2528 "gram.c"
+#line 795 "gram.y"
+ { (yyval.cstring) = "TYPE"; }
+#line 2529 "gram.c"
break;
case 80: /* reserved_word: PRIVS */
-#line 795 "gram.y"
- { (yyval.string) = "PRIVS"; }
-#line 2534 "gram.c"
+#line 796 "gram.y"
+ { (yyval.cstring) = "PRIVS"; }
+#line 2535 "gram.c"
break;
case 81: /* reserved_word: LIMITPRIVS */
-#line 796 "gram.y"
- { (yyval.string) = "LIMITPRIVS"; }
-#line 2540 "gram.c"
+#line 797 "gram.y"
+ { (yyval.cstring) = "LIMITPRIVS"; }
+#line 2541 "gram.c"
break;
case 82: /* reserved_word: APPARMOR_PROFILE */
-#line 797 "gram.y"
- { (yyval.string) = "APPARMOR_PROFILE"; }
-#line 2546 "gram.c"
+#line 798 "gram.y"
+ { (yyval.cstring) = "APPARMOR_PROFILE"; }
+#line 2547 "gram.c"
break;
case 83: /* reserved_alias: reserved_word */
-#line 800 "gram.y"
+#line 801 "gram.y"
{
- sudoerserrorf(U_("syntax error, reserved word %s used as an alias name"), (yyvsp[0].string));
+ sudoerserrorf(U_("syntax error, reserved word %s used as an alias name"), (yyvsp[0].cstring));
YYERROR;
}
-#line 2555 "gram.c"
+#line 2556 "gram.c"
break;
case 84: /* options: %empty */
-#line 806 "gram.y"
+#line 807 "gram.y"
{
init_options(&(yyval.options));
}
-#line 2563 "gram.c"
+#line 2564 "gram.c"
break;
case 85: /* options: options chdirspec */
-#line 809 "gram.y"
+#line 810 "gram.y"
{
parser_leak_remove(LEAK_PTR, (yyval.options).runcwd);
free((yyval.options).runcwd);
(yyval.options).runcwd = (yyvsp[0].string);
}
-#line 2573 "gram.c"
+#line 2574 "gram.c"
break;
case 86: /* options: options chrootspec */
-#line 814 "gram.y"
+#line 815 "gram.y"
{
parser_leak_remove(LEAK_PTR, (yyval.options).runchroot);
free((yyval.options).runchroot);
(yyval.options).runchroot = (yyvsp[0].string);
}
-#line 2583 "gram.c"
+#line 2584 "gram.c"
break;
case 87: /* options: options notbeforespec */
-#line 819 "gram.y"
+#line 820 "gram.y"
{
(yyval.options).notbefore = parse_gentime((yyvsp[0].string));
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -2599,11 +2600,11 @@ yyreduce:
YYERROR;
}
}
-#line 2597 "gram.c"
+#line 2598 "gram.c"
break;
case 88: /* options: options notafterspec */
-#line 828 "gram.y"
+#line 829 "gram.y"
{
(yyval.options).notafter = parse_gentime((yyvsp[0].string));
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -2613,11 +2614,11 @@ yyreduce:
YYERROR;
}
}
-#line 2611 "gram.c"
+#line 2612 "gram.c"
break;
case 89: /* options: options timeoutspec */
-#line 837 "gram.y"
+#line 838 "gram.y"
{
(yyval.options).timeout = parse_timeout((yyvsp[0].string));
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
@@ -2630,11 +2631,11 @@ yyreduce:
YYERROR;
}
}
-#line 2628 "gram.c"
+#line 2629 "gram.c"
break;
case 90: /* options: options rolespec */
-#line 849 "gram.y"
+#line 850 "gram.y"
{
#ifdef HAVE_SELINUX
parser_leak_remove(LEAK_PTR, (yyval.options).role);
@@ -2642,11 +2643,11 @@ yyreduce:
(yyval.options).role = (yyvsp[0].string);
#endif
}
-#line 2640 "gram.c"
+#line 2641 "gram.c"
break;
case 91: /* options: options typespec */
-#line 856 "gram.y"
+#line 857 "gram.y"
{
#ifdef HAVE_SELINUX
parser_leak_remove(LEAK_PTR, (yyval.options).type);
@@ -2654,23 +2655,23 @@ yyreduce:
(yyval.options).type = (yyvsp[0].string);
#endif
}
-#line 2652 "gram.c"
+#line 2653 "gram.c"
break;
case 92: /* options: options apparmor_profilespec */
-#line 863 "gram.y"
+#line 864 "gram.y"
{
#ifdef HAVE_APPARMOR
- parser_leak_remove(LEAK_PTR, (yyval.options).apparmor_profile);
- free((yyval.options).apparmor_profile);
- (yyval.options).apparmor_profile = (yyvsp[0].string);
+ parser_leak_remove(LEAK_PTR, (yyval.options).apparmor_profile);
+ free((yyval.options).apparmor_profile);
+ (yyval.options).apparmor_profile = (yyvsp[0].string);
#endif
}
-#line 2664 "gram.c"
+#line 2665 "gram.c"
break;
case 93: /* options: options privsspec */
-#line 870 "gram.y"
+#line 871 "gram.y"
{
#ifdef HAVE_PRIV_SET
parser_leak_remove(LEAK_PTR, (yyval.options).privs);
@@ -2678,11 +2679,11 @@ yyreduce:
(yyval.options).privs = (yyvsp[0].string);
#endif
}
-#line 2676 "gram.c"
+#line 2677 "gram.c"
break;
case 94: /* options: options limitprivsspec */
-#line 877 "gram.y"
+#line 878 "gram.y"
{
#ifdef HAVE_PRIV_SET
parser_leak_remove(LEAK_PTR, (yyval.options).limitprivs);
@@ -2690,147 +2691,147 @@ yyreduce:
(yyval.options).limitprivs = (yyvsp[0].string);
#endif
}
-#line 2688 "gram.c"
+#line 2689 "gram.c"
break;
case 95: /* cmndtag: %empty */
-#line 886 "gram.y"
+#line 887 "gram.y"
{
TAGS_INIT(&(yyval.tag));
}
-#line 2696 "gram.c"
+#line 2697 "gram.c"
break;
case 96: /* cmndtag: cmndtag NOPASSWD */
-#line 889 "gram.y"
+#line 890 "gram.y"
{
(yyval.tag).nopasswd = true;
}
-#line 2704 "gram.c"
+#line 2705 "gram.c"
break;
case 97: /* cmndtag: cmndtag PASSWD */
-#line 892 "gram.y"
+#line 893 "gram.y"
{
(yyval.tag).nopasswd = false;
}
-#line 2712 "gram.c"
+#line 2713 "gram.c"
break;
case 98: /* cmndtag: cmndtag NOEXEC */
-#line 895 "gram.y"
+#line 896 "gram.y"
{
(yyval.tag).noexec = true;
}
-#line 2720 "gram.c"
+#line 2721 "gram.c"
break;
case 99: /* cmndtag: cmndtag EXEC */
-#line 898 "gram.y"
+#line 899 "gram.y"
{
(yyval.tag).noexec = false;
}
-#line 2728 "gram.c"
+#line 2729 "gram.c"
break;
case 100: /* cmndtag: cmndtag INTERCEPT */
-#line 901 "gram.y"
+#line 902 "gram.y"
{
(yyval.tag).intercept = true;
}
-#line 2736 "gram.c"
+#line 2737 "gram.c"
break;
case 101: /* cmndtag: cmndtag NOINTERCEPT */
-#line 904 "gram.y"
+#line 905 "gram.y"
{
(yyval.tag).intercept = false;
}
-#line 2744 "gram.c"
+#line 2745 "gram.c"
break;
case 102: /* cmndtag: cmndtag SETENV */
-#line 907 "gram.y"
+#line 908 "gram.y"
{
(yyval.tag).setenv = true;
}
-#line 2752 "gram.c"
+#line 2753 "gram.c"
break;
case 103: /* cmndtag: cmndtag NOSETENV */
-#line 910 "gram.y"
+#line 911 "gram.y"
{
(yyval.tag).setenv = false;
}
-#line 2760 "gram.c"
+#line 2761 "gram.c"
break;
case 104: /* cmndtag: cmndtag LOG_INPUT */
-#line 913 "gram.y"
+#line 914 "gram.y"
{
(yyval.tag).log_input = true;
}
-#line 2768 "gram.c"
+#line 2769 "gram.c"
break;
case 105: /* cmndtag: cmndtag NOLOG_INPUT */
-#line 916 "gram.y"
+#line 917 "gram.y"
{
(yyval.tag).log_input = false;
}
-#line 2776 "gram.c"
+#line 2777 "gram.c"
break;
case 106: /* cmndtag: cmndtag LOG_OUTPUT */
-#line 919 "gram.y"
+#line 920 "gram.y"
{
(yyval.tag).log_output = true;
}
-#line 2784 "gram.c"
+#line 2785 "gram.c"
break;
case 107: /* cmndtag: cmndtag NOLOG_OUTPUT */
-#line 922 "gram.y"
+#line 923 "gram.y"
{
(yyval.tag).log_output = false;
}
-#line 2792 "gram.c"
+#line 2793 "gram.c"
break;
case 108: /* cmndtag: cmndtag FOLLOWLNK */
-#line 925 "gram.y"
+#line 926 "gram.y"
{
(yyval.tag).follow = true;
}
-#line 2800 "gram.c"
+#line 2801 "gram.c"
break;
case 109: /* cmndtag: cmndtag NOFOLLOWLNK */
-#line 928 "gram.y"
+#line 929 "gram.y"
{
(yyval.tag).follow = false;
}
-#line 2808 "gram.c"
+#line 2809 "gram.c"
break;
case 110: /* cmndtag: cmndtag MAIL */
-#line 931 "gram.y"
+#line 932 "gram.y"
{
(yyval.tag).send_mail = true;
}
-#line 2816 "gram.c"
+#line 2817 "gram.c"
break;
case 111: /* cmndtag: cmndtag NOMAIL */
-#line 934 "gram.y"
+#line 935 "gram.y"
{
(yyval.tag).send_mail = false;
}
-#line 2824 "gram.c"
+#line 2825 "gram.c"
break;
case 112: /* cmnd: ALL */
-#line 939 "gram.y"
+#line 940 "gram.y"
{
struct sudo_command *c;
@@ -2845,11 +2846,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2843 "gram.c"
+#line 2844 "gram.c"
break;
case 113: /* cmnd: ALIAS */
-#line 953 "gram.y"
+#line 954 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -2859,11 +2860,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2857 "gram.c"
+#line 2858 "gram.c"
break;
case 114: /* cmnd: COMMAND */
-#line 962 "gram.y"
+#line 963 "gram.y"
{
struct sudo_command *c;
@@ -2885,20 +2886,20 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].command).args);
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 2883 "gram.c"
+#line 2884 "gram.c"
break;
case 117: /* $@1: %empty */
-#line 989 "gram.y"
+#line 990 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2892 "gram.c"
+#line 2893 "gram.c"
break;
case 118: /* hostalias: ALIAS $@1 '=' hostlist */
-#line 992 "gram.y"
+#line 993 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), HOSTALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2908,30 +2909,30 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2906 "gram.c"
+#line 2907 "gram.c"
break;
case 121: /* hostlist: hostlist ',' ophost */
-#line 1005 "gram.y"
+#line 1006 "gram.y"
{
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
(yyval.member) = (yyvsp[-2].member);
}
-#line 2916 "gram.c"
+#line 2917 "gram.c"
break;
case 124: /* $@2: %empty */
-#line 1016 "gram.y"
+#line 1017 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2925 "gram.c"
+#line 2926 "gram.c"
break;
case 125: /* cmndalias: ALIAS $@2 '=' cmndlist */
-#line 1019 "gram.y"
+#line 1020 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), CMNDALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2941,30 +2942,30 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2939 "gram.c"
+#line 2940 "gram.c"
break;
case 128: /* cmndlist: cmndlist ',' digcmnd */
-#line 1032 "gram.y"
+#line 1033 "gram.y"
{
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
(yyval.member) = (yyvsp[-2].member);
}
-#line 2949 "gram.c"
+#line 2950 "gram.c"
break;
case 131: /* $@3: %empty */
-#line 1043 "gram.y"
+#line 1044 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2958 "gram.c"
+#line 2959 "gram.c"
break;
case 132: /* runasalias: ALIAS $@3 '=' userlist */
-#line 1046 "gram.y"
+#line 1047 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), RUNASALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2974,20 +2975,20 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2972 "gram.c"
+#line 2973 "gram.c"
break;
case 136: /* $@4: %empty */
-#line 1062 "gram.y"
+#line 1063 "gram.y"
{
alias_line = this_lineno;
alias_column = sudolinebuf.toke_start + 1;
}
-#line 2981 "gram.c"
+#line 2982 "gram.c"
break;
case 137: /* useralias: ALIAS $@4 '=' userlist */
-#line 1065 "gram.y"
+#line 1066 "gram.y"
{
if (!alias_add(&parsed_policy, (yyvsp[-3].string), USERALIAS,
sudoers, alias_line, alias_column, (yyvsp[0].member))) {
@@ -2997,39 +2998,39 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
}
-#line 2995 "gram.c"
+#line 2996 "gram.c"
break;
case 140: /* userlist: userlist ',' opuser */
-#line 1078 "gram.y"
+#line 1079 "gram.y"
{
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
(yyval.member) = (yyvsp[-2].member);
}
-#line 3005 "gram.c"
+#line 3006 "gram.c"
break;
case 141: /* opuser: user */
-#line 1085 "gram.y"
+#line 1086 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 3014 "gram.c"
+#line 3015 "gram.c"
break;
case 142: /* opuser: '!' user */
-#line 1089 "gram.y"
+#line 1090 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 3023 "gram.c"
+#line 3024 "gram.c"
break;
case 143: /* user: ALIAS */
-#line 1095 "gram.y"
+#line 1096 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -3039,11 +3040,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3037 "gram.c"
+#line 3038 "gram.c"
break;
case 144: /* user: ALL */
-#line 1104 "gram.y"
+#line 1105 "gram.y"
{
(yyval.member) = new_member(NULL, ALL);
if ((yyval.member) == NULL) {
@@ -3052,11 +3053,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3050 "gram.c"
+#line 3051 "gram.c"
break;
case 145: /* user: NETGROUP */
-#line 1112 "gram.y"
+#line 1113 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), NETGROUP);
if ((yyval.member) == NULL) {
@@ -3066,11 +3067,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3064 "gram.c"
+#line 3065 "gram.c"
break;
case 146: /* user: USERGROUP */
-#line 1121 "gram.y"
+#line 1122 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), USERGROUP);
if ((yyval.member) == NULL) {
@@ -3080,11 +3081,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3078 "gram.c"
+#line 3079 "gram.c"
break;
case 147: /* user: WORD */
-#line 1130 "gram.y"
+#line 1131 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), WORD);
if ((yyval.member) == NULL) {
@@ -3094,39 +3095,39 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3092 "gram.c"
+#line 3093 "gram.c"
break;
case 149: /* grouplist: grouplist ',' opgroup */
-#line 1142 "gram.y"
+#line 1143 "gram.y"
{
parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
(yyval.member) = (yyvsp[-2].member);
}
-#line 3102 "gram.c"
+#line 3103 "gram.c"
break;
case 150: /* opgroup: group */
-#line 1149 "gram.y"
+#line 1150 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = false;
}
-#line 3111 "gram.c"
+#line 3112 "gram.c"
break;
case 151: /* opgroup: '!' group */
-#line 1153 "gram.y"
+#line 1154 "gram.y"
{
(yyval.member) = (yyvsp[0].member);
(yyval.member)->negated = true;
}
-#line 3120 "gram.c"
+#line 3121 "gram.c"
break;
case 152: /* group: ALIAS */
-#line 1159 "gram.y"
+#line 1160 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), ALIAS);
if ((yyval.member) == NULL) {
@@ -3136,11 +3137,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3134 "gram.c"
+#line 3135 "gram.c"
break;
case 153: /* group: ALL */
-#line 1168 "gram.y"
+#line 1169 "gram.y"
{
(yyval.member) = new_member(NULL, ALL);
if ((yyval.member) == NULL) {
@@ -3149,11 +3150,11 @@ yyreduce:
}
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3147 "gram.c"
+#line 3148 "gram.c"
break;
case 154: /* group: WORD */
-#line 1176 "gram.y"
+#line 1177 "gram.y"
{
(yyval.member) = new_member((yyvsp[0].string), WORD);
if ((yyval.member) == NULL) {
@@ -3163,11 +3164,11 @@ yyreduce:
parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
parser_leak_add(LEAK_MEMBER, (yyval.member));
}
-#line 3161 "gram.c"
+#line 3162 "gram.c"
break;
-#line 3165 "gram.c"
+#line 3166 "gram.c"
default: break;
}
@@ -3360,7 +3361,7 @@ yyreturnlab:
return yyresult;
}
-#line 1186 "gram.y"
+#line 1187 "gram.y"
/* Like yyerror() but takes a printf-style format string. */
void
@@ -3379,7 +3380,8 @@ sudoerserrorf(const char *fmt, ...)
LEXTRACE("<*> ");
#ifndef TRACELEXER
if (trace_print == NULL || trace_print == sudoers_trace_print) {
- char *s, *tofree = NULL;
+ char *tofree = NULL;
+ const char *s;
int oldlocale;
/* Warnings are displayed in the user's locale. */
@@ -3390,10 +3392,12 @@ sudoerserrorf(const char *fmt, ...)
/* Optimize common case, a single string. */
s = _(va_arg(ap, char *));
} else {
- if (vasprintf(&s, _(fmt), ap) != -1)
- tofree = s;
- else
+ if (vasprintf(&tofree, _(fmt), ap) != -1) {
+ s = tofree;
+ } else {
s = _("syntax error");
+ tofree = NULL;
+ }
}
sudo_printf(SUDO_CONV_ERROR_MSG, _("%s:%d:%d: %s\n"), sudoers,
this_lineno, (int)sudolinebuf.toke_start + 1, s);
@@ -3434,11 +3438,15 @@ sudoerserror(const char *s)
sudoers_errstr = NULL;
}
- // -V:sudoerserror:575, 618
+#pragma pvs(push)
+#pragma pvs(disable: 575, 618)
+
if (s == NULL)
sudoerserrorf(NULL);
else
sudoerserrorf("%s", s);
+
+#pragma pvs(pop)
}
static void
@@ -4092,10 +4100,10 @@ found:
#endif /* NO_LEAKS */
}
-void
+#ifdef NO_LEAKS
+static void
parser_leak_free(void)
{
-#ifdef NO_LEAKS
struct parser_leak_entry *entry;
void *next;
debug_decl(parser_leak_run, SUDOERS_DEBUG_PARSER);
@@ -4177,8 +4185,8 @@ parser_leak_free(void)
}
debug_return;
-#endif /* NO_LEAKS */
}
+#endif /* NO_LEAKS */
void
parser_leak_init(void)
diff --git a/plugins/sudoers/gram.h b/plugins/sudoers/gram.h
index 5ed1beaa0..0319ce164 100644
--- a/plugins/sudoers/gram.h
+++ b/plugins/sudoers/gram.h
@@ -185,9 +185,10 @@ union YYSTYPE
struct command_options options;
struct cmndtag tag;
char *string;
+ const char *cstring;
int tok;
-#line 191 "y.tab.h"
+#line 192 "y.tab.h"
};
typedef union YYSTYPE YYSTYPE;
diff --git a/plugins/sudoers/gram.y b/plugins/sudoers/gram.y
index edb931322..2ac370918 100644
--- a/plugins/sudoers/gram.y
+++ b/plugins/sudoers/gram.y
@@ -43,7 +43,7 @@
#define this_lineno (sudoerschar == '\n' ? sudolineno - 1 : sudolineno)
// PVS Studio suppression
-// -V::1037, 1042
+// -V::560, 592, 1037, 1042
/*
* Globals
@@ -95,6 +95,7 @@ static void alias_error(const char *name, int errnum);
struct command_options options;
struct cmndtag tag;
char *string;
+ const char *cstring;
int tok;
}
@@ -144,7 +145,7 @@ static void alias_error(const char *name, int errnum);
%token <tok> CWD /* working directory for command */
%token <tok> TYPE /* SELinux type */
%token <tok> ROLE /* SELinux role */
-%token <tok> APPARMOR_PROFILE /* AppArmor profile */
+%token <tok> APPARMOR_PROFILE /* AppArmor profile */
%token <tok> PRIVS /* Solaris privileges */
%token <tok> LIMITPRIVS /* Solaris limit privileges */
%token <tok> CMND_TIMEOUT /* command timeout */
@@ -193,7 +194,7 @@ static void alias_error(const char *name, int errnum);
%type <string> includedir
%type <digest> digestspec
%type <digest> digestlist
-%type <string> reserved_word
+%type <cstring> reserved_word
%%
@@ -537,8 +538,8 @@ cmndspec : runasspec options cmndtag digcmnd {
parser_leak_remove(LEAK_PTR, $2.type);
#endif
#ifdef HAVE_APPARMOR
- cs->apparmor_profile = $2.apparmor_profile;
- parser_leak_remove(LEAK_PTR, $2.apparmor_profile);
+ cs->apparmor_profile = $2.apparmor_profile;
+ parser_leak_remove(LEAK_PTR, $2.apparmor_profile);
#endif
#ifdef HAVE_PRIV_SET
cs->privs = $2.privs;
@@ -794,7 +795,7 @@ reserved_word : ALL { $$ = "ALL"; }
| TYPE { $$ = "TYPE"; }
| PRIVS { $$ = "PRIVS"; }
| LIMITPRIVS { $$ = "LIMITPRIVS"; }
- | APPARMOR_PROFILE { $$ = "APPARMOR_PROFILE"; }
+ | APPARMOR_PROFILE { $$ = "APPARMOR_PROFILE"; }
;
reserved_alias : reserved_word {
@@ -862,9 +863,9 @@ options : /* empty */ {
}
| options apparmor_profilespec {
#ifdef HAVE_APPARMOR
- parser_leak_remove(LEAK_PTR, $$.apparmor_profile);
- free($$.apparmor_profile);
- $$.apparmor_profile = $2;
+ parser_leak_remove(LEAK_PTR, $$.apparmor_profile);
+ free($$.apparmor_profile);
+ $$.apparmor_profile = $2;
#endif
}
| options privsspec {
@@ -1201,7 +1202,8 @@ sudoerserrorf(const char *fmt, ...)
LEXTRACE("<*> ");
#ifndef TRACELEXER
if (trace_print == NULL || trace_print == sudoers_trace_print) {
- char *s, *tofree = NULL;
+ char *tofree = NULL;
+ const char *s;
int oldlocale;
/* Warnings are displayed in the user's locale. */
@@ -1212,10 +1214,12 @@ sudoerserrorf(const char *fmt, ...)
/* Optimize common case, a single string. */
s = _(va_arg(ap, char *));
} else {
- if (vasprintf(&s, _(fmt), ap) != -1)
- tofree = s;
- else
+ if (vasprintf(&tofree, _(fmt), ap) != -1) {
+ s = tofree;
+ } else {
s = _("syntax error");
+ tofree = NULL;
+ }
}
sudo_printf(SUDO_CONV_ERROR_MSG, _("%s:%d:%d: %s\n"), sudoers,
this_lineno, (int)sudolinebuf.toke_start + 1, s);
@@ -1256,11 +1260,15 @@ sudoerserror(const char *s)
sudoers_errstr = NULL;
}
- // -V:sudoerserror:575, 618
+#pragma pvs(push)
+#pragma pvs(disable: 575, 618)
+
if (s == NULL)
sudoerserrorf(NULL);
else
sudoerserrorf("%s", s);
+
+#pragma pvs(pop)
}
static void
@@ -1914,10 +1922,10 @@ found:
#endif /* NO_LEAKS */
}
-void
+#ifdef NO_LEAKS
+static void
parser_leak_free(void)
{
-#ifdef NO_LEAKS
struct parser_leak_entry *entry;
void *next;
debug_decl(parser_leak_run, SUDOERS_DEBUG_PARSER);
@@ -1999,8 +2007,8 @@ parser_leak_free(void)
}
debug_return;
-#endif /* NO_LEAKS */
}
+#endif /* NO_LEAKS */
void
parser_leak_init(void)
diff --git a/plugins/sudoers/group_plugin.c b/plugins/sudoers/group_plugin.c
index e11cfb1f1..72a35b6ef 100644
--- a/plugins/sudoers/group_plugin.c
+++ b/plugins/sudoers/group_plugin.c
@@ -41,17 +41,102 @@ static struct sudoers_group_plugin *group_plugin;
const char *path_plugin_dir = _PATH_SUDO_PLUGIN_DIR;
/*
+ * Check for a fallback path when the original group plugin is not loadable.
+ * Returns true on success, rewriting path and filling in sb, else false.
+ */
+static bool
+group_plugin_fallback(char *path, size_t pathsize, struct stat *sb)
+{
+#if defined(__LP64__)
+ char newpath[PATH_MAX];
+ bool ret = false;
+ int len;
+ debug_decl(group_plugin_fallback, SUDOERS_DEBUG_UTIL);
+
+# if defined(__sun__) || defined(__linux__)
+ /*
+ * Solaris uses /lib/64 and /usr/lib/64 for 64-bit libraries.
+ * Linux may use /lib64 and /usr/lib64 for 64-bit libraries.
+ * If dirname(path) ends in /lib, try /lib/64 (Solaris) or /lib64 (Linux).
+ */
+# if defined(__sun__)
+ const char *lib64 = "lib/64";
+# else
+ const char *lib64 = "lib64";
+# endif
+ const char *base, *slash;
+ int dirlen;
+
+ slash = strrchr(path, '/');
+ if (slash == NULL) {
+ goto done;
+ }
+ base = slash + 1;
+
+ /* Collapse consecutive slashes. */
+ while (slash > path && slash[-1] == '/') {
+ slash--;
+ }
+
+ /* If directory ends in /lib/, try again with /lib/64/ or /lib64/. */
+ dirlen = slash - path;
+ if (dirlen < 4 || strncmp(slash - 4, "/lib", 4) != 0) {
+ goto done;
+ }
+ dirlen -= 4;
+ len = snprintf(newpath, sizeof(newpath), "%.*s/%s/%s", dirlen, path, lib64,
+ base);
+# else /* !__sun__ && !__linux__ */
+ /*
+ * Multilib not supported, check for a path of the form libfoo64.so.
+ */
+ const char *dot;
+ int plen;
+
+ dot = strrchr(path, '.');
+ if (dot == NULL) {
+ goto done;
+ }
+ plen = dot - path;
+
+ /* If basename(path) doesn't match libfoo64.so, try adding the 64. */
+ if (plen >= 2 && strncmp(dot - 2, "64", 2) == 0) {
+ goto done;
+ }
+ len = snprintf(newpath, sizeof(newpath), "%.*s64%s", plen, path, dot);
+# endif /* __sun__ || __linux__ */
+ if (len < 0 || len >= ssizeof(newpath)) {
+ errno = ENAMETOOLONG;
+ goto done;
+ }
+ if (stat(newpath, sb) == -1) {
+ goto done;
+ }
+ if (strlcpy(path, newpath, pathsize) >= pathsize) {
+ errno = ENAMETOOLONG;
+ goto done;
+ }
+ ret = true;
+done:
+ debug_return_bool(ret);
+#else
+ return false;
+#endif /* __LP64__ */
+}
+
+/*
* Load the specified plugin and run its init function.
* Returns -1 if unable to open the plugin, else it returns
* the value from the plugin's init function.
*/
int
-group_plugin_load(char *plugin_info)
+group_plugin_load(const char *plugin_info)
{
struct stat sb;
char *args, path[PATH_MAX];
char **argv = NULL;
int len, rc = -1;
+ bool retry = true;
debug_decl(group_plugin_load, SUDOERS_DEBUG_UTIL);
/*
@@ -72,31 +157,41 @@ group_plugin_load(char *plugin_info)
(*plugin_info != '/') ? path_plugin_dir : "", plugin_info);
goto done;
}
-
- /* Check owner and mode of plugin path. */
if (stat(path, &sb) != 0) {
sudo_warn("%s", path);
goto done;
}
- if (!sudo_conf_developer_mode()) {
- if (sb.st_uid != ROOT_UID) {
- sudo_warnx(U_("%s must be owned by uid %d"), path, ROOT_UID);
- goto done;
- }
- if ((sb.st_mode & (S_IWGRP|S_IWOTH)) != 0) {
- sudo_warnx(U_("%s must only be writable by owner"), path);
- goto done;
- }
- }
- /* Open plugin and map in symbol. */
- group_handle = sudo_dso_load(path, SUDO_DSO_LAZY|SUDO_DSO_GLOBAL);
- if (!group_handle) {
- const char *errstr = sudo_dso_strerror();
- sudo_warnx(U_("unable to load %s: %s"), path,
- errstr ? errstr : "unknown error");
- goto done;
+ for (;;) {
+ if (!sudo_conf_developer_mode()) {
+ /* Check owner and mode of plugin path. */
+ if (sb.st_uid != ROOT_UID) {
+ sudo_warnx(U_("%s must be owned by uid %d"), path, ROOT_UID);
+ goto done;
+ }
+ if ((sb.st_mode & (S_IWGRP|S_IWOTH)) != 0) {
+ sudo_warnx(U_("%s must only be writable by owner"), path);
+ goto done;
+ }
+ }
+
+ group_handle = sudo_dso_load(path, SUDO_DSO_LAZY|SUDO_DSO_GLOBAL);
+ if (group_handle != NULL) {
+ break;
+ }
+
+ if (!retry || !group_plugin_fallback(path, sizeof(path), &sb)) {
+ const char *errstr = sudo_dso_strerror();
+ sudo_warnx(U_("unable to load %s: %s"), path,
+ errstr ? errstr : "unknown error");
+ goto done;
+ }
+
+ /* Retry once with the fallback path. */
+ retry = false;
}
+
+ /* Map in symbol from group plugin. */
group_plugin = sudo_dso_findsym(group_handle, "group_plugin");
if (group_plugin == NULL) {
sudo_warnx(U_("unable to find symbol \"group_plugin\" in %s"), path);
@@ -193,7 +288,7 @@ group_plugin_query(const char *user, const char *group,
*/
int
-group_plugin_load(char *plugin_info)
+group_plugin_load(const char *plugin_info)
{
debug_decl(group_plugin_load, SUDOERS_DEBUG_UTIL);
debug_return_int(false);
diff --git a/plugins/sudoers/insults.h b/plugins/sudoers/insults.h
index d7d8074de..752d7e6e4 100644
--- a/plugins/sudoers/insults.h
+++ b/plugins/sudoers/insults.h
@@ -28,7 +28,7 @@
* Use one or more set of insults as determined by configure
*/
-char *insults[] = {
+const char *insults[] = {
# ifdef HAL_INSULTS
# include "ins_2001.h"
diff --git a/plugins/sudoers/iolog.c b/plugins/sudoers/iolog.c
index aae5713ff..fc1bc7d11 100644
--- a/plugins/sudoers/iolog.c
+++ b/plugins/sudoers/iolog.c
@@ -259,7 +259,7 @@ static void *
set_passprompt_regex(const char *cstr)
{
void *handle;
- char *cp, *last, *str;
+ char *cp, *str, *last = NULL;
debug_decl(set_passprompt_regex, SUDOERS_DEBUG_UTIL);
handle = iolog_pwfilt_alloc();
@@ -288,7 +288,7 @@ bad:
* Pull out I/O log related data from user_info and command_info arrays.
* Returns true if I/O logging is enabled, false if not and -1 on error.
*/
-int
+static int
iolog_deserialize_info(struct log_details *details, char * const user_info[],
char * const command_info[], char * const argv[], char * const user_env[])
{
diff --git a/plugins/sudoers/ldap.c b/plugins/sudoers/ldap.c
index 4f0192265..6f81883d6 100644
--- a/plugins/sudoers/ldap.c
+++ b/plugins/sudoers/ldap.c
@@ -297,7 +297,7 @@ done:
* on error.
*/
static struct berval **
-sudo_ldap_get_values_len(LDAP *ld, LDAPMessage *entry, char *attr, int *rc)
+sudo_ldap_get_values_len(LDAP *ld, LDAPMessage *entry, const char *attr, int *rc)
{
struct berval **bval;
@@ -1613,7 +1613,7 @@ sudo_ldap_bind_s(LDAP *ld)
{
struct berval bv;
- bv.bv_val = ldap_conf.bindpw ? ldap_conf.bindpw : "";
+ bv.bv_val = ldap_conf.bindpw ? ldap_conf.bindpw : (char *)"";
bv.bv_len = strlen(bv.bv_val);
ret = ldap_sasl_bind_s(ld, ldap_conf.binddn, LDAP_SASL_SIMPLE, &bv,
diff --git a/plugins/sudoers/ldap_conf.c b/plugins/sudoers/ldap_conf.c
index 38d54a3a3..7e4a2e3ad 100644
--- a/plugins/sudoers/ldap_conf.c
+++ b/plugins/sudoers/ldap_conf.c
@@ -242,7 +242,8 @@ sudo_ldap_parse_uri(const struct ldap_config_str_list *uri_list)
hostbuf[0] = '\0';
STAILQ_FOREACH(entry, uri_list, entries) {
- char *cp, *host, *last, *port, *uri;
+ char *cp, *last, *uri;
+ const char *host, *port;
buf = strdup(entry->val);
if (buf == NULL) {
diff --git a/plugins/sudoers/log_client.c b/plugins/sudoers/log_client.c
index f1f1c016f..a53ffe427 100644
--- a/plugins/sudoers/log_client.c
+++ b/plugins/sudoers/log_client.c
@@ -16,7 +16,12 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-#include "config.h"
+/*
+ * This is an open source non-commercial project. Dear PVS-Studio, please check it.
+ * PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
+ */
+
+#include <config.h>
#ifdef SUDOERS_LOG_CLIENT
@@ -755,7 +760,7 @@ done:
* Appends the wire format message to the closure's write queue.
* Returns true on success, false on failure.
*/
-bool
+static bool
fmt_client_hello(struct client_closure *closure)
{
ClientMessage client_msg = CLIENT_MESSAGE__INIT;
@@ -766,7 +771,7 @@ fmt_client_hello(struct client_closure *closure)
sudo_debug_printf(SUDO_DEBUG_INFO, "%s: sending ClientHello", __func__);
/* Client name + version */
- hello_msg.client_id = "sudoers " PACKAGE_VERSION;
+ hello_msg.client_id = (char *)"sudoers " PACKAGE_VERSION;
/* Schedule ClientMessage */
client_msg.u.hello_msg = &hello_msg;
@@ -840,6 +845,27 @@ fmt_info_messages(struct client_closure *closure, struct eventlog *evlog,
info_message__init(info_msgs[n]);
}
+#define fill_str(_n, _v) do { \
+ info_msgs[n]->key = (char *)(_n); \
+ info_msgs[n]->u.strval = (_v); \
+ info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL; \
+ n++; \
+} while (0)
+
+#define fill_strlist(_n, _v) do { \
+ info_msgs[n]->key = (char *)(_n); \
+ info_msgs[n]->u.strlistval = (_v); \
+ info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRLISTVAL; \
+ n++; \
+} while (0)
+
+#define fill_num(_n, _v) do { \
+ info_msgs[n]->key = (char *)(_n); \
+ info_msgs[n]->u.numval = (_v); \
+ info_msgs[n]->value_case = INFO_MESSAGE__VALUE_NUMVAL; \
+ n++; \
+} while (0)
+
/* Fill in info_msgs */
n = 0;
@@ -847,106 +873,45 @@ fmt_info_messages(struct client_closure *closure, struct eventlog *evlog,
/* TODO: clientpid */
/* TODO: clientppid */
/* TODO: clientsid */
-
- info_msgs[n]->key = "columns";
- info_msgs[n]->u.numval = evlog->columns;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_NUMVAL;
- n++;
-
- info_msgs[n]->key = "command";
- info_msgs[n]->u.strval = evlog->command;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
-
- info_msgs[n]->key = "lines";
- info_msgs[n]->u.numval = evlog->lines;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_NUMVAL;
- n++;
-
+ fill_num("columns", evlog->columns);
+ fill_str("command", evlog->command);
+ fill_num("lines", evlog->lines);
if (runargv != NULL) {
- info_msgs[n]->key = "runargv";
- info_msgs[n]->u.strlistval = runargv;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRLISTVAL;
- n++;
+ fill_strlist("runargv", runargv);
+ runargv = NULL;
+ }
+ if (evlog->runchroot != NULL) {
+ fill_str("runchroot", evlog->runchroot);
+ }
+ if (evlog->runcwd != NULL) {
+ fill_str("runcwd", evlog->runcwd);
}
-
if (runenv != NULL) {
- info_msgs[n]->key = "runenv";
- info_msgs[n]->u.strlistval = runenv;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRLISTVAL;
- n++;
+ fill_strlist("runenv", runenv);
+ runenv = NULL;
}
-
if (evlog->rungroup != NULL) {
- info_msgs[n]->key = "rungid";
- info_msgs[n]->u.numval = evlog->rungid;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_NUMVAL;
- n++;
-
- info_msgs[n]->key = "rungroup";
- info_msgs[n]->u.strval = evlog->rungroup;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
+ fill_num("rungid", evlog->rungid);
+ fill_str("rungroup", evlog->rungroup);
}
-
/* TODO - rungids */
/* TODO - rungroups */
-
- info_msgs[n]->key = "runuid";
- info_msgs[n]->u.numval = evlog->runuid;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_NUMVAL;
- n++;
-
- info_msgs[n]->key = "runuser";
- info_msgs[n]->u.strval = evlog->runuser;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
-
+ fill_num("runuid", evlog->runuid);
+ fill_str("runuser", evlog->runuser);
if (evlog->cwd != NULL) {
- info_msgs[n]->key = "submitcwd";
- info_msgs[n]->u.strval = evlog->cwd;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
+ fill_str("submitcwd", evlog->cwd);
}
-
- if (evlog->runcwd != NULL) {
- info_msgs[n]->key = "runcwd";
- info_msgs[n]->u.strval = evlog->runcwd;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
- }
-
- if (evlog->runchroot != NULL) {
- info_msgs[n]->key = "runchroot";
- info_msgs[n]->u.strval = evlog->runchroot;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
- }
-
/* TODO - submitenv */
/* TODO - submitgid */
/* TODO - submitgids */
/* TODO - submitgroup */
/* TODO - submitgroups */
-
- info_msgs[n]->key = "submithost";
- info_msgs[n]->u.strval = evlog->submithost;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
-
+ fill_str("submithost", evlog->submithost);
/* TODO - submituid */
-
- info_msgs[n]->key = "submituser";
- info_msgs[n]->u.strval = evlog->submituser;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
-
- if (evlog->ttyname != NULL) {
- info_msgs[n]->key = "ttyname";
- info_msgs[n]->u.strval = evlog->ttyname;
- info_msgs[n]->value_case = INFO_MESSAGE__VALUE_STRVAL;
- n++;
- }
+ fill_str("submituser", evlog->submituser);
+// if (evlog->ttyname != NULL) {
+ fill_str("ttyname", evlog->ttyname);
+ // }
/* Free unused structs. */
while (info_msgs_size > n)
@@ -1569,7 +1534,7 @@ handle_log_id(char *id, struct client_closure *closure)
sudo_debug_printf(SUDO_DEBUG_INFO, "%s: remote log ID: %s", __func__, id);
if (closure->iolog_id != NULL) {
if ((closure->iolog_id = strdup(id)) == NULL)
- sudo_fatal(NULL);
+ sudo_fatal(U_("%s: %s"), __func__, U_("unable to allocate memory"));
}
debug_return_bool(true);
}
diff --git a/plugins/sudoers/logging.c b/plugins/sudoers/logging.c
index 286c6aee8..e240ca692 100644
--- a/plugins/sudoers/logging.c
+++ b/plugins/sudoers/logging.c
@@ -263,7 +263,7 @@ log_reject(const char *message, bool logit, bool mailit)
if (!logit)
SET(evl_flags, EVLOG_MAIL_ONLY);
}
- sudoers_to_eventlog(&evlog, NewArgv, env_get(), uuid_str);
+ sudoers_to_eventlog(&evlog, safe_cmnd, NewArgv, env_get(), uuid_str);
ret = eventlog_reject(&evlog, evl_flags, message, NULL, NULL);
if (!log_server_reject(&evlog, message))
ret = false;
@@ -612,7 +612,8 @@ log_exit_status(int status)
/* Log and mail messages should be in the sudoers locale. */
sudoers_setlocale(SUDOERS_LOCALE_SUDOERS, &oldlocale);
- sudoers_to_eventlog(&evlog, NewArgv, env_get(), sudo_user.uuid_str);
+ sudoers_to_eventlog(&evlog, saved_cmnd, saved_argv, env_get(),
+ sudo_user.uuid_str);
if (def_mail_always) {
SET(evl_flags, EVLOG_MAIL);
if (!def_log_exit_status)
@@ -695,7 +696,8 @@ vlog_warning(int flags, int errnum, const char *fmt, va_list ap)
if (ISSET(flags, SLOG_NO_LOG))
SET(evl_flags, EVLOG_MAIL_ONLY);
}
- sudoers_to_eventlog(&evlog, NewArgv, env_get(), sudo_user.uuid_str);
+ sudoers_to_eventlog(&evlog, safe_cmnd, NewArgv, env_get(),
+ sudo_user.uuid_str);
eventlog_alert(&evlog, evl_flags, &now, message, errstr);
log_server_alert(&evlog, &now, message, errstr);
}
@@ -791,7 +793,8 @@ mail_parse_errors(void)
ret = false;
goto done;
}
- sudoers_to_eventlog(&evlog, NewArgv, env_get(), sudo_user.uuid_str);
+ sudoers_to_eventlog(&evlog, safe_cmnd, NewArgv, env_get(),
+ sudo_user.uuid_str);
len = strlen(_("problem parsing sudoers")) + 1;
STAILQ_FOREACH(pe, &parse_error_list, entries) {
@@ -849,18 +852,21 @@ log_parse_error(const char *file, int line, int column, const char *fmt,
va_list args)
{
const int flags = SLOG_RAW_MSG|SLOG_NO_STDERR;
- char *errstr, *tofree = NULL;
+ char *tofree = NULL;
+ const char *errstr;
struct parse_error *pe;
bool ret;
debug_decl(log_parse_error, SUDOERS_DEBUG_LOGGING);
- if (strcmp(fmt, "%s") == 0) {
+ if (fmt == NULL) {
+ errstr = _("syntax error");
+ } else if (strcmp(fmt, "%s") == 0) {
/* Optimize common case, a single string. */
errstr = _(va_arg(args, char *));
} else {
- if (vasprintf(&errstr, _(fmt), args) == -1)
+ if (vasprintf(&tofree, _(fmt), args) == -1)
debug_return_bool(false);
- tofree = errstr;
+ errstr = tofree;
}
if (line > 0) {
@@ -916,8 +922,8 @@ should_mail(int status)
* The values in the resulting eventlog struct should not be freed.
*/
void
-sudoers_to_eventlog(struct eventlog *evlog, char * const argv[],
- char * const envp[], const char *uuid_str)
+sudoers_to_eventlog(struct eventlog *evlog, const char *cmnd,
+ char * const argv[], char * const envp[], const char *uuid_str)
{
struct group *grp;
debug_decl(sudoers_to_eventlog, SUDOERS_DEBUG_LOGGING);
@@ -929,7 +935,7 @@ sudoers_to_eventlog(struct eventlog *evlog, char * const argv[],
memset(evlog, 0, sizeof(*evlog));
evlog->iolog_file = sudo_user.iolog_file;
evlog->iolog_path = sudo_user.iolog_path;
- evlog->command = safe_cmnd ? safe_cmnd : (argv ? argv[0] : NULL);
+ evlog->command = cmnd ? (char *)cmnd : (argv ? argv[0] : NULL);
evlog->cwd = user_cwd;
if (def_runchroot != NULL && strcmp(def_runchroot, "*") != 0) {
evlog->runchroot = def_runchroot;
@@ -986,11 +992,11 @@ sudoers_to_eventlog(struct eventlog *evlog, char * const argv[],
static FILE *
sudoers_log_open(int type, const char *log_file)
{
+ const char *omode;
bool uid_changed;
FILE *fp = NULL;
mode_t oldmask;
int fd, flags;
- char *omode;
debug_decl(sudoers_log_open, SUDOERS_DEBUG_LOGGING);
switch (type) {
diff --git a/plugins/sudoers/logging.h b/plugins/sudoers/logging.h
index 887b91aaa..43e5a40c4 100644
--- a/plugins/sudoers/logging.h
+++ b/plugins/sudoers/logging.h
@@ -62,6 +62,7 @@ typedef bool (*sudoers_logger_t)(const char *file, int line, int column, const c
/* XXX - needed for auditing */
extern int NewArgc;
extern char **NewArgv;
+extern char **saved_argv;
extern char *audit_msg;
union sudo_defs_val;
@@ -71,8 +72,8 @@ struct log_details;
bool sudoers_warn_setlocale(bool restore, int *cookie);
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);
+int audit_failure(char *const argv[], char const *const fmt, ...) sudo_printflike(2, 3);
+int vaudit_failure(char *const argv[], char const *const fmt, va_list ap) sudo_printflike(2, 0);
bool log_allowed(struct eventlog *evlog);
bool log_exit_status(int exit_status);
bool log_auth_failure(int status, unsigned int tries);
@@ -80,15 +81,15 @@ bool log_denial(int status, bool inform_user);
bool log_failure(int status, int flags);
bool log_server_alert(struct eventlog *evlog, struct timespec *now, const char *message, const char *errstr);
bool log_server_reject(struct eventlog *evlog, const char *message);
-bool log_warning(int flags, const char *fmt, ...) __printflike(2, 3);
-bool log_warningx(int flags, const char *fmt, ...) __printflike(2, 3);
-bool gai_log_warning(int flags, int errnum, const char *fmt, ...) __printflike(3, 4);
+bool log_warning(int flags, const char *fmt, ...) sudo_printflike(2, 3);
+bool log_warningx(int flags, const char *fmt, ...) sudo_printflike(2, 3);
+bool gai_log_warning(int flags, int errnum, const char *fmt, ...) sudo_printflike(3, 4);
bool sudoers_initlocale(const char *ulocale, const char *slocale);
bool sudoers_locale_callback(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
-void sudoers_to_eventlog(struct eventlog *evlog, char * const argv[], char *const envp[], const char *uuid_str);
+void sudoers_to_eventlog(struct eventlog *evlog, const char *cmnd, char * const argv[], char *const envp[], const char *uuid_str);
void init_eventlog_config(void);
bool init_log_details(struct log_details *details, struct eventlog *evlog);
-bool log_parse_error(const char *file, int line, int column, const char *fmt, va_list ap) __printflike(4, 0);
+bool log_parse_error(const char *file, int line, int column, const char *fmt, va_list ap) sudo_printf0like(4, 0);
bool mail_parse_errors(void);
#endif /* SUDOERS_LOGGING_H */
diff --git a/plugins/sudoers/match_command.c b/plugins/sudoers/match_command.c
index deca7d1cf..37d376d32 100644
--- a/plugins/sudoers/match_command.c
+++ b/plugins/sudoers/match_command.c
@@ -89,8 +89,10 @@ command_args_match(const char *sudoers_cmnd, const char *sudoers_args)
* If no args specified in sudoers, any user args are allowed.
* If the empty string is specified in sudoers, no user args are allowed.
*/
- if (!sudoers_args || (!user_args && !strcmp("\"\"", sudoers_args)))
+ if (sudoers_args == NULL)
debug_return_bool(true);
+ if (strcmp("\"\"", sudoers_args) == 0)
+ debug_return_bool(user_args ? false : true);
/*
* If args are specified in sudoers, they must match the user args.
@@ -391,15 +393,22 @@ command_matches_all(const char *runchroot,
debug_decl(command_matches_all, SUDOERS_DEBUG_MATCH);
if (user_cmnd[0] == '/') {
- /* Open the file for fdexec or for digest matching. */
- if (!open_cmnd(user_cmnd, runchroot, digests, &fd))
- goto bad;
#ifndef SUDOERS_NAME_MATCH
+ /* Open the file for fdexec or for digest matching. */
+ bool open_error = !open_cmnd(user_cmnd, runchroot, digests, &fd);
+
/* A non-existent file is not an error for "sudo ALL". */
if (do_stat(fd, user_cmnd, runchroot, &sb)) {
+ if (open_error) {
+ /* File exists but we couldn't open it above? */
+ goto bad;
+ }
if (!intercept_ok(user_cmnd, intercepted, &sb))
goto bad;
}
+#else
+ /* Open the file for fdexec or for digest matching. */
+ (void)open_cmnd(user_cmnd, runchroot, digests, &fd);
#endif
}
diff --git a/plugins/sudoers/match_digest.c b/plugins/sudoers/match_digest.c
index 1763e8e30..f1655951e 100644
--- a/plugins/sudoers/match_digest.c
+++ b/plugins/sudoers/match_digest.c
@@ -105,9 +105,9 @@ digest_matches(int fd, const char *path, const char *runchroot,
} else {
/* Convert base64 to binary. */
size_t len = base64_decode(digest->digest_str, sudoers_digest, digest_len);
+ if (len == (size_t)-1)
+ goto bad_format;
if (len != digest_len) {
- if (len == (size_t)-1)
- goto bad_format;
sudo_warnx(
U_("digest for %s (%s) bad length %zu, expected %zu"),
path, digest->digest_str, len, digest_len);
diff --git a/plugins/sudoers/parse.c b/plugins/sudoers/parse.c
index a56f86c81..3745efbe2 100644
--- a/plugins/sudoers/parse.c
+++ b/plugins/sudoers/parse.c
@@ -257,18 +257,18 @@ apply_cmndspec(struct cmndspec *cs)
#ifdef HAVE_APPARMOR
/* Set AppArmor profile, if specified */
if (cs->apparmor_profile != NULL) {
- user_apparmor_profile = strdup(cs->apparmor_profile);
- if (user_apparmor_profile == NULL) {
- sudo_warnx(U_("%s: %s"), __func__,
- U_("unable to allocate memory"));
- debug_return_bool(false);
- }
+ user_apparmor_profile = strdup(cs->apparmor_profile);
+ if (user_apparmor_profile == NULL) {
+ sudo_warnx(U_("%s: %s"), __func__,
+ U_("unable to allocate memory"));
+ debug_return_bool(false);
+ }
} else {
- user_apparmor_profile = def_apparmor_profile;
- def_apparmor_profile = NULL;
+ user_apparmor_profile = def_apparmor_profile;
+ def_apparmor_profile = NULL;
}
if (user_apparmor_profile != NULL) {
- sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
+ sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
"user_apparmor_profile -> %s", user_apparmor_profile);
}
#endif
@@ -358,11 +358,13 @@ apply_cmndspec(struct cmndspec *cs)
}
if (cs->tags.log_input != UNSPEC) {
def_log_input = cs->tags.log_input;
+ cb_log_input(NULL, 0, 0, NULL, cs->tags.log_input);
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
"def_log_input -> %s", def_log_input ? "true" : "false");
}
if (cs->tags.log_output != UNSPEC) {
def_log_output = cs->tags.log_output;
+ cb_log_output(NULL, 0, 0, NULL, cs->tags.log_output);
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO,
"def_log_output -> %s", def_log_output ? "true" : "false");
}
@@ -468,7 +470,7 @@ display_priv_short(struct sudoers_parse_tree *parse_tree, struct passwd *pw,
debug_decl(display_priv_short, SUDOERS_DEBUG_PARSER);
TAILQ_FOREACH(priv, &us->privileges, entries) {
- struct cmndspec *cs, *prev_cs = NULL;
+ struct cmndspec *cs;
struct cmndtag tags;
if (hostlist_matches(parse_tree, pw, &priv->hostlist) != ALLOW)
@@ -476,11 +478,13 @@ display_priv_short(struct sudoers_parse_tree *parse_tree, struct passwd *pw,
sudoers_defaults_list_to_tags(&priv->defaults, &tags);
TAILQ_FOREACH(cs, &priv->cmndlist, entries) {
- /* Start a new line if RunAs changes. */
+ struct cmndspec *prev_cs = TAILQ_PREV(cs, cmndspec_list, entries);
+
if (prev_cs == NULL || RUNAS_CHANGED(cs, prev_cs)) {
struct member *m;
- if (cs != TAILQ_FIRST(&priv->cmndlist))
+ /* Start new line, first entry or RunAs changed. */
+ if (prev_cs != NULL)
sudo_lbuf_append(lbuf, "\n");
sudo_lbuf_append(lbuf, " (");
if (cs->runasuserlist != NULL) {
@@ -505,11 +509,13 @@ display_priv_short(struct sudoers_parse_tree *parse_tree, struct passwd *pw,
}
}
sudo_lbuf_append(lbuf, ") ");
- } else if (cs != TAILQ_FIRST(&priv->cmndlist)) {
+ sudoers_format_cmndspec(lbuf, parse_tree, cs, NULL, tags, true);
+ } else {
+ /* Continue existing line. */
sudo_lbuf_append(lbuf, ", ");
+ sudoers_format_cmndspec(lbuf, parse_tree, cs, prev_cs, tags,
+ true);
}
- sudoers_format_cmndspec(lbuf, parse_tree, cs, prev_cs, tags, true);
- prev_cs = cs;
nfound++;
}
sudo_lbuf_append(lbuf, "\n");
@@ -719,7 +725,7 @@ display_defaults(struct sudoers_parse_tree *parse_tree, struct passwd *pw,
struct sudo_lbuf *lbuf)
{
struct defaults *d;
- char *prefix;
+ const char *prefix;
int nfound = 0;
debug_decl(display_defaults, SUDOERS_DEBUG_PARSER);
@@ -762,7 +768,7 @@ display_bound_defaults_by_type(struct sudoers_parse_tree *parse_tree,
struct defaults *d;
struct defaults_binding *binding = NULL;
struct member *m;
- char *dsep;
+ const char *dsep;
int atype, nfound = 0;
debug_decl(display_bound_defaults_by_type, SUDOERS_DEBUG_PARSER);
diff --git a/plugins/sudoers/parse.h b/plugins/sudoers/parse.h
index e276faad0..cac32b611 100644
--- a/plugins/sudoers/parse.h
+++ b/plugins/sudoers/parse.h
@@ -150,7 +150,7 @@ struct command_options {
char *role, *type; /* SELinux role and type */
#endif
#ifdef HAVE_APPARMOR
- char *apparmor_profile; /* AppArmor profile */
+ char *apparmor_profile; /* AppArmor profile */
#endif
#ifdef HAVE_PRIV_SET
char *privs, *limitprivs; /* Solaris privilege sets */
@@ -237,7 +237,7 @@ struct cmndspec {
char *role, *type; /* SELinux role and type */
#endif
#ifdef HAVE_APPARMOR
- char *apparmor_profile; /* AppArmor profile */
+ char *apparmor_profile; /* AppArmor profile */
#endif
#ifdef HAVE_PRIV_SET
char *privs, *limitprivs; /* Solaris privilege sets */
diff --git a/plugins/sudoers/po/de.mo b/plugins/sudoers/po/de.mo
index ae40a6aee..4d6260403 100644
--- a/plugins/sudoers/po/de.mo
+++ b/plugins/sudoers/po/de.mo
Binary files differ
diff --git a/plugins/sudoers/po/de.po b/plugins/sudoers/po/de.po
index 3f813136b..8cbf7a008 100644
--- a/plugins/sudoers/po/de.po
+++ b/plugins/sudoers/po/de.po
@@ -6,10 +6,10 @@
# Jochen Hein <jochen@jochen.org>, 2001-2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.11b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-05-27 08:39-0600\n"
-"PO-Revision-Date: 2022-05-29 12:45+0200\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-11 19:01+0200\n"
"Last-Translator: Jochen Hein <jochen@jochen.org>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -20,7 +20,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3\n"
-#: confstr.sh:1 gram.y:1218
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "Syntax-Fehler"
@@ -44,13 +44,13 @@ msgstr "*** Sicherheits-Information für %h ***"
msgid "Sorry, try again."
msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
-#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
-#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
-#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
-#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
-#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
-#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
-#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
@@ -60,50 +60,64 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
-#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
-#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
-#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
-#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
-#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
-#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
-#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
-#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
-#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
-#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
-#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
-#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
-#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
-#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
-#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
+#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
+#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
+#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
+#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
+#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:446
@@ -113,11 +127,11 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1158
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -126,124 +140,125 @@ msgstr "Das hat nicht funktioniert, bitte nochmal probieren."
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
-#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
-#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
-#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
-#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
-#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
-#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
-#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
-#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
-#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
-#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
-#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
-#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
-#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
-#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
-#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
-#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
-#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
-#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
-#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
-#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
+#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "Es kann kein Speicher mehr alloziert werden"
-#: gram.y:622
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "Eine Prüfsumme erfordert einen Pfadnamen"
-#: gram.y:644
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "Werte für »CWD« müssen mit »/«, »~« oder »*« beginnen"
-#: gram.y:650
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr "»CWD« (aktuelles Arbeitsverzeichnis) Pfad ist zu lang"
-#: gram.y:660
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "Werte für »CHROOT« müssen mit »/«, »~« oder »*« beginnen"
-#: gram.y:666
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr "»CHROOT« Pfad ist zu lang"
-#: gram.y:801
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "Syntaxfehler, das reservierte Wort »%s« wird als Aliasname verwendet"
-#: gram.y:824
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "ungültiger Wert für »notbefore«"
-#: gram.y:833
+#: gram.y:834
msgid "invalid notafter value"
msgstr "ungültiger Wert für »notafter«"
-#: gram.y:843 plugins/sudoers/policy.c:376
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "Wert für Timeout ist zu groß"
-#: gram.y:845 plugins/sudoers/policy.c:378
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "ungültiger Wert für Timeout"
-#: gram.y:966 plugins/sudoers/sudoers.c:1014
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr "Der Befehl ist zu lang"
-#: gram.y:1220 plugins/sudoers/check_aliases.c:96
-#: plugins/sudoers/defaults.c:1275
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1270
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Alias »%s« ist bereits definiert"
-#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
@@ -253,33 +268,48 @@ msgstr "Alias »%s« ist bereits definiert"
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
-#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
@@ -309,11 +339,11 @@ msgstr "Alias »%s« ist bereits definiert"
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1157
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -322,46 +352,47 @@ msgstr "Alias »%s« ist bereits definiert"
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
-#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
-#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
-#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
-#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
-#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
-#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
-#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
-#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
-#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
-#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
-#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
-#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
-#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
-#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
-#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
-#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
-#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
-#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
-#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
-#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
-#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
-#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
-#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -374,25 +405,25 @@ msgstr "Alias »%s« ist bereits definiert"
#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
-#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
-#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
-#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
-#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
-#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
-#: toke.l:1226
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -401,14 +432,14 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
-#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
-#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
@@ -451,7 +482,7 @@ msgstr "%8s : %s"
msgid "%8s : (command continued) %s"
msgstr "%8s : (Befehl fortgesetzt) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -566,14 +597,14 @@ msgstr "%s: Das Feld für die »runas«-Gruppe fehlt"
msgid "%s exists but is not a directory (0%o)"
msgstr "%s existiert, aber ist kein Verzeichnis (0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "Das Verzeichnis »%s« kann nicht erstellt werden"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
-#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "Ändern des Modus von %s auf 0%o gescheitert"
@@ -588,151 +619,157 @@ msgstr "Fehler beim Lesen der Zeitdateizeile: %s"
msgid "invalid timing file line: %s"
msgstr "Ungültige Zeitdateizeile: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
-#: plugins/sudoers/policy.c:573
-msgid "unable to generate UUID"
-msgstr "UUID kann nicht generiert werden"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s: Protokollfehker: NULL-Schlüssel"
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr "%s: Protokollfehker: falscher Typ für %s"
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s: Protokollfehker: Wert NULL gefunden in %s"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "UUID kann nicht generiert werden"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr "%s: Protokollfehler: %s fehlt in der AcceptMessage"
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr "%s: Session-ID kann nicht formatiert werden"
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr "%s: %s ist nicht gesetzt"
# Kann die Escape-Sequenzen nicht auflösen?
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr "Kann den iolog-Pfad nicht erweitern: %s"
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr "Kann den iolog-Pfad »%s« nicht erstellen"
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr "Ungültiger I/O Dateideskriptor: %d"
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr "Fehler beim Schließen des I/O Dateideskriptors %d: %s"
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr "Fehler beim Leeren des I/O Dateideskriptors %d: %s"
-#: logsrvd/iolog_writer.c:780
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "Ungültiges I/O log %s: »%s« wird verwendet, ist aber nicht vorhanden"
-#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s; Der Wiederaufsetz-Punkt [%lld, %ld] kann nicht gefunden werden"
-#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
-#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
-#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
-#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr "Die Datei »%s« kann nicht geöffnet werden"
-#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "Die Datei »%s/%s« kann nicht geöffnet werden"
-#: logsrvd/iolog_writer.c:839
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "Fehler beim Kopieren von »%s/%s« nach »%s/%s«: %s"
-#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr "Die Datei »%s« kann nicht in »%s« umbenannt werden"
-#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: Der Wiederaufsetz-Punkt [%lld, %ld] kann nicht gefunden werden"
-#: logsrvd/logsrv_util.c:154
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "Die I/O Logdatei %s/%s fehlt"
-#: logsrvd/logsrv_util.c:161
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: kann nicht zur Position %zu springen"
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr "Verbindung zum Relay kann nicht aufgebaut werden"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr "Server-Nachricht ist zu groß: %zu"
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
-#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
-#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
-#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
-#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
-#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
-#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
-#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
-#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
-#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
-#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
-#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -741,635 +778,660 @@ msgstr "Server-Nachricht ist zu groß: %zu"
msgid "unable to add event to queue"
msgstr "Event kann nicht zur Warteschlange hinzugefügt werden"
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr "Unerwarteter Status %d für %s"
# XXX geht das besser?
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "Fehler der State Machine"
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "ungültige AcceptMessage"
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "ungültige RejectMessage"
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "ungültige ExitMessage"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "ungültige RestartMessage"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "ungültige AlertMessage"
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr "%s: unerwarteter IoBuffer"
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "Protokollfehler"
-#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
-#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
-#: plugins/sudoers/log_client.c:1618
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "Ungültiger IoBuffer"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "ungültige ChangeWindowSize"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "ungültiges CommandSusped"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
#, c-format
msgid "unable to unpack %s size %zu"
msgstr "Kann »%s« nicht auspacken, Größe %zu"
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "unerwarteter type_case Wert %d in »%s« aus »%s«"
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "unbekannter ClientMessage-Typ"
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr "Zeitablauf beim Senden zum Client %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr "Schreib-Puffer fehlt für Client %s"
-#: logsrvd/logsrvd.c:982
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr "Zeitablauf beim Lesen vom Client %s"
-#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "Dateiende (EOF) von %s ohne korrekten TLS-Abscluß"
-#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:716
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr "Client-Nachricht ist zu groß: %zu"
-#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "Client-Nachricht ist zu groß"
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "ungültige ClientMessage"
-#: logsrvd/logsrvd.c:1389
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "Kann die entfernte IP-Adresse nicht finden"
-#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
-#: plugins/sudoers/log_client.c:276
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Kann die User-Daten nicht an das SSL-Objekt anhängen: %s"
-#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "Konnte keinen Socket zum »Lauschen« einrichten"
-#: logsrvd/logsrvd.c:1718
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr "unerwartete Signal %d"
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "sudo Log-Server"
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "Optionen:"
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "Pfad zur Konfigurationsdatei"
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "Hilfe anzeigen und beenden"
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "Nicht zum Hintergrundprozess werden, sondern im Vordergrund laufen"
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "Wahrscheinlichkeit in Prozent für Verbindungsabbruch"
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "Versionsinformation anzeigen und beenden"
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Protobuf-C Version 1.3 oder höher ist notwendig"
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "ungültiger Wert für »random drop«: %s"
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:180
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s Version %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
-#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
-#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "Unbekannter Benutzer %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
-#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr "Unbekannte Gruppe %s"
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr "Iolog mode %s kann nicht geparst werden"
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr "Ungültiger Wert für %s: %s"
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "TLS ist nicht unterstützt"
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s: ist kein voll qualifizierter Pfad"
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr "Unbekannte Syslog-Facility %s"
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr "Unbekannte Syslog-Priorität %s"
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s: %d »[« ohne schliessende Klammer »]«: %s"
# XXX Geht das besser?
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr "%s: %d unsinnige Zeichen nach »]«: %s"
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s/%d Ungültiger Konfigurations-Abschnitt: %s"
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s/%d Ungültige Konfigurationszeile: %s"
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d erwartetder Section Name: %s"
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] ungültiger Schlüssel: %s"
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:1035
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr "Die Protokolldatei kann nicht geöffnet werden %s"
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "Server-SSL-Kontext kann nicht initialisiert werden"
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "SSL-Kontext kann nicht initialisiert werden"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
-#: logsrvd/logsrvd_journal.c:416
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "Kann die Journal-Datei nicht anlegen"
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1020
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr "Die Datei »%s« kann nicht gesperrt werden"
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "Die Journal-Datei »%s« kann nicht gesperrt werden"
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr "Die Journal-Datei kann nicht geöffnet werden"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
-#: logsrvd/logsrvd_journal.c:452
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "In die Logdatei kann nicht geschrieben werden"
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "Die Journal-Datei kann nicht geöffnet werden"
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "unerwartetes Dateiende beim Lesen der Journal-Datei"
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "Fehler beim Lesen der Journal-Datei"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "Ungültige Journal-Datei - kann nicht neu starten"
-#: logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "Kann nicht zu [%lld, %ld] in der Journaldatei »%s« springen"
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "unerwarteter value_case Wert %d in »%s« aus »%s«"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "Fehler beim Parsen der AcceptMessage"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "Fehler beim Erstellen des Ein-/Ausgabe-Protokolls"
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "Fehler beim Protokolliereb des Accept-Events"
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "Fehler beim Parsen der RejectMessage"
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "Fehler beim Protokollieren des Reject-Events"
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr "Fehler beim Protokollieren des Exit-Events"
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "Das Log ist bereits abgeschlossen, kann nicht neu gestartet werden"
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "Das Log konnte nicht wieder begonnen werden"
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "Fehler beim Parsen der AlertMessage"
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "Fehler beim Protokollieren des Alert-Events"
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr "Der Zeitstempel kann nicht formatiert werden, Länge %d"
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr "%s/%s: %s"
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr "Zufällig die Verbindung beenden"
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "Fehler beim Schreiben des IoBuffer"
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "Fehler beim Schreiben der ChangeWindowSize"
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "Fehler beim Schreiben des CommandSusped"
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "TLS-Handshake mit dem Relay-Host fehlgeschlagen"
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "Verbindung zum Relay-Host kann nicht aufgebaut werden"
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: ungültiges ServerHello, fehlende server_id"
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1504
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "ungültiges ServerHello"
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "unbekannter ServerMessage-Typ"
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr "Zeitablauf beim Lesen vom Relay-Server »%s« (%s)"
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "Zeitablauf beim Lesen vom Relay-Server"
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "Der Name des Relay-Hosts passt nicht zum Zertifikat"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
-#: logsrvd/logsrvd_relay.c:784
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "Fehler beim Lesen vom Relay-Host"
-#: logsrvd/logsrvd_relay.c:805
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "Vom Relay-Server kann nicht gelesen werden"
-#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "Der Relay-Server hat die Verbindung geschlossen"
-#: logsrvd/logsrvd_relay.c:838
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "Server-Nachricht ist zu groß"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "Zeitablauf beim Senden an den Relay-Server »%s« (%s)"
-#: logsrvd/logsrvd_relay.c:904
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "Zeitablauf beim Senden an den Relay-Server"
-#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
-#: logsrvd/logsrvd_relay.c:974
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "Fehler beim Schreiben des zum Relay-Server"
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "sende sudo I/O-Log zu einem entfernten Server"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "Nur einen Accept-Event senden (kein I/O)"
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "Zertifikatsbündel-Datei zur Verifikation des Server-Zertifikats"
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "Zertifikatsdatei für TLS-Handshake"
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "Rechner an den die Logs gesendet werden"
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "Entfernte ID des I/O-Logs zum Wiederaufnehmen"
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "Private Schlüsseldatei"
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "Serverzertifikat nicht überprüfen"
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "Portnummer für die Verbindung zum Host"
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "Restarte die vorhergehende I/O-Log Ãœbertragung"
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "Weise das Kommando mit dem angegebenen Grund zurück"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr "Beende den Transfer nach Erreichen dieser Zeit"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "Teste den Audit-Server durch senden ausgewählter I/O-Logs n-Mal parallel"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "Fehler beim Lookup %s:%s: %s"
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "Kann die Server IP-Adresse nicht finden"
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "Fehler beim Lesen %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
-#: plugins/sudoers/iolog.c:1024
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "unerwarteter I/O Event %d"
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
-#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: unerwarteter Status %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "Fehler beim Empfangen der Nachricht vom Server: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "Abbruch-Nachricht vom Server empfangen: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: unerwarteter type_case Wert %d"
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "Zeitablauf beim Lesen vom Server"
-#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
msgid "host name does not match certificate"
msgstr "Der Hostname passt nicht zum Zertifikat"
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "unerwartetes Datei-Ende"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "Server-Nachricht ist zu groß: %u"
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "Zeitablauf beim Senden an den Server"
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "Sowohl Restart-Punkt als auch die I/O-Log ID sind notwendig"
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "Ein Restart-Punkt kann nicht angegeben werden, wenn keine Ein/Ausgabe gesendet ist."
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "Vorzeitig beendet mit Status %d"
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "Abgelaufene Zeit zum Server gesendet [%lld, %ld]"
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "Commit Punkt vom Server empfangen [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "Timeout beim TLS-Handshake erreicht"
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "Konnte den Event nicht setzen"
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "TLS-Kommunikation fehlgeschlagen: %s"
-#: logsrvd/tls_client.c:191
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "Kann kein SSL-Objekt anlegen: %s"
-#: logsrvd/tls_client.c:205
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "Kann den Socket nicht an das SSL-Objekt anhängen: %s"
-#: logsrvd/tls_client.c:233
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr "SSL-Kontext kann nicht initialisiert werden"
-#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "Die TLS 1.2 Cyphersuite kann nicht auf »%s« gesetzt werden: %s"
-#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "Die TLS 1.3 Cyphersuite kann nicht auf »%s« gesetzt werden: %s"
-#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "Kann die Diffie-Hellman Parameter nicht setzen: %s"
-#: logsrvd/tls_init.c:277
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr "SSL-Kontext kann nicht erzeugt werden: %s"
-#: logsrvd/tls_init.c:284
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "Kann die minimale Protokollversion nicht auf TLS 1.2 setzen: %s"
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
-#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
-#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
-#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
-#: plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "Die aktuelle Zeit kann nicht ausgelesen werden"
@@ -1507,7 +1569,7 @@ msgstr "Das Konto ist abgelaufen oder in der PAM-Konfiguration fehlt der »accou
msgid "PAM account management error: %s"
msgstr "Fehler beim PAM-Account-Management: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "Der Benutzer existiert in der %s-Datenbank nicht"
@@ -1580,17 +1642,17 @@ msgstr "Der Audit-Zustand kann nicht bestimmt werden"
msgid "unable to commit audit record"
msgstr "Audit-Satz kann nicht auf Platte geschrieben werden"
-#: plugins/sudoers/check.c:275
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "Fehler beim Lesen der Belehrungsdatei %s"
-#: plugins/sudoers/check.c:278
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "Ignoriere Belehrungsdatei %s: es ist keine reguläre Datei"
-#: plugins/sudoers/check.c:291
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1610,14 +1672,14 @@ msgstr ""
" #3) Mit großer Macht kommt große Verantwortung.\n"
"\n"
-#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
-#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "Unbekannte Benutzer-ID %u"
-#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
msgid "%s: %s\n"
msgstr "%s: %s\n"
@@ -1647,7 +1709,7 @@ msgstr "Start der Folge: %s: %s"
msgid "order padding: %s: %s"
msgstr "Auffüllen der Folge: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s-Grammatik Version %d\n"
@@ -1667,14 +1729,14 @@ msgstr "Nicht unterstütztes Ausgabeformat %s"
msgid "%s: input and output files must be different"
msgstr "%s: Eingabe- und Ausgabedatei müssen unterschiedlich sein"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
-#: plugins/sudoers/visudo.c:969
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "Standardwerte für sudoers können nicht initialisiert werden"
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
@@ -1699,18 +1761,18 @@ msgstr "ungültiger suppression Typ: %s"
msgid "invalid filter: %s"
msgstr "Ungültiger Filter: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "Analyse der Datei %s gescheitert, unbekannter Fehler"
#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "In die Datei »%s« kann nicht geschrieben werden"
-#: plugins/sudoers/cvtsudoers.c:1501
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1719,7 +1781,7 @@ msgstr ""
"%s – zwischen sudoers Dateiformaten konvertieren\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1503
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -2174,361 +2236,385 @@ msgid "Log user's input for the command being run"
msgstr "Benutzereingaben für den ausgeführten Befehl protokollieren"
#: plugins/sudoers/def_data.c:356
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "Standardeingabe des Kommandos protokollieren, wenn kein Terminal angebunden ist"
+
+#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "Benutzereingaben am Terminal für den ausgeführten Befehl protokollieren"
+
+#: plugins/sudoers/def_data.c:364
msgid "Log the output of the command being run"
msgstr "Die Ausgabe des ausgeführten Befehls protokollieren"
-#: plugins/sudoers/def_data.c:360
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "Standardausgabe des Kommandos protokollieren, wenn kein Terminal angebunden ist"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "Standarderror des Kommandos protokollieren, wenn kein Terminal angebunden ist<"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "Die Terminalausgabe des ausgeführten Befehls protokollieren"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "Ein-/Ausgabe-Protokolle mittels zlib protokollieren"
-#: plugins/sudoers/def_data.c:364
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "Befehle immer in einem Pseudo-TTY ausführen"
-#: plugins/sudoers/def_data.c:368
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Plugin für Unterstützung von Nicht-Unix-Gruppen: %s"
-#: plugins/sudoers/def_data.c:372
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Verzeichnis zur Speicherung der Ein-/Ausgabe-Protokolle: %s"
-#: plugins/sudoers/def_data.c:376
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Datei zur Speicherung der Ein-/Ausgabe-Protokolle: %s"
-#: plugins/sudoers/def_data.c:380
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Einen Eintrag in die utmp/utmpx-Datei einfügen, wenn ein Pseudo-TTY erzeugt wird"
-#: plugins/sudoers/def_data.c:384
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Für den Eintrag in der utmp-Datei den runas-Benutzer verwenden, nicht den aufrufenden Benutzer"
-#: plugins/sudoers/def_data.c:388
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Menge der erlaubten Privilegien: %s"
# XXX einschränkenden?
-#: plugins/sudoers/def_data.c:392
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Menge der eingeschränkten Privilegien: %s"
-#: plugins/sudoers/def_data.c:396
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "Befehle mit einem Pseudo-TTY im Hintergrund starten"
-#: plugins/sudoers/def_data.c:400
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "Verwendeter PAM-Service-Name: %s"
-#: plugins/sudoers/def_data.c:404
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "PAM-Service-Name für Anmelde-Shells: %s"
-#: plugins/sudoers/def_data.c:408
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "PAM-Service-Name für sudo-Aufruf mit der Option »-A«: %s"
-#: plugins/sudoers/def_data.c:412
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Versuchen, die PAM-Anmeldedaten für den Ziel-Benutzer zu bekommen"
-#: plugins/sudoers/def_data.c:416
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "Eine neue PAM-Sitzung erzeugen, um den Befehl auszuführen"
-#: plugins/sudoers/def_data.c:420
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "Ausführen vom PAM-Account-Management"
-#: plugins/sudoers/def_data.c:424
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Maximale Sequenznummer des Ein-/Ausgabe-Protokolls: %s"
-#: plugins/sudoers/def_data.c:428
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "Unterstützung für netgroups in sudoers aktivieren"
-#: plugins/sudoers/def_data.c:432
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "Prüfe die übergeordneten Verzeichnisse auf Schreibbarkeit beim Editieren von Dateien mit »sudoedit«"
-#: plugins/sudoers/def_data.c:436
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Folge symbolischen Links beim Editieren von Dateien mit sudoedit"
-#: plugins/sudoers/def_data.c:440
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "Frage das Group-Plugin nach unbekannten System-Gruppen"
-#: plugins/sudoers/def_data.c:444
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Prüfe die Netgroup-Zuordnung aufgrund des gesamten Tupels: Benutzer, Host und Domain"
-#: plugins/sudoers/def_data.c:448
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Erlaubt das Ausführen von Kommandos, auch wenn kein Audit-Log geschrieben werden kann"
-#: plugins/sudoers/def_data.c:452
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Erlaubt das Ausführen von Kommandos, auch wenn kein I/O-Log geschrieben werden kann"
-#: plugins/sudoers/def_data.c:456
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Erlaubt das Ausführen von Kommandos, auch wenn kein Log geschrieben werden kann"
-#: plugins/sudoers/def_data.c:460
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Beim Auflösen von Gruppen in der sudoers nach der Guppen-ID suchen, nicht nach dem Gruppenname"
-#: plugins/sudoers/def_data.c:464
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Log-Einträge größer als dieser Wert werden auf mehrere Syslog Einträge verteilt: %u"
-#: plugins/sudoers/def_data.c:468
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Eigentümer der I/O Logdateien: %s"
-#: plugins/sudoers/def_data.c:472
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Gruppe der I/O Logdateien: %s"
-#: plugins/sudoers/def_data.c:476
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Dateimode der I/O Logdatei: 0%o"
-#: plugins/sudoers/def_data.c:480
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Führe Kommandos mit Hilfe eines Dateideskriptors anstelle des Pfades aus: %s"
-#: plugins/sudoers/def_data.c:484
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignoriere unbekannte Default-Einträge in der Datei »sudoers« anstatt eine Warnung auszugeben"
-#: plugins/sudoers/def_data.c:488
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Laufzeit in Sekunde, nach der das Kommando abgebrochen wird: %u"
-#: plugins/sudoers/def_data.c:492
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "Erlaube dem Benutzer per Kommandozeile einen Timeout anzugeben"
-#: plugins/sudoers/def_data.c:496
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Schreibe Log-Daten direkt ohne zu puffern"
-#: plugins/sudoers/def_data.c:500
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "Protokolliere auch die Prozess-ID beim Schreiben ins Systemlog"
-#: plugins/sudoers/def_data.c:504
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Typ des Authentifizierungszeitstempelprotokolls: %s"
-#: plugins/sudoers/def_data.c:508
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "Fehler bei der Authentifizierung: %s"
-#: plugins/sudoers/def_data.c:512
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "Ignoriere Groß-/Kleinschreibung beim Matchen von Benutzernamen"
-#: plugins/sudoers/def_data.c:516
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "Ignoriere Groß-/Kleinschreibung beim Matchen von Gruppennamen"
-#: plugins/sudoers/def_data.c:520
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "Protokolliere von sudo erlaubte Kommandos"
-#: plugins/sudoers/def_data.c:524
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "Protokolliere von sudo verweigerte Kommandos"
-#: plugins/sudoers/def_data.c:528
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Sudo Log Server mit optionalem Port für die Verbindung"
-#: plugins/sudoers/def_data.c:532
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Sudo Log-Server Timeout in Secunden: %u"
-#: plugins/sudoers/def_data.c:536
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Verwende die SO_KEEPALIVE Socket Option für die Verbindung zum Logserver"
-#: plugins/sudoers/def_data.c:540
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Pfad zur Zertifikats-Bündel-Datei des Audit Servers: %s"
-#: plugins/sudoers/def_data.c:544
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Pfad zur sudoers Zertifikats-Datei: %s"
-#: plugins/sudoers/def_data.c:548
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Pfad zur sudoers Datei mit dem privaten Schlüssel: %s"
-#: plugins/sudoers/def_data.c:552
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "Prüfe das Log-Server-Zertifikat auf Gültigkeit"
-#: plugins/sudoers/def_data.c:556
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Erlaube die Verwendung eines unbekannten »runas« Benutzers oder Gruppen-ID"
-#: plugins/sudoers/def_data.c:560
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "Nur die Ausführung von Kommandos erlauben für Benutzer mit einer gültigen Shell"
-#: plugins/sudoers/def_data.c:564
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "Setze den PAM remote Benutzer auf den Benutzer, der sudo ausführt"
-#: plugins/sudoers/def_data.c:568
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "Setze den PAM remote Rechner auf den lokalen Hostname"
-#: plugins/sudoers/def_data.c:572
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Arbeitsverzeichnis um vor Ausführung des Kommandos dorthin zu wechseln: %s"
-#: plugins/sudoers/def_data.c:576
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Root-Verzeichnis zur Verwendung, bevor ein Befehl ausgeführt wird: %s"
-#: plugins/sudoers/def_data.c:580
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Das Format der zu schreibenden Logs: %s"
-#: plugins/sudoers/def_data.c:584
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "Schalte SELinux RBAC Support ein"
-#: plugins/sudoers/def_data.c:588
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Pfad zur Datei die beim ersten sudo-Lauf erzeugt wird: %s"
-#: plugins/sudoers/def_data.c:592
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "Weitere Kommando abfangen und sudoers Restriktionen auf sie anwenden"
-#: plugins/sudoers/def_data.c:596
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr "Protokolliere von diesem Kommando gestartete Kind-Prozesse"
-#: plugins/sudoers/def_data.c:600
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr "Den Exitcode des ausgeführten Befehls protokollieren"
# XXX Check!
-#: plugins/sudoers/def_data.c:604
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Folgende Kommando in einer nachverfolgten Sitzung müssen authentifiziert werden"
-#: plugins/sudoers/def_data.c:608
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Erlaube einem abgefangenen Kommando die Ausführung von setuid oder setgid Programmen"
-#: plugins/sudoers/def_data.c:612
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Die maximale Größe zu der der Adressbereich des Prozesse wachsen kann (in Bytes): %s"
-#: plugins/sudoers/def_data.c:616
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Die maximale Größe eines erzeugten Core Dumps (in Bytes): %s"
-#: plugins/sudoers/def_data.c:620
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Die maximale CPU Zeit die vom Prozess genutzt werden kann (in Sekunden): %s"
-#: plugins/sudoers/def_data.c:624
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Die maximale Größe des Data Segments für den Prozess (in Bytes): %s"
-#: plugins/sudoers/def_data.c:628
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Die maximale Dateigröße für den Prozess (in Bytes): %s"
-#: plugins/sudoers/def_data.c:632
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Die maximale Anzahl von Sperren des Prozesses: %s"
-#: plugins/sudoers/def_data.c:636
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Die maximale gesperrte Speichergröße des Prozesses (in Bytes): %s"
-#: plugins/sudoers/def_data.c:640
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Die maximale Anzahl offener Dateien des Prozesses: %s"
-#: plugins/sudoers/def_data.c:644
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Die maximale Anzahl von gleichzeitige laufenden Prozessen des Benutzers: %s"
-#: plugins/sudoers/def_data.c:648
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Die maximle Größe des residenten Speichers vom Prozess (in Bytes): %s"
-#: plugins/sudoers/def_data.c:652
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Die maximale Größe des Prozess-Stacks (in Bytes): %s"
-#: plugins/sudoers/def_data.c:656
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Authentifzierung auch im nicht-interaktiven Modus versuchen"
-#: plugins/sudoers/def_data.c:660
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr "Klartext-Passwörter im Ein-Ausgabe-Log als Eingabe protokollieren"
-#: plugins/sudoers/def_data.c:664
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr "Liste von regulären Ausdrücken zum Matchen des Passwort-Prompts"
-#: plugins/sudoers/def_data.c:668
+#: plugins/sudoers/def_data.c:688
#, c-format
msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr "Der Mechanismus für »intercept« und »log_subcmds« Optionen: %s"
-#: plugins/sudoers/def_data.c:672
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "Versuche das Kommando und die Argumente nach der Ausführung zu verifizieren"
+
+#: plugins/sudoers/def_data.c:696
#, c-format
msgid "AppArmor profile to use in the new security context: %s"
msgstr "Im neuen Security-Kontext von AppArmor wird diese Rolle verwendet: %s"
@@ -2563,31 +2649,31 @@ msgstr "Ungültiger »Defaults« Typ 0x%x für Option »%s«"
msgid "value \"%s\" is invalid for option \"%s\""
msgstr "Der Wert »%s« ist für die Option »%s« ungültig"
-#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
-#: plugins/sudoers/policy.c:216
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
msgid "path name for \"%s\" too long"
msgstr "Pfadname für »%s« ist zu lang"
-#: plugins/sudoers/defaults.c:1133
+#: plugins/sudoers/defaults.c:1134
#, c-format
msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr "Werte für »%s« müssen mit »/«, »~« oder »*« beginnen"
-#: plugins/sudoers/defaults.c:1140
+#: plugins/sudoers/defaults.c:1141
#, c-format
msgid "values for \"%s\" must start with a '/'"
msgstr "Werte für »%s« müssen mit einem »/« beginnen"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: envp ist beschädigt, die Längen passen nicht"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "Das Environment kann nicht neu erstellt werden"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "Leider dürfen die folgenden Umgebungsvariablen nicht gesetzt werden: %s"
@@ -2602,27 +2688,27 @@ msgstr "Prüfsummentyp %d wird für %s nicht unterstützt"
msgid "%s: read error"
msgstr "%s: Fehler beim Lesen"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "%s muss der uid %d gehören"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "%s darf nur für den Eigentümer der Datei schreibbar sein"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "Laden von %s fehlgeschlagen: %s"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "Das Symbol »group_plugin« kann in %s nicht gefunden werden"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s: Die Major-Version %d des Group-Plugins ist inkompatibel, erwartet wird %d"
@@ -2645,10 +2731,10 @@ msgstr "Lokale IP-Adresse und Netzmaske:\n"
msgid "unable to update sequence file"
msgstr "Kann die Sequenz-Datei nicht aktualisieren"
-#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
-#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
-#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
-#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "In die I/O Logdatei kann nicht geschrieben werden: %s"
@@ -2658,25 +2744,25 @@ msgstr "In die I/O Logdatei kann nicht geschrieben werden: %s"
msgid "unable to create %s/%s"
msgstr "Die Datei %s%s kann nicht erstellt werden"
-#: plugins/sudoers/iolog.c:955
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: Interner Fehler, Logdatei für Event %d nicht geöffnet"
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
-#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
-#: plugins/sudoers/visudo.c:552
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "Die Uhrzeit kann nicht ausgelesen werden"
-#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
-#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: Interner Fehler, ungültiges Signal %d"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "starttls wird für ldaps nicht unterstützt"
@@ -2699,7 +2785,7 @@ msgstr "LDAP kann nicht initialisiert werden: %s"
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls ist angegeben, aber die LDAP-Bibliotheken unterstützen ldap_start_tls_s() und ldap_start_tls_s_np() nicht"
-#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "Ungültiges »sudoOrder« Attribut: %s"
@@ -2709,12 +2795,12 @@ msgstr "Ungültiges »sudoOrder« Attribut: %s"
msgid "%s: port too large"
msgstr "%s: Portnummer ist zu groß"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "LDAP-Adresstyp wird nicht unterstützt: %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "ldap- und ldaps-Adressen können nicht zusammen verwendet werden"
@@ -2739,113 +2825,113 @@ msgstr "Das Audit-System kann nicht geöffnet werden"
msgid "unable to send audit message"
msgstr "Die Audit-Nachricht kann nicht gesendet werden"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
-#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "Fehler in der Event-Schleife"
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Erzeugen eines neuen SSL_CTX Objektes fehlgeschlagen: %s"
-#: plugins/sudoers/log_client.c:225
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "Kann das CA-Bundle »%s« nicht laden"
-#: plugins/sudoers/log_client.c:247
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "Laden von Zertifikat »%s« fehlgeschlagen"
-#: plugins/sudoers/log_client.c:261
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "Laden des privaten Schlüssels »%s« fehlgeschlagen"
-#: plugins/sudoers/log_client.c:270
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Kann kein SSL-Objekt anlegen: %s"
-#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "TLS Verbindung zu %s:%s fehlgeschlagen: %s"
-#: plugins/sudoers/log_client.c:538
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "TLS Initialisierung war nicht erfolgreich"
-#: plugins/sudoers/log_client.c:548
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "TLS Handshake war nicht erfolgreich"
-#: plugins/sudoers/log_client.c:1246
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: Interner Fehler, ungültiger Exit-Status %d"
-#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "Verbindung zum Logserver verloren"
-#: plugins/sudoers/log_client.c:1876
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "Schreib-Puffer fehlt"
-#: plugins/sudoers/log_client.c:2024
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "Verbindung zum Logserver kann nicht aufgebaut werden"
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "Der Benutzer ist NICHT in der sudoers-Datei enthalten"
-#: plugins/sudoers/logging.c:300
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "Der Benutzer ist NICHT auf dem Rechner autorisiert"
-#: plugins/sudoers/logging.c:302
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "Der Befehl ist nicht erlaubt"
-#: plugins/sudoers/logging.c:323
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr ""
"»%s« ist nicht in der sudoers-Datei.\n"
"\n"
-#: plugins/sudoers/logging.c:326
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "»%s« darf sudo auf dem Rechner »%s« nicht ausführen.\n"
-#: plugins/sudoers/logging.c:329
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Leider darf der Benutzer %s sudo für %s nicht verwenden.\n"
-#: plugins/sudoers/logging.c:332
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Leider darf der Benutzer %s »%s%s%s« als %s%s%s auf %s nicht ausführen.\n"
-#: plugins/sudoers/logging.c:342
+#: plugins/sudoers/logging.c:334
msgid "This incident has been reported to the administrator.\n"
msgstr "Dieser Vorfall wurde an den Administrator gemeldet.\n"
-#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
-#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
-#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
-#: plugins/sudoers/sudoers.c:801
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s: Befehl nicht gefunden"
-#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2854,31 +2940,31 @@ msgstr ""
"Im aktuellen Verzeichnis ».« gefundenes »%s« wird ignoriert.\n"
"Verwenden Sie »sudo ./%s«, wenn dies der gewünschte Befehl »%s« ist."
-#: plugins/sudoers/logging.c:395
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] "%u Fehlversuch bei der Passwort-Eingabe"
msgstr[1] "%u Fehlversuche bei der Passwort-Eingabe"
-#: plugins/sudoers/logging.c:485
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "Fehler bei der Authentifizierung"
-#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "Ein Passwort ist notwendig"
-#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
msgid "problem parsing sudoers"
msgstr "Problem beim Auswerten der sudoers-Datei"
-#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
msgid "%s:%d:%d: %s"
msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:1068
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "In die Logdatei kann nicht geschrieben werden: %s"
@@ -2893,7 +2979,7 @@ msgstr "Prüfsumme für %s (%s) ungültige Länge %zu, %zu erwartet"
msgid "digest for %s (%s) is not in %s form"
msgstr "Prüfsumme für %s (%s) ist nicht in der Form %s"
-#: plugins/sudoers/parse.c:585
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2902,7 +2988,7 @@ msgstr ""
"\n"
"LDAP-Rolle: %s\n"
-#: plugins/sudoers/parse.c:588
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2910,110 +2996,110 @@ msgstr ""
"\n"
"Sudoers-Eintrag:\n"
-#: plugins/sudoers/parse.c:590
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " RunAsUsers: "
-#: plugins/sudoers/parse.c:605
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " RunAsGroups: "
-#: plugins/sudoers/parse.c:615
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " Optionen: "
-#: plugins/sudoers/parse.c:679
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " Befehle:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Passende Defaults-Einträge für %s auf %s:\n"
-#: plugins/sudoers/parse.c:888
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Runas und befehlsspezifische Standardwerte für %s:\n"
-#: plugins/sudoers/parse.c:906
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Der Benutzer %s darf die folgenden Befehle auf %s ausführen:\n"
-#: plugins/sudoers/parse.c:921
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Der Benutzer %s darf sudo auf dem Rechner %s nicht ausführen.\n"
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "ignoriere die unvollständige sudoRole: cn: %s"
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "Ungültiges LDIF-Attribut: %s"
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "ungültige Option »%.*s« durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "Die Netzwerkadressliste kann nicht eingelesen werden"
-#: plugins/sudoers/policy.c:508
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "Benutzername nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:512
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "User-ID nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:516
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "Gruppen-ID nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:520
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "Hostname nicht durch das sudo-Frontend angegeben"
-#: plugins/sudoers/policy.c:706
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "Ungültiges Arbeitsverzeichnis: %s"
-#: plugins/sudoers/policy.c:886
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "Ungültiges »chroot« Verzeichnis: %s"
-#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "%s kann nicht ausgeführt werden"
-#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
-#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: ungültige Mode-Flags vom sudo-Frontend: 0x%x"
-#: plugins/sudoers/policy.c:1262
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Sudoers-Policy-Plugin Version %s\n"
-#: plugins/sudoers/policy.c:1264
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Sudoers-Datei-Grammatik-Version %d\n"
-#: plugins/sudoers/policy.c:1268
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -3022,27 +3108,27 @@ msgstr ""
"\n"
"Sudoers-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1271
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "nsswitch-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1273
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ldap.conf-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ldap.secret-Pfad: %s\n"
-#: plugins/sudoers/policy.c:1307
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "Der Hook vom Typ %d kann nicht registriert werden (Version %d.%d)"
-#: plugins/sudoers/policy.c:1325
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "Der Hook vom Typ %d kann nicht deregistriert werden (Version %d.%d)"
@@ -3181,148 +3267,142 @@ msgstr "Die SSS-Quelle kann nicht initialisiert werden. Ist SSSD auf dem Rechner
msgid "unable to find symbol \"%s\" in %s"
msgstr "Das Symbol »%s« kann in %s nicht gefunden werden"
-#: plugins/sudoers/sudoers.c:258
+#: plugins/sudoers/sudoers.c:263
#, c-format
msgid "unable to get defaults from %s"
msgstr "Kann die Defaults von »%s« nicht bekommen"
-#: plugins/sudoers/sudoers.c:265
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "Keine gültige sudoers-Quelle gefunden, Programmende"
-#: plugins/sudoers/sudoers.c:341
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "Der Benutzer darf das root-Verzeichnis nicht auf »%s« ändern"
-#: plugins/sudoers/sudoers.c:343
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "Sie dürfen die Option -R nicht mit dem Kommando »%s« verwenden"
-#: plugins/sudoers/sudoers.c:368
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "Der Benutzer darf das Verzeichnis nicht auf %s ändern"
-#: plugins/sudoers/sudoers.c:369
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "Sie dürfen die Option -C nicht mit dem Kommando »%s« verwenden"
-#: plugins/sudoers/sudoers.c:396
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "Kein Kommando angegeben"
-#: plugins/sudoers/sudoers.c:421
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers gibt an, dass root sudo nicht verwenden darf"
-#: plugins/sudoers/sudoers.c:471
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "Der Benutzer darf das »closefrom«-Limit nicht überschreiben"
-#: plugins/sudoers/sudoers.c:472
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "Sie dürfen die Option -C nicht verwenden"
-#: plugins/sudoers/sudoers.c:532
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "Zeitstempelbesitzer (%s): Benutzer existiert nicht"
-#: plugins/sudoers/sudoers.c:547
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "Kein tty"
-#: plugins/sudoers/sudoers.c:548
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "Sie müssen ein TTY haben, um sudo zu verwenden"
-#: plugins/sudoers/sudoers.c:555
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "Ungültiger Shell für den Benutzer %s: %s"
-#: plugins/sudoers/sudoers.c:638
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "Befehl ist im aktuellen Verzeichnis"
-#: plugins/sudoers/sudoers.c:653
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "»cd\"« ist ein Shell-internes Kommando, das nicht direkt gestartet werden kann."
-#: plugins/sudoers/sudoers.c:655
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr "Die Option »-s« kann zum Start einer privilegierten Shell verwendet werden."
-#: plugins/sudoers/sudoers.c:657
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr "Die Option »-D« kann zum Start des Programms im angegebenen Verzeichnis verwendet werden."
-#: plugins/sudoers/sudoers.c:666
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "Der Benutzer darf keinen Kommand-Timeout angeben"
-#: plugins/sudoers/sudoers.c:668
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "Sie dürfen keinen Timeout angeben"
-#: plugins/sudoers/sudoers.c:676
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "Der Benutzer darf das Environment nicht erhalten"
-#: plugins/sudoers/sudoers.c:678
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "Sie dürfen das Environment nicht erhalten"
-#: plugins/sudoers/sudoers.c:1053
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "»sudoedit« muss nicht mittels »sudo« aufgerufen werden"
-#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "Die Datei »%s« kann nicht gelesen werden"
-#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
-#: plugins/sudoers/visudo.c:764
-#, c-format
-msgid "unable to stat %s"
-msgstr "stat konnte nicht auf %s angewendet werden"
-
-#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%s ist keine reguläre Datei"
-#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s gehört UID %u, sollte UID %u gehören"
-#: plugins/sudoers/sudoers.c:1147 toke.l:1252
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s ist für alle beschreibbar (world writable)"
-#: plugins/sudoers/sudoers.c:1151 toke.l:1255
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s gehört GID %u, sollte allerdings %u gehören"
-#: plugins/sudoers/sudoers.c:1184
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "Nur root kann »-c %s« verwenden"
-#: plugins/sudoers/sudoers.c:1203
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr "Unbekannte Anmeldeklasse »%s«"
-#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "Hostname %s kann nicht aufgelöst werden"
@@ -3422,17 +3502,17 @@ msgstr "Ungültiges nachgestelltes »!«"
msgid "unknown search type %d"
msgstr "Unbekannter Suchtyp %d"
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "Aufruf: %s [-hnRS] [-d Verzeichnis] [-m Max_Wartezeit] [-s Geschwindigkeitsfaktor] ID\n"
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "Aufruf: %s [-h] [-d Verzeichnis] -l [Suchausdruck]\n"
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -3441,7 +3521,7 @@ msgstr ""
"%s – sudo-Sitzungsprotokolle abspielen\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3502,127 +3582,122 @@ msgstr ""
"\n"
"Befehl nicht erkannt"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%s ist für die Gruppe beschreibbar"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "Die Zeitstempeldatei kann nicht auf %lld Bytes abgeschnitten werden"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "Zeitstempel aus der Zukunft wird ignoriert"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "Zeitstempel ist zu weit in der Zukunft: %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "Die Zeitstempeldatei »%s« kann nicht gesperrt werden"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "Pfad zur Belehrung ist zu lang: %s/%s"
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "»sudoedit« sollte nicht mit einem Pfad angegeben werden"
-#: plugins/sudoers/visudo.c:249
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "Die Option »-x» wird in einer zukünftigen Version entfernt"
-#: plugins/sudoers/visudo.c:251
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "Bitte verwenden Sie stattdessen das Programm »cvtsudoers«"
-#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "Drücken Sie die Eingabetaste, um %s zu bearbeiten: "
-#: plugins/sudoers/visudo.c:321
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr "Inhalt der Editor-Sitzung bleibt in »%s« erhalten"
-#: plugins/sudoers/visudo.c:397
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "Der angegebene Editor (%s) ist nicht vorhanden"
-#: plugins/sudoers/visudo.c:399
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "Kein Editor gefunden (Pfad zum Editor = %s)"
-#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "stat konnte nicht auf %s angewendet werden"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "Schreibfehler"
-#: plugins/sudoers/visudo.c:559
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "Anwenden von stat auf die temporäre Datei (%s) gescheitert, %s ist unverändert"
-#: plugins/sudoers/visudo.c:566
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "Leere temporäre Datei (%s), %s ist unverändert"
-#: plugins/sudoers/visudo.c:572
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "Editor-Aufruf (%s) ist gescheitert, %s ist unverändert"
-#: plugins/sudoers/visudo.c:594
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s unverändert"
-#: plugins/sudoers/visudo.c:639
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "Erneutes Öffnen der temporären Datei (%s) gescheitert, %s ist unverändert."
-#: plugins/sudoers/visudo.c:652
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "Analyse der temporären Datei (%s) gescheitert, unbekannter Fehler"
-#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "Festlegen von (uid, gid) von %s auf (%u, %u) gescheitert"
-#: plugins/sudoers/visudo.c:803
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s und %s befinden sich nicht im gleichen Dateisystem, werden mit mv umbenannt"
-#: plugins/sudoers/visudo.c:814
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "Befehl gescheitert: »%s %s %s«, %s unverändert"
-#: plugins/sudoers/visudo.c:821
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "Fehler beim Umbenennen von %s, %s unverändert"
-#: plugins/sudoers/visudo.c:841
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "Was jetzt? "
-#: plugins/sudoers/visudo.c:855
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3634,42 +3709,42 @@ msgstr ""
" Beenden, ohne die Änderungen an der sudoers-Datei zu speichern (mit x)\n"
" Beenden und Änderungen an der sudoers-Datei speichern (mit Q, VORSICHT!)\n"
-#: plugins/sudoers/visudo.c:901
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "%s konnte nicht ausgeführt werden"
-#: plugins/sudoers/visudo.c:932
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: Falsche Besitzer-(uid, gid), sollte (%u, %u) sein\n"
-#: plugins/sudoers/visudo.c:943
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: Falsche Zugriffsrechte, sollte Modus 0%o sein\n"
-#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: Analyse OK\n"
-#: plugins/sudoers/visudo.c:1017
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%s ist in Verwendung, versuchen Sie es später erneut"
# XXX
-#: plugins/sudoers/visudo.c:1021
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "Trotzdem ändern? [y/N]"
-#: plugins/sudoers/visudo.c:1117
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Warnung: %s:%d:%d: nicht verwendet: %s »%s«"
-#: plugins/sudoers/visudo.c:1229
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3678,25 +3753,27 @@ msgstr ""
"%s – Die sudoers-Datei sicher bearbeiten\n"
"\n"
-#: plugins/sudoers/visudo.c:1231
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
msgstr ""
"\n"
"Optionen:\n"
-" -c, --check nur den Prüf-Modus verwenden\n"
-" -f, --file=sudoers gibt den Namen der sudoers Datei an\n"
-" -h, --help diese Hilfe anzeigen und beenden\n"
-" -q, --quiet weniger ausführliche Syntaxfehler-Meldungen\n"
-" -s, --strict strikte Syntax-Prüfung\n"
-" -V, --version Versionsinformation anzeigen und beenden\n"
+" -c, --check nur den Prüf-Modus verwenden\n"
+" -f, --file=sudoers gibt den Namen der sudoers Datei an\n"
+" -h, --help diese Hilfe anzeigen und beenden\n"
+" -I, --no-includes Include-Dateien nicht editieren\n"
+" -q, --quiet weniger ausführliche Syntaxfehler-Meldungen\n"
+" -s, --strict strikte Syntax-Prüfung\n"
+" -V, --version Versionsinformation anzeigen und beenden\n"
#: toke.l:189
msgid "empty string"
diff --git a/plugins/sudoers/po/fr.mo b/plugins/sudoers/po/fr.mo
index b135c7e1d..1c345360a 100644
--- a/plugins/sudoers/po/fr.mo
+++ b/plugins/sudoers/po/fr.mo
Binary files differ
diff --git a/plugins/sudoers/po/fr.po b/plugins/sudoers/po/fr.po
index 798bf040d..d6e29d090 100644
--- a/plugins/sudoers/po/fr.po
+++ b/plugins/sudoers/po/fr.po
@@ -5,10 +5,10 @@
# Frédéric Marchal <fmarchal@perso.be>, 2022
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.11b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-05-27 08:39-0600\n"
-"PO-Revision-Date: 2022-05-29 12:13+0200\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-12 14:05+0200\n"
"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n >= 2);\n"
-#: confstr.sh:1 gram.y:1218
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "erreur de syntaxe"
@@ -42,13 +42,13 @@ msgstr "*** Informations de sécurité pour %h ***"
msgid "Sorry, try again."
msgstr "Désolé, essayez de nouveau."
-#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
-#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
-#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
-#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
-#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
-#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
-#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
@@ -58,50 +58,64 @@ msgstr "Désolé, essayez de nouveau."
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
-#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
-#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
-#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
-#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
-#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
-#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
-#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
-#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
-#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
-#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
-#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
-#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
-#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
-#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
-#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
+#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
+#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
+#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
+#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
+#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:446
@@ -111,11 +125,11 @@ msgstr "Désolé, essayez de nouveau."
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1158
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -124,124 +138,125 @@ msgstr "Désolé, essayez de nouveau."
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
-#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
-#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
-#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
-#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
-#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
-#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
-#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
-#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
-#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
-#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
-#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
-#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
-#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
-#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
-#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
-#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
-#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
-#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
-#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
-#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
+#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "impossible d'allouer la mémoire"
-#: gram.y:622
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "un résumé (digest) nécessite un chemin d'accès"
-#: gram.y:644
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "les valeurs de « CWD » doivent commencer par « / », « ~ » ou « * »"
-#: gram.y:650
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr "chemin trop long pour « CWD »"
-#: gram.y:660
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "les valeurs de « CHROOT » doivent commencer par « / », « ~ » ou « * »"
-#: gram.y:666
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr "chemin trop long pour « CHROOT »"
-#: gram.y:801
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "erreur de syntaxe, le mot réservé %s est utilisé comme un nom de synonyme"
-#: gram.y:824
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "valeur « notbefore » (pas avant) invalide"
-#: gram.y:833
+#: gram.y:834
msgid "invalid notafter value"
msgstr "valeur « notafter » (pas après) invalide"
-#: gram.y:843 plugins/sudoers/policy.c:376
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "valeur trop grande pour le délai d'expiration"
-#: gram.y:845 plugins/sudoers/policy.c:378
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "valeur invalide pour le délai d'expiration"
-#: gram.y:966 plugins/sudoers/sudoers.c:1014
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr "commande trop longue"
-#: gram.y:1220 plugins/sudoers/check_aliases.c:96
-#: plugins/sudoers/defaults.c:1275
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1270
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "L'alias « %s » est déjà défini"
-#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
@@ -251,33 +266,48 @@ msgstr "L'alias « %s » est déjà défini"
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
-#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
@@ -307,11 +337,11 @@ msgstr "L'alias « %s » est déjà défini"
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1157
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -320,46 +350,47 @@ msgstr "L'alias « %s » est déjà défini"
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
-#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
-#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
-#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
-#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
-#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
-#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
-#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
-#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
-#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
-#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
-#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
-#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
-#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
-#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
-#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
-#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
-#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
-#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
-#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
-#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
-#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
-#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
-#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -372,25 +403,25 @@ msgstr "L'alias « %s » est déjà défini"
#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
-#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
-#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
-#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
-#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
-#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
-#: toke.l:1226
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s : %s"
@@ -399,14 +430,14 @@ msgstr "%s : %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
-#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
-#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
@@ -449,7 +480,7 @@ msgstr "%8s : %s"
msgid "%8s : (command continued) %s"
msgstr "%8s : (suite de la commande) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -564,14 +595,14 @@ msgstr "%s: il manque le champ précisant le groupe effectif (runas)"
msgid "%s exists but is not a directory (0%o)"
msgstr "%s existe mais n'est pas un répertoire (0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "création du répertoire (mkdir) %s impossible"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
-#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "impossible de changer le mode de %s pour lui affecter 0%o"
@@ -586,150 +617,156 @@ msgstr "erreur de lecture dans le fichier de timing : %s"
msgid "invalid timing file line: %s"
msgstr "ligne invalide dans le fichier de timing : %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
-#: plugins/sudoers/policy.c:573
-msgid "unable to generate UUID"
-msgstr "impossible de générer le UUID"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s : erreur de protocole : clé NULL"
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr "%s : erreur de protocole : mauvais type pour %s"
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s : erreur de protocole : valeur NULL trouvée dans %s"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "impossible de générer le UUID"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr "%s : erreur de protocole : %s est manquant dans AcceptMessage"
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr "%s : impossible de formater l'id de session"
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr "%s : %s n'est pas défini"
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr "impossible de développer le chemin iolog %s"
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr "impossible de créer le chemin iolog %s"
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr "iofd %d invalide"
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr "erreur à la fermeture du iofd %d : %s"
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr "erreur lors de la vidange du iofd %d : %s"
-#: logsrvd/iolog_writer.c:780
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "journal E/S %s invalide : il est fait référence à %s alors qu'il n'est pas présent"
-#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s : impossible de trouver le point de redémarrage [%lld, %ld]"
-#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
-#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
-#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
-#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr "ouverture de %s impossible"
-#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "ouverture de %si/%s impossible"
-#: logsrvd/iolog_writer.c:839
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "impossible de copier %s/%s vers %s/%s : %s"
-#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr "impossible de renommer %s en %s"
-#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s : impossible de trouver le point de redémarrage [%lld, %ld]"
-#: logsrvd/logsrv_util.c:154
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "fichier du journal E/S %s/%s manquant"
-#: logsrvd/logsrv_util.c:161
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s : impossible d'examiner vers l'avant de %zu"
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr "impossible de se connecter au relai"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr "message serveur trop grand : %zu"
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
-#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
-#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
-#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
-#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
-#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
-#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
-#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
-#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
-#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
-#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
-#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -738,633 +775,658 @@ msgstr "message serveur trop grand : %zu"
msgid "unable to add event to queue"
msgstr "impossible d'ajouter l'événement à la queue"
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr "état %d inattendu pour %s"
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "erreur de la machine à états"
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "AcceptMessage invalide"
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "RejectMessage invalide"
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "ExitMessage invalide"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "RestartMessage invalide"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "AlertMessage invalide"
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr "%s : IoBuffer inattendu"
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "erreur protocole"
-#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
-#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
-#: plugins/sudoers/log_client.c:1618
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "IoBuffer invalide"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "ChangeWindowSize invalide"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "CommandSuspend invalide"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
#, c-format
msgid "unable to unpack %s size %zu"
msgstr "impossible de décompresser %s avec une taille de %zu"
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "valeur type_case %d inattendue dans %s de %s"
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "type de ClientMessage non reconnu"
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr "délai d'attente expiré durant l'écriture vers le client %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr "tampon d'écriture manquant pour le client %s"
-#: logsrvd/logsrvd.c:982
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr "délai d'attente expiré durant la lecture depuis le client %s"
-#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "Fin de fichier reçu de %s sans suivre la procédure d'arrêt TLS"
-#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:716
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr "message client trop grand : %zu"
-#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "message client trop grand"
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "ClientMessage invalide"
-#: logsrvd/logsrvd.c:1389
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "impossible d'obtenir l'adresse IP distante"
-#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
-#: plugins/sudoers/log_client.c:276
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Impossible d'attacher les données utilisateur à l'objet ssl : %s"
-#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "configuration du socket d'écoute impossible"
-#: logsrvd/logsrvd.c:1718
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr "signal %d inattendu"
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "serveur de journalisation de sudo"
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "Options :"
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "chemin du fichier de configuration"
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "afficher le message d'aide et quitter"
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "ne pas cloner, exécuter à l'avant plan"
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "pourcentage de chance que les connections soient abandonnées"
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "afficher l'information de version et quitter"
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Version 1.3 ou supérieure de Protobuf-C requise"
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "valeur d'abandon aléatoire invalide : %s"
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:180
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s version %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
-#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
-#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "utilisateur %s inconnu"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
-#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr "groupe %s inconnu"
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr "impossible d'analyser le mode iolog %s"
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr "valeur invalide pour %s : %s"
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "TLS non supporté"
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s  n'est pas un chemin totalement défini"
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr "catégorie syslog %s inconnue"
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr "priorité syslog %s inconnue"
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d « [ » sans correspondant : %s"
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr "%s:%d charabia après « ] » : %s"
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s:%d section de configuration invalide : %s"
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d ligne de configuration invalide : %s"
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d nom de section attendu : %s"
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] clé illégale : %s"
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:1035
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr "ouverture du fichier de journalisation %s impossible"
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "impossible d'initialiser le contexte TLS du serveur : %s"
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "impossible d'initialiser le contexte TLS du relai : %s"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
-#: logsrvd/logsrvd_journal.c:416
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "impossible de créer le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1020
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr "impossible de verrouiller %s"
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "verrouillage du fichier de journalisation impossible : %s"
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr "impossible d'ouvrir le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
-#: logsrvd/logsrvd_journal.c:452
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "impossible d'écrire le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "impossible de renommer le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "fin de fichier inattendue en lisant le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "erreur de lecture dans le fichier de journalisation"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "fichier de journalisation invalide, impossible de redémarrer"
-#: logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "impossible de déplacer le pointeur vers [%lld, %ld] dans le fichier de journalisation %s"
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "valeur value_case %d inattendue dans %s de %s"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "erreur de l'analyse de AcceptMessage"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "erreur lors de la création du journal des E/S"
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "erreur en écrivant l'événement d'acceptation dans le journal"
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "erreur de l'analyse de RejectMessage"
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "erreur en écrivant l'événement de rejet dans le journal"
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr "erreur lors de l'écriture de l'événement de sortie dans le journal"
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "l'enregistrement du journal est déjà terminé, impossible de redémarrer"
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "impossible de redémarrer l'enregistrement du journal"
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "erreur de l'analyse de AlertMessage"
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "erreur lors de l'écriture de l'événement d'alerte dans le journal"
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr "impossible de formater le tampon de minutage, longueur %d"
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr "%s/%s : %s"
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr "connexion abandonnée aléatoirement"
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "erreur d'écriture dans IoBuffer"
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "erreur de l'écriture de ChangeWindowSize"
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "erreur de l'écriture de CommandSuspend"
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "la négociation TLS avec l'hôte relai a échouée"
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "impossible de se connecter à l'hôte relai"
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s : ServerHello invalide, le server_id manque"
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1504
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "ServerHello invalide"
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "type de ServerMessage non reconnu"
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr "délai d'attente expiré durant la lecture depuis le relai %s (%s)"
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "délai d'attente expiré durant la lecture depuis le relai"
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "le nom de l'hôte relai ne correspond pas au certificat"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
-#: logsrvd/logsrvd_relay.c:784
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "erreur de lecture depuis le relai"
-#: logsrvd/logsrvd_relay.c:805
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "impossible de lire depuis le relai"
-#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "le serveur relai a fermé la connexion"
-#: logsrvd/logsrvd_relay.c:838
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "message serveur trop grand"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "délai d'attente expiré durant l'écriture vers le relai %s (%s)"
-#: logsrvd/logsrvd_relay.c:904
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "délai d'attente expiré durant l'écriture vers le relai"
-#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
-#: logsrvd/logsrvd_relay.c:974
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "erreur d'écriture dans le relai"
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "envoyer le journal des E/S de sudo au serveur distant"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "uniquement envoyer un événement d'acceptation (pas d'E/S)"
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "fichier de trousseau de certificats pour vérifier le certificat du serveur"
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "fichier de certificat pour la négociation TLS"
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "hôte auquel envoyer les journaux"
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "ID distant du journal des E/S à compléter"
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "fichier de clé privée"
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "ne pas vérifier le certificat du serveur"
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "port à utiliser lors de la connexion à l'hôte"
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "redémarrer le transfert de journaux E/S précédent"
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "rejeter la commande avec la raison fournie"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr "arrêter le transfert après avoir atteint ce temps"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "tester le serveur d'audit en envoyant le journal des E/S sélectionné n fois en parallèle"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "impossible de rechercher %s:%s : %s"
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "impossible d'obtenir l'adresse IP du serveur"
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "impossible de lire %s/%s : %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
-#: plugins/sudoers/iolog.c:1024
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "événement d'E/S %d inattendu"
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
-#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: état %d inattendu"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "message d'erreur reçu du serveur : %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "message d'interruption reçu du serveur : %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: valeur type_case %d inattendue"
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "délai d'attente expiré durant la lecture depuis le serveur"
-#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
msgid "host name does not match certificate"
msgstr "le nom de l'hôte ne correspond pas au certificat"
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "fin de fichier prématurée"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "message serveur trop grand : %u"
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "délai d'attente expiré durant l'écriture vers le serveur"
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "le point de redémarrage et le ID iolog doivent être spécifiés tous les deux"
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "un point de redémarrage ne peut pas être placé quand aucune E/S est envoyée"
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "terminé prématurément avec l'état %d"
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "temps écoulé envoyé au serveur [%lld, %ld]"
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "point d'enregistrement reçu du serveur [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "le délai de la négociation TLS a expiré"
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "impossible de définir l'événement"
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "la communication TLS a échoué : %s"
-#: logsrvd/tls_client.c:191
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "impossible d'allouer l'objet ssl : %s"
-#: logsrvd/tls_client.c:205
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "Impossible d'attacher le socket à l'objet ssl : %s"
-#: logsrvd/tls_client.c:233
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr "impossible d'initialiser le contexte TLS"
-#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "impossible de sélectionner la suite de chiffrement %s pour TLS 1.2 : %s"
-#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "impossible de sélectionner la suite de chiffrement %s pour TLS 1.3 : %s"
-#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "impossible de définir les paramètres diffie-hellman : %s"
-#: logsrvd/tls_init.c:277
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr "impossible de créer le contexte TLS : %s"
-#: logsrvd/tls_init.c:284
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "impossible de définir TLS 1.2 comme étant la version minimale du protocole : %s"
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
-#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
-#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
-#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
-#: plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "récupération de l'heure du jour impossible"
@@ -1501,7 +1563,7 @@ msgstr "Le compte a expiré, ou la section « account » du module PAM n'est p
msgid "PAM account management error: %s"
msgstr "Erreur de gestion du compte PAM : %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "votre compte n'existe pas dans la base de données %s"
@@ -1574,17 +1636,17 @@ msgstr "Identification de la condition d'audit impossible"
msgid "unable to commit audit record"
msgstr "impossible d'enregistrer l'enregistrement d'audit"
-#: plugins/sudoers/check.c:275
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "erreur de lecture dans le fichier des recommandations d'usage : %s"
-#: plugins/sudoers/check.c:278
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "le fichier des recommandations d'usage %s est ignoré : il n'est pas un fichier ordinaire"
-#: plugins/sudoers/check.c:291
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1604,14 +1666,14 @@ msgstr ""
" #3) De grands pouvoirs confèrent de grandes responsabilités.\n"
"\n"
-#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
-#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "identifiant utilisateur %u inconnu"
-#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
msgid "%s: %s\n"
msgstr "%s : %s\n"
@@ -1641,7 +1703,7 @@ msgstr "ordre de départ : %s : %s"
msgid "order padding: %s: %s"
msgstr "remplissage de l'ordre : %s : %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "Version de la grammaire de %s : %d\n"
@@ -1661,14 +1723,14 @@ msgstr "format de sortie %s non supporté"
msgid "%s: input and output files must be different"
msgstr "%s : les fichiers d'entrée et de sortie doivent être différents"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
-#: plugins/sudoers/visudo.c:969
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "initialisation des valeurs par défaut de sudoers impossible"
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s : %s : %s : %s"
@@ -1693,18 +1755,18 @@ msgstr "type de suppression invalide : %s"
msgid "invalid filter: %s"
msgstr "filtre invalide : %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "échec lors de l'analyse grammaticale de %s, erreur inconnue"
#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "écriture impossible dans %s"
-#: plugins/sudoers/cvtsudoers.c:1501
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1713,7 +1775,7 @@ msgstr ""
"%s - convertir entre des formats de fichiers sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1503
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -2165,362 +2227,386 @@ msgstr "L'umask indiqué dans sudoers se substituera à celui de l'utilisateur,
#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
-msgstr "Consignation des saisies des utilisateur dans le journal pour la commande en cours d'exécution"
+msgstr "Consignation des saisies de l'utilisateur dans le journal pour la commande en cours d'exécution"
#: plugins/sudoers/def_data.c:356
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "Consigne l'entrée standard de la commande dans le journal si elle n'est pas connectée à un terminal"
+
+#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "Consignation des saisies du terminal de l'utilisateur dans le journal pour la commande en cours d'exécution"
+
+#: plugins/sudoers/def_data.c:364
msgid "Log the output of the command being run"
msgstr "Consignation du retour de la commande en cours d'exécution dans le journal"
-#: plugins/sudoers/def_data.c:360
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "Consigne la sortie standard de la commande dans le journal si elle n'est pas connectée à un terminal"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "Consigne l'erreur standard de la commande dans le journal si elle n'est pas connectée à un terminal"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "Consigne dans le journal la sortie envoyée sur le terminal par la commande en cours d'exécution"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "Compression des informations renvoyées par les opérations d'E/S avec zlib"
-#: plugins/sudoers/def_data.c:364
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "Exécute toujours les commandes dans un pseudo-terminal (tty)"
-#: plugins/sudoers/def_data.c:368
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Greffon pour la prise en charge des groupes non-Unix : %s"
-#: plugins/sudoers/def_data.c:372
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Répertoire dans lequel les informations renvoyées par les opérations d'entrée/sortie seront stockées : %s"
-#: plugins/sudoers/def_data.c:376
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Fichier dans lequel les informations renvoyées par les opérations d'entrée/sortie seront stockées : %s"
-#: plugins/sudoers/def_data.c:380
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Ajout d'une entrée au fichier utmp/utmpx lors de l'allocation d'un pseudo-terminal"
-#: plugins/sudoers/def_data.c:384
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Conservation dans utmp du nom de l'utilisateur runas, et non de celui de l'utilisateur appelant sudo"
-#: plugins/sudoers/def_data.c:388
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Ensemble des privilèges permis : %s"
-#: plugins/sudoers/def_data.c:392
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Ensemble des privilèges limités : %s"
-#: plugins/sudoers/def_data.c:396
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "Exécution des commandes sur un pseudo-terminal en tâche de fond"
-#: plugins/sudoers/def_data.c:400
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "Nom de service PAM à utiliser : %s"
-#: plugins/sudoers/def_data.c:404
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Nom de service PAM à utiliser pour les interpréteurs de commandes : %s"
-#: plugins/sudoers/def_data.c:408
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Nom de service PAM à utiliser quand sudo est exécuté avec l'option -A : %s"
-#: plugins/sudoers/def_data.c:412
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Tentative de création des données d'identification PAM pour l'utilisateur cible"
-#: plugins/sudoers/def_data.c:416
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "Création d'une nouvelle session PAM pour l'exécution de la commande"
-#: plugins/sudoers/def_data.c:420
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "Réaliser la gestion de la validation du compte PAM"
-#: plugins/sudoers/def_data.c:424
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Numéro de séquence maximum dans le journal E/S : %s"
-#: plugins/sudoers/def_data.c:428
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "Activation de la prise en charge de netgroup par sudoers"
-#: plugins/sudoers/def_data.c:432
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "Vérification que les droits du répertoire parent autorisent la modification des fichiers avec sudoedit"
-#: plugins/sudoers/def_data.c:436
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Suivre les liens symboliques lors de l'édition des fichiers avec sudoedit"
-#: plugins/sudoers/def_data.c:440
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "Interroge le greffon de groupe pour les groupes système inconnus"
-#: plugins/sudoers/def_data.c:444
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Faire correspondre les netgroups sur base du tuple entier: utilisateur, hôte et domaine"
-#: plugins/sudoers/def_data.c:448
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Autoriser l'exécution des commandes même si sudo ne sait pas écrire dans le journal d'audit"
-#: plugins/sudoers/def_data.c:452
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Autoriser l'exécution des commandes même si sudo ne sait pas écrire dans le journal des E/S"
-#: plugins/sudoers/def_data.c:456
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Autoriser l'exécution des commandes même si sudo ne sait pas écrire dans le fichier journal"
-#: plugins/sudoers/def_data.c:460
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Résoudre les groupes dans sudoers et établir la correspondance sur le ID de groupe au lieu du nom"
-#: plugins/sudoers/def_data.c:464
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Les entrées du journal plus longues que cette valeur seront scindées en plusieurs messages dans syslog : %u"
-#: plugins/sudoers/def_data.c:468
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Utilisateur qui possèdera les fichiers journaux des E/S : %s"
-#: plugins/sudoers/def_data.c:472
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Groupe qui possèdera les fichiers journaux des E/S : %s"
-#: plugins/sudoers/def_data.c:476
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Mode de permission à utiliser sur les fichiers de journaux des E/S : 0%o"
-#: plugins/sudoers/def_data.c:480
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Exécuter les commandes par descripteur de fichier plutôt que par chemin : %s"
-#: plugins/sudoers/def_data.c:484
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignorer les entrées « Defaults » inconnues dans sudoers au lieu d'afficher un avertissement"
-#: plugins/sudoers/def_data.c:488
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Temps en secondes après lequel la commande sera terminée : %u"
-#: plugins/sudoers/def_data.c:492
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "Autoriser l'utilisateur à spécifier un délai d'expiration sur la ligne de commande"
-#: plugins/sudoers/def_data.c:496
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Forcer l'écriture des données du journal d'E/S sur disque immédiatement au lieu de les garde dans un tampon"
-#: plugins/sudoers/def_data.c:500
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "Inclure le ID du processus lors de la journalisation via syslog"
-#: plugins/sudoers/def_data.c:504
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Type de l'enregistrement de l'horodatage de l'authentification : %s"
-#: plugins/sudoers/def_data.c:508
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "Message de l'échec de l'authentification : %s"
-#: plugins/sudoers/def_data.c:512
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "Ignorer la casse lors de la correspondance des noms d'utilisateurs"
-#: plugins/sudoers/def_data.c:516
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "Ignorer la casse lors de la correspondance des noms de groupes"
-#: plugins/sudoers/def_data.c:520
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "Écrire dans le journal lorsqu'une commande est autorisée par sudoers"
-#: plugins/sudoers/def_data.c:524
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "Écrire dans le journal lorsqu'une commande est interdite par sudoers"
-#: plugins/sudoers/def_data.c:528
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Serveur(s) des journaux sudo auquel se connecter avec un port facultatif"
-#: plugins/sudoers/def_data.c:532
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Délai d'expiration du serveur des journaux sudo en seconde : %u"
-#: plugins/sudoers/def_data.c:536
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Activer l'option SO_KEEPALIVE du socket sur le socket connecté au serveur de journal"
-#: plugins/sudoers/def_data.c:540
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Emplacement du fichier du paquet du CA d'audit du serveur : %s"
-#: plugins/sudoers/def_data.c:544
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Emplacement du fichier de certificat de sudoers : %s"
-#: plugins/sudoers/def_data.c:548
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Emplacement du fichier de clé privée de sudoers : %s"
-#: plugins/sudoers/def_data.c:552
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "Vérifier que le certificat du serveur contenant le journal est valide"
-#: plugins/sudoers/def_data.c:556
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Autoriser l'utilisation d'ID d'utilisateurs ou de groupe inconnus dans runas"
-#: plugins/sudoers/def_data.c:560
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "Uniquement autoriser l'exécutions de commandes en tant qu'un utilisateur avec un interpréteur de commande valide"
-#: plugins/sudoers/def_data.c:564
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "Définir l'utilisateur distant de pam à l'utilisateur qui exécute sudo"
-#: plugins/sudoers/def_data.c:568
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "Définir l'hôte distant de pam au nom de l'hôte local"
-#: plugins/sudoers/def_data.c:572
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Le répertoire de travail à utiliser avant d'exécuter la commande : %s"
-#: plugins/sudoers/def_data.c:576
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Le répertoire racine à utiliser avant d'exécuter la commande : %s"
-#: plugins/sudoers/def_data.c:580
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Format des journaux à produire : %s"
-#: plugins/sudoers/def_data.c:584
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "Activer le support pour SELinux RBAC"
-#: plugins/sudoers/def_data.c:588
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Chemin vers le fichier qui est créé la première fois que sudo est exécuté : %s"
-#: plugins/sudoers/def_data.c:592
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "Intercepter les commandes suivantes et leur appliquer les restrictions sudoers"
-#: plugins/sudoers/def_data.c:596
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr "Consigner les sous-commandes exécutées par la commande originale"
-#: plugins/sudoers/def_data.c:600
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr "Consigner le code de retour des commandes"
-#: plugins/sudoers/def_data.c:604
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Les commandes ultérieures dans une session interceptée doivent être authentifiées"
-#: plugins/sudoers/def_data.c:608
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Autoriser une commande interceptée à exécuter des programmes avec le fanion setuid ou setgid activé"
-#: plugins/sudoers/def_data.c:612
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "La taille maximale à laquelle l'espace d'adresses du processus peut grandir (en octets) : %s"
-#: plugins/sudoers/def_data.c:616
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "La taille de la plus grande vidange système qui peut être créée (en octets) : %s"
-#: plugins/sudoers/def_data.c:620
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Le temps CPU maximum que le processus peut utiliser (en secondes) : %s"
-#: plugins/sudoers/def_data.c:624
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "La taille maximale du segment de données pour le processus (en octets) : %s"
-#: plugins/sudoers/def_data.c:628
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "La taille la plus grande d'un fichier que le processus peut créer (en octets) : %s"
-#: plugins/sudoers/def_data.c:632
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Le nombre maximum de verrous que le processus peut établir : %s"
-#: plugins/sudoers/def_data.c:636
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "La taille maximale que le processus peut verrouiller en mémoire (en octets) : %s"
-#: plugins/sudoers/def_data.c:640
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Le nombre maximum de fichiers que le processus peut garder ouverts : %s"
-#: plugins/sudoers/def_data.c:644
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Le nombre maximum de processus que l'utilisateur peut exécuter simultanément : %s"
-#: plugins/sudoers/def_data.c:648
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "La taille maximale à laquelle l'ensemble résident du processus peut grandir (en octets) : %s"
-#: plugins/sudoers/def_data.c:652
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "La taille maximale à laquelle la pile du processus peut grandir (en octets) : %s"
-#: plugins/sudoers/def_data.c:656
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Tenter une authentification même dans le mode non interactif"
-#: plugins/sudoers/def_data.c:660
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr "Stocker le mot de passe en clair dans l'entrée du journal des E/S"
-#: plugins/sudoers/def_data.c:664
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr "Liste des expressions régulières à utiliser lors de la recherche de correspondance de l'invite du mot de passe"
-#: plugins/sudoers/def_data.c:668
+#: plugins/sudoers/def_data.c:688
#, c-format
msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr "Le mécanisme utilisé par les options intercept et log_subcmds : %s"
-#: plugins/sudoers/def_data.c:672
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "Tentative de vérifier la commande et les arguments après l'exécution"
+
+#: plugins/sudoers/def_data.c:696
#, c-format
msgid "AppArmor profile to use in the new security context: %s"
msgstr "Profil AppArmor à utiliser dans le nouveau contexte de sécurité : %s"
@@ -2555,31 +2641,31 @@ msgstr "type Defaults 0x%x invalide pour l'option «â£%sâ£Â»"
msgid "value \"%s\" is invalid for option \"%s\""
msgstr "la valeur « %s » ne convient pas pour l'option « %s »"
-#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
-#: plugins/sudoers/policy.c:216
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
msgid "path name for \"%s\" too long"
msgstr "chemin trop long pour « %s »"
-#: plugins/sudoers/defaults.c:1133
+#: plugins/sudoers/defaults.c:1134
#, c-format
msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr "les valeurs de « %s » doivent commencer par « / », « ~ » ou « * »"
-#: plugins/sudoers/defaults.c:1140
+#: plugins/sudoers/defaults.c:1141
#, c-format
msgid "values for \"%s\" must start with a '/'"
msgstr "les valeurs de « %s » doivent commencer par « / »"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv : envp est corrompu, longueur incorrecte"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "impossible de créer à nouveau l'environnement"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "désolé, vous n'êtes pas autorisé à définir ces variables d'environnement : %s"
@@ -2594,27 +2680,27 @@ msgstr "le type résumé (digest type) %d pour n'est pas autorisé pour %s"
msgid "%s: read error"
msgstr "%s : erreur en lecture"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "%s doit appartenir à l'utilisateur (uid) %d"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "seul le propriétaire doit avoir le droit en écriture sur %s"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "chargement de %s impossible : %s"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "le symbole « group_plugin » est introuvable dans %s"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s : la version majeure %d du greffon group est incompatible, la version attendue est %d"
@@ -2637,10 +2723,10 @@ msgstr "Couples adresse IP locale/masque de sous-réseau :\n"
msgid "unable to update sequence file"
msgstr "mise à jour du fichier de séquence impossible"
-#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
-#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
-#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
-#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "impossible d'écrire dans le journal des E/S : %s"
@@ -2650,25 +2736,25 @@ msgstr "impossible d'écrire dans le journal des E/S : %s"
msgid "unable to create %s/%s"
msgstr "impossible de créer %s/%s"
-#: plugins/sudoers/iolog.c:955
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: erreur interne, le fichier journal des E/S pour l'événement %d n'est pas ouvert"
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
-#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
-#: plugins/sudoers/visudo.c:552
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "lecture de l'horloge impossible"
-#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
-#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: erreur interne, signal %d invalide"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "starttls n'est pas pris en charge lors de l'utilisation de ldap"
@@ -2691,7 +2777,7 @@ msgstr "initialisation de LDAP impossible : %s"
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls est spécifié mais les bibliothèques LDAP ne gèrent pas ldap_start_tls_s() ou ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "attribut sudoOrder invalide : %s"
@@ -2701,12 +2787,12 @@ msgstr "attribut sudoOrder invalide : %s"
msgid "%s: port too large"
msgstr "%s: port trop grand"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "type d'uri LDAP non pris en charge : %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "fusion des URIs ldap et ldaps impossible"
@@ -2731,111 +2817,111 @@ msgstr "ouverture du fichier d'audit du système impossible"
msgid "unable to send audit message"
msgstr "envoi du message d'audit impossible"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
-#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "erreur dans la boucle des événements"
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "La création du nouvel objet SSL_CTX a échoué : %s"
-#: plugins/sudoers/log_client.c:225
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "impossible de charger le paquet de l'autorité du certificat %s"
-#: plugins/sudoers/log_client.c:247
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "impossible de charger le certificat %s"
-#: plugins/sudoers/log_client.c:261
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "impossible de charger la clé privée %s"
-#: plugins/sudoers/log_client.c:270
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Impossible d'allouer l'objet ssl : %s"
-#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "la connexion TLS à %s:%s a échoué : %s"
-#: plugins/sudoers/log_client.c:538
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "l'initialisation TLS n'a pas réussi"
-#: plugins/sudoers/log_client.c:548
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "la négociation TLS n'a pas réussi"
-#: plugins/sudoers/log_client.c:1246
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: erreur interne, statut de sortie %d invalide"
-#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "perte de la connexion au serveur de journalisation"
-#: plugins/sudoers/log_client.c:1876
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "tampon d'écriture manquant"
-#: plugins/sudoers/log_client.c:2024
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "impossible de se connecter au serveur de journal"
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "l'utilisateur n'apparaît PAS dans sudoers"
-#: plugins/sudoers/logging.c:300
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "l'utilisateur n'est PAS autorisé sur cet hôte"
-#: plugins/sudoers/logging.c:302
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "commande non autorisée"
-#: plugins/sudoers/logging.c:323
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s n'est pas dans le fichier sudoers.\n"
-#: plugins/sudoers/logging.c:326
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s n'est pas autorisé à exécuter sudo sur %s.\n"
-#: plugins/sudoers/logging.c:329
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Désolé, l'utilisateur %s ne peut pas utiliser sudo sur %s.\n"
-#: plugins/sudoers/logging.c:332
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Désolé, l'utilisateur %s n'est pas autorisé à exécuter « %s%s%s » en tant que %s%s%s sur %s.\n"
-#: plugins/sudoers/logging.c:342
+#: plugins/sudoers/logging.c:334
msgid "This incident has been reported to the administrator.\n"
msgstr "Cet incident a été signalé à l'administrateur.\n"
-#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
-#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
-#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
-#: plugins/sudoers/sudoers.c:801
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s : commande introuvable"
-#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2844,31 +2930,31 @@ msgstr ""
"« %s » trouvé dans « . » n'a pas été exécuté\n"
"Utilisez « sudo ./%s » si c'est bien la version de « %s » que vous souhaitez exécuter."
-#: plugins/sudoers/logging.c:395
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] "%u saisie de mot de passe incorrecte"
msgstr[1] "%u saisies de mots de passe incorrectes"
-#: plugins/sudoers/logging.c:485
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "échec de l'authentification"
-#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "il est nécessaire de saisir un mot de passe"
-#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
msgid "problem parsing sudoers"
msgstr "problème lors de l'analyse syntaxique de sudoers"
-#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
msgid "%s:%d:%d: %s"
msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:1068
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "impossible d'écrire le fichier journal : %s"
@@ -2883,7 +2969,7 @@ msgstr "le résumé (digest) de %s (%s) a la mauvaise longueur %zu, %zu attendue
msgid "digest for %s (%s) is not in %s form"
msgstr "le résume (digest) de %s (%s) n'est pas dans le forme %s"
-#: plugins/sudoers/parse.c:585
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2892,7 +2978,7 @@ msgstr ""
"\n"
"Rôle LDAP : %s\n"
-#: plugins/sudoers/parse.c:588
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2900,110 +2986,110 @@ msgstr ""
"\n"
"Entrée sudoers :\n"
-#: plugins/sudoers/parse.c:590
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " RunAsUsers : "
-#: plugins/sudoers/parse.c:605
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " RunAsGroups : "
-#: plugins/sudoers/parse.c:615
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " Options : "
-#: plugins/sudoers/parse.c:679
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " Commandes :\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Entrées Defaults correspondant pour %s sur %s :\n"
-#: plugins/sudoers/parse.c:888
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Paramètres par défaut de runas ou spécifiques aux commandes pour %s :\n"
-#: plugins/sudoers/parse.c:906
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "L'utilisateur %s peut utiliser les commandes suivantes sur %s :\n"
-#: plugins/sudoers/parse.c:921
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "L'utilisateur %s n'est pas autorisé à exécuter sudo sur %s.\n"
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "le sudoRole incomplet est ignoré : cn : %s"
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "attribut LDIF invalide : %s"
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "%.*s invalide défini par l'interface utilisateur de sudo"
-#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "impossible d'analyser la liste des adresses réseau"
-#: plugins/sudoers/policy.c:508
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "nom d'utilisateur pas défini par l'interface utilisateur de sudo"
-#: plugins/sudoers/policy.c:512
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "ID utilisateur pas défini par l'interface utilisateur de sudo"
-#: plugins/sudoers/policy.c:516
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "ID de groupe pas défini par l'interface utilisateur de sudo"
-#: plugins/sudoers/policy.c:520
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "nom d'hôte pas défini par l'interface utilisateur de sudo"
-#: plugins/sudoers/policy.c:706
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "répertoire de travail invalide : %s"
-#: plugins/sudoers/policy.c:886
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "répertoire chroot invalide : %s"
-#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "exécution de %s impossible"
-#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
-#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: fanions de mode invalides dans l'interface utilisateur de sudo : 0x%x"
-#: plugins/sudoers/policy.c:1262
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "La version du greffon de politique de sudoers est %s\n"
-#: plugins/sudoers/policy.c:1264
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "La version de la grammaire du fichier sudoers est %d\n"
-#: plugins/sudoers/policy.c:1268
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -3012,27 +3098,27 @@ msgstr ""
"\n"
"Chemin d'accès à sudoers : %s\n"
-#: plugins/sudoers/policy.c:1271
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "chemin d'accès à nsswitch : %s\n"
-#: plugins/sudoers/policy.c:1273
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "chemin d'accès à ldap.conf : %s\n"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "chemin d'accès à ldap.secret : %s\n"
-#: plugins/sudoers/policy.c:1307
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "activation d'un point d'ancrage de type %d (version %d.%d) impossible"
-#: plugins/sudoers/policy.c:1325
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "désactivation d'un point d'ancrage de type %d (version %d.%d) impossible"
@@ -3171,148 +3257,142 @@ msgstr "initialisation de la source SSS impossible. SSSD est-il installé sur ce
msgid "unable to find symbol \"%s\" in %s"
msgstr "Le symbole « %s » est introuvable dans %s"
-#: plugins/sudoers/sudoers.c:258
+#: plugins/sudoers/sudoers.c:263
#, c-format
msgid "unable to get defaults from %s"
msgstr "impossible d'obtenir les valeurs par défaut pour %s"
-#: plugins/sudoers/sudoers.c:265
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "aucune source sudoers valide n'a été trouvée, fin d'exécution"
-#: plugins/sudoers/sudoers.c:341
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "l'utilisateur n'est pas autorisé à changer le répertoire racine en %s"
-#: plugins/sudoers/sudoers.c:343
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "vous n'êtes pas autorisé à utiliser l'option -R avec %s"
-#: plugins/sudoers/sudoers.c:368
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "l'utilisateur n'est pas autorisé à changer de répertoire vers %s"
-#: plugins/sudoers/sudoers.c:369
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "vous n'êtes pas autorisé à utiliser l'option -D avec %s"
-#: plugins/sudoers/sudoers.c:396
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "aucune commande spécifiée"
-#: plugins/sudoers/sudoers.c:421
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "il est précisé dans sudoers que root n'est pas autorisé à utiliser sudo"
-#: plugins/sudoers/sudoers.c:471
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "l'utilisateur n'est pas autorisé à outrepasser la limite closeform"
-#: plugins/sudoers/sudoers.c:472
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "vous n'êtes pas autorisé à utiliser l'option -C"
-#: plugins/sudoers/sudoers.c:532
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "propriétaire du fichier d'horodatage (%s) : utilisateur inconnu"
-#: plugins/sudoers/sudoers.c:547
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "pas de terminal tty"
-#: plugins/sudoers/sudoers.c:548
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "désolé, vous devez avoir un terminal tty pour exécuter sudo"
-#: plugins/sudoers/sudoers.c:555
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "interpréteur de commande invalide pour l'utilisateur %s : %s"
-#: plugins/sudoers/sudoers.c:638
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "commande dans le répertoire courant"
-#: plugins/sudoers/sudoers.c:653
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "« cd » est une commande interne du shell, elle ne peut pas être exécutée directement."
-#: plugins/sudoers/sudoers.c:655
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr "l'option -s peut être utilisée pour exécuter un shell privilégié."
-#: plugins/sudoers/sudoers.c:657
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr "l'option -D peut être utilisée pour exécuter une commande dans un répertoire spécifique."
-#: plugins/sudoers/sudoers.c:666
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "l'utilisateur n'est pas autorisé à définir un délai d'expiration de la commande"
-#: plugins/sudoers/sudoers.c:668
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "désolé, vous n'êtes pas autorisé à définir un délai d'expiration de la commande"
-#: plugins/sudoers/sudoers.c:676
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "l'utilisateur n'est pas autorisé à conserver l'environnement"
-#: plugins/sudoers/sudoers.c:678
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "désolé, vous n'êtes pas autorisé à conserver l'environnement"
-#: plugins/sudoers/sudoers.c:1053
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit n'a pas besoin d'être exécuté via sudo"
-#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "lecture de %s impossible"
-#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
-#: plugins/sudoers/visudo.c:764
-#, c-format
-msgid "unable to stat %s"
-msgstr "impossible d'appliquer la fonction stat à %s"
-
-#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%s n'est pas un fichier ordinaire"
-#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "Le fichier %s est la propriété de l'utilisateur (uid) %u, alors qu'il devrait appartenir à %u"
-#: plugins/sudoers/sudoers.c:1147 toke.l:1252
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "Le fichier %s est ouvert en écriture pour tous"
-#: plugins/sudoers/sudoers.c:1151 toke.l:1255
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "Le fichier %s a pour groupe (gid) %u, alors qu'il devrait appartenir au groupe %u"
-#: plugins/sudoers/sudoers.c:1184
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "« -c %s » est réservé à l'utilisateur root"
-#: plugins/sudoers/sudoers.c:1203
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr "classe de connexion %s inconnue"
-#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "impossible de résoudre l'hôte %s"
@@ -3410,17 +3490,17 @@ msgstr "« ! » n'est pas autorisé en fin d'expression"
msgid "unknown search type %d"
msgstr "type de recherche %d inconnu"
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "utilisation : %s [-hnRS] [-d répertoire] [-m nombre] [-s nombre] ID\n"
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "utilisation : %s [-h] [-d répertoire] -l [expression recherchée]\n"
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -3429,7 +3509,7 @@ msgstr ""
"%s - rejeu du journal de la session sudo\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3486,127 +3566,122 @@ msgstr ""
"\n"
"Commande sans correspondance"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%s est accessible en écriture pour les membres du groupe"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "impossible de tronquer le fichier d'horodatage à %lld octets"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "un horodatage dans le futur a été ignoré"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "l'horodatage est trop avancé dans le future : %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "verrouillage du fichier d'horodatage %s impossible"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "le chemin d'accès au fichier d'état de la recommandation est trop long : %s/%s"
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit ne devrait pas être spécifié avec un chemin"
-#: plugins/sudoers/visudo.c:249
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "l'option -x sera supprimée dans une version ultérieure"
-#: plugins/sudoers/visudo.c:251
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "envisagez plutôt l'utilisation de l'utilitaire cvtsudoers"
-#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "appuyer sur entrée pour éditer %s : "
-#: plugins/sudoers/visudo.c:321
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr "le contenu de la session d'édition a été laissé dans %s"
-#: plugins/sudoers/visudo.c:397
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "l'éditeur indiqué (%s) n'existe pas"
-#: plugins/sudoers/visudo.c:399
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "aucun éditeur trouvé (chemin d'accès à l'éditeur : %s)"
-#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "impossible d'appliquer la fonction stat à %s"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "erreur en écriture"
-#: plugins/sudoers/visudo.c:559
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "impossible d'appliquer la fonction stat au fichier temporaire (%s), %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:566
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "fichier temporaire vide (%s), %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:572
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "l'éditeur (%s) a échoué, %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:594
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:639
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "impossible de rouvrir le fichier temporaire (%s), %s n'a pas été modifié."
-#: plugins/sudoers/visudo.c:652
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "impossible d'analyser le fichier temporaire (%s), erreur inconnue"
-#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "impossible de définir (uid, gid) de %s à (%u, %u)"
-#: plugins/sudoers/visudo.c:803
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s et %s ne sont pas dans le même système de fichiers, tentative de renommage à l'aide de la commande mv"
-#: plugins/sudoers/visudo.c:814
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "la commande a échoué : « %s %s %s », %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:821
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "erreur lors du renommage de %s, %s n'a pas été modifié"
-#: plugins/sudoers/visudo.c:841
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "Et maintenant ?"
-#: plugins/sudoers/visudo.c:855
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3618,41 +3693,41 @@ msgstr ""
" e(x)it sans sauvegarde des modifications apportées au fichier sudoers\n"
" (Q)uitter et sauvegarder les modifications apportées au fichier sudoers (DANGER!)\n"
-#: plugins/sudoers/visudo.c:901
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "exécution de %s impossible"
-#: plugins/sudoers/visudo.c:932
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s : mauvais propriétaire (uid, gid), celui-ci devrait être (%u,%u)\n"
-#: plugins/sudoers/visudo.c:943
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s : mauvais droits d'utilisation, le mode devrait être 0%o\n"
-#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s : analyse réussie\n"
-#: plugins/sudoers/visudo.c:1017
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%s n'est pas disponible, réessayez plus tard"
-#: plugins/sudoers/visudo.c:1021
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "Éditer quand même ? [y/N]"
-#: plugins/sudoers/visudo.c:1117
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Attention : %s:%d:%d: %s « %s » n'est pas utilisé"
-#: plugins/sudoers/visudo.c:1229
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3661,13 +3736,14 @@ msgstr ""
"%s - édite le fichier sudoers en toute sécurité\n"
"\n"
-#: plugins/sudoers/visudo.c:1231
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
@@ -3677,6 +3753,7 @@ msgstr ""
" -c, --check mode de validation\n"
" -f, --file=fichier précise l'emplacement du fichier sudoers\n"
" -h, --help affiche l'aide puis termine l'exécution\n"
+" -I, --no-includes ne pas éditer les fichiers inclus\n"
" -q, --quiet moins de messages d'erreur de syntaxe (mode silencieux)\n"
" -s, --strict validation stricte de la syntaxe\n"
" -V, --version affiche la version, puis termine l'exécution\n"
@@ -3713,6 +3790,12 @@ msgstr "saut de ligne inattendu dans la chaîne"
msgid "too many levels of includes"
msgstr "nombre de niveaux d'inclusions trop élevé"
+#~ msgid "%s is group writable"
+#~ msgstr "%s est accessible en écriture pour les membres du groupe"
+
+#~ msgid "lecture status path too long: %s/%s"
+#~ msgstr "le chemin d'accès au fichier d'état de la recommandation est trop long : %s/%s"
+
#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
#~ msgstr "Attention : %s:%d:%d: boucle dans %s « %s »"
diff --git a/plugins/sudoers/po/ja.mo b/plugins/sudoers/po/ja.mo
index 9ec66413d..8d864ec04 100644
--- a/plugins/sudoers/po/ja.mo
+++ b/plugins/sudoers/po/ja.mo
Binary files differ
diff --git a/plugins/sudoers/po/ja.po b/plugins/sudoers/po/ja.po
index dd2059e73..a90a09d43 100644
--- a/plugins/sudoers/po/ja.po
+++ b/plugins/sudoers/po/ja.po
@@ -4,10 +4,10 @@
# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2012, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.10b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-14 23:39+0900\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-15 08:41+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
@@ -16,11 +16,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Poedit-Basepath: sudo-1.9.9b1\n"
+"X-Poedit-Basepath: sudo-1.9.12b2\n"
"X-Generator: Poedit 2.4.2\n"
"X-Poedit-SearchPath-0: .\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "構文エラー"
@@ -44,66 +44,80 @@ msgstr "*** %h ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£æƒ…å ± ***"
msgid "Sorry, try again."
msgstr "残念ã€ã¾ãŸè©¦ã—ã¦ãã ã•ã„。"
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
-#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
-#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
-#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
-#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
-#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:446
@@ -111,53 +125,52 @@ msgstr "残念ã€ã¾ãŸè©¦ã—ã¦ãã ã•ã„。"
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -167,138 +180,153 @@ msgstr "残念ã€ã¾ãŸè©¦ã—ã¦ãã ã•ã„。"
#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "メモリ割り当ã¦ã‚’è¡Œãˆã¾ã›ã‚“ã§ã—ãŸ"
-#: gram.y:615
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "èªè¨¼æ–¹å¼ã«ã¯ãƒ‘スãŒå¿…è¦ã§ã™"
-#: gram.y:637
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "\"CWD\" ã®å€¤ã¯ '/', '~', ã¾ãŸã¯ '*' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: gram.y:643
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr "\"CWD\" パスãŒé•·ã™ãŽã¾ã™"
-#: gram.y:653
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "\"CHROOT\" ã®å€¤ã¯ '/', '~', ã¾ãŸã¯ '*' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: gram.y:659
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr "\"CHROOT\" パスãŒé•·ã™ãŽã¾ã™"
-#: gram.y:788
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "構文エラーã€äºˆç´„語 %s ãŒã‚¨ã‚¤ãƒªã‚¢ã‚¹åã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™"
-#: gram.y:811
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "notbefore ã®å€¤ãŒç„¡åŠ¹ã§ã™"
-#: gram.y:820
+#: gram.y:834
msgid "invalid notafter value"
msgstr "notafter ã®å€¤ãŒç„¡åŠ¹ã§ã™"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "制é™æ™‚é–“ã®å€¤ãŒå¤§ãéŽãŽã¾ã™"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "時間制é™å€¤ãŒç„¡åŠ¹ã§ã™"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr "コマンドåãŒé•·ã™ãŽã¾ã™"
-#: gram.y:1200
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "別å \"%s\" ã¯ã™ã§ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -309,93 +337,93 @@ msgstr "別å \"%s\" ã¯ã™ã§ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -404,16 +432,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "内部エラーã€%s ãŒã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒ­ãƒ¼ã—ã¾ã—ãŸ"
@@ -428,31 +458,31 @@ msgstr "標準入力を複製ã§ãã¾ã›ã‚“: %m"
msgid "unable to execute %s: %m"
msgstr "%s を実行ã§ãã¾ã›ã‚“: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "fork ã§ãã¾ã›ã‚“"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "fork ã§ãã¾ã›ã‚“: %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "パイプを開ã‘ã¾ã›ã‚“: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (コマンド継続中) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -567,14 +597,14 @@ msgstr "%s: runasグループåフィールドãŒã‚ã‚Šã¾ã›ã‚“"
msgid "%s exists but is not a directory (0%o)"
msgstr "%s ãŒå­˜åœ¨ã—ã¾ã™ãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã¯ã‚ã‚Šã¾ã›ã‚“ (0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "ディレクトリ %s を作æˆã§ãã¾ã›ã‚“"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "%s ã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ã®ãƒ¢ãƒ¼ãƒ‰ã‚’ 0%o ã«å¤‰æ›´ã§ãã¾ã›ã‚“"
@@ -589,150 +619,156 @@ msgstr "タイミングファイルã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼: %s"
msgid "invalid timing file line: %s"
msgstr "無効ãªã‚¿ã‚¤ãƒŸãƒ³ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã®è¡Œã§ã™: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
-msgid "unable to generate UUID"
-msgstr "uuid を生æˆã§ãã¾ã›ã‚“"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s: プロトコルエラー: key ㌠NULL ã§ã™"
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr "%s: プロトコルエラー: %s ã®åž‹ã¨ã—ã¦ã¯é–“é•ã£ã¦ã„ã¾ã™"
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s: プロトコルエラー: %s ã« NULL値ãŒå…¥ã£ã¦ã„ã¾ã™"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "uuid を生æˆã§ãã¾ã›ã‚“"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr "%s: プロトコルエラー: %s ㌠AcceptMessage ã«ã‚ã‚Šã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr "%s: セッションIDã‚’æ•´å½¢ã§ãã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr "%s: %s ã¯è¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr "iolog ã®ãƒ‘ス %s を伸長ã§ãã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr "iolog ã®ãƒ‘ス %s を作æˆã§ãã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr "無効㪠iofd %d ã§ã™"
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr "iofd %d ã‚’é–‰ã˜ã‚‹éš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s"
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr "iofd %d をフラッシュã™ã‚‹éš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "無効㪠I/O ログ %s: %s ãŒå‚ç…§ã•ã‚Œã¦ã„ã¾ã™ãŒå­˜åœ¨ã—ã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: 復元ãƒã‚¤ãƒ³ãƒˆãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ [%lld, %ld]"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "%s/%s ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "%s/%s ã‹ã‚‰ %s/%s ã«ã‚³ãƒ”ーã§ãã¾ã›ã‚“: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr "%s ã‹ã‚‰ %s ã«åå‰ã‚’変更ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: 復元ãƒã‚¤ãƒ³ãƒˆãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ [%lld, %ld]"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "I/O ログファイル %s/%s ãŒã‚ã‚Šã¾ã›ã‚“。"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: å‰æ–¹æ¤œç´¢ã§ãã¾ã›ã‚“ %zu"
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr "リレーã«æŽ¥ç¶šã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr "サーãƒãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå¤§ãéŽãŽã¾ã™: %zu"
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -741,621 +777,658 @@ msgstr "サーãƒãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå¤§ãéŽãŽã¾ã™: %zu"
msgid "unable to add event to queue"
msgstr "イベントをキューã«è¿½åŠ ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr "予期ã—ãªã„状態 %d (%sã®)"
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "状態マシンエラー"
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "無効㪠AcceptMessage"
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "無効㪠RejectMessage"
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "無効㪠ExitMessage"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "無効㪠RestartMessage"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "無効㪠AlertMessage"
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr "%s: 予期ã—ãªã„ IoBuffer"
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "プロトコルエラーã§ã™"
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "無効㪠IoBuffer ã§ã™"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "無効㪠ChangeWindowSize"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "無効㪠CommandSuspend"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "%s を伸長ã§ãã¾ã›ã‚“ (é•·ã• %zu )"
+
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "予期ã—ãªã„ type_case ã®å€¤ %d ㌠%s ã®ä¸­ã«ã‚ã‚Šã¾ã™ã€ %s ã‹ã‚‰å‡ºã¦ããŸã‚‚ã®ã§ã™ã€‚"
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "èªè­˜ã§ããªã„クライアントメッセージã®ã‚¿ã‚¤ãƒ—ã§ã™"
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr "クライアント %s ã¸ã®æ›¸ãè¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr "クライアント %s ã¸ã®æ›¸ãè¾¼ã¿ãƒãƒƒãƒ•ã‚¡ãŒã‚ã‚Šã¾ã›ã‚“"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr "クライアント %s ã‹ã‚‰ã®èª­ã¿è¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "%s ã‹ã‚‰ã® EOF ãŒé©åˆ‡ãª TLS 通信ã®çµ‚了ãªã—ã«ç¾ã‚Œã¾ã—ãŸ"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr "クライアントメッセージãŒå¤§ãéŽãŽã¾ã™: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "クライアントメッセージãŒå¤§ãéŽãŽã¾ã™"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "無効㪠ClientMessage"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "リモートIPアドレスをå–å¾—ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "ユーザーデータをSSLオブジェクトã«æ·»ä»˜ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "接続待ã¡ã‚½ã‚±ãƒƒãƒˆã‚’準備ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr "予期ã—ãªã„シグナル %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "Sudo ログサーãƒãƒ¼"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "オプション:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "設定ファイルã®ãƒ‘ス"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "ヘルプメッセージを表示ã—ã¦çµ‚了ã™ã‚‹"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "フォークã›ãšã«ã€ãƒ•ã‚©ã‚¢ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã™ã‚‹"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "接続ãŒåˆ‡ã‚Œã‚‹å‰²åˆï¼ˆï¼…)"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了ã™ã‚‹"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Protobuf-C ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 1.3 以上ãŒå¿…è¦ã§ã™"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "無効ãªä¹±æ•°ãƒ‰ãƒ­ãƒƒãƒ—値ã§ã™: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "ä¸æ˜Žãªãƒ¦ãƒ¼ã‚¶ãƒ¼ %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr "ä¸æ˜Žãªã‚°ãƒ«ãƒ¼ãƒ— %s"
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr "iolog モード %s を解æžã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr "%s ã«ã¯ç„¡åŠ¹ãªå€¤: %s"
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "TLS ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s: 完全修飾パスã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr "未知㮠syslog ファシリティ %s"
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr "未知㮠syslog プライオリティ %s"
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d 対応ã—ãªã„ '[': %s"
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr "%s:%d ']' ã®å¾Œã«ä½™è¨ˆãªã‚‚ã®ãŒã‚ã‚Šã¾ã™: %s"
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s:%d 無効㪠config セクション: %s"
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d 無効ãªè¨­å®šã®è¡Œ: %s"
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d セクションåãŒå¿…è¦ã§ã™: %s"
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] é©åˆã—ãªã„キー: %s"
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr "ログファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "サーãƒãƒ¼TLSコンテキストをåˆæœŸåŒ–ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "リレーTLSコンテキストをåˆæœŸåŒ–ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "ジャーナルファイルを作æˆã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr "%s をロックã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "ジャーナルファイルをロックã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr "ジャーナルファイルを開ã‘ã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "ジャーナルファイルã¸æ›¸ã込むã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "ジャーナルファイルã®åå‰ã‚’変更ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "ジャーナルファイルã®äºˆæœŸã›ã¬ã¨ã“ã‚ã«EOF"
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "ジャーナルファイルã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "無効ãªã‚¸ãƒ£ãƒ¼ãƒŠãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã€å†ã‚¹ã‚¿ãƒ¼ãƒˆã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "[%lld, %ld] ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“〠ジャーナルファイル %s ã§æŽ¢ç´¢ä¸­"
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "予期ã—ãªã„ value_case ã®å€¤ %d ㌠%s ã®ä¸­ã«ã‚ã‚Šã¾ã™ã€ %s ã‹ã‚‰å‡ºã¦ããŸã‚‚ã®ã§ã™ã€‚"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "AcceptMessage ã®è§£æžä¸­ã«ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "I/O ログã®ä½œæˆã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "accept イベントã®ãƒ­ã‚°è¨˜éŒ²ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "RejectMessage ã®è§£æžã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "reject イベントã®ãƒ­ã‚°è¨˜éŒ²ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr "exit イベントã®ãƒ­ã‚°è¨˜éŒ²ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "ログã¯å®Œäº†ã—ã¦ã„ã‚‹ã®ã§ã€å†é–‹ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "ログをå†é–‹ã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "AlertMessage ã®è§£æžä¸­ã«ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "alert イベントã®ãƒ­ã‚°è¨˜éŒ²ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr "タイミングãƒãƒƒãƒ•ã‚¡ãƒ¼ã‚’書å¼æ•´å½¢ã§ãã¾ã›ã‚“ã€é•·ã• %d"
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr "%s/%s: %s"
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr "ä¸è¦å‰‡ã«æŽ¥ç¶šãŒè½ã¡ã¦ã„ã¾ã™"
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "IoBuffer ã®æ›¸ãè¾¼ã¿ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "ChangeWindowSize ã®æ›¸ãè¾¼ã¿ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "CommandSuspend ã®æ›¸ãè¾¼ã¿ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "リレーホストã¸ã®TLS ãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯ãŒå¤±æ•—"
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "リレーホストã«æŽ¥ç¶šã§ãã¾ã›ã‚“"
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: 無効㪠ServerHello ã§ã™ã€server_id ãŒã‚ã‚Šã¾ã›ã‚“"
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "無効㪠ServerHello ã§ã™"
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "èªè­˜ã§ããªã„ ServerMessage ã®ã‚¿ã‚¤ãƒ—ã§ã™"
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr "リレー %s (%s) ã‹ã‚‰ã®èª­ã¿è¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "リレーã‹ã‚‰ã®èª­ã¿è¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "リレーホストåãŒè¨¼æ˜Žæ›¸ã¨ä¸€è‡´ã—ã¾ã›ã‚“"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "リレーã‹ã‚‰ã®èª­ã¿è¾¼ã¿ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "リレーã‹ã‚‰èª­ã¿è¾¼ã‚ã¾ã›ã‚“"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "リレーサーãƒãƒ¼ãŒæŽ¥ç¶šã‚’é–‰ã˜ã¾ã—ãŸ"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "サーãƒãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå¤§ãéŽãŽã¾ã™"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "リレー %s (%s) ã¸ã®æ›¸ãè¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "リレーã¸ã®æ›¸ãè¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "リレーã¸ã®æ›¸ãè¾¼ã¿ã§ã‚¨ãƒ©ãƒ¼"
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "sudo I/O ログをリモートサーãƒãƒ¼ã«é€ã‚‹"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "å—ã‘å–りイベントã®ã¿ã‚’é€ã‚‹ (I/O ãªã—)"
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "サーãƒãƒ¼ã®è¨¼æ˜Žæ›¸ã‚’検証ã™ã‚‹ãŸã‚ã«çªãåˆã‚ã›ã‚‹è¨¼æ˜Žæ›¸ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«"
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "TLSãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯ã®ãŸã‚ã®è¨¼æ˜Žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«"
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "ログã®é€ã‚Šå…ˆã¨ã™ã‚‹ãƒ›ã‚¹ãƒˆ"
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "復元ã™ã‚‹I/O ログã®ãƒªãƒ¢ãƒ¼ãƒˆ ID"
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "プライベートéµãƒ•ã‚¡ã‚¤ãƒ«"
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "サーãƒãƒ¼ã®è¨¼æ˜Žæ›¸ã‚’検証ã—ãªã„"
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "ホストã«æŽ¥ç¶šã™ã‚‹ã®ã«ä½¿ç”¨ã™ã‚‹ãƒãƒ¼ãƒˆ"
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "以å‰ã® I/O ログ転é€ã‚’å†é–‹ã™ã‚‹"
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "与ãˆã‚‰ã‚ŒãŸç†ç”±ã«ã‚ˆã‚Šã‚³ãƒžãƒ³ãƒ‰ã‚’æ‹’å¦ã™ã‚‹"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr "ã“ã®æ™‚é–“ã«ãªã£ãŸã‚‰è»¢é€ã‚’æ­¢ã‚ã‚‹"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "é¸ã‚“ã  I/O ログを n é‡ã«ä¸¦åˆ—é€ä¿¡ã™ã‚‹ã“ã¨ã§ç›£æŸ»ã‚µãƒ¼ãƒãƒ¼ã‚’試験ã™ã‚‹"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "警告: %s:%s ã‚’å‚ç…§ã§ãã¾ã›ã‚“: %s"
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "サーãƒãƒ¼ã®IPアドレスをå–å¾—ã§ãã¾ã›ã‚“"
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "%s/%s ã‹ã‚‰èª­ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "予期ã—ãªã„ I/O イベント %d"
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: 予期ã—ãªã„状態 %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "サーãƒã‹ã‚‰ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "サーãƒã‹ã‚‰ä¸­æ–­ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: 予期ã—ãªã„ type_case ã®å€¤ %d"
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "サーãƒãƒ¼ã‹ã‚‰ã®èª­ã¿è¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
+msgid "host name does not match certificate"
+msgstr "ホストåãŒè¨¼æ˜Žæ›¸ã¨ä¸€è‡´ã—ã¾ã›ã‚“"
+
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "æ—©ã™ãŽã‚‹ãƒ•ã‚¡ã‚¤ãƒ«çµ‚端 (EOF)"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "サーãƒãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå¤§ãéŽãŽã¾ã™: %u"
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "サーãƒãƒ¼ã¸ã®æ›¸ãè¾¼ã¿ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ"
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "å†é–‹ã™ã‚‹ãƒã‚¤ãƒ³ãƒˆã¨IOログIDを指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "I/OãŒé€ã‚‰ã‚Œãªã„å ´åˆã¯å†é–‹ã™ã‚‹ãƒã‚¤ãƒ³ãƒˆã‚’設定ã§ãã¾ã›ã‚“"
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "ステータス %d ã§äºˆæœŸã›ã¬çµ‚了をã—ã¾ã—ãŸ"
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "サーãƒãƒ¼ã«é€ã‚‰ã‚ŒãŸçµŒéŽæ™‚é–“ [%lld, %ld]"
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "サーãƒãƒ¼ã‹ã‚‰å—ã‘å–ã£ãŸã‚³ãƒŸãƒƒãƒˆãƒã‚¤ãƒ³ãƒˆ [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "TLS ãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯ã§ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆãŒç™ºç”Ÿ"
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "イベントを設定ã§ãã¾ã›ã‚“"
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "TLS接続ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "SSLオブジェクトを割り当ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "ソケットをSSLオブジェクトã«å–り付ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: logsrvd/tls_client.c:231
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr "TLS コンテキストをåˆæœŸåŒ–ã§ãã¾ã›ã‚“"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "TLS 1.2 æš—å·åŒ–スイートを %s ã«è¨­å®šã§ãã¾ã›ã‚“: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "TLS 1.3 æš—å·åŒ–スイートを %s ã«è¨­å®šã§ãã¾ã›ã‚“: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "ディフィー・ヘルマン パラメーターを設定ã§ãã¾ã›ã‚“: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr "TLS コンテキストを作æˆã§ãã¾ã›ã‚“: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "プロトコルã®æœ€å°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ TLS 1.2 ã«è¨­å®šã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "時刻をå–å¾—ã§ãã¾ã›ã‚“"
@@ -1411,47 +1484,47 @@ msgstr ""
"èªè¨¼ã‚µãƒ¼ãƒãƒ¼ã‚¨ãƒ©ãƒ¼ã§ã™:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: プリンシパルを文字列('%s')ã«å¤‰æ›ã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: '%s' を構文解æžã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: 資格情報キャッシュ を解決ã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: オプションを設定ã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: 資格情報をå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: 資格情報キャッシュ ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: 資格情報をキャッシュã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: ホストプリンシパルをå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: TGT を検証ã§ãã¾ã›ã‚“! ãŠãらã攻撃ã§ã™!: %s"
@@ -1492,7 +1565,7 @@ msgstr "アカウントã®æœŸé™åˆ‡ã‚Œã€ã¾ãŸã¯ sudo 用㮠PAM 設定㫠\"a
msgid "PAM account management error: %s"
msgstr "PAM アカウント管ç†ã‚¨ãƒ©ãƒ¼ã§ã™: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "ã‚ãªãŸã¯ %s データベース内ã«å­˜åœ¨ã—ã¾ã›ã‚“"
@@ -1533,27 +1606,27 @@ msgstr "SecurID 用ã®ãƒ‘スコード長ãŒç„¡åŠ¹ã§ã™"
msgid "unable to initialize SIA session"
msgstr "SIA セッションをåˆæœŸåŒ–ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "無効ãªèªè¨¼æ–¹æ³•"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "無効ãªèªè¨¼æ–¹æ³•ãŒ sudo ã®ã‚³ãƒ³ãƒ‘イル時ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã¾ã™! スタンドアローンã¨éžã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒ­ãƒ¼ãƒ³èªè¨¼ã‚’混在ã•ã›ã¦ã¯ã„ã‘ã¾ã›ã‚“。"
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "èªè¨¼æ–¹æ³•ãŒã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "èªè¨¼æ–¹æ³•ãŒ sudo ã®ã‚³ãƒ³ãƒ‘イル時ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã¾ã›ã‚“! èªè¨¼ã‚’無効ã«ã™ã‚‹å ´åˆã«ã¯ã€configure オプション㧠--disable-authentication を指定ã—ã¦ãã ã•ã„。"
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "èªè¨¼æ–¹æ³•ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“。"
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "èªè¨¼æ–¹æ³•:"
@@ -1565,17 +1638,17 @@ msgstr "監査æ¡ä»¶ã‚’決定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "unable to commit audit record"
msgstr "監査レコードをコミットã§ãã¾ã›ã‚“"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "講義ファイル %s ã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "講義ファイル %s を無視ã—ã¾ã™: 通常ファイルã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/check.c:282
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1595,32 +1668,27 @@ msgstr ""
" #3) 大ã„ãªã‚‹åŠ›ã«ã¯å¤§ã„ãªã‚‹è²¬ä»»ãŒä¼´ã†ã“ã¨ã€‚\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "ä¸æ˜Žãª uid %u"
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "エラー: %s:%d:%d: %s \"%s\" ã§ã‚¨ã‚¤ãƒªã‚¢ã‚¹å®šç¾©ãŒå¾ªç’°ã—ã¦ã„ã¾ã™"
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "警告: %s:%d:%d: %s \"%s\" ã§ã‚¨ã‚¤ãƒªã‚¢ã‚¹å®šç¾©ãŒå¾ªç’°ã—ã¦ã„ã¾ã™"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "エラー: %s:%d:%d: %s \"%s\" ã¯å‚ç…§ã•ã‚Œã¦ã„ã‚‹ã®ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“"
+msgid "cycle in %s \"%s\""
+msgstr "循環を発見 %s \"%s\""
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "警告: %s:%d:%d: %s \"%s\" ã¯å‚ç…§ã•ã‚Œã¦ã„ã‚‹ã®ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s \"%s\" ã¯å‚ç…§ã•ã‚Œã¦ã„ã‚‹ã®ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1637,7 +1705,7 @@ msgstr "開始㮠order: %s: %s"
msgid "order padding: %s: %s"
msgstr "order ã®å¢—分: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s 文法ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d\n"
@@ -1657,14 +1725,14 @@ msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ãªã„出力形å¼ã§ã™ %s"
msgid "%s: input and output files must be different"
msgstr "%s: 入力ファイルã¨å‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã¯åˆ¥ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "sudoers ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
@@ -1689,28 +1757,18 @@ msgstr "無効ãªæŠ‘制ã®æŒ‡å®šã§ã™: %s"
msgid "invalid filter: %s"
msgstr "無効ãªãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ã§ã™: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "%s ファイルã®æ§‹æ–‡è§£æžã«å¤±æ•—ã—ã¾ã—ãŸã€‚ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼ã§ã™"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "%s 内 %d 行付近ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "%s 内ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "%s ã¸æ›¸ã込むã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1719,7 +1777,7 @@ msgstr ""
"%s - sudoers ファイル形å¼é–“ã§ã®å¤‰æ›ã‚’è¡Œã†\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -1760,31 +1818,31 @@ msgstr ""
" -V, --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了ã™ã‚‹"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "GMT 時刻をå–å¾—ã§ãã¾ã›ã‚“"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "タイムスタンプを書å¼æ•´å½¢ã§ãã¾ã›ã‚“"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: 未知ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆé …ç›® \"%s\" ã§ã™"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "sudoers ã®é …ç›®ãŒå¤šã™ãŽã¾ã™ã€æœ€å¤§ã¯ %u ã§ã™ã€‚"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "SUDOERS_BASE 環境変数ãŒè¨­å®šã•ã‚Œã¦ãŠã‚‰ãš -b オプションも指定ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
@@ -1829,805 +1887,790 @@ msgstr "%s:%d:%d: Defaults \"%s\" をホストã«ç‰¹æœ‰ã®ã‚‚ã®ã«ã§ãã¾ã›ã
msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries"
msgstr "%s:%d:%d: 後続ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã§ä¸Šæ›¸ãã•ã‚ŒãŸ Defaults ã® \"%s\" を削除ã—ã¦ã„ã¾ã™"
-#: plugins/sudoers/cvtsudoers_merge.c:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, c-format
msgid "%s:%d:%d: merging userspec into %s:%d:%d"
msgstr "%s:%d:%d: userspec ã‚’ %s:%d:%d ã«ä½µåˆã—ã¦ã„ã¾ã™"
-#: plugins/sudoers/cvtsudoers_merge.c:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, c-format
msgid "%s:%d:%d: removing userspec overridden by subsequent entries"
msgstr "%s:%d:%d: 後続ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã§ä¸Šæ›¸ãã•ã‚ŒãŸ userspec を削除ã—ã¦ã„ã¾ã™"
-#: plugins/sudoers/def_data.c:50
+#: plugins/sudoers/def_data.c:56
#, c-format
msgid "Syslog facility if syslog is being used for logging: %s"
msgstr "ログ記録時㫠syslog を使用ã™ã‚‹å ´åˆã® syslog ファシリティ: %s"
-#: plugins/sudoers/def_data.c:54
+#: plugins/sudoers/def_data.c:60
#, c-format
msgid "Syslog priority to use when user authenticates successfully: %s"
msgstr "ログ記録時㫠syslog を使用ã™ã‚‹å ´åˆã® syslog プライオリティ: %s"
-#: plugins/sudoers/def_data.c:58
+#: plugins/sudoers/def_data.c:64
#, c-format
msgid "Syslog priority to use when user authenticates unsuccessfully: %s"
msgstr "ユーザーèªè¨¼ã«å¤±æ•—ã—ãŸã¨æ™‚ã«ä½¿ç”¨ã•ã‚Œã‚‹ syslog プライオリティ: %s"
-#: plugins/sudoers/def_data.c:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "ワンタイムパスワード入力è¦æ±‚ã‚’ãã‚Œã®ã¿ã®è¡Œã«è¡¨ç¤ºã—ã¾ã™"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "$PATH 内ã«ã‚ã‚‹ '.' を無視ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "sudo を実行ã—ãŸæ™‚ã«ã€å¸¸ã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "ユーザーèªè¨¼ã«å¤±æ•—ã—ãŸå ´åˆã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
msgstr "ユーザー他 sudoers 内ã«å­˜åœ¨ã—ãªã„å ´åˆã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr "ユーザーãŒã“ã®ãƒ›ã‚¹ãƒˆç”¨ã® sudoers 内ã«å­˜åœ¨ã—ãªã„å ´åˆã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr "ユーザーãŒè¨±å¯ã•ã‚Œã¦ã„ãªã„コマンドを実行ã—よã†ã¨ã—ãŸå ´åˆã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
msgid "Send mail if the user tries to run a command"
msgstr "ユーザーãŒãƒžãƒ³ãƒ‰ã‚’実行ã—よã†ã¨ã—ãŸå ´åˆã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:94
+#: plugins/sudoers/def_data.c:100
msgid "Use a separate timestamp for each user/tty combo"
msgstr "ユーザー/tty ã®çµ„ã¿åˆã‚ã›ã”ã¨ã«åˆ†é›¢ã—ãŸã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—を使用ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "ユーザーãŒæœ€åˆã« sudo を実行ã—ãŸæ™‚ã«è¬›ç¾©ã‚’è¡Œã†"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "sudo ã®è¬›ç¾©ãŒå«ã¾ã‚Œã¦ã„るファイル: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "デフォルトã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒèªè¨¼ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’å¿…è¦ã¨ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "root ㌠sudo を実行ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr " ログファイル (syslog 以外) ã«è¨˜éŒ²ã™ã‚‹æ™‚ã«ãƒ›ã‚¹ãƒˆåã‚’å«ã‚ã¾ã™"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "ログファイル (syslog 以外) ã«è¨˜éŒ²ã™ã‚‹æ™‚ã«å¹´æƒ…報をå«ã‚ã¾ã™"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
msgid "If sudo is invoked with no arguments, start a shell"
msgstr "sudo を引数無ã—ã§èµ·å‹•ã—ãŸå ´åˆã€ã‚·ã‚§ãƒ«ã‚’開始ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:126
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
msgstr "シェルを -s ã§é–‹å§‹ã—ãŸæ™‚ã« $HOME を変更後ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«è¨­å®šã—ã¾ã™"
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
msgstr "$HOME を常ã«å¤‰æ›´å¾Œã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ›ãƒ¼ãƒ ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«è¨­å®šã—ã¾ã™"
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
msgstr "å½¹ã«ç«‹ã¤ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹ãŸã‚ã«ã„ãã¤ã‹ã®æƒ…報をåŽé›†ã™ã‚‹ã“ã¨ã‚’許å¯ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "sudoers ファイルã«å®Œå…¨ä¿®é£¾ãƒ›ã‚¹ãƒˆå (FQDN) ã‚’è¦æ±‚ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "é–“é•ã£ãŸãƒ‘スワードを入力ã—ãŸæ™‚ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’侮辱ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "tty ãŒã‚ã‚‹å ´åˆã®ã¿ sudo ã®å®Ÿè¡Œã‚’許å¯ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "visudo ㌠EDITOR 環境変数を尊é‡ã—ã¦ä½¿ç”¨ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "ユーザーã®ãƒ‘スワードã§ã¯ãªãã€root ã®ãƒ‘スワードã®å…¥åŠ›ã‚’è¦æ±‚ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "ユーザーã®ãƒ‘スワードã§ã¯ãªã〠runas_default ユーザーã®ãƒ‘スワードã®å…¥åŠ›ã‚’è¦æ±‚ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ‘スワードã§ã¯ãªãã€å¤‰æ›´å…ˆãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ‘スワードã®å…¥åŠ›ã‚’è¦æ±‚ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "変更先ユーザーã®ãƒ­ã‚°ã‚¤ãƒ³ã‚¯ãƒ©ã‚¹ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚’é©ç”¨ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "LOGNAME ãŠã‚ˆã³ USER 環境変数を設定ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "実効ユーザーIDã®ã¿å¤‰æ›´å…ˆãƒ¦ãƒ¼ã‚¶ãƒ¼ã® UID ã«è¨­å®šã—ã€å®Ÿãƒ¦ãƒ¼ã‚¶ãƒ¼IDã¯å¤‰æ›´ã—ãªã„"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "グループベクトルを変更先ユーザーã®å€¤ã§åˆæœŸåŒ–ã—ãªã„"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "ログファイルã®è¡Œé ­ã‹ã‚‰æ”¹è¡Œã¾ã§ã®é•·ã• (0 ã®å ´åˆã¯æ”¹è¡Œã—ãªã„): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "èªè¨¼ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤: %.1f 分"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "パスワード入力è¦æ±‚ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆå€¤: %.1f 分"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "パスワード入力ã®è©¦è¡Œå›žæ•°: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "使用ã™ã‚‹ umask 値 (0777 ã®å ´åˆã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è¨­å®šå€¤ã‚’使用ã—ã¾ã™): 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "ログファイルã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "メールプログラムã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "メールプログラムã®å¼•æ•°ãƒ•ãƒ©ã‚°: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "メールã®é€ä¿¡å…ˆã‚¢ãƒ‰ãƒ¬ã‚¹: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "メールã®é€ä¿¡å…ƒã‚¢ãƒ‰ãƒ¬ã‚¹: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "メールã®ä»¶å (Subject) è¡Œ: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "パスワードを間é•ã£ãŸæ™‚ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "å—講状æ³ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "èªè¨¼ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ディレクトリã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr "èªè¨¼ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ディレクトリã®æ‰€æœ‰è€…: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr "パスワード入力㨠PATH ã®è¦æ±‚ãŒå…除ã•ã‚Œã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ã«å±žã™ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼: %s"
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "パスワード入力è¦æ±‚時ã«è¡¨ç¤ºã•ã‚Œã‚‹æ–‡å­—列: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "設定ã—ãŸå ´åˆã€ã™ã¹ã¦ã®å ´åˆã«ãŠã„㦠passprompt ãŒã‚·ã‚¹ãƒ†ãƒ ã®å…¥åŠ›è¦æ±‚表示を上書ãã—ã¾ã™"
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "コマンドを実行ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å¤‰æ›´å…ˆãƒ¦ãƒ¼ã‚¶ãƒ¼: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "ユーザー㮠$PATH を上書ãã™ã‚‹æ™‚ã®å€¤: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "visudo ã§ä½¿ç”¨ã•ã‚Œã‚‹ã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "'list' 疑似コマンド使用ã™ã‚‹ãŸã‚ã«ãƒ‘スワードをè¦æ±‚ã•ã‚Œã‚‹æ™‚: %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "'verify' 疑似コマンドを使用ã™ã‚‹ãŸã‚ã«ãƒ‘スワードをè¦æ±‚ã•ã‚Œã‚‹æ™‚: %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "exec 関数群を置ãæ›ãˆã‚‹ sudo_noexec ライブラリ事å‰ãƒ­ãƒ¼ãƒ‰ã—ã¾ã™"
# do ã¯ãŸã¶ã‚“強調㮠do
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "LDAP ディレクトリãŒå®Ÿè¡Œä¸­ã®å ´åˆã€ãƒ­ãƒ¼ã‚«ãƒ«ã® sudoers ファイルを無視ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "%d 以上ã®å€¤ã‚’ã‚‚ã¤ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã‚’コマンド実行å‰ã«é–‰ã˜ã¾ã™"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "設定ã—ã¦ã‚‚ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒ \"closefrom\" ã®å€¤ã‚’ -C オプションã§ä¸Šæ›¸ãã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "ユーザーãŒä»»æ„ã®ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ã‚’許å¯ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "環境変数ã®é›†åˆã‚’デフォルトã«è¨­å®šã—ã¾ã™"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "安全性ã®ç¢ºèªã‚’è¡Œã†ç’°å¢ƒå¤‰æ•°:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "削除ã™ã‚‹ç’°å¢ƒå¤‰æ•°:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "ä¿è­·ã™ã‚‹ç’°å¢ƒå¤‰æ•°:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "æ–°ã—ã„セキュリティコンテキスト内ã§ä½¿ç”¨ã™ã‚‹ SELinux ã®å½¹å‰²: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "æ–°ã—ã„セキュリティコンテキスト内ã§ä½¿ç”¨ã™ã‚‹ SELinux ã®ã‚¿ã‚¤ãƒ—: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "sudo 固有ã®ç’°å¢ƒãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "制é™ä»˜ãsudo 固有ã®ç’°å¢ƒãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "sudoers を構文解æžã™ã‚‹æ™‚ã«ä½¿ç”¨ã™ã‚‹ãƒ­ã‚±ãƒ¼ãƒ«: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "パスワードãŒè¡¨ç¤ºã•ã‚Œã¦ã—ã¾ã†çŠ¶æ…‹ã§ã‚ã£ã¦ã‚‚ sudo ãŒãƒ‘スワード入力をè¦æ±‚ã™ã‚‹ã“ã¨ã‚’許å¯ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "パスワード入力è¦æ±‚ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®å…¥åŠ›ãŒã‚ã£ãŸæ™‚ã«ã€è¦–覚的ãªãƒ•ã‚£ãƒ¼ãƒ‰ãƒãƒƒã‚¯ã‚’æä¾›ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "ファイルシステムã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãªã„ãŒã‚ˆã‚Šæ­£ç¢ºã§ã¯ç„¡ã„ã€ç´ æ—©ã„一致確èªå‡¦ç†ã‚’è¡Œã„ã¾ã™"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "sudoers ã§æŒ‡å®šã—㟠umask 値ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã® umask 値を上書ãã—ã¾ã™ (ユーザー㮠umask 値より緩ã„å ´åˆã§ã‚‚)"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "コマンドを実行ã—ãŸæ™‚ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼å…¥åŠ›ã‚’ログã«è¨˜éŒ²ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "端末ã«æŽ¥ç¶šã—ã¦ã„ãªã„å ´åˆã«ã‚³ãƒžãƒ³ãƒ‰ã®æ¨™æº–入力をログã«è¨˜éŒ²ã—ã¾ã™"
+
+#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "コマンドを実行ã—ãŸæ™‚ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ç«¯æœ«å…¥åŠ›ã‚’ログã«è¨˜éŒ²ã—ã¾ã™"
+
+#: plugins/sudoers/def_data.c:364
msgid "Log the output of the command being run"
msgstr "コマンドを実行ã—ãŸæ™‚ã®å‡ºåŠ›ã‚’ログã«è¨˜éŒ²ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "端末ã«æŽ¥ç¶šã—ã¦ã„ãªã„å ´åˆã«ã‚³ãƒžãƒ³ãƒ‰ã®æ¨™æº–出力をログã«è¨˜éŒ²ã—ã¾ã™"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "端末ã«æŽ¥ç¶šã—ã¦ã„ãªã„å ´åˆã«ã‚³ãƒžãƒ³ãƒ‰ã®æ¨™æº–エラー出力をログã«è¨˜éŒ²ã—ã¾ã™"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "コマンドを実行ã—ãŸæ™‚ã®ç«¯æœ«å‡ºåŠ›ã‚’ログã«è¨˜éŒ²ã—ã¾ã™"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "I/O ログを zlib を使用ã—ã¦åœ§ç¸®ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "常ã«ç–‘ä¼¼ tty 内ã§ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "UNIX 以外ã®ã‚°ãƒ«ãƒ¼ãƒ—をサãƒãƒ¼ãƒˆã™ã‚‹ãŸã‚ã®ãƒ—ラグインã§ã™:%s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "入出力 (I/O) ログをä¿å­˜ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™:%s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "入出力 (I/O) ログをä¿å­˜ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™:%s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "pty を割り当ã¦ãŸæ™‚ã« utmp/utmpx ファイルã«è¨˜éŒ²ã‚’加ãˆã¾ã™"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "utmp ã«è¨˜éŒ²ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’ã€å®Ÿè¡Œã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã§ã¯ãªãã€å¤‰æ›´å¾Œã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "許容ã•ã‚Œã‚‹æ¨©é™ã®é›†åˆ: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "制é™ã•ã‚Œã‚‹æ¨©é™ã®é›†åˆ: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "コマンドを pty ã§ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã™ã‚‹"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "利用ã™ã‚‹ PAM サービスå: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "ログインシェルã§åˆ©ç”¨ã™ã‚‹ PAM サービスå: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "sudo ㌠-A オプション付ãã§å®Ÿè¡Œã•ã‚ŒãŸã¨ãã«ä½¿ã† PAM サービスå: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "ターゲットユーザー㮠PAM 資格情報ã«ã‚ˆã‚‹èªè¨¼ã‚’試ã¿ã‚‹"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "実行ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã®ãŸã‚ã«æ–°ã—ã„ PAM セッションを生æˆã™ã‚‹"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "PAM アカウント検証管ç†ã‚’実行ã—ã¦ã„ã¾ã™"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "I/O ログシーケンス番å·ã®æœ€å¤§å€¤: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "sudoers ã®ãƒãƒƒãƒˆã‚°ãƒ«ãƒ¼ãƒ—サãƒãƒ¼ãƒˆã‚’有効ã«ã™ã‚‹"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "ファイルを sudoedit ã§ç·¨é›†ã™ã‚‹ã¨ãã«è¦ªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒæ›¸ãè¾¼ã¿å¯èƒ½ã‹ç¢ºã‹ã‚ã‚‹"
-#: plugins/sudoers/def_data.c:430
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "ファイルを sudoedit ã§ç·¨é›†ã™ã‚‹ã¨ãã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’追ã†"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "ä¸æ˜Žãªã‚·ã‚¹ãƒ†ãƒ ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¤ã„ã¦ã€ã‚°ãƒ«ãƒ¼ãƒ—プラグインã«å•ã„åˆã‚ã›ã‚‹"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "ãƒãƒƒãƒˆã‚°ãƒ«ãƒ¼ãƒ—ã«ã¤ã„ã¦ã€ã™ã¹ã¦ã®ã‚¿ãƒ—ル(ユーザーã€ãƒ›ã‚¹ãƒˆã€ãƒ‰ãƒ¡ã‚¤ãƒ³ï¼‰ã‚’基ã«åˆ¤å®šã™ã‚‹"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "監査ログファイルã¸ã®æ›¸ãè¾¼ã¿ãŒã§ããªãã¦ã‚‚ã€ã‚³ãƒžãƒ³ãƒ‰ã®å®Ÿè¡Œã‚’許å¯ã™ã‚‹"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "I/O ログファイルã¸ã®æ›¸ãè¾¼ã¿ãŒã§ããªãã¦ã‚‚ã€ã‚³ãƒžãƒ³ãƒ‰ã®å®Ÿè¡Œã‚’許å¯ã™ã‚‹"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "ログファイルã¸ã®æ›¸ãè¾¼ã¿ãŒã§ããªãã¦ã‚‚ã€ã‚³ãƒžãƒ³ãƒ‰ã®å®Ÿè¡Œã‚’許å¯ã™ã‚‹"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "グループã®ç…§åˆã‚’ sudoers ã®ä¸­ã§è¡Œã„ã€ã‚°ãƒ«ãƒ¼ãƒ—åã§ãªãグループIDを用ã„ã‚‹"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "ログエントリーãŒã“ã®å€¤ã‚ˆã‚Šé•·ããªã‚‹ã¨ã€è¤‡æ•°ã® syslog メッセージã«åˆ†å‰²ã•ã‚Œã¾ã™: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "I/O ログã®æ‰€æœ‰è€…ã¨ãªã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "I/O ログã®æ‰€æœ‰è€…ã¨ãªã‚‹ã‚°ãƒ«ãƒ¼ãƒ—: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "I/O ログã®ãƒ•ã‚¡ã‚¤ãƒ«ãƒ¢ãƒ¼ãƒ‰: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "コマンドã®å®Ÿè¡Œæ™‚ã«ãƒ‘スã§ãªãファイル記述å­ã‚’使ã†: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "sudoers ã®ä¸­ã®æœªçŸ¥ã® Defaults エントリーを無視ã—ã€è­¦å‘Šã‚’出ã•ãªã„"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "コマンドãŒä¸­æ–­ã•ã‚Œã‚‹ã¾ã§ã®çµŒéŽæ™‚間を秒ã§æŒ‡å®šã™ã‚‹: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "ユーザーãŒã‚³ãƒžãƒ³ãƒ‰å®Ÿè¡Œã®åˆ¶é™æ™‚間をコマンドラインã§æŒ‡å®šã§ãるよã†ã«ã™ã‚‹"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "I/O ログã®ãƒ‡ãƒ¼ã‚¿ã‚’ãƒãƒƒãƒ•ã‚¡ã›ãšã«ã€å³ãƒ‡ã‚£ã‚¹ã‚¯ã«ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "syslog ã¸ã®ãƒ­ã‚°è¨˜éŒ²æ™‚ã«ãƒ—ロセスIDã‚’å«ã‚ã‚‹"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "èªè¨¼ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã®ã‚¿ã‚¤ãƒ—: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "èªè¨¼å¤±æ•—メッセージ: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "ユーザーåã®æ¤œç´¢ã§å¤§æ–‡å­—å°æ–‡å­—ã‚’åŒä¸€è¦–ã™ã‚‹"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "グループåã®æ¤œç´¢ã§å¤§æ–‡å­—å°æ–‡å­—ã‚’åŒä¸€è¦–ã™ã‚‹"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "コマンド㌠sudoers ã§è¨±å¯ã•ã‚ŒãŸå ´åˆã«ãƒ­ã‚°ã«è¨˜éŒ²ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "コマンド㌠sudoers ã§æ‹’å¦ã•ã‚ŒãŸå ´åˆã«ãƒ­ã‚°ã«è¨˜éŒ²ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "オプショナルãªãƒãƒ¼ãƒˆã§æŽ¥ç¶šã™ã‚‹ Sudo ログサーãƒãƒ¼"
-#: plugins/sudoers/def_data.c:526
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Sudo ログサーãƒãƒ¼ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã€å˜ä½ã¯ç§’: %u"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "ログサーãƒãƒ¼ã«æŽ¥ç¶šã—ãŸã‚½ã‚±ãƒƒãƒˆã§ SO_KEEPALIVE ソケットオプションを有効ã«ã™ã‚‹"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "èªè¨¼ã‚µãƒ¼ãƒãƒ¼ã® CA ãƒãƒ³ãƒ‰ãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "sudoers ã®è¨¼æ˜Žæ›¸ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "sudoers ã®ãƒ—ライベートéµãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "ログサーãƒãƒ¼ã®è¨¼æ˜Žæ›¸ãŒæœ‰åŠ¹ã‹æ¤œè¨¼ã™ã‚‹"
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "未知㮠runas ユーザーãŠã‚ˆã³/ã¾ãŸã¯ã‚°ãƒ«ãƒ¼ãƒ— ID を使ã†ã“ã¨ã‚’許å¯ã™ã‚‹"
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "有効ãªã‚·ã‚§ãƒ«ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã¿ã«ã‚³ãƒžãƒ³ãƒ‰å®Ÿè¡Œã‚’許å¯ã™ã‚‹"
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "PAMã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’ sudo を実行ã—ã¦ã„るユーザーã«è¨­å®š"
-#: plugins/sudoers/def_data.c:562
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "PAMã®ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆã‚’ローカルホストåã«è¨­å®š"
-#: plugins/sudoers/def_data.c:566
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "コマンド実行å‰ã«å¤‰æ›´ã™ã‚‹ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª: %s"
-#: plugins/sudoers/def_data.c:570
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "コマンド実行å‰ã«å¤‰æ›´ã™ã‚‹ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª: %s"
-#: plugins/sudoers/def_data.c:574
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "生æˆã™ã‚‹ãƒ­ã‚°ã®æ›¸å¼: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "SELinux RBAC ã®ã‚µãƒãƒ¼ãƒˆã‚’有効ã«ã™ã‚‹"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "sudo ãŒæœ€åˆã«å®Ÿè¡Œã•ã‚ŒãŸæ™‚ã«ä½œæˆã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ス: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "ã“れ以é™ã®ã‚³ãƒžãƒ³ãƒ‰ã«å‰²ã‚Šè¾¼ã¿ã€sudoers ã«ã‚ˆã‚‹åˆ¶é™ã‚’é©ç”¨ã™ã‚‹"
-#: plugins/sudoers/def_data.c:590
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr "コマンドãŒå®Ÿè¡Œã—ãŸã‚µãƒ–コマンドをログã«è¨˜éŒ²ã™ã‚‹"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr "コマンドを実行ã—ãŸå¾Œã®çµ‚了ステータスをログã«è¨˜éŒ²ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "割り込ã¿ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸­ã§ç¶šãコマンドã«ã¯èªè¨¼ãŒå¿…è¦ã§ã™"
-#: plugins/sudoers/def_data.c:602
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "割り込ã¾ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ãŒ setuid ã¾ãŸã¯ setgid プログラムを実行ã™ã‚‹ã“ã¨ã‚’許å¯ã—ã¾ã™"
-#: plugins/sudoers/def_data.c:606
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "プロセスã®ã‚¢ãƒ‰ãƒ¬ã‚¹ç©ºé–“ã®æœ€å¤§å€¤(ãƒã‚¤ãƒˆå˜ä½): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "コアダンプファイルã®æœ€å¤§ã‚µã‚¤ã‚º(ãƒã‚¤ãƒˆå˜ä½): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "プロセスãŒä½¿ç”¨ã™ã‚‹CPU時間ã®æœ€å¤§å€¤(秒å˜ä½): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "プロセスã®ãƒ‡ãƒ¼ã‚¿ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚µã‚¤ã‚ºã®æœ€å¤§å€¤(ãƒã‚¤ãƒˆå˜ä½): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "プロセスãŒä½œæˆã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã®æœ€å¤§å€¤(ãƒã‚¤ãƒˆå˜ä½): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "プロセスãŒä½œã‚‹ãƒ­ãƒƒã‚¯ã®æœ€å¤§æ•°: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "プロセスãŒãƒ­ãƒƒã‚¯ã™ã‚‹ãƒ¡ãƒ¢ãƒªãƒ¼ã‚µã‚¤ã‚ºã®æœ€å¤§å€¤(ãƒã‚¤ãƒˆå˜ä½): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "プロセスãŒé–‹ãファイル数ã®æœ€å¤§å€¤: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "ユーザーãŒåŒæ™‚ã«èµ°ã‚‰ã›ã‚‹ãƒ—ロセスã®æœ€å¤§æ•°: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "プロセスãŒä½¿ç”¨ã™ã‚‹ãƒ¡ãƒ¢ãƒªãƒ¼(RSS)ã®æœ€å¤§å€¤(ãƒã‚¤ãƒˆå˜ä½): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "プロセスã®ã‚¹ã‚¿ãƒƒã‚¯ã‚µã‚¤ã‚ºã®æœ€å¤§å€¤(ãƒã‚¤ãƒˆå˜ä½): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr "éžå¯¾è©±ãƒ¢ãƒ¼ãƒ‰ã§ã‚‚èªè¨¼ã‚’試ã¿ã‚‹"
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr "I/Oログ入力ã«å¹³åˆ†ã®ãƒ‘スワードを格ç´ã™ã‚‹"
-#: plugins/sudoers/def_data.c:658
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr "パスワードã®ãƒ—ロンプトã«ä¸€è‡´ã™ã‚‹ã‹èª¿ã¹ã‚‹æ­£è¦è¡¨ç¾ã®ä¸€è¦§"
-#: plugins/sudoers/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: 未知ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆé …ç›® \"%s\" ã§ã™"
-
-#: plugins/sudoers/defaults.c:242
-#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: \"%s\" ã«å€¤ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-
-#: plugins/sudoers/defaults.c:245
-#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: \"%s\" ã«å€¤ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-
-#: plugins/sudoers/defaults.c:258
-#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: \"%c=\" 㯠\"%s\" ã«ã¯ç„¡åŠ¹ãªæ¼”ç®—å­ã§ã™"
-
-#: plugins/sudoers/defaults.c:261
+#: plugins/sudoers/def_data.c:688
#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: \"%c=\" 㯠\"%s\" ã«ã¯ç„¡åŠ¹ãªæ¼”ç®—å­ã§ã™"
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
+msgstr "インターセプト㨠log_subcmds オプションã§ä½¿ã‚れるメカニズム: %s"
-#: plugins/sudoers/defaults.c:297
-#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: オプション \"%s\" ã¯å€¤ã‚’ã¨ã‚Šã¾ã›ã‚“"
-
-#: plugins/sudoers/defaults.c:300
-#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: オプション \"%s\" ã¯å€¤ã‚’ã¨ã‚Šã¾ã›ã‚“"
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "コマンドã¨å¼•æ•°ã‚’実行後ã«æ¤œè¨¼ã™ã‚‹ã“ã¨ã‚’試ã¿ã¾ã™"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/def_data.c:696
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: 0x%x ã¯ã‚ªãƒ—ション \"%s\" ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¿ã‚¤ãƒ—ã¨ã—ã¦ç„¡åŠ¹ã§ã™"
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "æ–°ã—ã„セキュリティコンテキスト内ã§ä½¿ç”¨ã™ã‚‹ AppArmor プロファイル: %s"
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: 0x%x ã¯ã‚ªãƒ—ション \"%s\" ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¿ã‚¤ãƒ—ã¨ã—ã¦ç„¡åŠ¹ã§ã™"
+msgid "unknown defaults entry \"%s\""
+msgstr "ä¸æ˜Žãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆé …ç›® \"%s\" ã§ã™"
-#: plugins/sudoers/defaults.c:341
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: \"%s\" ã¯ã‚ªãƒ—ション \"%s\" ã®å€¤ã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
+msgid "no value specified for \"%s\""
+msgstr "\"%s\" ã«å€¤ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/defaults.c:344
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: \"%s\" ã¯ã‚ªãƒ—ション \"%s\" ã®å€¤ã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "\"%c=\" 㯠\"%s\" ã«ã¯ç„¡åŠ¹ãªæ¼”ç®—å­ã§ã™"
-#: plugins/sudoers/defaults.c:1161
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: \"%s\" ã®ãƒ‘スåãŒé•·ã™ãŽã¾ã™"
+msgid "option \"%s\" does not take a value"
+msgstr "オプション \"%s\" ã¯å€¤ã‚’ã¨ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/defaults.c:1164
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: \"%s\" ã®ãƒ‘スåãŒé•·ã™ãŽã¾ã™"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "0x%x ã¯ã‚ªãƒ—ション \"%s\" ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¿ã‚¤ãƒ—ã¨ã—ã¦ç„¡åŠ¹ã§ã™"
-#: plugins/sudoers/defaults.c:1175
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: \"%s\" ã®å€¤ã¯ '/', '~', ã¾ãŸã¯ '*' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "\"%s\" ã¯ã‚ªãƒ—ション \"%s\" ã®å€¤ã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
-#: plugins/sudoers/defaults.c:1179
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: \"%s\" ã®å€¤ã¯ '/', '~', ã¾ãŸã¯ '*' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
+msgid "path name for \"%s\" too long"
+msgstr "\"%s\" ã®ãƒ‘スåãŒé•·ã™ãŽã¾ã™"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1134
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: \"%s\" ã®å€¤ã¯ '/' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "\"%s\" ã®å€¤ã¯ '/', '~', ã¾ãŸã¯ '*' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1141
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: \"%s\" ã®å€¤ã¯ '/' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "\"%s\" ã®å€¤ã¯ '/' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: envp ãŒç ´æã—ã¦ã„ã¾ã™ã€‚é•·ã•ãŒåˆã„ã¾ã›ã‚“"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "環境をå†æ§‹ç¯‰ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "残念ã§ã™ãŒã€ã‚ãªãŸã¯æ¬¡ã®ç’°å¢ƒå¤‰æ•°ã‚’設定ã™ã‚‹ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“: %s"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "%s 内 %d 行付近ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "%s 内ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2638,27 +2681,27 @@ msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ãªã„ èªè¨¼æ–¹å¼ %d ã§ã™: %s"
msgid "%s: read error"
msgstr "%s: 読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "%s ã®æ‰€æœ‰è€…㯠uid %d ã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "%s ã¯æ‰€æœ‰è€…ã®ã¿æ›¸ãè¾¼ã¿å¯èƒ½ã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "%s をロードã§ãã¾ã›ã‚“: %su"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "%s 内ã«ã‚·ãƒ³ãƒœãƒ« \"group_plugin\" ãŒã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s: 互æ›æ€§ã®ãªã„グループプラグインメジャーãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d ã§ã™ã€‚予期ã•ã‚Œã‚‹ã®ã¯ %d ã§ã™"
@@ -2677,42 +2720,42 @@ msgstr "ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ \"%s\" を解æžã§ãã¾ã›ã‚“"
msgid "Local IP address and netmask pairs:\n"
msgstr "ローカル IP アドレスã¨ãƒãƒƒãƒˆãƒžã‚¹ã‚¯ã®çµ„:\n"
-#: plugins/sudoers/iolog.c:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "シーケンスファイルを更新ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "%s 㸠I/O ログを書ã込むã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "%s/%s を作æˆã§ãã¾ã›ã‚“"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: 内部エラーã€I/O イベント %d ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "時刻を読ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: 内部エラーã€ç„¡åŠ¹ãªã‚·ã‚°ãƒŠãƒ« %d"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "starttls 㯠ldaps を使用時ã«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“"
@@ -2726,16 +2769,16 @@ msgstr "SSL 証明書ã¨éµãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“: %s"
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "SSL を使用ã™ã‚‹ãŸã‚ã«ã¯ %s ã®ä¸­ã® TLS_CERT を設定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "LDAP ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™ãŒã€LDAP ライブラリ㌠ldap_start_tls_s() ã¾ãŸã¯ ldap_start_tls_s_np() をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "無効㪠sudoOrder 属性ã§ã™: %s"
@@ -2745,12 +2788,12 @@ msgstr "無効㪠sudoOrder 属性ã§ã™: %s"
msgid "%s: port too large"
msgstr "%s: ãƒãƒ¼ãƒˆãŒå¤§ãéŽãŽã¾ã™"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ãªã„ LDAP URI タイプã§ã™: %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "ldap 㨠ldaps ã® URI ã‚’æ··ãœã¦ä½¿ç”¨ã§ãã¾ã›ã‚“"
@@ -2775,111 +2818,111 @@ msgstr "監査システムを開ãã“ã¨ãŒã§ãã¾ã›ã‚“"
msgid "unable to send audit message"
msgstr "監査メッセージをé€ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "イベントループã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "æ–°ã—ã„ SSL_CTX オブジェクトã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "èªè¨¼å±€ã®è¨¼æ˜Žæ›¸ãƒãƒ³ãƒ‰ãƒ« %s をロードã§ãã¾ã›ã‚“"
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "証明書 %s をロードã§ãã¾ã›ã‚“"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "プライベートéµã‚’読ã¿è¾¼ã‚ã¾ã›ã‚“: %s"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "SSLオブジェクトを割り当ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "%s:%s ã¸ã®TLS接続ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "TLS åˆæœŸåŒ–ãŒæˆåŠŸã—ã¾ã›ã‚“ã§ã—ãŸ"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "TLS ãƒãƒ³ãƒ‰ã‚·ã‚§ã‚¤ã‚¯ãŒæˆåŠŸã—ã¾ã›ã‚“ã§ã—ãŸ"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: 内部エラーã€ç„¡åŠ¹ãªçµ‚了コード %d"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "ServerMessage を展開ã§ãã¾ã›ã‚“"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "ログサーãƒãƒ¼ã¸ã®æŽ¥ç¶šãŒå¤±ã‚ã‚Œã¾ã—ãŸ"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "書ãè¾¼ã¿ãƒãƒƒãƒ•ã‚¡ãŒå¤±ã‚ã‚Œã¾ã—ãŸ"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "ログサーãƒãƒ¼ã«æŽ¥ç¶šã§ãã¾ã›ã‚“"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "ユーザー㌠sudoers 内ã«ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "ホスト上ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒèªè¨¼ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "コマンドãŒè¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s 㯠sudoers ファイルã«ã‚ã‚Šã¾ã›ã‚“。\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s 㯠%s 上㧠sudo を実行ã™ã‚‹ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "残念ã§ã™ãŒã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ %s 㯠%s 上㧠sudo を実行ã§ãã¾ã›ã‚“。\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "残念ã§ã™ãŒã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ %s ã¯'%s%s%s' ã‚’ %s%s%s ã¨ã—㦠%s 上ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:334
+msgid "This incident has been reported to the administrator.\n"
+msgstr "ã“ã®å‡ºæ¥äº‹ã¯ç®¡ç†è€…å®›ã¦ã«å ±å‘Šã•ã‚Œã¾ã—ãŸã€‚\n"
+
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s: コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2888,39 +2931,45 @@ msgstr ""
"'.' 内ã§è¦‹ã¤ã‹ã£ãŸ \"%1$s\" を無視ã—ã¾ã™\n"
"ã“ã® \"%3$s\" を実行ã—ãŸã„å ´åˆã¯ \"sudo ./%2$s\" を使用ã—ã¦ãã ã•ã„。"
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] "%u 回パスワード試行を間é•ãˆã¾ã—ãŸ"
-#: plugins/sudoers/logging.c:436
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "èªè¨¼å¤±æ•—"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "パスワードãŒå¿…è¦ã§ã™"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
+msgid "problem parsing sudoers"
+msgstr "sudoers を構文解æžã™ã‚‹æ™‚ã«èµ·ããŸå•é¡Œ"
+
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "%s ã¸ãƒ­ã‚°ã‚’書ã込むã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
#, c-format
-msgid "digest for %s (%s) is not in %s form"
-msgstr "%s (%s) ã®èªè¨¼æ–¹å¼ã¯ %s å½¢å¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "SELinux RBAC ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—トモードãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ã¨ãã«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“"
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "%s (%s) ã®ãƒãƒƒã‚·ãƒ¥ã®é•·ã•ãŒ %zu ã§ã€ 予期ã•ã‚Œã‚‹ %zu ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "SELinux RBAC ã¯log_subcmds フラグãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ã¨ãã«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“"
+#: plugins/sudoers/match_digest.c:131
+#, c-format
+msgid "digest for %s (%s) is not in %s form"
+msgstr "%s (%s) ã®ãƒãƒƒã‚·ãƒ¥ã¯ %s å½¢å¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2929,7 +2978,7 @@ msgstr ""
"\n"
"LDAP 役割: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2937,115 +2986,110 @@ msgstr ""
"\n"
"sudoers é …ç›®:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " RunAsUsers: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " RunAsGroups: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " オプション: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " コマンド:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "既定値ã®ã‚¨ãƒ³ãƒˆãƒªã¨ç…§åˆä¸­ (ユーザーå %s) (ホストå %s):\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "ユーザー %s 用㮠Runas ãŠã‚ˆã³ã‚³ãƒžãƒ³ãƒ‰ç‰¹æœ‰ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "ユーザー %s 㯠%s 上㧠コマンドを実行ã§ãã¾ã™\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "ユーザー %s 㯠%s 上㧠sudo を実行ã™ã‚‹ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "ä¸å®Œå…¨ãª sudoRole: cn: %s を無視ã—ã¾ã™"
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "無効㪠LDIF 属性ã§ã™: %s"
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "無効㪠%.*s ㌠sudo ã®ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã§è¨­å®šã•ã‚Œã¦ã„ã¾ã™"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "\"%s\" ã®ãƒ‘スåãŒé•·ã™ãŽã¾ã™"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ãƒªã‚¹ãƒˆã‚’解æžã§ãã¾ã›ã‚“"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "ユーザーå㌠sudo ã®ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã§è¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "ユーザーID㌠sudo ã®ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã§è¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "グループID㌠sudo ã®ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã§è¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "ホストå㌠sudo ã®ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã§è¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "無効ãªä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "無効㪠chroot ディレクトリ: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "%s を実行ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: 無効ãªãƒ¢ãƒ¼ãƒ‰ãƒ•ãƒ©ã‚°ãŒ sudo ã®ãƒ•ãƒ­ãƒ³ãƒˆã‚¨ãƒ³ãƒ‰ã§æŒ‡å®šã•ã‚Œã¦ã„ã¾ã™: 0x%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "sudoers ãƒãƒªã‚·ãƒ¼ãƒ—ラグイン ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "sudoers ファイル文法ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -3054,27 +3098,27 @@ msgstr ""
"\n"
"sudoers ã®ãƒ‘ス: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "nsswitch ã®ãƒ‘ス: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ldap.conf ã®ãƒ‘ス: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ldap.secret ã®ãƒ‘ス: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "タイプ %d ã®ãƒ•ãƒƒã‚¯ã‚’登録ã§ãã¾ã›ã‚“ (ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "タイプ %d ã®ãƒ•ãƒƒã‚¯ã‚’登録解除ã§ãã¾ã›ã‚“ (ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d.%d)"
@@ -3213,149 +3257,142 @@ msgstr "SSS ã®ã‚½ãƒ¼ã‚¹ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“。SSSD ã¯ã‚ãªãŸã®ãƒžã‚·
msgid "unable to find symbol \"%s\" in %s"
msgstr "シンボル \"%s\" ㌠%s 内ã«ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "デフォルト項目ã§å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸ"
+#: plugins/sudoers/sudoers.c:263
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "%s ã‹ã‚‰æ—¢å®šå€¤ã‚’å–å¾—ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "有効㪠sudoers ã®ã‚½ãƒ¼ã‚¹ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。終了ã—ã¾ã™"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "ユーザーã¯ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "-R オプションを %s ã¨å…±ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "ユーザーã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ %s ã«å¤‰æ›´ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "-D オプションを %s ã¨å…±ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "コマンドãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers ã®æŒ‡å®šã«ã‚ˆã‚Š root ㌠sudo を使用ã™ã‚‹ã“ã¨ã¯ç¦æ­¢ã•ã‚Œã¦ã„ã¾ã™"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "ユーザー㌠closefrom 制é™ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã“ã¨ã¯è¨±ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "-C オプションを使用ã™ã‚‹ã“ã¨ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "タイムスタンプã®æ‰€æœ‰è€… (%s): ãã®ã‚ˆã†ãªãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "tty ãŒã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "残念ã§ã™ãŒã€sudo を実行ã™ã‚‹ã«ã¯ tty ãŒå¿…è¦ã§ã™"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "ユーザー %s ã«ã¯ç„¡åŠ¹ãª シェル: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "コマンドãŒã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚ã‚Šã¾ã™"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "\"cd\" ã¯ã‚·ã‚§ãƒ«ã®å†…蔵コマンドã§ã€ç›´æŽ¥å®Ÿè¡Œã§ãã¾ã›ã‚“。"
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr "権é™ã‚’昇格ã—ãŸã‚·ã‚§ãƒ«ã‚’実行ã™ã‚‹ãŸã‚ã« -s オプションãŒä½¿ã‚れるã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚"
-#: plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr "コマンドを実行ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã™ã‚‹ãŸã‚ã« -D オプションを使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚"
-#: plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "ユーザーã¯ã‚³ãƒžãƒ³ãƒ‰å®Ÿè¡Œã®åˆ¶é™æ™‚間を設定ã™ã‚‹ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "残念ã§ã™ãŒã€ã‚ãªãŸã¯ã‚³ãƒžãƒ³ãƒ‰å®Ÿè¡Œã®åˆ¶é™æ™‚間を設定ã™ã‚‹ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "ユーザーã¯ç’°å¢ƒå¤‰æ•°ã‚’ä¿å­˜ã™ã‚‹ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "残念ã§ã™ãŒã€ã‚ãªãŸã¯ç’°å¢ƒå¤‰æ•°ã‚’ä¿å­˜ã™ã‚‹ã“ã¨ã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit ã®å®Ÿè¡Œã« sudo を使用ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "%s を読ã¿è¾¼ã‚ã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
-#, c-format
-msgid "unable to stat %s"
-msgstr "%s ã®çŠ¶æ…‹å–å¾— (stat) ãŒã§ãã¾ã›ã‚“"
-
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%s ã¯é€šå¸¸ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ID %u ã«ã‚ˆã£ã¦æ‰€æœ‰ã•ã‚Œã¦ã„ã¾ã™ã€‚ã“れ㯠%u ã§ã‚ã‚‹ã¹ãã§ã™"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s ã¯èª°ã§ã‚‚書ãè¾¼ã¿å¯èƒ½ã§ã™"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s ã®ã‚°ãƒ«ãƒ¼ãƒ—ID㯠%u ã«ãªã£ã¦ã„ã¾ã™ã€‚ã“れ㯠%u ã§ã‚ã‚‹ã¹ãã§ã™"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "root ã®ã¿ \"-c %s\" を使用ã§ãã¾ã™"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr "ä¸æ˜Žãªãƒ­ã‚°ã‚¤ãƒ³ã‚¯ãƒ©ã‚¹ %s"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "ホスト %s ã®åå‰è§£æ±ºãŒã§ãã¾ã›ã‚“"
@@ -3453,17 +3490,17 @@ msgstr "末尾㫠\"!\" ã‚’é…ç½®ã§ãã¾ã›ã‚“"
msgid "unknown search type %d"
msgstr "未知ã®æ¤œç´¢ã‚¿ã‚¤ãƒ— %d"
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "使用法: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "使用法: %s [-h] [-d dir] -l [search expression]\n"
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -3472,7 +3509,7 @@ msgstr ""
"%s - sudo セッションログをリプレイã—ã¾ã™\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3528,132 +3565,122 @@ msgstr ""
"\n"
"コマンドãŒä¸€è‡´ã—ã¾ã›ã‚“ã§ã—ãŸ"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%s ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ã‚ˆã‚‹æ›¸ãè¾¼ã¿ãŒå¯èƒ½ã§ã™"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "タイムスタンプファイルを %lld ãƒã‚¤ãƒˆã«åˆ‡ã‚Šè©°ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "未æ¥ã®æ™‚刻ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—を無視ã—ã¾ã™"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "タイムスタンプãŒé ã™ãŽã‚‹å°†æ¥ã«ãªã£ã¦ã„ã¾ã™: %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "タイムスタンプファイル %s をロックã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "å—講状æ³æ ¼ç´ãƒ‘スãŒé•·ã™ãŽã¾ã™: %s/%s"
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit ã¯ãƒ‘スãªã—ã§è¨­å®šã™ã‚‹ã¹ãã§ã™"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "-x オプションã¯å°†æ¥ã®ãƒªãƒªãƒ¼ã‚¹ã§ã¯å‰Šé™¤ã•ã‚Œã¾ã™"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "cvtsudoers ユーティリティーを代ã‚ã‚Šã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚’検討ã—ã¦ãã ã•ã„"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "%s を編集ã™ã‚‹ãŸã‚ã«ãƒªã‚¿ãƒ¼ãƒ³ã‚’押ã—ã¦ãã ã•ã„: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr "編集セッションã®å†…容㌠%s 内ã«æ®‹ã£ã¦ã„ã¾ã™"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "指定ã—ãŸã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ (%s) ãŒå­˜åœ¨ã—ã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "エディターãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ (エディターã®ãƒ‘ス = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "%s ã®çŠ¶æ…‹å–å¾— (stat) ãŒã§ãã¾ã›ã‚“"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼ã§ã™"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "一時ファイル (%s) ã®çŠ¶æ…‹å–å¾— (stat) ãŒã§ãã¾ã›ã‚“。%s ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "一時ファイル (%s) ã®å¤§ãã•ãŒ 0 ã§ã™ã€‚%s ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "エディター (%s) ãŒç•°å¸¸çµ‚了ã—ã¾ã—ãŸã€‚%s ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "一時ファイル (%s) ã‚’å†åº¦é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“。%s ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。"
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "一時ファイル (%s) ã®æ§‹æ–‡è§£æžãŒã§ãã¾ã›ã‚“。ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼ã§ã™"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "内部エラーã€ãƒªã‚¹ãƒˆå†…ã« %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "%s ã® (ユーザーID, グループID) ã‚’ (%u, %u) ã«è¨­å®šã§ãã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s 㨠%s ã¯åŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ä¸Šã«ã‚ã‚Šã¾ã›ã‚“。åå‰ã‚’変更ã™ã‚‹ãŸã‚ã« mv を使用ã—ã¦ã„ã¾ã™"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "コマンドã®å¤±æ•—ã§ã™: '%s %s %s'。%s ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "%s ã®åå‰å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸã€‚%s ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "次ã¯ä½•ã§ã—ょã†ã‹? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3665,41 +3692,41 @@ msgstr ""
" x -- sudoers ファイルã¸ã®å¤‰æ›´ã‚’ä¿å­˜ã›ãšã«çµ‚了ã—ã¾ã™\n"
" Q -- sudoers ファイルã¸ã®å¤‰æ›´ã‚’ä¿å­˜ã—ã¦çµ‚了ã—ã¾ã™ (*å±é™ºã§ã™!*)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "%s を実行ã§ãã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: 所有権ã«èª¤ã‚ŠãŒã‚ã‚Šã¾ã™ã€‚(ユーザーID, グループID) 㯠(%u, %u) ã§ã‚ã‚‹ã¹ãã§ã™\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: アクセス権é™ã«èª¤ã‚ŠãŒã‚ã‚Šã¾ã™ã€‚モード㯠0%o ã§ã‚ã‚‹ã¹ãã§ã™\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: æ­£ã—ã構文解æžã•ã‚Œã¾ã—ãŸ\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%s ãŒãƒ“ジー状態ã§ã™ã€‚後ã§å†è©¦è¡Œã—ã¦ãã ã•ã„"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "ãã‚Œã§ã‚‚編集ã—ã¾ã™ã‹? [y/N]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "警告: %s:%d:%d: エイリアス %s \"%s\" ã¯ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3708,13 +3735,14 @@ msgstr ""
"%s - sudoers ファイルを安全ã«ç·¨é›†ã™ã‚‹\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
@@ -3724,6 +3752,7 @@ msgstr ""
" -c, --check 検査ã®ã¿ã‚’è¡Œã†\n"
" -f, --file=sudoers sudoers ファイルã®ä½ç½®ã‚’指定ã™ã‚‹\n"
" -h, --help ヘルプメッセージを表示ã—ã¦çµ‚了ã™ã‚‹\n"
+" -I, --no-includes include ファイルを編集ã—ãªã„\n"
" -q, --quiet 文法エラーメッセージをより少ãªã (é™ã‹ã«) ã™ã‚‹\n"
" -s, --strict 厳密ãªæ–‡æ³•æ¤œæŸ»ã‚’è¡Œã†\n"
" -V, --version ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã—ã¦çµ‚了ã™ã‚‹\n"
@@ -3752,14 +3781,83 @@ msgstr "無効ãªè¡Œã®ç¶™ç¶š"
msgid "invalid IPv6 address"
msgstr "無効㪠IPv6 アドレス"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "文字列ã®äºˆæœŸã›ã¬ã¨ã“ã‚ã«æ”¹è¡Œ"
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "インクルードã®éšŽå±¤ãŒå¤§ãã™ãŽã¾ã™"
+#~ msgid "%s is group writable"
+#~ msgstr "%s ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ã‚ˆã‚‹æ›¸ãè¾¼ã¿ãŒå¯èƒ½ã§ã™"
+
+#~ msgid "lecture status path too long: %s/%s"
+#~ msgstr "å—講状æ³æ ¼ç´ãƒ‘スãŒé•·ã™ãŽã¾ã™: %s/%s"
+
+#~ msgid "Error: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "エラー: %s:%d:%d: %s \"%s\" ã§ã‚¨ã‚¤ãƒªã‚¢ã‚¹å®šç¾©ãŒå¾ªç’°ã—ã¦ã„ã¾ã™"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "警告: %s:%d:%d: %s \"%s\" ã§ã‚¨ã‚¤ãƒªã‚¢ã‚¹å®šç¾©ãŒå¾ªç’°ã—ã¦ã„ã¾ã™"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "警告: %s:%d:%d: %s \"%s\" ã¯å‚ç…§ã•ã‚Œã¦ã„ã‚‹ã®ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "%s 内 %d 行付近ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "%s 内ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: 未知ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆé …ç›® \"%s\" ã§ã™"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d: \"%s\" ã«å€¤ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%s:%d:%d: \"%c=\" 㯠\"%s\" ã«ã¯ç„¡åŠ¹ãªæ¼”ç®—å­ã§ã™"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: オプション \"%s\" ã¯å€¤ã‚’ã¨ã‚Šã¾ã›ã‚“"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%s:%d:%d: 0x%x ã¯ã‚ªãƒ—ション \"%s\" ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¿ã‚¤ãƒ—ã¨ã—ã¦ç„¡åŠ¹ã§ã™"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: \"%s\" ã¯ã‚ªãƒ—ション \"%s\" ã®å€¤ã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: \"%s\" ã®ãƒ‘スåãŒé•·ã™ãŽã¾ã™"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: \"%s\" ã®ãƒ‘スåãŒé•·ã™ãŽã¾ã™"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: \"%s\" ã®å€¤ã¯ '/', '~', ã¾ãŸã¯ '*' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: \"%s\" ã®å€¤ã¯ '/' ã§é–‹å§‹ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "%s 内 %d 行付近ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
+
+#~ msgid "parse error in %s"
+#~ msgstr "%s 内ã§æ§‹æ–‡è§£æžã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "SELinux RBAC ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—トモードãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ã¨ãã«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "SELinux RBAC ã¯log_subcmds フラグãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ã¨ãã«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“"
+
+#~ msgid "problem with defaults entries"
+#~ msgstr "デフォルト項目ã§å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸ"
+
+#~ msgid "internal error, unable to find %s in list!"
+#~ msgstr "内部エラーã€ãƒªã‚¹ãƒˆå†…ã« %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“!"
+
#~ msgid "%s is not in the sudoers file. This incident will be reported.\n"
#~ msgstr "%s 㯠sudoers ファイル内ã«ã‚ã‚Šã¾ã›ã‚“。ã“ã®äº‹è±¡ã¯è¨˜éŒ²ãƒ»å ±å‘Šã•ã‚Œã¾ã™ã€‚\n"
@@ -3772,9 +3870,6 @@ msgstr "インクルードã®éšŽå±¤ãŒå¤§ãã™ãŽã¾ã™"
#~ msgid "unable to read diffie-hellman parameters: %s"
#~ msgstr "ディフィー・ヘルマン パラメーターを読ã¿è¾¼ã‚ã¾ã›ã‚“: %s"
-#~ msgid "unknown defaults entry \"%s\""
-#~ msgstr "ä¸æ˜Žãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆé …ç›® \"%s\" ã§ã™"
-
#~ msgid "%s:%d unknown key: %s"
#~ msgstr "%s:%d 未知ã®éµ: %s"
@@ -3888,9 +3983,6 @@ msgstr "インクルードã®éšŽå±¤ãŒå¤§ãã™ãŽã¾ã™"
#~ "\n"
#~ "SSSD 役割: ä¸æ˜Ž\n"
-#~ msgid "Warning: cycle in %s `%s'"
-#~ msgstr "警告: 循環を発見 %s `%s'"
-
#~ msgid "Warning: unused %s `%s'"
#~ msgstr "警告: 使ã‚ã‚Œã¦ã„ã¾ã›ã‚“ %s `%s'"
diff --git a/plugins/sudoers/po/ko.mo b/plugins/sudoers/po/ko.mo
index 8f2c00fef..a02c73f26 100644
--- a/plugins/sudoers/po/ko.mo
+++ b/plugins/sudoers/po/ko.mo
Binary files differ
diff --git a/plugins/sudoers/po/ko.po b/plugins/sudoers/po/ko.po
index e371b1f64..5d2b063ff 100644
--- a/plugins/sudoers/po/ko.po
+++ b/plugins/sudoers/po/ko.po
@@ -5,21 +5,21 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.11b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-05-27 08:39-0600\n"
-"PO-Revision-Date: 2022-05-29 21:00+0900\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-12 12:18+0900\n"
"Last-Translator: Seong-ho Cho <darkcircle.0426@gmail.com>\n"
"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.3.1\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.1.1\n"
-#: confstr.sh:1 gram.y:1218
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "문법 오류"
@@ -43,13 +43,13 @@ msgstr "*** %h 보안 알림 ***"
msgid "Sorry, try again."
msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
-#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
-#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
-#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
-#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
-#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
-#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
-#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
@@ -59,50 +59,64 @@ msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
-#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
-#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
-#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
-#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
-#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
-#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
-#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
-#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
-#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
-#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
-#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
-#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
-#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
-#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
-#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
+#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
+#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
+#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
+#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
+#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:446
@@ -112,11 +126,11 @@ msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1158
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -125,124 +139,125 @@ msgstr "죄송합니다만, 다시 ì‹œë„하십시오."
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
-#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
-#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
-#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
-#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
-#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
-#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
-#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
-#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
-#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
-#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
-#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
-#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
-#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
-#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
-#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
-#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
-#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
-#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
-#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
-#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
+#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "메모리를 할당할 수 없습니다"
-#: gram.y:622
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "다ì´ì œìŠ¤íŠ¸ì— 경로 ì´ë¦„ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: gram.y:644
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "%s: \"CWD\" ê°’ì€ '/'; '~'; '*' 문ìžë¡œ 시작해야합니다"
-#: gram.y:650
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr "\"CWD\" 경로가 너무 ê¹ë‹ˆë‹¤"
-#: gram.y:660
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "%s: \"CHROOT\" ê°’ì€ '/'; '~'; '*' 문ìžë¡œ 시작해야합니다"
-#: gram.y:666
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr "\"CHROOT\" 경로가 너무 ê¹ë‹ˆë‹¤"
-#: gram.y:801
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "문법 오류. %s 예약어를 별칭으로 ì¼ìŠµë‹ˆë‹¤"
-#: gram.y:824
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "부ì ì ˆí•œ notbefore ê°’"
-#: gram.y:833
+#: gram.y:834
msgid "invalid notafter value"
msgstr "부ì ì ˆí•œ notafter ê°’"
-#: gram.y:843 plugins/sudoers/policy.c:376
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "제한 시간 ê°’ì´ ë„ˆë¬´ í½ë‹ˆë‹¤"
-#: gram.y:845 plugins/sudoers/policy.c:378
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "부ì ì ˆí•œ 제한 시간 ê°’"
-#: gram.y:966 plugins/sudoers/sudoers.c:1014
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr "ëª…ë ¹ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
-#: gram.y:1220 plugins/sudoers/check_aliases.c:96
-#: plugins/sudoers/defaults.c:1275
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1270
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
-#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
@@ -252,33 +267,48 @@ msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
-#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
@@ -308,11 +338,11 @@ msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1157
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -321,46 +351,47 @@ msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
-#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
-#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
-#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
-#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
-#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
-#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
-#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
-#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
-#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
-#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
-#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
-#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
-#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
-#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
-#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
-#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
-#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
-#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
-#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
-#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
-#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
-#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
-#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -373,25 +404,25 @@ msgstr "\"%s\" ë³„ì¹­ì„ ì´ë¯¸ ì •ì˜í–ˆìŠµë‹ˆë‹¤"
#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
-#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
-#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
-#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
-#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
-#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
-#: toke.l:1226
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -400,14 +431,14 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
-#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
-#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
@@ -450,7 +481,7 @@ msgstr "%8s : %s"
msgid "%8s : (command continued) %s"
msgstr "%8s : (명령 ê³„ì† ì‹¤í–‰) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -565,14 +596,14 @@ msgstr "%s: 실행 그룹 필드가 빠졌습니다"
msgid "%s exists but is not a directory (0%o)"
msgstr "%sì´(ê°€) 있지만 디렉터리가 아닙니다(0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "mkdir %s ëª…ë ¹ì„ ì‹¤í–‰í•  수 없습니다"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
-#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "%s 모드를 0%o 값으로 바꿀 수 없습니다"
@@ -587,150 +618,156 @@ msgstr "타ì´ë° íŒŒì¼ ì½ê¸° 오류: %s"
msgid "invalid timing file line: %s"
msgstr "부ì ì ˆí•œ 타ì´ë° íŒŒì¼ í–‰: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
-#: plugins/sudoers/policy.c:573
-msgid "unable to generate UUID"
-msgstr "UUID를 만들 수 없습니다"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s: 프로토콜 오류: NULL키"
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr "%s: 프로토콜 오류: %sì˜ ìž˜ëª»ëœ í˜•ì‹"
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s: 프로토콜 오류: %sì— NULLê°’ 들어ê°"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "UUID를 만들 수 없습니다"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr "%s: 프로토콜 오류: AcceptMessageì— %s ë¹ ì§"
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr "%s: 세션 ID를 í¬ë§¤íŒ…í•  수 없습니다"
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr "%s: %sì„(를) 설정하지 ì•ŠìŒ"
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr "%s 입출력 로그 경로를 확장할 수 없습니다"
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr "%s 입출력 로그 경로를 만들 수 없습니다"
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr "부ì ì ˆí•œ 입출력 íŒŒì¼ ì„œìˆ ìž %d번"
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr "%d 입출력 íŒŒì¼ ì„œìˆ ìž ë‹«ê¸° 오류: %s"
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr "%d 입출력 íŒŒì¼ ì„œìˆ ìž ì œê±° 오류: %s"
-#: logsrvd/iolog_writer.c:780
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "부ì ì ˆí•œ %s 입출력 로그: %sì„(를) 참조했지만 없습니다"
-#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: [%lld, %ld] 재개 지ì ì„ ì°¾ì„ ìˆ˜ 없습니다"
-#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
-#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
-#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
-#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr "%sì„(를) ì—´ 수 없습니다"
-#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "%s/%sì„(를) ì—´ 수 없습니다"
-#: logsrvd/iolog_writer.c:839
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "%s/%sì„(를) %s/%s(으)ë¡œ 복사할 수 없습니다: %s"
-#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr "%sì„(를) %s(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다"
-#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: [%lld, %ld] 재개 지ì ì„ ì°¾ì„ ìˆ˜ 없습니다"
-#: logsrvd/logsrv_util.c:154
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "입출력 로그 íŒŒì¼ %s/%s ë¹ ì§"
-#: logsrvd/logsrv_util.c:161
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: %zu회 ì´ì „ íƒìƒ‰ì„ 진행할 수 없습니다"
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr "릴레ì´ì— ì—°ê²°í•  수 없습니다"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr "서버 메시지가 너무 ê¹ë‹ˆë‹¤: %zu"
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
-#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
-#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
-#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
-#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
-#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
-#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
-#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
-#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
-#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
-#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
-#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -739,633 +776,658 @@ msgstr "서버 메시지가 너무 ê¹ë‹ˆë‹¤: %zu"
msgid "unable to add event to queue"
msgstr "íì— ì´ë²¤íŠ¸ë¥¼ 추가할 수 없습니다"
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr "%2$sì˜ ì˜ˆê¸°ì¹˜ ì•Šì€ ìƒíƒœ %1$d번"
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "ìƒíƒœ 머신 오류"
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "부ì ì ˆí•œ AcceptMessage"
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "부ì ì ˆí•œ RejectMessage"
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "부ì ì ˆí•œ ExitMessage"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "부ì ì ˆí•œ RestartMessage"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "부ì ì ˆí•œ AlertMessage"
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr "%s: 예기치 ì•Šì€ ìž…ì¶œë ¥ ë²„í¼ ë°œê²¬"
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "프로토콜 오류"
-#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
-#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
-#: plugins/sudoers/log_client.c:1618
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "부ì ì ˆí•œ IoBuffer"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "부ì ì ˆí•œ ChangeWindowSize"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "부ì ì ˆí•œ CommandSuspend"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
#, c-format
msgid "unable to unpack %s size %zu"
msgstr "%2$zu í¬ê¸°ì˜ %1$sì„(를) 언팩할 수 없습니다"
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "%3$sì˜ %2$sì—ì„œ 예기지 ì•Šì€ type_case ê°’ %1$d"
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "ì¸ì‹í•  수 없는 ClientMessage 형ì‹"
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr "%s í´ë¼ì´ì–¸íŠ¸ ê¸°ë¡ ì‹œê°„ 초과"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr "%s í´ë¼ì´ì–¸íŠ¸ì—ì„œ ê¸°ë¡ ë²„í¼ ë¹ ì§"
-#: logsrvd/logsrvd.c:982
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr "%s í´ë¼ì´ì–¸íŠ¸ì—ì„œ ì½ê¸° 시간 초과"
-#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "ì ì ˆí•œ TLS 셧다운 미ì´í–‰ì„ ë™ë°˜í•œ %sì˜ íŒŒì¼ë(EOF)"
-#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:716
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr "í´ë¼ì´ì–¸ë“œ 메시지가 너무 ê¹ë‹ˆë‹¤: %zu"
-#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "í´ë¼ì´ì–¸íŠ¸ 메시지가 너무 ê¹ë‹ˆë‹¤"
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "부ì ì ˆí•œ ClientMessage"
-#: logsrvd/logsrvd.c:1389
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "ì›ê²© IP 주소를 가져올 수 없습니다"
-#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
-#: plugins/sudoers/log_client.c:276
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "ssl ê°ì²´ì— ì‚¬ìš©ìž ë°ì´í„°ë¥¼ ë¶™ì¼ ìˆ˜ 없습니다: %s"
-#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "ê°ì²­ ì†Œì¼“ì„ ì„¤ì •í•  수 없습니다"
-#: logsrvd/logsrvd.c:1718
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr "예기치 ì•Šì€ ì‹œê·¸ë„ %d번"
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "sudo 로그 서버"
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "옵션:"
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "설정 íŒŒì¼ ê²½ë¡œ"
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "ë„ì›€ë§ ë©”ì‹œì§€ë¥¼ 표시한 후 빠져나갑니다"
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "프로세스를 í¬í‚¹í•˜ì§€ ì•Šê³ , í¬ê·¸ë¼ìš´ë“œì—ì„œ 실행"
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "ì—°ê²°ì´ ëŠì„ í™•ë¥ ì— ëŒ€í•œ 백분율"
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "버전 정보를 표시하고 빠져나갑니다"
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Protobuf-C 1.3 ì´ìƒì˜ ë²„ì „ì´ í•„ìš”í•©ë‹ˆë‹¤"
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "부ì ì ˆí•œ ìž„ì˜ ì² íšŒ ê°’: %s"
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:180
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s 버전 %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
-#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
-#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "ì•Œ 수 없는 ì‚¬ìš©ìž %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
-#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr "알 수 없는 그룹 %s"
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr "%s 입출력 로그 모드를 í•´ì„í•  수 없습니다"
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr "부ì ì ˆí•œ %s ê°’: %s"
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "TLS를 지ì›í•˜ì§€ 않습니다"
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s: 완전하지 ì•Šì€ ê²½ë¡œ"
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr "알 수 없는 syslog 수단 %s"
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr "알 수 없는 syslog 우선 순위 %s"
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d ì¼ì¹˜í•˜ì§€ 않는 '[': %s"
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr "%s:%d ']' ë‹¤ìŒ ë²„ë¦¬ëŠ” ë‚´ìš©: %s"
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s:%d 부ì ì ˆí•œ 설정 섹션: %s"
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d 부ì ì ˆí•œ 설정 í–‰: %s"
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d(ì—)ì„œ 섹션 ì´ë¦„ì´ ë‚˜ì™€ì•¼ 합니다: %s"
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] ìž˜ëª»ëœ í‚¤: %s"
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:1035
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr "%s 로그 파ì¼ì„ ì—´ 수 없습니다"
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "서버 TLS 컨í…스트를 초기화할 수 없습니다"
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "ë¦´ë ˆì´ TLS 컨í…스트를 초기화할 수 없습니다"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
-#: logsrvd/logsrvd_journal.c:416
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "ì €ë„ íŒŒì¼ì„ 만들 수 없습니다"
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1020
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr "%sì„(를) 잠글 수 없습니다"
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "ì €ë„ íŒŒì¼ì„ 잠글 수 없습니다"
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr "ì €ë„ íŒŒì¼ì„ ì—´ 수 없습니다"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
-#: logsrvd/logsrvd_journal.c:452
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "ì €ë„ íŒŒì¼ì„ 기ë¡í•  수 없습니다"
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "ì €ë„ íŒŒì¼ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다"
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "ì €ë„ íŒŒì¼ ì½ëŠ” 중 예기치 ì•Šì€ íŒŒì¼ ë 발견"
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "ì €ë„ íŒŒì¼ ì½ê¸° 오류"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "부ì ì ˆí•œ ì €ë„ íŒŒì¼. 다시 시작할 수 없습니다"
-#: logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "%3$s ì €ë„ íŒŒì¼ì—ì„œ [%1$lld, %2$ld] 위치를 íƒìƒ‰í•  수 없습니다"
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "%3$sì˜ %2$sì—ì„œ 예기지 ì•Šì€ value_case ê°’ %1$d"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "AcceptMessage í•´ì„ ì˜¤ë¥˜"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "입출력 로그 만드는 중 오류"
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "ìˆ˜ë½ ì´ë²¤íŠ¸ 로깅 중 오류"
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "RejectMessage í•´ì„ ì˜¤ë¥˜"
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "ê±°ì ˆ ì´ë²¤íŠ¸ 로깅 중 오류"
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr "ë내기 ì´ë²¤íŠ¸ ê¸°ë¡ ì˜¤ë¥˜"
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "로그를 ì´ë¯¸ ë냈으며, 다시 시작할 수 없습니다"
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "로그를 다시 시작할 수 없습니다"
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "AlertMessage í•´ì„ ì˜¤ë¥˜"
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "경고 ì´ë²¤íŠ¸ 로깅 중 오류"
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr "ê¸¸ì´ %dì¸ íƒ€ì´ë° 버í¼ë¥¼ í¬ë§¤íŒ…í•  수 없습니다"
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr "%s/%s: %s"
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr "ì—°ê²°ì´ ìž„ì˜ë¡œ ëŠê¹€"
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "입출력 ë²„í¼ ê¸°ë¡ ì¤‘ 오류"
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "ChangeWindowSize ê¸°ë¡ ì¤‘ 오류"
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "CommandSuspend ê¸°ë¡ ì¤‘ 오류"
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "ë¦´ë ˆì´ í˜¸ìŠ¤íŠ¸ì™€ì˜ TLS 핸드 ì…°ì´í¬ 실패"
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "ë¦´ë ˆì´ í˜¸ìŠ¤íŠ¸ì— ì—°ê²°í•  수 없습니다"
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: 부ì ì ˆí•œ ServerHello, server_idê°€ 빠졌습니다"
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1504
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "부ì ì ˆí•œ ServerHello"
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "ì¸ì‹í•  수 없는 ServerMessage 형ì‹"
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr "ë¦´ë ˆì´ %sì—ì„œ ì½ê¸° 시간 초과 (%s)"
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "ë¦´ë ˆì´ ë°ì´í„° ì½ê¸° 시간 초과"
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "ë¦´ë ˆì´ í˜¸ìŠ¤íŠ¸ ì´ë¦„ì´ ì¸ì¦ì„œì™€ ì¼ì¹˜í•˜ì§€ 않습니다"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
-#: logsrvd/logsrvd_relay.c:784
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "ë¦´ë ˆì´ ë°ì´í„° ì½ëŠ” 중 오류"
-#: logsrvd/logsrvd_relay.c:805
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "ë¦´ë ˆì´ ë°ì´í„°ë¥¼ ì½ì„ 수 없습니다"
-#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "ë¦´ë ˆì´ ì„œë²„ ì—°ê²°ì„ ëŠì—ˆìŠµë‹ˆë‹¤"
-#: logsrvd/logsrvd_relay.c:838
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "서버 메시지가 너무 ê¹ë‹ˆë‹¤"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "ë¦´ë ˆì´ %sì— ê¸°ë¡ ì‹œê°„ 초과 (%s)"
-#: logsrvd/logsrvd_relay.c:904
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "ë¦´ë ˆì´ ê¸°ë¡ ì‹œê°„ 초과"
-#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
-#: logsrvd/logsrvd_relay.c:974
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "ë¦´ë ˆì´ ê¸°ë¡ ì¤‘ 오류"
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "ì›ê²© ì„œë²„ì— sudo 입출력 로그를 보냅니다"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "허용 ì´ë²¤íŠ¸ë§Œ 보냅니다 (입출력 안함)"
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "ì„œë²„ì˜ ì¸ì¦ì„œ ê²€ì¦ì— 활용할 ì¸ì¦ì„œ 번들 파ì¼"
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "TLS 암호 키 êµí™˜ì— 사용할 ì¸ì¦ì„œ 파ì¼"
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "로그를 보낼 호스트"
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "다시 진행할 입출력 ë¡œê·¸ì˜ ì›ê²© ID"
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "ê°œì¸ í‚¤ 파ì¼"
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "서버 ì¸ì¦ì„œë¥¼ ê²€ì¦í•˜ì§€ 않습니다"
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "í˜¸ìŠ¤íŠ¸ì— ì—°ê²°í•  ë•Œ 활용할 í¬íŠ¸ 번호"
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "ì´ì „ 입출력 로그 ì „ì†¡ì„ ë‹¤ì‹œ 시작합니다"
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "주어진 사유로 명령 ì‹¤í–‰ì„ ê±°ì ˆí•©ë‹ˆë‹¤"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr "ì´ ì‹œê°„ì— ë„달한 후 전송 중단"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "ì„ íƒí•œ 입출력 로그를 ë™ì‹œì— N번 ë³´ë‚´ì–´ ê°ì‚¬ 서버 시험"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "%s:%sì„(를) ì°¾ì„ ìˆ˜ 없습니다: %s"
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "서버 IP 주소를 가져올 수 없습니다"
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "%s/%sì„(를) ì½ì„ 수 없습니다: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
-#: plugins/sudoers/iolog.c:1024
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "예기치 ì•Šì€ ìž…ì¶œë ¥ ì´ë²¤íŠ¸ %d"
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
-#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: 예기치 ì•Šì€ ìƒíƒœ 번호 %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "서버로부터 오류 메시지를 받았습니다: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "서버로부터 중단 메시지를 받았습니다: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: 예기지 ì•Šì€ type_case ê°’ %d"
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "서버 ë°ì´í„° ì½ê¸° 시간 초과"
-#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
msgid "host name does not match certificate"
msgstr "호스트 ì´ë¦„ì´ ì¸ì¦ì„œì™€ ì¼ì¹˜í•˜ì§€ 않습니다"
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "갑작스러운 EOF"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "서버 메시지가 너무 ê¹ë‹ˆë‹¤: %u"
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "서버 ê¸°ë¡ ì‹œê°„ 초과"
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "다시 시작 지ì ê³¼ 입출력 로그 ID를 반드시 지정해야합니다"
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "ìž…ì¶œë ¥ì„ ë³´ë‚´ì§€ ì•Šì„ ë•Œ 다시 시작 지ì ì„ 지정하지 않습니다"
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "%d ìƒíƒœë¡œ ê°‘ìžê¸° 빠져나왔습니다"
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "경과 ì‹œê°„ì„ ì„œë²„ë¡œ 보냈습니다 [%lld, %ld]"
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "제출 ì§€ì  ì •ë³´ë¥¼ 서버로부터 받았습니다 [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "TLS 핸드셰ì´í¬ ì‹œê°„ì„ ì´ˆê³¼í–ˆìŠµë‹ˆë‹¤"
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "ì´ë²¤íŠ¸ë¥¼ 설정할 수 없습니다"
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "TLS 연결 실패: %s"
-#: logsrvd/tls_client.c:191
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "SSL ê°ì²´ë¥¼ 할당할 수 없습니다: %s"
-#: logsrvd/tls_client.c:205
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "SSL ê°ì²´ì— ì†Œì¼“ì„ ë¶™ì¼ ìˆ˜ 없습니다: %s"
-#: logsrvd/tls_client.c:233
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr "TLS 컨í…스트를 초기화할 수 없습니다"
-#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "%sì— TLS 1.2 암호 모ìŒì„ 설정할 수 없습니다: %s"
-#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "%sì— TLS 1.3 암호 모ìŒì„ 설정할 수 없습니다: %s"
-#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "디피-헬먼 매개변수를 설정할 수 없습니다: %s"
-#: logsrvd/tls_init.c:277
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr "TLS 컨í…스트를 만들 수 없습니다: %s"
-#: logsrvd/tls_init.c:284
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "TLS 프로토콜 최소 ë²„ì „ì„ 1.2ë¡œ 설정할 수 없습니다: %s"
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
-#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
-#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
-#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
-#: plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "ì¼ì‹œ 정보를 가져올 수 없습니다"
@@ -1502,7 +1564,7 @@ msgstr "계정 ê¸°í•œì´ ì§€ë‚¬ê±°ë‚˜ PAM ì„¤ì •ì— sudoì—ì„œ 확ì¸í•  \"accou
msgid "PAM account management error: %s"
msgstr "PAM 계정 관리 오류: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "%s ë°ì´í„°ë² ì´ìŠ¤ì— 없습니다"
@@ -1575,17 +1637,17 @@ msgstr "ê°ì‚¬ ìƒíƒœë¥¼ ê²°ì •í•  수 없습니다"
msgid "unable to commit audit record"
msgstr "ê°ì‚¬ 레코드를 제출할 수 없습니다"
-#: plugins/sudoers/check.c:275
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "%s 지시 íŒŒì¼ ì½ê¸° 오류"
-#: plugins/sudoers/check.c:278
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "%s 지시 íŒŒì¼ ë¬´ì‹œ: ì¼ë°˜ 파ì¼ì´ 아닙니다"
-#: plugins/sudoers/check.c:291
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1605,14 +1667,14 @@ msgstr ""
" #3) 막강한 힘ì—는 ìƒë‹¹í•œ ì±…ìž„ì´ ë’¤ë”°ë¦…ë‹ˆë‹¤.\n"
"\n"
-#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
-#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "알 수 없는 uid %u"
-#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
msgid "%s: %s\n"
msgstr "%s: %s\n"
@@ -1642,7 +1704,7 @@ msgstr "순서 시작: %s: %s"
msgid "order padding: %s: %s"
msgstr "순서 패딩: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s 문법 버전 %d\n"
@@ -1662,14 +1724,14 @@ msgstr "지ì›í•˜ì§€ 않는 %s 출력 형ì‹"
msgid "%s: input and output files must be different"
msgstr "%s: 입출력 파ì¼ì€ 달ë¼ì•¼í•©ë‹ˆë‹¤"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
-#: plugins/sudoers/visudo.c:969
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "sudoers 기본 ê°’ì„ ì´ˆê¸°í™”í•  수 없습니다"
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
@@ -1694,18 +1756,18 @@ msgstr "부ì ì ˆí•œ ìƒëžµ 형ì‹: %s"
msgid "invalid filter: %s"
msgstr "부ì ì ˆí•œ í•„í„°: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "%s íŒŒì¼ í•´ì„ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. ì•Œ 수 없는 오류."
#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "%sì— ê¸°ë¡í•  수 없습니다"
-#: plugins/sudoers/cvtsudoers.c:1501
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1714,7 +1776,7 @@ msgstr ""
"%s - sudoers íŒŒì¼ í˜•ì‹ì„ 변환합니다\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1503
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -2167,359 +2229,383 @@ msgid "Log user's input for the command being run"
msgstr "실행 ëª…ë ¹ì— ëŒ€í•œ ì‚¬ìš©ìž ìž…ë ¥ 기ë¡"
#: plugins/sudoers/def_data.c:356
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "터미ë„ì— ì—°ê²°í•˜ì§€ ì•Šì•˜ì„ ê²½ìš° 명령 표준 ìž…ë ¥ì„ ê¸°ë¡"
+
+#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "실행 ëª…ë ¹ì˜ í„°ë¯¸ë„ ìž…ë ¥ì„ ê¸°ë¡í•©ë‹ˆë‹¤"
+
+#: plugins/sudoers/def_data.c:364
msgid "Log the output of the command being run"
msgstr "실행 ëª…ë ¹ì— ëŒ€í•œ 출력 기ë¡"
-#: plugins/sudoers/def_data.c:360
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "터미ë„ì— ì—°ê²°í•˜ì§€ ì•Šì•˜ì„ ê²½ìš° 명령 표준 ì¶œë ¥ì„ ê¸°ë¡"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "터미ë„ì— ì—°ê²°í•˜ì§€ ì•Šì•˜ì„ ê²½ìš° 명령 표준 오류를 기ë¡"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "실행 ëª…ë ¹ì˜ í„°ë¯¸ë„ ì¶œë ¥ì„ ê¸°ë¡í•©ë‹ˆë‹¤"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "zlib로 입출력 로그 압축"
-#: plugins/sudoers/def_data.c:364
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "í•­ìƒ ëª…ë ¹ì„ ìœ ì‚¬ ttyì—ì„œ 실행"
-#: plugins/sudoers/def_data.c:368
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "비 유닉스 ê·¸ë£¹ì„ ì§€ì›í•˜ëŠ” 플러그ì¸: %s"
-#: plugins/sudoers/def_data.c:372
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "입출력 로그를 저장할 디렉터리: %s"
-#: plugins/sudoers/def_data.c:376
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "입출력 로그를 저장할 파ì¼: %s"
-#: plugins/sudoers/def_data.c:380
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "pty를 할당할 ë•Œ utmp/utmpx 파ì¼ì— 항목 추가"
-#: plugins/sudoers/def_data.c:384
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "utmpì˜ ì‚¬ìš©ìžë¥¼ 실제 실행 사용ìžê°€ ì•„ë‹Œ 대리 실행 사용ìžë¡œ 설정"
-#: plugins/sudoers/def_data.c:388
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "권한 허용 설정: %s"
-#: plugins/sudoers/def_data.c:392
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "권한 제한 설정: %s"
-#: plugins/sudoers/def_data.c:396
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "백그ë¼ìš´ë“œì˜ ptyì—ì„œ ëª…ë ¹ì„ ì‹¤í–‰í•©ë‹ˆë‹¤"
-#: plugins/sudoers/def_data.c:400
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "사용할 PAM 서비스 ì´ë¦„: %s"
-#: plugins/sudoers/def_data.c:404
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "ë¡œê·¸ì¸ ì…¸ì—ì„œ 사용할 PAM 서비스 ì´ë¦„: %s"
-#: plugins/sudoers/def_data.c:408
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "sudo를 -A 옵션으로 실행할 ë•Œ 활용할 PAM 서비스 ì´ë¦„: %s"
-#: plugins/sudoers/def_data.c:412
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "ëŒ€ìƒ ì‚¬ìš©ìžì˜ PAM ì¸ì¦ 처리 ì‹œë„합니다"
-#: plugins/sudoers/def_data.c:416
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "실행할 ëª…ë ¹ì— ìƒˆ PAM ì„¸ì…˜ì„ ë§Œë“­ë‹ˆë‹¤"
-#: plugins/sudoers/def_data.c:420
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "PAM 계정 ê²€ì¦ ê´€ë¦¬ë¥¼ 수행합니다"
-#: plugins/sudoers/def_data.c:424
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "최대 입출력 로그 순차 번호: %s"
-#: plugins/sudoers/def_data.c:428
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "sudoersì— ë„¤íŠ¸ì›Œí¬ ê·¸ë£¹ ì§€ì› í™œì„±í™”"
-#: plugins/sudoers/def_data.c:432
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "sudoeditë¡œ 파ì¼ì„ 편집할 ë•Œ ìƒìœ„ 디렉터리 ê¸°ë¡ ê°€ëŠ¥ 여부 확ì¸"
-#: plugins/sudoers/def_data.c:436
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "sudoeditë¡œ 파ì¼ì„ 편집할 ë•Œ 심볼릭 ë§í¬ ë”°ë¼ê°"
-#: plugins/sudoers/def_data.c:440
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "ì•Œ 수 없는 시스템 ê·¸ë£¹ì— ê·¸ë£¹ í”ŒëŸ¬ê·¸ì¸ ìš”ì²­"
-#: plugins/sudoers/def_data.c:444
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "user, host, domain ì „ì²´ íŠœí”Œì„ ê¸°ë°˜ìœ¼ë¡œ ë„¤íŠ¸ì›Œí¬ ê·¸ë£¹ 비êµ"
-#: plugins/sudoers/def_data.c:448
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "sudoì—ì„œ ê°ì‹œ 로그를 기ë¡í•  수 ì—†ì„ ê²½ìš°ì—ë„ ëª…ë ¹ 실행 허용"
-#: plugins/sudoers/def_data.c:452
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "sudoì—ì„œ 입출력 로그를 기ë¡í•  수 ì—†ì„ ê²½ìš°ì—ë„ ëª…ë ¹ 실행 허용"
-#: plugins/sudoers/def_data.c:456
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "sudoì—ì„œ 로그 파ì¼ì— 기ë¡í•  수 ì—†ì„ ê²½ìš°ì—ë„ ëª…ë ¹ 실행 허용"
-#: plugins/sudoers/def_data.c:460
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "sudoersì˜ ê·¸ë£¹ì„ í•´ì„하고 그룹 ì´ë¦„ì´ ì•„ë‹Œ ID와 비êµ"
-#: plugins/sudoers/def_data.c:464
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "ì´ ê°’ë³´ë‹¤ í° ë¡œê·¸ í•­ëª©ì€ ë‹¤ìˆ˜ì˜ syslog 메시지로 나눕니다: %u"
-#: plugins/sudoers/def_data.c:468
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "입출력 로그 파ì¼ì„ 소유할 사용ìž: %s"
-#: plugins/sudoers/def_data.c:472
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "입출력 로그 파ì¼ì„ 소유할 그룹: %s"
-#: plugins/sudoers/def_data.c:476
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "입출력 로그 파ì¼ì— 사용할 íŒŒì¼ ëª¨ë“œ: 0%o"
-#: plugins/sudoers/def_data.c:480
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "경로가 ì•„ë‹Œ íŒŒì¼ ì„œìˆ ìžë¡œ 명령어 실행: %s"
-#: plugins/sudoers/def_data.c:484
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "경고를 출력하는 대신 sudoersì—ì„œ ì•Œ 수 없는 기본 í•­ëª©ì„ ë¬´ì‹œ"
-#: plugins/sudoers/def_data.c:488
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "명령 처리가 ëë‚œ í›„ì˜ ì´ˆ 단위 시간: %u"
-#: plugins/sudoers/def_data.c:492
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "사용ìžê°€ 명령행ì—ì„œ 제한 ì‹œê°„ì„ ì§€ì •í•˜ë„ë¡ í—ˆìš©"
-#: plugins/sudoers/def_data.c:496
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "입출력 로그 ë°ì´í„°ë¥¼ 버í¼ë§í•˜ëŠ” 대신 즉시 디스í¬ë¡œ 플러싱"
-#: plugins/sudoers/def_data.c:500
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "syslogë¡œ 로깅할 ë•Œ 프로세스 ID í¬í•¨"
-#: plugins/sudoers/def_data.c:504
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "ì¸ì¦ 타임스탬프 레코드 형ì‹: %s"
-#: plugins/sudoers/def_data.c:508
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "ì¸ì¦ 실패 메시지: %s"
-#: plugins/sudoers/def_data.c:512
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "ì‚¬ìš©ìž ì´ë¦„ 비êµì‹œ ëŒ€ì†Œë¬¸ìž ë¬´ì‹œ"
-#: plugins/sudoers/def_data.c:516
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "그룹 ì´ë¦„ 비êµì‹œ ëŒ€ì†Œë¬¸ìž ë¬´ì‹œ"
-#: plugins/sudoers/def_data.c:520
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "sudoersì—ì„œ ëª…ë ¹ì„ í—ˆìš©í•  ë•Œ 기ë¡"
-#: plugins/sudoers/def_data.c:524
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "sudoersì—ì„œ ëª…ë ¹ì„ ê±°ì ˆí•  ë•Œ 기ë¡"
-#: plugins/sudoers/def_data.c:528
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "개별 í¬íŠ¸ 정보를 추가하여 ì—°ê²°í•  sudo 로그 서버"
-#: plugins/sudoers/def_data.c:532
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "초 단위 sudo 로그 서버 제한 시간: %u"
-#: plugins/sudoers/def_data.c:536
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "ì—°ê²°í•œ 로그 서버 ì†Œì¼“ì— SO_KEEPALIVE 소켓 옵션 활성화"
-#: plugins/sudoers/def_data.c:540
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "ê°ì‚¬ ì„œë²„ì˜ CA 번들 íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:544
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "sudoers ì¸ì¦ íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:548
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "sudoers ê°œì¸ í‚¤ íŒŒì¼ ê²½ë¡œ: %s"
-#: plugins/sudoers/def_data.c:552
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "로그 서버 ì¸ì¦ì„œ 유효성 ê²€ì¦"
-#: plugins/sudoers/def_data.c:556
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "사용ìž/그룹 IDë¡œì˜ ì•Œ 수 없는 실행 허용"
-#: plugins/sudoers/def_data.c:560
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "유효한 ì…¸ì—ì„œ 사용ìžê°€ ëª…ë ¹ì„ ì‹¤í–‰í•  경우만 허용"
-#: plugins/sudoers/def_data.c:564
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "sudo를 실행하는 사용ìžë¥¼ PAM ì›ê²© 사용ìžë¡œ 설정"
-#: plugins/sudoers/def_data.c:568
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "로컬 호스트 ì´ë¦„ì— PAM ì›ê²© ì‚¬ìš©ìž ì„¤ì •"
-#: plugins/sudoers/def_data.c:572
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "명령 실행 전 바꿀 작업 디렉터리: %s"
-#: plugins/sudoers/def_data.c:576
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "명령 실행 전 바꿀 루트 디렉터리: %s"
-#: plugins/sudoers/def_data.c:580
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "로그 ê¸°ë¡ í˜•ì‹: %s"
-#: plugins/sudoers/def_data.c:584
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "SELinux RBAC 지ì›ì„ 사용합니다"
-#: plugins/sudoers/def_data.c:588
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "sudo를 ì²˜ìŒ ì‹¤í–‰í•  ë•Œ 만든 파ì¼ì˜ 경로: %s"
-#: plugins/sudoers/def_data.c:592
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "추가 ëª…ë ¹ì„ ê°€ë¡œì±„ê³  sudoer ì œí•œì„ ì ìš©í•©ë‹ˆë‹¤"
-#: plugins/sudoers/def_data.c:596
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr "ì›ë³¸ 명령으로 실행하는 하위 명령 기ë¡"
-#: plugins/sudoers/def_data.c:600
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr "실행 명령 ë내기 ìƒíƒœ 기ë¡"
-#: plugins/sudoers/def_data.c:604
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "가로챈 세션ì—ì„œì˜ ìˆœì°¨ 명령 실행시 ì¸ì¦í•´ì•¼ 합니다"
-#: plugins/sudoers/def_data.c:608
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "setuid ë˜ëŠ” setgid í”„ë¡œê·¸ëž¨ì„ ì‹¤í–‰í•  가로채기 명령 실행 허용"
-#: plugins/sudoers/def_data.c:612
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "프로세스 주소 ì˜ì—­ì„ 확장할 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:616
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "코어 ë¤í”„ íŒŒì¼ ìµœëŒ€ ìƒì„± í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:620
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "프로세스 최대 CPU 사용 시간(초 단위): %s"
-#: plugins/sudoers/def_data.c:624
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "프로세스 ë°ì´í„° 세그먼트 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:628
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "프로세스ì—ì„œ 만들 최대 íŒŒì¼ í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:632
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "프로세스 실행 최대 잠금 횟수: %s"
-#: plugins/sudoers/def_data.c:636
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "메모리ì—ì„œ 잠글 프로세스 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:640
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "프로세스ì—ì„œ ì—´ íŒŒì¼ ìµœëŒ€ 갯수: %s"
-#: plugins/sudoers/def_data.c:644
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "사용ìžê°€ ë™ì‹œ 실행할 최대 프로세스 갯수: %s"
-#: plugins/sudoers/def_data.c:648
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "프로세스 ìƒì£¼ì‹œ 최대 확장 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:652
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "프로세스 ìŠ¤íƒ í¬ê¸° ì¦ê°€ 최대 í¬ê¸°(ë°”ì´íŠ¸ 단위): %s"
-#: plugins/sudoers/def_data.c:656
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr "비 ëŒ€í™”ì‹ ìƒíƒœì—ì„œë„ ì¸ì¦ ì‹œë„"
-#: plugins/sudoers/def_data.c:660
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr "I/O 로그 입력시 ì›ë¬¸ 암호 저장"
-#: plugins/sudoers/def_data.c:664
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr "암호 프롬프트 대조시 사용할 ì •ê·œ í‘œí˜„ì‹ ëª©ë¡"
-#: plugins/sudoers/def_data.c:668
+#: plugins/sudoers/def_data.c:688
#, c-format
msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr "intercept 옵션과 log_subcmds 옵션ì—ì„œ 지ì›í•˜ëŠ” 매커니즘: %s"
-#: plugins/sudoers/def_data.c:672
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "실행 후 명령 ë° ì¸ìž ê²€ì¦ ì‹œë„"
+
+#: plugins/sudoers/def_data.c:696
#, c-format
msgid "AppArmor profile to use in the new security context: %s"
msgstr "새 보안 컨í…스트ì—ì„œ 활용할 AppArmor 프로파ì¼: %s"
@@ -2554,31 +2640,31 @@ msgstr "\"%2$s\" ì˜µì…˜ì˜ ë¶€ì ì ˆí•œ 기본 í˜•ì‹ 0x%1$x"
msgid "value \"%s\" is invalid for option \"%s\""
msgstr "\"%s\" ê°’ì€ \"%s\" ì˜µì…˜ì— ë§žì§€ 않습니다"
-#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
-#: plugins/sudoers/policy.c:216
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
msgid "path name for \"%s\" too long"
msgstr "\"%s\" 경로 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤"
-#: plugins/sudoers/defaults.c:1133
+#: plugins/sudoers/defaults.c:1134
#, c-format
msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr "\"%s\" ê°’ì€ '/', '~', '*' 문ìžë¡œ 시작해야합니다"
-#: plugins/sudoers/defaults.c:1140
+#: plugins/sudoers/defaults.c:1141
#, c-format
msgid "values for \"%s\" must start with a '/'"
msgstr "\"%s\" ê°’ì€ '/' 문ìžë¡œ 시작해야합니다"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: envpê°€ 깨졌습니다. 길ì´ê°€ ì¼ì¹˜í•˜ì§€ 않습니다"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "환경 êµ¬ì„±ì„ ë‹¤ì‹œ 갖출 수 없습니다"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "죄송하지만 ë‹¤ìŒ í™˜ê²½ 변수를 설정하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다: %s"
@@ -2593,27 +2679,27 @@ msgstr "%2$sì—ì„œ 지ì›í•˜ì§€ 않는 다ì´ì œìŠ¤íŠ¸ í˜•ì‹ %1$d"
msgid "%s: read error"
msgstr "%s: ì½ê¸° 오류"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "%sì€(는) %d uidê°€ 소유해야 합니다"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "%sì€(는) 소유ìžë§Œ 쓸 수 있습니다"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "%sì„(를) 불러올 수 없습니다: %s"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "%sì—ì„œ \"group_plugin\" ì‹¬ë³¼ì„ ì°¾ì„ ìˆ˜ 없습니다"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s: 호환ë˜ì§€ 않는 그룹 í”ŒëŸ¬ê·¸ì¸ ì£¼ 버전 %d입니다. %dì´(ê°€) 필요합니다."
@@ -2636,10 +2722,10 @@ msgstr "로컬 IP 주소 ë° ë„·ë§ˆìŠ¤í¬ ìŒ:\n"
msgid "unable to update sequence file"
msgstr "시퀀스 파ì¼ì„ ì—…ë°ì´íŠ¸í•  수 없습니다"
-#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
-#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
-#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
-#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "입출력 ë¡œê·¸ì— ê¸°ë¡í•  수 없습니다: %s"
@@ -2649,25 +2735,25 @@ msgstr "입출력 ë¡œê·¸ì— ê¸°ë¡í•  수 없습니다: %s"
msgid "unable to create %s/%s"
msgstr "%s/%sì„(를) 만들 수 없습니다"
-#: plugins/sudoers/iolog.c:955
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: 내부 오류. ì´ë²¤íŠ¸ %d ë²ˆì˜ ìž…ì¶œë ¥ 로그 파ì¼ì„ 열지 않았습니다"
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
-#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
-#: plugins/sudoers/visudo.c:552
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "í´ë¡ì„ ì½ì„ 수 없습니다"
-#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
-#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: 내부 오류. 부ì ì ˆí•œ ì‹œê·¸ë„ %d번"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "ldaps를 사용할 ë•Œ starttls를 지ì›í•˜ì§€ 않습니다"
@@ -2690,7 +2776,7 @@ msgstr "LDAP를 초기화할 수 없습니다: %s"
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls를 지정했지만 LDAP ë¼ì´ë¸ŒëŸ¬ë¦¬ì—ì„œ ldap_start_tls_s() ë˜ëŠ” ldap_start_tls_s_np() 함수를 지ì›í•˜ì§€ 않습니다"
-#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "부ì ì ˆí•œ sudoOrder ì†ì„±: %s"
@@ -2700,12 +2786,12 @@ msgstr "부ì ì ˆí•œ sudoOrder ì†ì„±: %s"
msgid "%s: port too large"
msgstr "%s: í¬íŠ¸ 번호가 너무 í½ë‹ˆë‹¤"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "지ì›í•˜ì§€ 않는 LDAP URI 형ì‹: %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "ldap ë° ldaps URI를 함께 사용할 수 없습니다"
@@ -2730,111 +2816,111 @@ msgstr "ê°ì‹œ ì‹œìŠ¤í…œì„ ì—´ 수 없습니다"
msgid "unable to send audit message"
msgstr "ê°ì‹œ 메시지를 보낼 수 없습니다"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
-#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "ì´ë²¤íŠ¸ 루프 오류"
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "SSL_CTX ê°ì²´ 만들기 실패: %s"
-#: plugins/sudoers/log_client.c:225
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "%s ì¸ì¦ì„œ ì¸ì¦ ë²ˆë“¤ì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다"
-#: plugins/sudoers/log_client.c:247
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "%s ì¸ì¦ì„œë¥¼ 불러올 수 없습니다"
-#: plugins/sudoers/log_client.c:261
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "%s ê°œì¸ í‚¤ë¥¼ 불러올 수 없습니다"
-#: plugins/sudoers/log_client.c:270
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "SSL ê°ì²´ë¥¼ 할당할 수 없습니다: %s"
-#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "%s:%së¡œì˜ TLS ì—°ê²° 실패: %s"
-#: plugins/sudoers/log_client.c:538
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "TLS ì´ˆê¸°í™”ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: plugins/sudoers/log_client.c:548
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "TLS 핸드셰ì´í‚¹ì— 실패했습니다"
-#: plugins/sudoers/log_client.c:1246
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: 내부 오류. 부ì ì ˆí•œ 종료 ìƒíƒœ %d"
-#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "로그 ì„œë²„ì˜ ì—°ê²°ì´ ëŠì–´ì¡ŒìŠµë‹ˆë‹¤"
-#: plugins/sudoers/log_client.c:1876
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "ê¸°ë¡ ë²„í¼ ë¹ ì§"
-#: plugins/sudoers/log_client.c:2024
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "로그 ì„œë²„ì— ì—°ê²°í•  수 없습니다"
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "사용ìžê°€ sudoersì— ì—†ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/logging.c:300
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "사용ìžê°€ 호스트ì—ì„œ ì¸ì¦í•˜ì§€ 않았습니다"
-#: plugins/sudoers/logging.c:302
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "ëª…ë ¹ì„ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/logging.c:323
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%sì€(는) sudoers 파ì¼ì— 없습니다.\n"
-#: plugins/sudoers/logging.c:326
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s 사용ìžëŠ” %sì—ì„œ sudo를 실행할 수 없습니다.\n"
-#: plugins/sudoers/logging.c:329
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "죄송하지만, %s 사용ìžëŠ” %sì—ì„œ sudo를 실행하면 안ë©ë‹ˆë‹¤.\n"
-#: plugins/sudoers/logging.c:332
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "죄송하지만 %1$s 사용ìžëŠ” '%2$s%3$s%4$s'ì„(를) %8$sì˜ %5$s%6$s%7$s(으)ë¡œ 실행하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다.\n"
-#: plugins/sudoers/logging.c:342
+#: plugins/sudoers/logging.c:334
msgid "This incident has been reported to the administrator.\n"
msgstr "ì´ë²ˆ ì‹œë„는 관리ìžì—게 보고했습니다.\n"
-#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
-#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
-#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
-#: plugins/sudoers/sudoers.c:801
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s: ëª…ë ¹ì´ ì—†ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2843,30 +2929,30 @@ msgstr ""
"'.'ì— ë¬´ì‹œ ì¤‘ì¸ \"%1$s\" 요소가 있습니다.\n"
"\"%3$s\" ëª…ë ¹ì„ ì‹¤í–‰í•˜ë ¤ë©´, \"sudo ./%2$s\" ëª…ë ¹ì„ ì‚¬ìš©í•˜ì‹­ì‹œì˜¤."
-#: plugins/sudoers/logging.c:395
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] "ìž˜ëª»ëœ ì•”í˜¸ ìž…ë ¥ ì‹œë„ %u번"
-#: plugins/sudoers/logging.c:485
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "ì¸ì¦ 실패"
-#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "암호가 필요합니다"
-#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
msgid "problem parsing sudoers"
msgstr "sudoers í•´ì„ ë¬¸ì œ"
-#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
msgid "%s:%d:%d: %s"
msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:1068
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "로그 파ì¼ì— 기ë¡í•  수 없습니다: %s"
@@ -2881,7 +2967,7 @@ msgstr "%1$s 다ì´ì œìŠ¤íŠ¸(%2$s)는 %4$zu 길ì´ë¥¼ 기대했지만 잘못ëœ
msgid "digest for %s (%s) is not in %s form"
msgstr "%s 다ì´ì œìŠ¤íŠ¸(%s)는 %s 형ì‹ì´ 아닙니다"
-#: plugins/sudoers/parse.c:585
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2890,7 +2976,7 @@ msgstr ""
"\n"
"LDAP ì—­í• : %s\n"
-#: plugins/sudoers/parse.c:588
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2898,110 +2984,110 @@ msgstr ""
"\n"
"Sudoers 항목:\n"
-#: plugins/sudoers/parse.c:590
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " 실행 사용ìž: "
-#: plugins/sudoers/parse.c:605
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " 실행 그룹: "
-#: plugins/sudoers/parse.c:615
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " 옵션: "
-#: plugins/sudoers/parse.c:679
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " 명령:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "%2$sì—ì„œ %1$sì— ì¼ì¹˜í•˜ëŠ” 기본 항목:\n"
-#: plugins/sudoers/parse.c:888
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "%sì˜ ì‹¤í–‰ 권한 ë° ëª…ë ¹ë³„ 기본 ê°’:\n"
-#: plugins/sudoers/parse.c:906
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "%s 사용ìžëŠ” %sì—ì„œ ë‹¤ìŒ ëª…ë ¹ì„ ì‹¤í–‰í•´ì•¼ 합니다:\n"
-#: plugins/sudoers/parse.c:921
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "%s 사용ìžëŠ” %sì—ì„œ sudo를 실행하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다.\n"
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "미완결 sudoRole 무시: cn: %s"
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "부ì ì ˆí•œ LDIF ì†ì„±: %s"
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "sudo í”„ë¡ íŠ¸ì—”ë“œì˜ %.*s ì„¤ì •ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "ë„¤íŠ¸ì›Œí¬ ì£¼ì†Œ 목ë¡ì„ í•´ì„í•  수 없습니다"
-#: plugins/sudoers/policy.c:508
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ ì‚¬ìš©ìž ì´ë¦„ì„ ì„¤ì •í•˜ì§€ 않았습니다"
-#: plugins/sudoers/policy.c:512
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ ì‚¬ìš©ìž ID를 설정하지 않았습니다"
-#: plugins/sudoers/policy.c:516
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ 그룹 ID를 지정하지 않았습니다"
-#: plugins/sudoers/policy.c:520
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "sudo 프론트엔드ì—ì„œ 호스트 ì´ë¦„ì„ ì„¤ì •í•˜ì§€ 않았습니다"
-#: plugins/sudoers/policy.c:706
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "부ì ì ˆí•œ ìž‘ì—… 디렉터리: %s"
-#: plugins/sudoers/policy.c:886
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "부ì ì ˆí•œ 루트 변경 디렉터리: %s"
-#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "%sì„(를) 실행할 수 없습니다"
-#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
-#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: sudo í”„ë¡ íŠ¸ì—”ë“œì˜ ìƒíƒœ 플래그가 잘못ë˜ì—ˆìŠµë‹ˆë‹¤: 0x%x"
-#: plugins/sudoers/policy.c:1262
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Sudoers ì •ì±… í”ŒëŸ¬ê·¸ì¸ ë²„ì „ %s\n"
-#: plugins/sudoers/policy.c:1264
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Sudoers íŒŒì¼ ë¬¸ë²• 버전 %d\n"
-#: plugins/sudoers/policy.c:1268
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -3010,27 +3096,27 @@ msgstr ""
"\n"
"Sudoers 경로: %s\n"
-#: plugins/sudoers/policy.c:1271
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "nsswitch 경로: %s\n"
-#: plugins/sudoers/policy.c:1273
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ldap.conf 경로: %s\n"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ldap.secret 경로: %s\n"
-#: plugins/sudoers/policy.c:1307
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "%d 형ì‹ì˜ 후í¬ë¥¼ 등ë¡í•  수 없습니다(버전 %d.%d)"
-#: plugins/sudoers/policy.c:1325
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "%d 형ì‹ì˜ í›„í¬ ë“±ë¡ì„ 해제할 수 없습니다(버전 %d.%d)"
@@ -3103,7 +3189,7 @@ msgstr "%s 그룹 ID를 í•´ì„í•  수 없습니다"
#: plugins/sudoers/set_perms.c:852 plugins/sudoers/set_perms.c:1162
#: plugins/sudoers/set_perms.c:1460
msgid "perm stack overflow"
-msgstr "perm ìŠ¤íƒ ì˜¤ë²„í”Œë¡œìš°"
+msgstr "권한 ìŠ¤íƒ ì˜¤ë²„í”Œë¡œìš°"
#: plugins/sudoers/set_perms.c:125 plugins/sudoers/set_perms.c:376
#: plugins/sudoers/set_perms.c:456 plugins/sudoers/set_perms.c:719
@@ -3111,7 +3197,7 @@ msgstr "perm ìŠ¤íƒ ì˜¤ë²„í”Œë¡œìš°"
#: plugins/sudoers/set_perms.c:1173 plugins/sudoers/set_perms.c:1393
#: plugins/sudoers/set_perms.c:1471 plugins/sudoers/set_perms.c:1562
msgid "perm stack underflow"
-msgstr "parm ìŠ¤íƒ ì–¸ë”플로우"
+msgstr "권한 ìŠ¤íƒ ì–¸ë”플로우"
#: plugins/sudoers/set_perms.c:185 plugins/sudoers/set_perms.c:503
#: plugins/sudoers/set_perms.c:1227 plugins/sudoers/set_perms.c:1505
@@ -3169,148 +3255,142 @@ msgstr "SSS 소스를 초기화할 수 없습니다. ë¨¸ì‹ ì— SSSD를 설치했
msgid "unable to find symbol \"%s\" in %s"
msgstr "%2$sì—ì„œ \"%1$s\" ì‹¬ë³¼ì„ ì°¾ì„ ìˆ˜ 없습니다"
-#: plugins/sudoers/sudoers.c:258
+#: plugins/sudoers/sudoers.c:263
#, c-format
msgid "unable to get defaults from %s"
msgstr "%sì˜ ê¸°ë³¸ê°’ì„ ê°€ì ¸ì˜¬ 수 없습니다"
-#: plugins/sudoers/sudoers.c:265
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "올바른 sudoers 설정 ì›ë³¸ì´ 없습니다. 나갑니다."
-#: plugins/sudoers/sudoers.c:341
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "%sì„(를) 루트 디렉터리로 변환하ë„ë¡ í—ˆìš©í•˜ì§€ 않습니다"
-#: plugins/sudoers/sudoers.c:343
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "-R 옵션과 %s ì˜µì…˜ì˜ ë³‘í–‰ ì‚¬ìš©ì„ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:368
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "%s ë””ë ‰í„°ë¦¬ë¡œì˜ ì´ë™ì„ 허용하지 않습니다"
-#: plugins/sudoers/sudoers.c:369
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "-D 옵션과 %s ì˜µì…˜ì˜ ë³‘í–‰ ì‚¬ìš©ì„ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:396
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "지정한 ëª…ë ¹ì´ ì—†ìŒ"
-#: plugins/sudoers/sudoers.c:421
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoersì—ì„œ rootê°€ sudo를 실행하지 못하게 지정했습니다"
-#: plugins/sudoers/sudoers.c:471
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "사용ìžê°€ closefrom 제한 ê°’ì„ ë”°ë¡œ ì ìš©í•˜ë„ë¡ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:472
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "-C 옵션 ì‚¬ìš©ì„ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:532
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "타임스탬프 소유ìž(%s): ì‚¬ìš©ìž ì—†ìŒ"
-#: plugins/sudoers/sudoers.c:547
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "tty ì—†ìŒ"
-#: plugins/sudoers/sudoers.c:548
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "죄송하지만 sudo를 실행하려면 tty를 확보해야합니다"
-#: plugins/sudoers/sudoers.c:555
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "%s 사용ìžì—게 부ì ì ˆí•œ ì…¸ 제공: %s"
-#: plugins/sudoers/sudoers.c:638
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "현재 ë””ë ‰í„°ë¦¬ì˜ ëª…ë ¹"
-#: plugins/sudoers/sudoers.c:653
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "\"cd\"는 ì…¸ 내장 명령으로, ì§ì ‘ 실행할 수 없습니다."
-#: plugins/sudoers/sudoers.c:655
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr "-s ì˜µì…˜ì€ ë³„ë„ ê¶Œí•œì„ ë¶€ì—¬í•œ ì…¸ì—ì„œ 실행할 ë•Œ 사용합니다."
-#: plugins/sudoers/sudoers.c:657
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr "-D ì˜µì…˜ì€ ì§€ì • 디렉터리ì—ì„œ ëª…ë ¹ì„ ì‹¤í–‰í•  ë•Œ 사용합니다."
-#: plugins/sudoers/sudoers.c:666
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "사용ìžê°€ 명령 처리 제한 ì‹œê°„ì„ ì„¤ì •í•˜ë„ë¡ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:668
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "죄송하지만, 명령 처리 제한 ì‹œê°„ì„ ì„¤ì •í•  수 없습니다"
-#: plugins/sudoers/sudoers.c:676
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "사용ìžê°€ 환경 설정 ê°’ì„ ìœ ì§€í•˜ë„ë¡ í—ˆìš©í•˜ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:678
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "죄송하지만 ì´ í™˜ê²½ ìƒíƒœë¥¼ 유지하ë„ë¡ í—ˆê°€ë°›ì§€ 않았습니다"
-#: plugins/sudoers/sudoers.c:1053
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit는 sudo로 실행할 필요가 없습니다"
-#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "%sì„(를) ì½ì„ 수 없습니다"
-#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
-#: plugins/sudoers/visudo.c:764
-#, c-format
-msgid "unable to stat %s"
-msgstr "%sì˜ ìƒíƒœë¥¼ 가져올 수 없습니다"
-
-#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%sì€(는) ì¼ë°˜ 파ì¼ì´ 아닙니다"
-#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%sì€(는) %u uidê°€ 소유했지만, %u uidê°€ 소유해야합니다"
-#: plugins/sudoers/sudoers.c:1147 toke.l:1252
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%sì— ëª¨ë‘ê°€ 기ë¡í•  수 있습니다"
-#: plugins/sudoers/sudoers.c:1151 toke.l:1255
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%sì€(는) %u gidê°€ 소유했지만, %u gidê°€ 소유해야합니다"
-#: plugins/sudoers/sudoers.c:1184
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "루트만 \"-c %s\" ì˜µì…˜ì„ ì‚¬ìš©í•  수 있습니다"
-#: plugins/sudoers/sudoers.c:1203
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr "ì•Œ 수 없는 ë¡œê·¸ì¸ í´ëž˜ìŠ¤ %s"
-#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "%s 호스트를 í•´ì„í•  수 없습니다"
@@ -3408,17 +3488,17 @@ msgstr "ìž˜ëª»ëœ í›„ìœ„ ë¬¸ìž \"!\""
msgid "unknown search type %d"
msgstr "ì•Œ 수 없는 검색 í˜•ì‹ %d"
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "사용법: %s [-hnRS] [-d <디렉터리>] [-m <숫ìž>] [-s <숫ìž>] <ID>\n"
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "사용법: %s [-h] [-d <디렉터리>] -l [<검색ì‹>]\n"
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -3427,7 +3507,7 @@ msgstr ""
"%s - sudo 세션 로그를 ë³´ì—¬ì¤ë‹ˆë‹¤\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3483,127 +3563,122 @@ msgstr ""
"\n"
"ëª…ë ¹ì´ ì¼ì¹˜í•˜ì§€ ì•ŠìŒ"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%sì€(는) ê·¸ë£¹ì´ ê¸°ë¡í•  수 있습니다"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "타임스탬프 파ì¼ì„ %lld ë°”ì´íŠ¸ë¡œ ìžë¥¼ 수 없습니다"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "미래 타임스탬프 값 무시"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "타임스탬프 ê°’ì´ ë¯¸ëž˜ 값으로 너무 밀려있습니다: %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "%s 타임스탬프 파ì¼ì„ 잠글 수 없습니다"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "지침 ìƒíƒœ 경로가 너무 ê¹ë‹ˆë‹¤: %s/%s"
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "sudoeditì— ê²½ë¡œë¥¼ 지정하면 안ë©ë‹ˆë‹¤"
-#: plugins/sudoers/visudo.c:249
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "-x ì˜µì…˜ì€ ì¶”í›„ 릴리스ì—ì„œ 제거 예정입니다"
-#: plugins/sudoers/visudo.c:251
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "cvtsudoers 유틸리티를 대신 사용해보십시오"
-#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "%s í•­ëª©ì„ íŽ¸ì§‘í•˜ë ¤ë©´ return 키를 누르십시오: "
-#: plugins/sudoers/visudo.c:321
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr "%sì— íŽ¸ì§‘ 세션 ë‚´ìš©ì´ ë‚¨ì•˜ìŠµë‹ˆë‹¤"
-#: plugins/sudoers/visudo.c:397
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "지정 편집기(%s)가 없습니다"
-#: plugins/sudoers/visudo.c:399
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "편집기가 없습니다(편집기 경로 = %s)"
-#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "%sì˜ ìƒíƒœë¥¼ 가져올 수 없습니다"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "쓰기 오류"
-#: plugins/sudoers/visudo.c:559
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "ìž„ì‹œ íŒŒì¼ ìƒíƒœë¥¼ 가져올 수 없습니다(%s). %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:566
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "ìž„ì‹œ íŒŒì¼ ê¸¸ì´ê°€ 0입니다(%s). %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:572
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "편집기(%s) 실패. %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:594
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s 바꾸지 ì•ŠìŒ"
-#: plugins/sudoers/visudo.c:639
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "ìž„ì‹œ 파ì¼(%s)ì„ ë‹¤ì‹œ ì—´ 수 없습니다. %sì„(를) 바꾸지 않았습니다."
-#: plugins/sudoers/visudo.c:652
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "ìž„ì‹œ 파ì¼(%s)ì„ í•´ì„í•  수 없습니다. ì•Œ 수 없는 오류"
-#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "%sì˜ uid/gid를 %u/%u 값으로 설정할 수 없습니다"
-#: plugins/sudoers/visudo.c:803
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s ë° %sì€(는) ë™ì¼í•œ íŒŒì¼ ì‹œìŠ¤í…œì— ì—†ìŠµë‹ˆë‹¤. mv 명령으로 ì´ë¦„ì„ ë°”ê¿‰ë‹ˆë‹¤"
-#: plugins/sudoers/visudo.c:814
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "명령 실행 실패: '%s %s %s', %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:821
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "%s ì´ë¦„ 바꾸기 오류. %sì„(를) 바꾸지 않았습니다"
-#: plugins/sudoers/visudo.c:841
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "어떻게 하시겠습니까? "
-#: plugins/sudoers/visudo.c:855
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3615,41 +3690,41 @@ msgstr ""
" sudoers 파ì¼ì„ 바꾼 ìƒíƒœì—ì„œ 저장하지 ì•Šê³  나갑니다(X)\n"
" sudoers 파ì¼ì„ 바꾼 ìƒíƒœì—ì„œ 저장하고 ë냅니다(Q)\n"
-#: plugins/sudoers/visudo.c:901
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "%sì„(를) 실행할 수 ì—†ìŒ"
-#: plugins/sudoers/visudo.c:932
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: ìž˜ëª»ëœ ì†Œìœ ìž uid/gid를 %u/%u 값으로 설정해야 합니다\n"
-#: plugins/sudoers/visudo.c:943
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: ìž˜ëª»ëœ ê¶Œí•œìž…ë‹ˆë‹¤. 0%o 모드 ê°’ì„ ì„¤ì •í•´ì•¼ 합니다\n"
-#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: í•´ì„ ì„±ê³µ\n"
-#: plugins/sudoers/visudo.c:1017
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%sì„(를) 사용중입니다. ë‚˜ì¤‘ì— ë‹¤ì‹œ ì‹œë„하십시오"
-#: plugins/sudoers/visudo.c:1021
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "ê·¸ëž˜ë„ íŽ¸ì§‘í•˜ì‹œê² ìŠµë‹ˆê¹Œ? [y/N]"
-#: plugins/sudoers/visudo.c:1117
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "경고: %s:%d:%d 사용하지 않는 %s \"%s\"ì´(ê°€) 있습니다"
-#: plugins/sudoers/visudo.c:1229
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3658,13 +3733,14 @@ msgstr ""
"%s - sudoers 파ì¼ì„ 안전하게 편집합니다\n"
"\n"
-#: plugins/sudoers/visudo.c:1231
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
@@ -3672,10 +3748,11 @@ msgstr ""
"\n"
"옵션:\n"
" -c, --check í™•ì¸ ì „ìš© 모드\n"
-" -f, --file=sudoers sudoers íŒŒì¼ ìœ„ì¹˜ 지정\n"
+" -f, --file=sudoers sudoers íŒŒì¼ ìœ„ì¹˜ë¥¼ 지정합니다\n"
" -h, --help ë„ì›€ë§ ë©”ì‹œì§€ë¥¼ 나타낸 후 빠져나갑니다\n"
+" -I, --no-includes ì¸í´ë£¨ë“œ 파ì¼ì„ 편집하지 않습니다\n"
" -q, --quiet ìžì„¸í•œ 문법 오류 메시지를 줄입니다(없앰)\n"
-" -s, --strict 엄격한 문법 검사 시행\n"
+" -s, --strict 엄격한 문법 검사를 시행합니다\n"
" -V, --version 버전 정보를 나타낸 후 빠져나갑니다\n"
#: toke.l:189
@@ -3710,6 +3787,12 @@ msgstr "예기치 ì•Šì€ ê°œí–‰ ë¬¸ìž ë°œê²¬"
msgid "too many levels of includes"
msgstr "í¬í•¨ ë ˆë²¨ì´ ë„ˆë¬´ 많습니다"
+#~ msgid "%s is group writable"
+#~ msgstr "%sì€(는) ê·¸ë£¹ì´ ê¸°ë¡í•  수 있습니다"
+
+#~ msgid "lecture status path too long: %s/%s"
+#~ msgstr "지침 ìƒíƒœ 경로가 너무 ê¹ë‹ˆë‹¤: %s/%s"
+
#~ msgid "Error: %s:%d:%d: cycle in %s \"%s\""
#~ msgstr "오류: %4$s \"%5$s\"ì˜ %1$s:%2$d:%3$d: 사ì´í´"
diff --git a/plugins/sudoers/po/pl.mo b/plugins/sudoers/po/pl.mo
index b79746926..c4310c5a7 100644
--- a/plugins/sudoers/po/pl.mo
+++ b/plugins/sudoers/po/pl.mo
Binary files differ
diff --git a/plugins/sudoers/po/pl.po b/plugins/sudoers/po/pl.po
index 8a7dd56ea..a3756dc16 100644
--- a/plugins/sudoers/po/pl.po
+++ b/plugins/sudoers/po/pl.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.11b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-05-27 08:39-0600\n"
-"PO-Revision-Date: 2022-05-29 21:56+0200\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-11 21:45+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: confstr.sh:1 gram.y:1218
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "błąd składni"
@@ -41,13 +41,13 @@ msgstr "*** informacje dotyczące BEZPIECZEŃSTWA dla %h ***"
msgid "Sorry, try again."
msgstr "Niestety, proszę spróbować ponownie."
-#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
-#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
-#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
-#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
-#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
-#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
-#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
@@ -57,50 +57,64 @@ msgstr "Niestety, proszę spróbować ponownie."
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
-#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
-#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
-#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
-#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
-#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
-#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
-#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
-#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
-#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
-#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
-#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
-#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
-#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
-#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
-#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
+#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
+#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
+#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
+#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
+#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:446
@@ -110,11 +124,11 @@ msgstr "Niestety, proszę spróbować ponownie."
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1158
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -123,124 +137,125 @@ msgstr "Niestety, proszę spróbować ponownie."
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
-#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
-#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
-#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
-#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
-#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
-#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
-#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
-#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
-#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
-#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
-#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
-#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
-#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
-#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
-#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
-#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
-#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
-#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
-#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
-#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
+#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "nie udało się przydzielić pamięci"
-#: gram.y:622
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "skrót wymaga nazwy pliku"
-#: gram.y:644
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "wartości \"CWD\" muszą zaczynać się od '/', '~' lub '*'"
-#: gram.y:650
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr "ścieżka \"CWD\" zbyt długa"
-#: gram.y:660
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "wartości \"CHROOT\" muszą zaczynać się od '/', '~' lub '*'"
-#: gram.y:666
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr "ścieżka \"CHROOT\" zbyt długa"
-#: gram.y:801
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "błąd składni, słowo zastrzeżone %s użyte jako nazwa aliasu"
-#: gram.y:824
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "błędna wartość notbefore"
-#: gram.y:833
+#: gram.y:834
msgid "invalid notafter value"
msgstr "błędna wartość notafter"
-#: gram.y:843 plugins/sudoers/policy.c:376
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "wartość limitu czasu zbyt duża"
-#: gram.y:845 plugins/sudoers/policy.c:378
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "błędna wartość limitu czasu"
-#: gram.y:966 plugins/sudoers/sudoers.c:1014
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr "polecenie zbyt długie"
-#: gram.y:1220 plugins/sudoers/check_aliases.c:96
-#: plugins/sudoers/defaults.c:1275
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1270
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Alias \"%s\" jest już zdefiniowany"
-#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
@@ -250,33 +265,48 @@ msgstr "Alias \"%s\" jest już zdefiniowany"
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
-#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
@@ -306,11 +336,11 @@ msgstr "Alias \"%s\" jest już zdefiniowany"
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1157
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -319,46 +349,47 @@ msgstr "Alias \"%s\" jest już zdefiniowany"
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
-#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
-#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
-#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
-#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
-#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
-#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
-#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
-#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
-#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
-#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
-#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
-#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
-#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
-#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
-#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
-#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
-#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
-#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
-#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
-#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
-#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
-#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
-#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -371,25 +402,25 @@ msgstr "Alias \"%s\" jest już zdefiniowany"
#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
-#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
-#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
-#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
-#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
-#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
-#: toke.l:1226
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -398,14 +429,14 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
-#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
-#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
@@ -448,7 +479,7 @@ msgstr "%8s : %s"
msgid "%8s : (command continued) %s"
msgstr "%8s : (kontynuacja polecenia) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -563,14 +594,14 @@ msgstr "%s: brak pola z grupÄ… runas"
msgid "%s exists but is not a directory (0%o)"
msgstr "%s istnieje, ale nie jest katalogiem (0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "nie udało się wykonać mkdir %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
-#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "nie udało się zmienić uprawnień %s na 0%o"
@@ -585,150 +616,156 @@ msgstr "błąd podczas czytania pliku czasu: %s"
msgid "invalid timing file line: %s"
msgstr "błędna linia pliku czasu: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
-#: plugins/sudoers/policy.c:573
-msgid "unable to generate UUID"
-msgstr "nie udało się wygenerować UUID-a"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s: błąd protokołu: klucz NULL"
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr "%s: błąd protokołu: niewłaściwy typ dla %s"
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s: błąd protokołu: napotkano wartość NULL w %s"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "nie udało się wygenerować UUID-a"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr "%s: błąd protokołu: brak %s w AcceptMessage"
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr "%s: nie udało się sformatować id sesji"
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr "%s: %s nie jest ustawiony"
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr "nie udało się rozwinąć ścieżki iologu %s"
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr "nie udało się utworzyć ścieżki iologu %s"
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr "błędny iofd %d"
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr "błąd zamykania iofd %d: %s"
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr "błąd opróżniania bufora iofd %d: %s"
-#: logsrvd/iolog_writer.c:780
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "błędny log we/wy %s: %s użyty, ale nie zdefiniowany"
-#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: nie udało się odnaleźć punktu wznowienia [%lld, %ld]"
-#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
-#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
-#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
-#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr "nie udało się otworzyć %s"
-#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "nie udało się otworzyć %s/%s"
-#: logsrvd/iolog_writer.c:839
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "nie udało się skopiować %s/%s do %s/%s: %s"
-#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr "nie udało się zmienić nazwy %s na %s"
-#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: nie udało się odnaleźć punktu wznowienia [%lld, %ld]"
-#: logsrvd/logsrv_util.c:154
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "brak pliku logu we/wy %s/%s"
-#: logsrvd/logsrv_util.c:161
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: nie udało przesunąć %zu w przód"
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr "nie udało się połączyć z przekaźnikiem"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr "komunikat serwera zbyt duży: %zu"
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
-#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
-#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
-#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
-#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
-#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
-#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
-#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
-#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
-#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
-#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
-#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -737,633 +774,658 @@ msgstr "komunikat serwera zbyt duży: %zu"
msgid "unable to add event to queue"
msgstr "nie udało się dodać zdarzenia do kolejki"
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr "nieoczekiwany stan %d dla %s"
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "błąd maszyny stanów"
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "błędny AcceptMessage"
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "błędny RejectMessage"
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "błędny ExitMessage"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "błędny RestartMessage"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "błędny AlertMessage"
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr "%s: nieoczekiwany IoBuffer"
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "błąd protokołu"
-#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
-#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
-#: plugins/sudoers/log_client.c:1618
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "błędny IoBuffer"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "błędny ChangeWindowSize"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "błędny CommandSuspend"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
#, c-format
msgid "unable to unpack %s size %zu"
msgstr "nie udało się rozpakować %s, rozmiar %zu"
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "nieoczekiwana wartość type_case %d w %s z %s"
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "nie rozpoznany typ ClientMessage"
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr "przekroczony limit czasu przy pisaniu do klienta %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr "brak bufora zapisu dla klienta %s"
-#: logsrvd/logsrvd.c:982
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr "przekroczony limit czasu przy czytaniu od klienta %s"
-#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "EOF od %s bez właściwego zakończenia połączenia TLS"
-#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:716
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr "komunikat klienta zbyt duży %zu"
-#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "komunikat klienta zbyt duży"
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "błędny ClientMessage"
-#: logsrvd/logsrvd.c:1389
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "nie udało się uzyskać zdalnego adresu IP"
-#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
-#: plugins/sudoers/log_client.c:276
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Nie udało się dołączyć danych użytkownika do obiektu SSL: %s"
-#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "nie udało się ustanowić gniazda nasłuchującego"
-#: logsrvd/logsrvd.c:1718
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr "nieoczekiwany sygnał %d"
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "serwer logów sudo"
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "Opcje:"
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "ścieżka do pliku konfiguracyjnego"
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "wyświetlenie pomocy i zakończenie"
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "bez wykonywania fork, działanie na pierwszym planie"
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "procentowe prawdopodobieństwo odrzucenia połączenia"
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "wyświetlenie informacji o wersji i zakończenie"
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Wymagany Protobuf-C w wersji 1.3 lub wyższej"
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "błędna wartość losowego gubienia: %s"
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:180
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s wersja %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
-#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
-#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "nieznany użytkownik %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
-#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr "nieznana grupa %s"
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr "nie udało się przeanalizować uprawnień iologu %s"
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr "błędna wartość %s: %s"
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "TLS nie jest obsługiwany"
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s: nie jest pełną ścieżką"
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr "nieznana wartość facility sysloga %s"
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr "nieznany priorytet sysloga %s"
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d niedopasowany '[': %s"
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr "%s:%d śmieci po ']': %s"
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s: %d błędna sekcja konfiguracji: %s"
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d błędna linia konfiguracji: %s"
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d oczekiwano nazwy sekcji: %s"
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] niedozwolony klucz: %s"
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:1035
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr "nie udało się otworzyć pliku logu %s"
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "nie udało się zainicjować kontekstu serwera TLS"
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "nie udało się zainicjować kontekstu przekaźnika TLS"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
-#: logsrvd/logsrvd_journal.c:416
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "nie udało się utworzuć pliku kroniki"
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1020
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr "nie udało się zablokować %s"
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "nie udało się zablokować pliku kroniki"
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr "nie udało się otworzyć pliku kroniki"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
-#: logsrvd/logsrvd_journal.c:452
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "nie udało się zapisać pliku kroniki"
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "nie udało się zmienić nazwy pliku kroniki"
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "nieoczekiwany koniec pliku podczas odczytu pliku kroniki"
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "błąd podczas odczytu pliku kroniki"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "błędny plik kroniki, nie udało się zrestartować"
-#: logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "nie udało się przewinąć do [%lld, %ld] w pliku kroniki %s"
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "nieoczekiwana wartość value_case %d w %s z %s"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "błąd analizy AcceptMessage"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "błąd tworzenia logu we/wy"
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "błąd logowania zdarzenia akceptacji"
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "błąd analizy RejectMessage"
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "błąd logowania zdarzenia odrzucenia"
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr "błąd logowania zdarzenia wyjścia"
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "log jest już kompletny, nie może być wznowiony"
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "nie udało się wznownić logu"
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "błąd analizy AlertMessage"
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "błąd logowania zdarzenia alarmu"
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr "nie udało się sformatować bufora czasu, długość %d"
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr "%s/%s: %s"
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr "losowe odrzucanie połączenia"
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "błąd zapisu IoBuffer"
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "błąd zapisu ChangeWindowSize"
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "błąd zapisu CommandSuspend"
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "przywitanie TLS z hostem przekaźnika nie powiodło się"
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "nie udało się połączyć z hostem przekaźnika"
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: błędne ServerHello, brak server_id"
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1504
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "błędne ServerHello"
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "nie rozpoznany typ ServerMessage"
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr "przekroczony limit czasu przy czytaniu z przekaźnika %s (%s)"
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "przekroczony limit czasu przy czytaniu z przekaźnika"
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "nazwa hosta przekaźnika nie pasuje do certyfikatu"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
-#: logsrvd/logsrvd_relay.c:784
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "błąd podczas odczytu z przekaźnika"
-#: logsrvd/logsrvd_relay.c:805
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "nie udał się odczyt z przekaźnika"
-#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "serwer przekaźnika zamknął połączenie"
-#: logsrvd/logsrvd_relay.c:838
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "komunikat serwera zbyt duży"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "przekroczony limit czasu przy pisaniu do przekaźnika %s (%s)"
-#: logsrvd/logsrvd_relay.c:904
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "przekroczony limit czasu przy pisaniu do przekaźnika"
-#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
-#: logsrvd/logsrvd_relay.c:974
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "błąd zapisu do przekaźnika"
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "wysyłanie logu we/wy sudo na zdalny serwer"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "samo wysłanie zdarzenia akceptującego (bez we/wy)"
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "plik paczki certyfikatów do weryfikacji certyfikatu serwera"
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "plik certyfikatu do powitania TLS"
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "host do wysyłania logów"
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "zdalny ID logu we/wy do wznowienia"
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "plik klucza prywatnego"
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "bez weryfikacji certyfikatu serwera"
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "port do użycia przy łączeniu z hostem"
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "wznowienie poprzedniego transferu logu we/wy"
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "odrzucenie polecenia z podanym powodem"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr "zakończenie przesyłania po osiągnięciu tego czasu"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "test serwera audytu przez wysłanie wybranego logu we/wy N razy równolegle"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "nie udało się wyszukać %s:%s: %s"
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "nie udało się uzyskać adresu IP serwera"
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "nie udało się odczytać %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
-#: plugins/sudoers/iolog.c:1024
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "nieoczekiwane zdarzenie we/wy %d"
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
-#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: nieoczekiwany stan %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "odebrano od serwera komunikat błędu: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "odebrano od serwera komunikat zerwania: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: nieoczekiwana wartość type_case %d"
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "przekroczony limit czasu przy czytaniu z serwera"
-#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
msgid "host name does not match certificate"
msgstr "nazwa hosta nie pasuje do certyfikatu"
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "przedwczesny EOF"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "komunikat serwera zbyt duży: %u"
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "przekroczony limit czasu przy pisaniu do serwera"
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "muszą być podane jednocześnie punkt wznowienia i ID iolog"
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "nie można ustawić punktu restartu, jeśli żadne we/wy nie jest wysyłane"
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "zakończono przedwcześnie ze stanem %d"
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "miniony czas wysłany do serwera [%lld, %ld]"
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "odebrano od serwera punkt zatwierdzenia [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "przekroczony limit czasu powitania TLS"
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "nie udało się ustawić zdarzenia"
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "Połączenie TLS nie powiodło się: %s"
-#: logsrvd/tls_client.c:191
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "nie udało się przydzielić obiektu SSL: %s"
-#: logsrvd/tls_client.c:205
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "Nie udało się dołączyć gniazda do obiektu SSL: %s"
-#: logsrvd/tls_client.c:233
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr "nie udało się zainicjować kontekstu TLS"
-#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "nie udało się ustawić szyfrowania TLS 1.2 na %s: %s"
-#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "nie udało się ustawić szyfrowania TLS 1.3 na %s: %s"
-#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "nie udało się ustawić parametrów Diffie-Hellmana: %s"
-#: logsrvd/tls_init.c:277
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr "nie udało się utworzyć kontekstu TLS: %s"
-#: logsrvd/tls_init.c:284
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "nie udało się ustawić minimalnej wersji protokołu na TLS 1.2: %s"
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
-#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
-#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
-#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
-#: plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "nie udało się pobrać aktualnego czasu"
@@ -1500,7 +1562,7 @@ msgstr "Konto wygasło lub w konfiguracji PAM brak sekcji \"account\" dla sudo,
msgid "PAM account management error: %s"
msgstr "BÅ‚Ä…d zarzÄ…dzania kontem PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "nie istniejesz w bazie danych %s"
@@ -1573,17 +1635,17 @@ msgstr "Nie udało się określić warunku audytowego"
msgid "unable to commit audit record"
msgstr "nie udało się zatwierdzić rekordu audytowego"
-#: plugins/sudoers/check.c:275
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "błąd podczas czytania pliku instrukcji %s"
-#: plugins/sudoers/check.c:278
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "zignorowano plik instrukcji %s: nie jest zwykłym plikiem"
-#: plugins/sudoers/check.c:291
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1603,14 +1665,14 @@ msgstr ""
" 3) z dużą władzą wiąże się duża odpowiedzialność.\n"
"\n"
-#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
-#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "nieznany uid %u"
-#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
msgid "%s: %s\n"
msgstr "%s: %s\n"
@@ -1640,7 +1702,7 @@ msgstr "poczÄ…tkowa ranga: %s: %s"
msgid "order padding: %s: %s"
msgstr "wyrównanie rangi: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s, wersja gramatyki %d\n"
@@ -1660,14 +1722,14 @@ msgstr "nieobsługiwany format wyjścia %s"
msgid "%s: input and output files must be different"
msgstr "%s: pliki wejściowy i wyjściowy muszą być różne"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
-#: plugins/sudoers/visudo.c:969
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "nie udało się zainicjować wartości domyślnych sudoers"
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
@@ -1692,18 +1754,18 @@ msgstr "błędny typ ograniczenia: %s"
msgid "invalid filter: %s"
msgstr "błędny filtr: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "nie udało się przeanalizować pliku %s, nieznany błąd"
#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "nie udało się zapisać do %s"
-#: plugins/sudoers/cvtsudoers.c:1501
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1712,7 +1774,7 @@ msgstr ""
"%s - konwersja między formatami pliku sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1503
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -2166,359 +2228,383 @@ msgid "Log user's input for the command being run"
msgstr "Logowanie wejścia użytkownika dla uruchamianych poleceń"
#: plugins/sudoers/def_data.c:356
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "Logowanie standardowego wejścia polecenia, jeśli nie jest podłączone do terminala"
+
+#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "Logowanie wejścia terminala użytkownika dla uruchamianych poleceń"
+
+#: plugins/sudoers/def_data.c:364
msgid "Log the output of the command being run"
msgstr "Logowanie wyjścia z uruchamianych poleceń"
-#: plugins/sudoers/def_data.c:360
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "Logowanie standardowego wyjścia polecenia, jeśli nie jest podłączone do terminala"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "Logowanie standardowego wyjścia błędów polecenia, jeśli nie jest podłączone do terminala"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "Logowanie wyjścia terminala z uruchamianych poleceń"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "Kompresja logów we/wy przy użyciu zliba"
-#: plugins/sudoers/def_data.c:364
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "Uruchamianie poleceń zawsze na pseudoterminalu"
-#: plugins/sudoers/def_data.c:368
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Wtyczka do obsługi grup nieuniksowych: %s"
-#: plugins/sudoers/def_data.c:372
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Katalog do zapisu logów wejścia/wyjścia: %s"
-#: plugins/sudoers/def_data.c:376
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Plik do zapisu logu wejścia/wyjścia: %s"
-#: plugins/sudoers/def_data.c:380
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Dodawanie wpisu do pliku utmp/utmpx przy przydzielaniu pty"
-#: plugins/sudoers/def_data.c:384
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Ustawianie użytkownika w utmp jako docelowego, nie wywołującego"
-#: plugins/sudoers/def_data.c:388
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Zbiór dozwolonych uprawnień: %s"
-#: plugins/sudoers/def_data.c:392
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Zbiór ograniczonych uprawnień: %s"
-#: plugins/sudoers/def_data.c:396
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "Uruchomienie poleceń na pseudoterminalu w tle"
-#: plugins/sudoers/def_data.c:400
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "Nazwa usługi PAM do użycia: %s"
-#: plugins/sudoers/def_data.c:404
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Nazwa usługi PAM do użycia dla powłok logowania: %s"
-#: plugins/sudoers/def_data.c:408
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Nazwa usługi PAM do użycia, kiedy sudo jest uruchomione z opcją -A: %s"
-#: plugins/sudoers/def_data.c:412
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Próba ustanowienia danych uwierzytelniających PAM dla użytkownika docelowego"
-#: plugins/sudoers/def_data.c:416
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "Utworzenie nowej sesji PAM dla uruchamianego polecenia"
-#: plugins/sudoers/def_data.c:420
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "Wykonanie zarządzania poprawnością konta PAM"
-#: plugins/sudoers/def_data.c:424
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Maksymalny numer sekwencji logu we/wy: %s"
-#: plugins/sudoers/def_data.c:428
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "Włączenie obsługi grup sieciowych w sudoers"
-#: plugins/sudoers/def_data.c:432
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "Sprawdzanie katalogów nadrzędnych pod kątem możliwości zapisu przy edycji plików programem sudoedit"
-#: plugins/sudoers/def_data.c:436
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Podążanie za dowiązaniami symbolicznymi przy edycji programem sudoedit"
-#: plugins/sudoers/def_data.c:440
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "Odpytanie wtyczki group pod kÄ…tem nieznanych grup systemowych"
-#: plugins/sudoers/def_data.c:444
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Dopasowanie grup sieciowych w oparciu o całą krotkę: użytkownik, host i domena"
-#: plugins/sudoers/def_data.c:448
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Zezwolenie na uruchamianie poleceń nawet jeśli sudo nie może pisać do logu audytowego"
-#: plugins/sudoers/def_data.c:452
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Zezwolenie na uruchamianie poleceń nawet jeśli sudo nie może pisać do logu we/wy"
-#: plugins/sudoers/def_data.c:456
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Zezwolenie na uruchamianie poleceń nawet jeśli sudo nie może pisać do pliku logu"
-#: plugins/sudoers/def_data.c:460
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "RozwiÄ…zanie grup z sudoers i dopasowywanie po ID grupy zamiast nazwy"
-#: plugins/sudoers/def_data.c:464
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Wpisy logu większe niż ta wartość będą dzielone na wiele wiadomości sysloga: %u"
-#: plugins/sudoers/def_data.c:468
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Użytkownik, który będzie właścicielem plików logu we/wy: %s"
-#: plugins/sudoers/def_data.c:472
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Grupa, która będzie właścicielem plików logu we/wy: %s"
-#: plugins/sudoers/def_data.c:476
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Uprawnienia dla plików logu we/wy: 0%o"
-#: plugins/sudoers/def_data.c:480
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Uruchomienie poleceń poprzez deskryptor pliku zamiast ścieżki: %s"
-#: plugins/sudoers/def_data.c:484
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignorowanie nieznanych wpisów Defaults w sudoers zamiast ostrzeżenia"
-#: plugins/sudoers/def_data.c:488
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Czas w sekundach, po którym polecenie będzie kończone: %u"
-#: plugins/sudoers/def_data.c:492
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "Zezwolenie użytkownikowi na określenie limitu czasu z linii poleceń"
-#: plugins/sudoers/def_data.c:496
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Natychmiastowy zrzut danych logu we/wy na dysk zamiast buforowania"
-#: plugins/sudoers/def_data.c:500
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "Dołączanie identyfikatora procesu przy logowaniu przez syslog"
-#: plugins/sudoers/def_data.c:504
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Rodzaj rekordu znacznika czasu uwierzytelniania: %s"
-#: plugins/sudoers/def_data.c:508
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "Komunikat błędu uwierzytelnienia: %s"
-#: plugins/sudoers/def_data.c:512
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "Ignorowanie wielkości liter przy dopasowywaniu nazw użytkownika"
-#: plugins/sudoers/def_data.c:516
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "Ignorowanie wielkości liter przy dopasowywaniu nazw grup"
-#: plugins/sudoers/def_data.c:520
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "Logowanie kiedy polecenie jest dozwolone przez sudoers"
-#: plugins/sudoers/def_data.c:524
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "Logowanie kiedy polecenie jest zabronione przez sudoers"
-#: plugins/sudoers/def_data.c:528
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Serwer(y) logów sudo do połączenia, z opcjonalnym portem"
-#: plugins/sudoers/def_data.c:532
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Limit czasu serwera logów sudo w sekundach: %u"
-#: plugins/sudoers/def_data.c:536
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Włączenie opcji gniazda SO_KEEPALIVE na gnieździe połączonym z serwerem logów"
-#: plugins/sudoers/def_data.c:540
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Ścieżka do pliku paczki CA serwera audytu: %s"
-#: plugins/sudoers/def_data.c:544
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Ścieżka do pliku certyfikatu sudoers: %s"
-#: plugins/sudoers/def_data.c:548
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Ścieżka do pliku klucza prywatnego sudoers: %s"
-#: plugins/sudoers/def_data.c:552
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "Sprawdzenie poprawności certyfikatu serwera logów"
-#: plugins/sudoers/def_data.c:556
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Zezwolenie na użycie nieznanego ID użytkownika i/lub grupy runas"
-#: plugins/sudoers/def_data.c:560
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "Zezwolenie na uruchamianie poleceń tylko jako użytkownik z prawidłową powłoką"
-#: plugins/sudoers/def_data.c:564
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "Ustawienie użytkownika zdalnego PAM na użytkownika uruchamiającego sudo"
-#: plugins/sudoers/def_data.c:568
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "Ustawienie hosta zdalnego PAM nazwÄ™ hosta lokalnego"
-#: plugins/sudoers/def_data.c:572
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Katalog roboczy do zmiany przed uruchomieniem polecenia: %s"
-#: plugins/sudoers/def_data.c:576
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Katalog główny do zmiany przed uruchomieniem polecenia: %s"
-#: plugins/sudoers/def_data.c:580
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Format logów do tworzenia: %s"
-#: plugins/sudoers/def_data.c:584
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "Włączenie obsługi RBAC SELinux"
-#: plugins/sudoers/def_data.c:588
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Ścieżka do pliku tworzonego przy pierwszym uruchomieniu sudo: %s"
-#: plugins/sudoers/def_data.c:592
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "Przechwycenie dalszych poleceń i zastosowanie do nich restrykcji sudoers"
-#: plugins/sudoers/def_data.c:596
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr "Logowanie podpoleceń uruchamianych przez pierwotne polecenie"
-#: plugins/sudoers/def_data.c:600
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr "Logowanie stanu wyjścia poleceń"
-#: plugins/sudoers/def_data.c:604
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Dalsze polecenia w przechwyconej sesji muszą być uwierzytelniane"
-#: plugins/sudoers/def_data.c:608
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Zezwolenie na uruchamianie programów setuid lub setgid z przechwyconego polecenia"
-#: plugins/sudoers/def_data.c:612
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Maksymalny rozmiar, do jakiego może rosnąć przestrzeń adresowa procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:616
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Maksymalny rozmiar pliku core, jaki może być utworzony (w bajtach): %s"
-#: plugins/sudoers/def_data.c:620
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Maksymalna ilość czasu CPU, jaką proces może użyć (w sekundach): %s"
-#: plugins/sudoers/def_data.c:624
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Maksymalny rozmiar segmentu danych procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:628
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Maksymalny rozmiar pliku, jaki proces może utworzyć (w bajtach): %s"
-#: plugins/sudoers/def_data.c:632
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Maksymalna liczba blokad, jaką proces może ustanowić: %s"
-#: plugins/sudoers/def_data.c:636
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Maksymalny rozmiar, jaki proces może zablokować w pamięci (w bajtach): %s"
-#: plugins/sudoers/def_data.c:640
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Maksymalna liczba plików, jaką proces może mieć otwartych: %s"
-#: plugins/sudoers/def_data.c:644
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Maksymalna liczba procesów, jaką użytkownik może jednocześnie uruchomić: %s"
-#: plugins/sudoers/def_data.c:648
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Maksymalny rozmiar, do jakiego może urosnąć rozmiar rezydentny procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:652
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Maksymalny rozmiar, do jakiego może urosnąć stos procesu (w bajtach): %s"
-#: plugins/sudoers/def_data.c:656
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Próba uwierzytelnienia nawet w trybie nieinteraktywnym"
-#: plugins/sudoers/def_data.c:660
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr "Zapisywanie haseł czystym tekstwem na wejściu/wyjściu logu"
-#: plugins/sudoers/def_data.c:664
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr "Lista wyrażeń regularnych do użycia przy dopasowywania pytania o hasło"
-#: plugins/sudoers/def_data.c:668
+#: plugins/sudoers/def_data.c:688
#, c-format
msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr "Mechanizm używany przez opcje intercept i log_subcmds: %s"
-#: plugins/sudoers/def_data.c:672
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "Próba weryfikacji polecenia i argumentów po uruchomieniu"
+
+#: plugins/sudoers/def_data.c:696
#, c-format
msgid "AppArmor profile to use in the new security context: %s"
msgstr "Profil AppArmor do użycia w nowym kontekście bezpieczeństwa: %s"
@@ -2553,31 +2639,31 @@ msgstr "błędny typ Defaults 0x%x dla opcji \"%s\""
msgid "value \"%s\" is invalid for option \"%s\""
msgstr "błędna wartość \"%s\" dla opcji \"%s\""
-#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
-#: plugins/sudoers/policy.c:216
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
msgid "path name for \"%s\" too long"
msgstr "ścieżka pliku \"%s\" zbyt długa"
-#: plugins/sudoers/defaults.c:1133
+#: plugins/sudoers/defaults.c:1134
#, c-format
msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr "wartości \"%s\" muszą zaczynać się od '/', '~' lub '*'"
-#: plugins/sudoers/defaults.c:1140
+#: plugins/sudoers/defaults.c:1141
#, c-format
msgid "values for \"%s\" must start with a '/'"
msgstr "wartości \"%s\" muszą zaczynać się od '/'"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: uszkodzone envp, niezgodność długości"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "nie udało się przebudować środowiska"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "niestety nie jest dozwolone ustawianie następujących zmiennych środowiskowych: %s"
@@ -2592,27 +2678,27 @@ msgstr "nieobsługiwany typ skrótu %d dla %s"
msgid "%s: read error"
msgstr "%s: błąd odczytu"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "właścicielem %s musi być uid %d"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "prawo zapisu do %s może mieć tylko właściciel"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "nie udało się załadować %s: %s"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "nie udało się odnaleźć symbolu \"group_plugin\" w %s"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s: niezgodna główna wersja wtyczki grup %d, oczekiwano %d"
@@ -2635,10 +2721,10 @@ msgstr "Pary lokalnych adresów IP i masek:\n"
msgid "unable to update sequence file"
msgstr "nie udało się uaktualnić pliku sekwencji"
-#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
-#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
-#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
-#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "nie udało się zapisać do pliku logu we/wy: %s"
@@ -2648,25 +2734,25 @@ msgstr "nie udało się zapisać do pliku logu we/wy: %s"
msgid "unable to create %s/%s"
msgstr "nie udało się utworzyć %s/%s"
-#: plugins/sudoers/iolog.c:955
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: błąd wewnętrzny, plik logu we/wy dla zdarzenia %d nie jest otwarty"
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
-#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
-#: plugins/sudoers/visudo.c:552
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "nie udało się odczytać zegara"
-#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
-#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: błąd wewnętrzny, błędny sygnał %d"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "brak obsługi starttls w przypadku użycia ldaps"
@@ -2689,7 +2775,7 @@ msgstr "nie udało się zainicjować LDAP: %s"
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "wybrano start_tls, ale biblioteki LDAP nie obsługują ldap_start_tls_s() ani ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "błędny atrybut sudoOrder: %s"
@@ -2699,12 +2785,12 @@ msgstr "błędny atrybut sudoOrder: %s"
msgid "%s: port too large"
msgstr "%s: za duży numer portu"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "nieobsługiwany rodzaj URI LDAP: %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "nie można mieszać URI ldap i ldaps"
@@ -2729,111 +2815,111 @@ msgstr "nie udało się otworzyć systemu audytowego"
msgid "unable to send audit message"
msgstr "nie udało się wysłać komunikatu audytowego"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
-#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "błąd w pętli zdarzeń"
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Utworzenie nowego obiektu SSL_CTX nie powiodło się: %s"
-#: plugins/sudoers/log_client.c:225
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "nie udało się załadować paczki certyfikatów CA %s"
-#: plugins/sudoers/log_client.c:247
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "nie udało się załadować certyfikatu %s"
-#: plugins/sudoers/log_client.c:261
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "nie udało się załadować klucza prywatnego %s"
-#: plugins/sudoers/log_client.c:270
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Nie udało się przydzielić obiektu SSL: %s"
-#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "Połączenie TLS do %s:%s nie powiodło się: %s"
-#: plugins/sudoers/log_client.c:538
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "Inicjowanie TLS nie powiodło się"
-#: plugins/sudoers/log_client.c:548
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "Powitanie TLS nie powiodło się"
-#: plugins/sudoers/log_client.c:1246
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: błąd wewnętrzny, błędny kod wyjścia %d"
-#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "utracono połączenie z serwerem logów"
-#: plugins/sudoers/log_client.c:1876
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "brak bufora zapisu"
-#: plugins/sudoers/log_client.c:2024
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "nie udało się połączyć z serwerem logów"
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "użytkownik NIE występuje w sudoers"
-#: plugins/sudoers/logging.c:300
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "użytkownik NIE jest autoryzowany na hoście"
-#: plugins/sudoers/logging.c:302
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "polecenie niedozwolone"
-#: plugins/sudoers/logging.c:323
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s nie jest w pliku sudoers.\n"
-#: plugins/sudoers/logging.c:326
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s nie ma uprawnień do uruchamiania sudo na %s.\n"
-#: plugins/sudoers/logging.c:329
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Niestety użytkownik %s nie może uruchamiać sudo na %s.\n"
-#: plugins/sudoers/logging.c:332
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Niestety użytkownik %s nie ma uprawnień do uruchamiania '%s%s%s' jako %s%s%s na %s.\n"
-#: plugins/sudoers/logging.c:342
+#: plugins/sudoers/logging.c:334
msgid "This incident has been reported to the administrator.\n"
msgstr "Ten incydent został zgłoszony do administratora.\n"
-#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
-#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
-#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
-#: plugins/sudoers/sudoers.c:801
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s: nie znaleziono polecenia"
-#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2842,7 +2928,7 @@ msgstr ""
"zignorowano plik \"%s\" znaleziony w '.'\n"
"Proszę użyć \"sudo ./%s\", jeśli to \"%s\" ma być uruchomiony."
-#: plugins/sudoers/logging.c:395
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2850,24 +2936,24 @@ msgstr[0] "%u błędna próba wprowadzenia hasła"
msgstr[1] "%u błędne próby wprowadzenia hasła"
msgstr[2] "%u błędnych prób wprowadzenia hasła"
-#: plugins/sudoers/logging.c:485
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "błąd uwierzytelniania"
-#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "wymagane jest hasło"
-#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
msgid "problem parsing sudoers"
msgstr "problem przy analizie pliku sudoers"
-#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
msgid "%s:%d:%d: %s"
msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:1068
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "nie udało się zapisać pliku logu: %s"
@@ -2882,7 +2968,7 @@ msgstr "skrót dla %s (%s) ma błędną długość %zu, oczekiwano %zu"
msgid "digest for %s (%s) is not in %s form"
msgstr "skrót dla %s (%s) nie jest w postaci %s"
-#: plugins/sudoers/parse.c:585
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2891,7 +2977,7 @@ msgstr ""
"\n"
"Rola LDAP: %s\n"
-#: plugins/sudoers/parse.c:588
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2899,110 +2985,110 @@ msgstr ""
"\n"
"Wpis sudoers:\n"
-#: plugins/sudoers/parse.c:590
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " Jako użytkownicy: "
-#: plugins/sudoers/parse.c:605
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " Jako grupy: "
-#: plugins/sudoers/parse.c:615
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " Opcje: "
-#: plugins/sudoers/parse.c:679
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " Polecenia:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "PasujÄ…ce wpisy Defaults dla %s na %s:\n"
-#: plugins/sudoers/parse.c:888
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Wartości specyficzne dla Runas i Command dla %s:\n"
-#: plugins/sudoers/parse.c:906
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Użytkownik %s może uruchamiać na %s następujące polecenia:\n"
-#: plugins/sudoers/parse.c:921
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Użytkownik %s nie ma uprawnień do uruchamiania sudo na %s.\n"
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "zignorowano niekompletne sudoRole: cn: %s"
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "błędny atrybut LDIF: %s"
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "błędna wartość %.*s ustawiona przez frontend sudo"
-#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "nie udało się przeanalizować listy adresów sieciowych"
-#: plugins/sudoers/policy.c:508
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "nazwa użytkownika nie ustawiona przez frontend sudo"
-#: plugins/sudoers/policy.c:512
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "ID użytkownika nie ustawiony przez frontend sudo"
-#: plugins/sudoers/policy.c:516
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "ID grupy nie ustawiony przez frontend sudo"
-#: plugins/sudoers/policy.c:520
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "nazwa hosta nie ustawiona przez frontend sudo"
-#: plugins/sudoers/policy.c:706
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "błędny katalog roboczy: %s"
-#: plugins/sudoers/policy.c:886
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "błędny katalog chroot: %s"
-#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "nie udało się wywołać %s"
-#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
-#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: błędne flagi trybu z frontendu sudo: 0x%x"
-#: plugins/sudoers/policy.c:1262
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Wersja wtyczki polityki sudoers %s\n"
-#: plugins/sudoers/policy.c:1264
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Wersja gramatyki pliku sudoers %d\n"
-#: plugins/sudoers/policy.c:1268
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -3011,27 +3097,27 @@ msgstr ""
"\n"
"Ścieżka do sudoers: %s\n"
-#: plugins/sudoers/policy.c:1271
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "ścieżka do nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1273
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ścieżka do ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ścieżka do ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1307
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "nie udało się zarejestrować uchwytu typu %d (wersja %d.%d)"
-#: plugins/sudoers/policy.c:1325
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "nie udało się wyrejestrować uchwytu typu %d (wersja %d.%d)"
@@ -3170,148 +3256,142 @@ msgstr "nie udało się zainicjować źródła SSS. Czy SSSD jest zainstalowany
msgid "unable to find symbol \"%s\" in %s"
msgstr "nie udało się odnaleźć symbolu \"%s\" w %s"
-#: plugins/sudoers/sudoers.c:258
+#: plugins/sudoers/sudoers.c:263
#, c-format
msgid "unable to get defaults from %s"
msgstr "nie udało się pobrać wartości domyślnych z %s"
-#: plugins/sudoers/sudoers.c:265
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "nie znaleziono poprawnych źródeł sudoers, zakończenie"
-#: plugins/sudoers/sudoers.c:341
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "użytkownik nie ma uprawnień do zmiany katalogu głównego na %s"
-#: plugins/sudoers/sudoers.c:343
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "brak uprawnień do używania opcji -R z %s"
-#: plugins/sudoers/sudoers.c:368
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "użytkownik nie ma uprawnień do zmiany katalogu na %s"
-#: plugins/sudoers/sudoers.c:369
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "brak uprawnień do używania opcji -D z %s"
-#: plugins/sudoers/sudoers.c:396
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "nie podano polecenia"
-#: plugins/sudoers/sudoers.c:421
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "wg sudoers root nie ma prawa używać sudo"
-#: plugins/sudoers/sudoers.c:471
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "użytkownik nie ma pozwolenia na zmianę limitu closefrom"
-#: plugins/sudoers/sudoers.c:472
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "brak uprawnień do używania opcji -C"
-#: plugins/sudoers/sudoers.c:532
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "właściciel znacznika czasu (%s): nie ma takiego użytkownika"
-#: plugins/sudoers/sudoers.c:547
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "brak tty"
-#: plugins/sudoers/sudoers.c:548
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "niestety do uruchomienia sudo konieczny jest tty"
-#: plugins/sudoers/sudoers.c:555
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "błędna powłoka użytkownika %s: %s"
-#: plugins/sudoers/sudoers.c:638
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "polecenie w bieżącym katalogu"
-#: plugins/sudoers/sudoers.c:653
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "\"cd\" to polecenie wbudowane powłoki, nie może być uruchomione bezpośrednio."
-#: plugins/sudoers/sudoers.c:655
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr "można użyć opcji -s do uruchomienia powłoki uprzywilejowanej."
-#: plugins/sudoers/sudoers.c:657
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr "można użyć opcji -D do uruchomienia polecenia w podanym katalogu."
-#: plugins/sudoers/sudoers.c:666
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "użytkownik nie ma uprawnień do ustawienia limitu czasu polecenia"
-#: plugins/sudoers/sudoers.c:668
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "niestety brak uprawnień do ustawienia limitu czasu polecenia"
-#: plugins/sudoers/sudoers.c:676
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "użytkownik nie ma uprawnień do zachowania środowiska"
-#: plugins/sudoers/sudoers.c:678
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "niestety brak uprawnień do zachowania środowiska"
-#: plugins/sudoers/sudoers.c:1053
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit nie musi być uruchamiany przez sudo"
-#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "nie udało się odczytać %s"
-#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
-#: plugins/sudoers/visudo.c:764
-#, c-format
-msgid "unable to stat %s"
-msgstr "nie udało się wykonać stat na %s"
-
-#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%s nie jest zwykłym plikiem"
-#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "właścicielem %s jest uid %u, powinien być %u"
-#: plugins/sudoers/sudoers.c:1147 toke.l:1252
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s jest zapisywalny dla świata"
-#: plugins/sudoers/sudoers.c:1151 toke.l:1255
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "właścicielem %s jest gid %u, powinien być %u"
-#: plugins/sudoers/sudoers.c:1184
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "tylko root może używać \"-c %s\""
-#: plugins/sudoers/sudoers.c:1203
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr "nieznana klasa logowania %s"
-#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "nie udało się rozwiązać nazwy hosta %s"
@@ -3409,17 +3489,17 @@ msgstr "niedozwolony kończący \"!\""
msgid "unknown search type %d"
msgstr "nieznany typ wyszukiwania %d"
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "Składnia: %s [-hnRS] [-d katalog] [-m liczba] [-s wsp_szybkości] ID\n"
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "Składnia: %s [-h] [-d katalog] -l [wyrażenie wyszukiwania]\n"
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -3428,7 +3508,7 @@ msgstr ""
"%s - odtwarzanie logów sesji sudo\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3484,127 +3564,122 @@ msgstr ""
"\n"
"Polecenie nie znalezione"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%s jest zapisywalny dla groupy"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "nie udało się uciąć pliku znacznika czasu do długości %lld"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "znacznik czasu zbyt daleko w przyszłości"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "znacznik czasu zbyt daleko w przyszłości: %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "nie udało się zablokować pliku znacznika czasu %s"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "ścieżka stanu instrukcji zbyt długa: %s/%s"
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit nie powinien być podawany ze ścieżką"
-#: plugins/sudoers/visudo.c:249
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "opcja -x będzie usunięta w kolejnej wersji"
-#: plugins/sudoers/visudo.c:251
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "należy rozważyć użycie zamiast niej narzędzia cvtsudoers"
-#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "wciśnięcie return przejdzie do edycji %s: "
-#: plugins/sudoers/visudo.c:321
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr "zawartość sesji edycji pozostawiona w %s"
-#: plugins/sudoers/visudo.c:397
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "podany edytor (%s) nie istnieje"
-#: plugins/sudoers/visudo.c:399
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "nie znaleziono edytora (ścieżka = %s)"
-#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "nie udało się wykonać stat na %s"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "błąd zapisu"
-#: plugins/sudoers/visudo.c:559
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "nie udało się wykonać stat na pliku tymczasowym (%s), %s nie zmieniony"
-#: plugins/sudoers/visudo.c:566
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "plik tymczasowy (%s) zerowej długości, %s nie zmieniony"
-#: plugins/sudoers/visudo.c:572
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "błąd edytora (%s), %s nie zmieniony"
-#: plugins/sudoers/visudo.c:594
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s nie zmieniony"
-#: plugins/sudoers/visudo.c:639
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "nie udało się ponownie otworzyć pliku tymczasowego (%s), %s nie zmieniony."
-#: plugins/sudoers/visudo.c:652
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "nie udało się przeanalizować pliku tymczasowego (%s), nieznany błąd"
-#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "nie udało się ustawić (uid, gid) %s na (%u, %u)"
-#: plugins/sudoers/visudo.c:803
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s i %s nie są na tym samym systemie plików, użycie mv do zmiany nazwy"
-#: plugins/sudoers/visudo.c:814
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "polecenie nie powiodło się: '%s %s %s', %s nie zmieniony"
-#: plugins/sudoers/visudo.c:821
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "błąd podczas zmiany nazwy %s, %s nie zmieniony"
-#: plugins/sudoers/visudo.c:841
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "Co teraz? "
-#: plugins/sudoers/visudo.c:855
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3616,41 +3691,41 @@ msgstr ""
" (x) wyjście bez zapisu zmian do pliku sudoers\n"
" (Q) wyjście i zapisanie zmian w pliku sudoers (NIEBEZPIECZNE!)\n"
-#: plugins/sudoers/visudo.c:901
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "nie udało się uruchomić %s"
-#: plugins/sudoers/visudo.c:932
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: błędny właściciel, (uid, gid) powinny wynosić (%u, %u)\n"
-#: plugins/sudoers/visudo.c:943
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: błędne uprawnienia, powinny być 0%o\n"
-#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: składnia poprawna\n"
-#: plugins/sudoers/visudo.c:1017
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%s zajęty, proszę spróbować później"
-#: plugins/sudoers/visudo.c:1021
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "Modyfikować mimo to? [y/N]"
-#: plugins/sudoers/visudo.c:1117
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Uwaga: %s:%d:%d: nie użyty %s \"%s\""
-#: plugins/sudoers/visudo.c:1229
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3659,25 +3734,27 @@ msgstr ""
"%s - bezpieczna edycja pliku sudoers\n"
"\n"
-#: plugins/sudoers/visudo.c:1231
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
msgstr ""
"\n"
"Opcje:\n"
-" -c, --check tryb wyłącznie sprawdzający\n"
-" -f, --file=sudoers określenie położenia pliku sudoers\n"
-" -h, --help wyświetlenie opisu i zakończenie\n"
-" -q, --quiet mniej obszerne komunikaty o błędach składni\n"
-" -s, --strict ścisłe sprawdzanie składni\n"
-" -V, --version wyświetlenie informacji o wersji i zakończenie\n"
+" -c, --check tryb wyłącznie sprawdzający\n"
+" -f, --file=sudoers określenie położenia pliku sudoers\n"
+" -h, --help wyświetlenie opisu i zakończenie\n"
+" -I, --no-includes bez edycji plików dołączanych\n"
+" -q, --quiet mniej obszerne komunikaty o błędach składni\n"
+" -s, --strict ścisłe sprawdzanie składni\n"
+" -V, --version wyświetlenie informacji o wersji i zakończenie\n"
#: toke.l:189
msgid "empty string"
diff --git a/plugins/sudoers/po/ro.mo b/plugins/sudoers/po/ro.mo
index 0f59bc499..5ee5fc10a 100644
--- a/plugins/sudoers/po/ro.mo
+++ b/plugins/sudoers/po/ro.mo
Binary files differ
diff --git a/plugins/sudoers/po/ro.po b/plugins/sudoers/po/ro.po
index ded6a7538..b9effbaed 100644
--- a/plugins/sudoers/po/ro.po
+++ b/plugins/sudoers/po/ro.po
@@ -11,13 +11,14 @@
# Actualizare a algoritmului formelor de plural (de la „trei-vechi†la „patruâ€, experimental).
# Actualizare a traducerii pentru versiunea 1.9.10b1, făcută de R-GC.
# Actualizare a traducerii pentru versiunea 1.9.11b1, făcută de R-GC.
+# Actualizare a traducerii pentru versiunea 1.9.12b2, făcută de R-GC.
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.11b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-05-27 08:39-0600\n"
-"PO-Revision-Date: 2022-05-29 21:04+0200\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-12 11:15+0200\n"
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
@@ -26,9 +27,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=((n==1) ? 0 : (n==2) ? 1 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 2 : 3);\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.1.1\n"
-#: confstr.sh:1 gram.y:1218
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "eroare de sintaxă"
@@ -52,13 +53,13 @@ msgstr "*** Informații de SECURITATE pentru %h ***"
msgid "Sorry, try again."
msgstr "Încercați din nou."
-#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
-#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
-#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
-#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
-#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
-#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
-#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
@@ -68,50 +69,64 @@ msgstr "Încercați din nou."
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
-#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
-#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
-#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
-#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
-#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
-#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
-#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
-#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
-#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
-#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
-#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
-#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
-#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
-#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
-#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
+#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
+#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
+#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
+#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
+#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:446
@@ -121,11 +136,11 @@ msgstr "Încercați din nou."
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1158
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -134,124 +149,125 @@ msgstr "Încercați din nou."
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
-#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
-#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
-#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
-#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
-#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
-#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
-#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
-#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
-#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
-#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
-#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
-#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
-#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
-#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
-#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
-#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
-#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
-#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
-#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
-#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
+#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "nu se poate aloca memoria"
-#: gram.y:622
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "tabelul sumelor de control necesită un nume de cale"
-#: gram.y:644
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "valorile pentru „CWD†trebuie să înceapă cu un caracter: „/â€, „~â€, sau „*â€"
-#: gram.y:650
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr "calea „CWD†este prea lungă"
-#: gram.y:660
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "valorile pentru „CHROOT†trebuie să înceapă cu un caracter: „/â€, „~â€, sau „*â€"
-#: gram.y:666
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr "calea „CHROOT†este prea lungă"
-#: gram.y:801
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "eroare de sintaxă, cuvântul rezervat %s utilizat ca nume de alias"
-#: gram.y:824
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "valoare „notbefore†nevalidă"
-#: gram.y:833
+#: gram.y:834
msgid "invalid notafter value"
msgstr "valoare „notafter†nevalidă"
-#: gram.y:843 plugins/sudoers/policy.c:376
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "limită de timp prea mare"
-#: gram.y:845 plugins/sudoers/policy.c:378
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "valoare de limită de timp nevalidă"
-#: gram.y:966 plugins/sudoers/sudoers.c:1014
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr "comandă prea lungă"
-#: gram.y:1220 plugins/sudoers/check_aliases.c:96
-#: plugins/sudoers/defaults.c:1275
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1270
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Aliasul „%s†este deja definit"
-#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
@@ -261,33 +277,48 @@ msgstr "Aliasul „%s†este deja definit"
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
-#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
@@ -317,11 +348,11 @@ msgstr "Aliasul „%s†este deja definit"
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1157
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -330,46 +361,47 @@ msgstr "Aliasul „%s†este deja definit"
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
-#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
-#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
-#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
-#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
-#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
-#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
-#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
-#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
-#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
-#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
-#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
-#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
-#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
-#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
-#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
-#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
-#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
-#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
-#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
-#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
-#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
-#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
-#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -382,25 +414,25 @@ msgstr "Aliasul „%s†este deja definit"
#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
-#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
-#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
-#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
-#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
-#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
-#: toke.l:1226
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -409,14 +441,14 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
-#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
-#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
@@ -459,7 +491,7 @@ msgstr "%8s : %s"
msgid "%8s : (command continued) %s"
msgstr "%8s : (comandă continuată) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -574,14 +606,14 @@ msgstr "%s: câmpul de grup efectiv (rulează ca grupul X) lipsește"
msgid "%s exists but is not a directory (0%o)"
msgstr "%s există dar nu este un director (0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "nu s-a putut executa «mkdir», pentru a crea directorul %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
-#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "nu s-a putut modifica modul de acces de la %s la 0%o"
@@ -596,150 +628,156 @@ msgstr "eroare la citirea fișierului de sincronizare: %s"
msgid "invalid timing file line: %s"
msgstr "linie de fișier de sincronizare nevalidă: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
-#: plugins/sudoers/policy.c:573
-msgid "unable to generate UUID"
-msgstr "nu s-a putut genera UUID-ul"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s: eroare de protocol: cheie nulă (NULL)"
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr "%s: eroare de protocol: tip incorect pentru %s"
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s: eroare de protocol: valoare nulă (NULL) găsită în %s"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "nu s-a putut genera UUID-ul"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr "%s: eroare de protocol: lipsește %s din AcceptMessage"
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr "%s: nu se poate formata ID-ul sesiunii"
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr "%s: %s nu este configurat"
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr "nu se poate expanda calea către iolog %s"
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr "nu se poate crea calea către iolog %s"
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr "iofd nevalid: %d"
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr "eroare la închiderea iofd %d: %s"
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr "eroare la golirea iofd %d: %s"
-#: logsrvd/iolog_writer.c:780
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "jurnal de In/Ieș nevalid %s: %s menționat, dar nu definit"
-#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: nu se poate găsi punctul de reluare [%lld, %ld]"
-#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
-#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
-#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
-#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr "nu se poate deschide %s"
-#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "nu se poate deschide %s/%s"
-#: logsrvd/iolog_writer.c:839
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "nu se poate copia %s/%s în %s/%s: %s"
-#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr "nu se poate redenumi %s în %s"
-#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: nu se poate găsi punctul de reluare [%lld, %ld]"
-#: logsrvd/logsrv_util.c:154
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "lipsește fișierul jurnal de In/Ieș %s/%s"
-#: logsrvd/logsrv_util.c:161
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: nu se poate căuta mai departe %zu"
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr "nu se poate conecta la releu"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr "mesajul serverului este prea mare: %zu"
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
-#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
-#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
-#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
-#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
-#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
-#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
-#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
-#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
-#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
-#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
-#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -748,375 +786,400 @@ msgstr "mesajul serverului este prea mare: %zu"
msgid "unable to add event to queue"
msgstr "nu se poate adăuga evenimentul la coadă"
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr "stare neașteptată %d pentru %s"
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "eroare de stare a mașinii"
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "AcceptMessage nevalid"
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "RejectMessage nevalid"
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "ExitMessage nevalid"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "RestartMessage nevalid"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "AlertMessage nevalid"
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr "%s: IoBuffer neașteptat"
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "eroare de protocol"
-#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
-#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
-#: plugins/sudoers/log_client.c:1618
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "IoBuffer nevalid"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "ChangeWindowSize nevalid"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "CommandSuspend nevalid"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
#, c-format
msgid "unable to unpack %s size %zu"
msgstr "nu se poate despacheta %s cu dimensiunea %zu"
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "valoare type_case %d neașteptată în %s din %s"
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "tip de ClientMessage nerecunoscut"
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr "a expirat timpul de scriere la clientul %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr "lipsește memoria tampon de scriere pentru clientul %s"
-#: logsrvd/logsrvd.c:982
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr "a expirat timpul de citire de la clientul %s"
-#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "sfârșit de fișier de la %s fără închiderea corectă a TLS"
-#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:716
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr "mesajul clientului este prea mare: %zu"
-#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "mesajul clientului este prea mare"
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "ClientMessage nevalid"
-#: logsrvd/logsrvd.c:1389
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "nu se poate obține adresa IP de la distanță"
-#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
-#: plugins/sudoers/log_client.c:276
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Nu se pot atașa datele utilizatorului la obiectul ssl: %s"
-#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "nu se poate configura soclul de ascultare"
-#: logsrvd/logsrvd.c:1718
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr "semnal neașteptat %d"
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "server de jurnal al sudo"
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "Opțiuni:"
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "calea către fișierul de configurare"
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "afișează mesajul de ajutor și iese"
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "nu se bifurcă, rulează în prim-plan"
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "șansele procentuale de conexiuni vor scădea"
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "afișează informațiile despre versiune și iese"
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Este necesară versiunea Protobuf-C 1.3 sau mai mare"
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "valoare nevalidă a probabilității de pierdere: %s"
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:180
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s versiunea %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
-#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
-#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "utilizator necunoscut %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
-#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr "grup necunoscut %s"
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr "nu se poate analiza modul iolog %s"
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr "valoare nevalidă pentru %s: %s"
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "fără suport TLS"
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s: nu este o cale complet calificată"
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr "facilitate de syslog necunoscută %s"
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr "prioritate de syslog necunoscută %s"
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d „[†desperecheată: %s"
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr "%s:%d gunoi după „]â€: %s"
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s:%d secțiune de configurare nevalidă: %s"
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d linie de configurare nevalidă: %s"
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d nume de secțiune așteptat: %s"
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] cheie ilegală: %s"
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:1035
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr "nu se poate deschide fișierul de jurnal: %s"
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "nu se poate inițializa contextul TLS al serverului"
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "nu se poate inițializa contextul TLS al releului"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
-#: logsrvd/logsrvd_journal.c:416
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "nu se poate crea fișierul de jurnal"
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1020
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr "nu se poate bloca %s"
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "nu se poate bloca fișierul de jurnal"
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr "nu se poate deschide fișierul de jurnal"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
-#: logsrvd/logsrvd_journal.c:452
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "nu se poate scrie fișierul de jurnal"
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "nu se poate redenumi fișierul de jurnal"
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "sfârșit de fișier neașteptat la citirea fișierului de jurnal"
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "eroare la citirea fișierului de jurnal"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "fișier de jurnal nevalid, nu se poate reporni"
-#: logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "nu se poate ajunge la poziția [%lld, %ld] din fișierul de jurnal %s"
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "value_case neașteptată %d în %s din %s"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "eroare la analizarea AcceptMessage"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "eroare la crearea jurnalului de In/IeÈ™"
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "eroare la înregistrarea evenimentului de acceptare"
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "eroare la analizarea RejectMessage"
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "eroare la înregistrarea evenimentului de respingere"
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr "eroare la înregistrarea evenimentului de ieșire"
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "jurnalul este deja complet, nu poate fi repornit"
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "nu se poate reporni jurnalizarea"
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "eroare la analizarea AlertMessage"
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "eroare la înregistrarea evenimentului de alertă"
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr "nu se poate formata memoria tampon de timp, lungime %d"
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr "%s/%s: %s"
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr "întreruperea aleatorie a conexiunii"
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "eroare la scrierea IoBuffer"
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "eroare la scrierea ChangeWindowSize"
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "eroare la scrierea CommandSuspend"
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "negocierea TLS cu gazda releu a eșuat"
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "nu se poate conecta la gazda releu"
@@ -1125,251 +1188,251 @@ msgstr "nu se poate conecta la gazda releu"
# «→ aici pare că lipsește un spațiu după cele două puncte.»
# ***
# corectare efectuată
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: ServerHello nevalid, server_id lipsește"
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1504
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "ServerHello nevalid"
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "tip de ServerMessage nerecunoscut"
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr "a expirat limita de timp de citire de la releu %s (%s)"
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "a expirat limita de timp de citire de la releul"
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "numele gazdei releului nu se potrivește cu certificatul"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
-#: logsrvd/logsrvd_relay.c:784
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "eroare la citirea de la releu"
-#: logsrvd/logsrvd_relay.c:805
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "nu se poate citi de la releu"
-#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "conexiune închisă a serverului de releu"
-#: logsrvd/logsrvd_relay.c:838
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "mesajul serverului este prea mare"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "a expirat limita de timp la scrierea la releu %s (%s)"
-#: logsrvd/logsrvd_relay.c:904
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "a expirat limita de timp de scriere la releu"
-#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
-#: logsrvd/logsrvd_relay.c:974
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "eroare la scrierea la releu"
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "trimite jurnalul de In/Ieș al «sudo» la serverul de la distanță"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "trimite doar un eveniment de acceptare (fără In/Ieș)"
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "fișierul pachet de certificate pentru a verifica certificatul serverului"
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "fișier de certificat pentru negocierea TLS"
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "gazda la care se trimit jurnalele"
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "ID-ul de la distanță al jurnalului In/Ieș care urmează să fie reluat"
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "fișier de cheie privată"
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "nu se verifică certificatul serverului"
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "portul de utilizat atunci când vă conectați la gazdă"
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "repornește transferul precedent de jurnal In/Ieș"
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "respinge comanda cu motivul specificat"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr "oprește transferul după ce s-a atins acest timp"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "testează serverul de auditare prin trimiterea jurnalului de In/Ieș selectat de n ori în paralel"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "nu se poate căuta %s:%s: %s"
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "nu se poate obține adresa IP a serverului"
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "nu se poate citi %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
-#: plugins/sudoers/iolog.c:1024
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "eveniment de In/Ieș neașteptat %d"
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
-#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: stare neașteptată %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "mesaj de eroare primit de la server: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "mesaj de renunțare primit de la server: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: valoare type_case neașteptată %d"
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "a expirat limita de timp de citire de la server"
-#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
msgid "host name does not match certificate"
msgstr "numele gazdei nu se potrivește cu certificatul"
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "sfârșit de fișier prematur"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "mesajul serverului este prea mare: %u"
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "a expirat limita de timp de scriere la server"
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "trebuie să fie specificat atît ID-ul iolog cît și punctul de repornire"
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "un punct de repornire poate să nu fie stabilit când nicio In/Ieș nu este stabilită"
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "a ieșit prematur cu starea %d"
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "timpul scurs trimis la server [%lld, %ld]"
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "punctul de consemnare primit de la server [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "a expirat limita de timp a negocierii TLS"
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "nu s-a putut configura evenimentul"
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "conexiunea TLS a eșuat: %s"
-#: logsrvd/tls_client.c:191
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "nu s-a putut aloca obiectul ssl: %s"
-#: logsrvd/tls_client.c:205
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "Nu s-a putut atașa soclul la obiectul ssl: %s"
-#: logsrvd/tls_client.c:233
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr "nu s-a putut inițializa contextul ssl: %s"
-#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "nu s-a putut configura suita de cifrare TLS 1.2 la valoarea %s: %s"
-#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "nu s-a putut configura suita de cifrare TLS 1.3 la valoarea %s: %s"
-#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "nu se pot stabili parametrii diffie-hellman: %s"
-#: logsrvd/tls_init.c:277
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr "nu se poate crea contextul TLS: %s"
-#: logsrvd/tls_init.c:284
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "nu se poate stabili versiunea de protocol minimă la TLS 1.2: %s"
@@ -1387,12 +1450,12 @@ msgstr "nu se poate stabili versiunea de protocol minimă la TLS 1.2: %s"
# din zi†nu prea are sens iar „orarul zilei†ar fi „the daily scheduleâ€Â»
# ===
# Ok, rămîne așa cum este
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
-#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
-#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
-#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
-#: plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "nu se poate obține ora actuală"
@@ -1529,7 +1592,7 @@ msgstr "Contul este expirat sau configurării PAM îi lipsește o secțiune „a
msgid "PAM account management error: %s"
msgstr "Eroare de gestionare a contului PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "nu existați în baza de date %s"
@@ -1602,17 +1665,17 @@ msgstr "Nu s-a putut determina condiția de auditare"
msgid "unable to commit audit record"
msgstr "nu se poate consemna înregistrarea de auditare"
-#: plugins/sudoers/check.c:275
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "eroare la citirea fișierului de instrucțiuni %s"
-#: plugins/sudoers/check.c:278
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "se ignoră fișierul de instrucțiuni %s: nu este un fișier obișnuit"
-#: plugins/sudoers/check.c:291
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1633,14 +1696,14 @@ msgstr ""
" 3. Cu o mare putere vine o mare responsabilitate.\n"
"\n"
-#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
-#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "uid necunoscut %u"
-#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
msgid "%s: %s\n"
msgstr "%s: %s\n"
@@ -1670,7 +1733,7 @@ msgstr "ordinea de pornire: %s: %s"
msgid "order padding: %s: %s"
msgstr "completarea de ordine: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s versiune de gramatică %d\n"
@@ -1690,14 +1753,14 @@ msgstr "format de ieșire nesuportat %s"
msgid "%s: input and output files must be different"
msgstr "%s: fișierele de intrare și ieșire trebuie să fie diferite"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
-#: plugins/sudoers/visudo.c:969
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "nu se poate iniÈ›ializa valorile implicite ale lui „sudoersâ€"
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
@@ -1722,18 +1785,18 @@ msgstr "tip de suprimare nevalid: %s"
msgid "invalid filter: %s"
msgstr "filtru nevalid: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "nu s-a putut analiza fișierul %s, eroare necunoscută"
#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "nu se poate scrie la %s"
-#: plugins/sudoers/cvtsudoers.c:1501
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1742,7 +1805,7 @@ msgstr ""
"%s - converteÈ™te între formatele de fiÈ™ier „sudoersâ€\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1503
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -2192,102 +2255,122 @@ msgstr "Umask(masca de Unix) specificată în „sudoersâ€, o va înlocui pe ce
#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
-msgstr "Înregistrează în jurnal intrarea utilizatorului pentru comanda care se rulează"
+msgstr "Înregistrează în jurnal intrarea utilizatorului pentru comanda care se execută"
#: plugins/sudoers/def_data.c:356
-msgid "Log the output of the command being run"
-msgstr "Înregistrează în jurnal ieșirea comenzii care se rulează"
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "Înregistrează în jurnal intrarea standard a comenzii dacă nu este conectată la un terminal"
#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "Înregistrează în jurnal intrarea terminalului utilizatorului pentru comanda care se execută"
+
+#: plugins/sudoers/def_data.c:364
+msgid "Log the output of the command being run"
+msgstr "Înregistrează în jurnal ieșirea comenzii care se execută"
+
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "Înregistrează în jurnal ieșirea standard a comenzii dacă nu este conectată la un terminal"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "Înregistrează în jurnal eroarea standard a comenzii dacă nu este conectată la un terminal"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "Înregistrează în jurnal ieșirea terminalului comenzii care se execută"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "Comprimă înregistrările din jurnal de In/Ieș utilizând «zlib»"
-#: plugins/sudoers/def_data.c:364
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "Execută întotdeauna comenzile într-un pseudo-tty"
-#: plugins/sudoers/def_data.c:368
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Modul pentru suport de grup non-Unix: %s"
-#: plugins/sudoers/def_data.c:372
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Directorul în care se stochează informațiile returnate de operațiile de intrare/ieșire: %s"
-#: plugins/sudoers/def_data.c:376
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Fișierul în care se stochează informațiile returnate de operațiile de intrare/ieșire: %s"
-#: plugins/sudoers/def_data.c:380
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Adaugă o intrare la fișierul „utmp/utmpx†când se alocă un pty"
-#: plugins/sudoers/def_data.c:384
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "StabileÈ™te utilizatorul în utmp la utilizatorul „run asâ€, nu la utilizatorul care invocă"
-#: plugins/sudoers/def_data.c:388
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Setul de privilegii permise: %s"
-#: plugins/sudoers/def_data.c:392
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Setul de privilegii limită: %s"
-#: plugins/sudoers/def_data.c:396
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "Rulează comenzile pe un pty în fundal"
-#: plugins/sudoers/def_data.c:400
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "Numele serviciului PAM de utilizat: %s"
-#: plugins/sudoers/def_data.c:404
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Numele serviciului PAM de utilizat pentru shell-urile de autentificare: %s"
-#: plugins/sudoers/def_data.c:408
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Numele serviciului PAM de utilizat atunci când «sudo» este rulat cu opÈ›iunea „-Aâ€: %s"
-#: plugins/sudoers/def_data.c:412
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Încearcă să stabilească certificări PAM pentru utilizatorul vizat"
-#: plugins/sudoers/def_data.c:416
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "Creează o nouă sesiune PAM pentru a rula comanda în ea"
-#: plugins/sudoers/def_data.c:420
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "Realizează gestionarea validării contului PAM"
-#: plugins/sudoers/def_data.c:424
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Numărul maxim de secvență al jurnalului de In/Ieș: %s"
-#: plugins/sudoers/def_data.c:428
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "Activează suportul de „netgroup†(grup de reÈ›ea) „sudoersâ€"
-#: plugins/sudoers/def_data.c:432
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "Verifică directoarele părinte pentru capacitatea de scriere când se editează fișiere cu «sudoedit»"
-#: plugins/sudoers/def_data.c:436
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Urmărește legăturile simbolice când se editează fișierele cu «sudoedit»"
-#: plugins/sudoers/def_data.c:440
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "Interoghează modulul grupului pentru grupuri de sistem necunoscute"
@@ -2311,19 +2394,19 @@ msgstr "Interoghează modulul grupului pentru grupuri de sistem necunoscute"
# Morala, pentru „trăznaia†unuia, se scrie o
# pagină întreagă(destul de vastă) în Wikipedia.
# Și „bagă în boalăâ€, multă lume „luminatăâ€! 😇ï¸
-#: plugins/sudoers/def_data.c:444
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Potrivește „netgroups†(grupurile de rețea) pe baza întregului triplet: utilizator, gazdă și domeniu"
-#: plugins/sudoers/def_data.c:448
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Permite executarea comenzilor chiar dacă «sudo» nu poate să scrie în jurnalul auditare"
-#: plugins/sudoers/def_data.c:452
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Permite executarea comenzilor chiar dacă «sudo» nu poate să scrie în jurnalul de In/Ieș"
-#: plugins/sudoers/def_data.c:456
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Permite executarea comenzilor chiar dacă «sudo» nu poate să scrie în fișierul de jurnal"
@@ -2333,11 +2416,11 @@ msgstr "Permite executarea comenzilor chiar dacă «sudo» nu poate să scrie î
# „Identifică grupurile din „sudoers†și face potrivirea după ID-ul grupului, nu după numeâ€
# ***
# Opinii/Idei?
-#: plugins/sudoers/def_data.c:460
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Rezolvă grupurile în „sudoers†și face potrivirea după ID-ul grupului, nu după nume"
-#: plugins/sudoers/def_data.c:464
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Intrările în jurnal mai mari decât această valoare vor fi împărțite în mai multe mesaje syslog: %u"
@@ -2367,166 +2450,166 @@ msgstr "Intrările în jurnal mai mari decât această valoare vor fi împărți
# istoric al acestor informații...
# (marcajul de timp, este decît
# „o plus valoare†a acestor informații)
-#: plugins/sudoers/def_data.c:468
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Utilizatorul ce va fi proprietarul fișierelor jurnalului de In/Ieș: %s"
-#: plugins/sudoers/def_data.c:472
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Grupul ce va fi proprietarul fișierelor jurnalului de In/Ieș: %s"
-#: plugins/sudoers/def_data.c:476
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Modul de acces la fișier, utilizat pentru fișierele jurnalului de In/Ieș: 0%o"
-#: plugins/sudoers/def_data.c:480
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Execută comenzile după descriptorul fișierului în loc de, după calea de acces: %s"
-#: plugins/sudoers/def_data.c:484
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ignoră intrările Defaults necunoscute din „sudoers†în loc de-a genera un avertisment"
-#: plugins/sudoers/def_data.c:488
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Timpul în secunde după care comanda va fi terminată: %u"
-#: plugins/sudoers/def_data.c:492
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "Permite utilizatorul să specifice o limită de timp, de la linia de comandă"
-#: plugins/sudoers/def_data.c:496
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Transferă imediat datele jurnalului de In/Ieș pe disc, în loc să le stocheze în memoria tampon"
-#: plugins/sudoers/def_data.c:500
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "Include ID-ul procesului când se înregistrează via syslog"
-#: plugins/sudoers/def_data.c:504
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Tipul de înregistrare a marcajului de timp a autentificării: %s"
-#: plugins/sudoers/def_data.c:508
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "Mesaj de autentificare eșuată: %s"
-#: plugins/sudoers/def_data.c:512
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "Ignoră diferența dintre majusculele/minuscule când se caută după numele de utilizator"
-#: plugins/sudoers/def_data.c:516
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "Ignoră diferența dintre majusculele/minuscule când se caută după numele de grup"
-#: plugins/sudoers/def_data.c:520
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "ÃŽnregistrează când o comandă este permisă de „sudoersâ€"
-#: plugins/sudoers/def_data.c:524
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "ÃŽnregistrează când o comandă este respinsă de „sudoersâ€"
-#: plugins/sudoers/def_data.c:528
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Server(e) de înregistrare a jurnalului «sudo», la care se conectează cu portul opțional"
-#: plugins/sudoers/def_data.c:532
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Limita de timp a serverului de înregistrare a jurnalului «sudo», în secunde: %u"
-#: plugins/sudoers/def_data.c:536
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Activează opțiunea de soclu SO_KEEPALIVE pe soclul conectat la serverul de înregistrare a jurnalului"
-#: plugins/sudoers/def_data.c:540
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Calea către fișierul pachet CA al serverului de auditare: %s"
-#: plugins/sudoers/def_data.c:544
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Calea către fiÈ™ierul certificat „sudoersâ€: %s"
-#: plugins/sudoers/def_data.c:548
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Calea către fiÈ™ierul cheie privată „sudoersâ€: %s"
-#: plugins/sudoers/def_data.c:552
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "Verifică dacă certificatul serverului de înregistrare a jurnalului, este valid"
-#: plugins/sudoers/def_data.c:556
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Permite utilizarea de ID de grup și/sau utilizator „run as†necunoscut"
-#: plugins/sudoers/def_data.c:560
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "Permite doar rularea de comenzi ca un utilizator cu un shell valid"
-#: plugins/sudoers/def_data.c:564
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "Stabilește utilizatorul de la distanță de pam, la utilizatorul care rulează «sudo»"
-#: plugins/sudoers/def_data.c:568
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "Stabilește gazda de la distanță de pam, la numele de gazdă local"
-#: plugins/sudoers/def_data.c:572
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Directorul de lucru la care trebuie să se schimbe, înainte de a executa comanda: %s"
-#: plugins/sudoers/def_data.c:576
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Directorul rădăcină la care trebuie să se schimbe, înainte de a executa comanda: %s"
-#: plugins/sudoers/def_data.c:580
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Formatul jurnalelor de produs: %s"
-#: plugins/sudoers/def_data.c:584
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "Activează suportul RBAC în SELinux"
-#: plugins/sudoers/def_data.c:588
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Calea către fișierul care este creat prima dată când «sudo» este rulat: %s"
-#: plugins/sudoers/def_data.c:592
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "Interceptează comenzile următoare, È™i le aplică restricÈ›iile „sudoersâ€"
-#: plugins/sudoers/def_data.c:596
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr "Înregistrează în jurnal subcomenzile executate de comanda originală"
-#: plugins/sudoers/def_data.c:600
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr "Înregistrează în jurnal starea de ieșire a comenzilor"
-#: plugins/sudoers/def_data.c:604
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Comenzile ulterioare dintr-o sesiune interceptată trebuie să fie autentificate"
-#: plugins/sudoers/def_data.c:608
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Permite unei comenzi interceptate să execute programe marcate setuid sau setgid"
-#: plugins/sudoers/def_data.c:612
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Dimensiunea maximă la care spațiul de adrese al procesului poate crește (în octeți): %s"
@@ -2539,74 +2622,78 @@ msgstr "Dimensiunea maximă la care spațiul de adrese al procesului poate creș
# ***
# citez, de aici:
# „In computing, a core dump,[a] memory dump, crash dump, storage dump, system dump, or ABEND dump[1] consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has crashed or otherwise terminated abnormally.â€
-#: plugins/sudoers/def_data.c:616
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Fișierul de transferare a conținutului memoriei(core dump), pentru depanare, de cea mai mare dimensiune care poate fi creat (în octeți): %s"
-#: plugins/sudoers/def_data.c:620
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Cantitatea maximă de timp CPU pe care o poate utiliza procesul (în secunde): %s"
-#: plugins/sudoers/def_data.c:624
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Dimensiunea maximă a segmentului de date pentru proces (în octeți): %s"
-#: plugins/sudoers/def_data.c:628
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Fișierul de cea mai mare dimensiune pe care procesul îl poate crea (în octeți): %s"
-#: plugins/sudoers/def_data.c:632
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Numărul maxim de blocări pe care procesul le poate stabili: %s"
-#: plugins/sudoers/def_data.c:636
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Dimensiunea maximă pe care procesul o poate bloca în memorie (în octeți): %s"
-#: plugins/sudoers/def_data.c:640
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Numărul maxim de fișiere pe care procesul le poate avea deschise: %s"
-#: plugins/sudoers/def_data.c:644
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Numărul maxim de procese pe care utilizatorul le poate rula simultan: %s"
-#: plugins/sudoers/def_data.c:648
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Dimensiunea maximă până la care poate crește dimensiunea setului rezident al procesului (în octeți): %s"
-#: plugins/sudoers/def_data.c:652
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Dimensiunea maximă până la care poate crește stiva procesului (în octeți): %s"
-#: plugins/sudoers/def_data.c:656
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Încercați să vă autentificați chiar și în modul non-interactiv"
-#: plugins/sudoers/def_data.c:660
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr "Stochează parolele în formatul de text simplu în intrarea jurnalului de In/Ieș"
-#: plugins/sudoers/def_data.c:664
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr "Listă de expresii regulate de utilizat atunci când se potrivește o solicitare de parolă"
-#: plugins/sudoers/def_data.c:668
+#: plugins/sudoers/def_data.c:688
#, c-format
msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr "Mecanismul utilizat de opÈ›iunile „intercept†și „log_subcmdsâ€: %s"
-#: plugins/sudoers/def_data.c:672
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "Încearcă să verifice comanda și argumentele după execuție"
+
+#: plugins/sudoers/def_data.c:696
#, c-format
msgid "AppArmor profile to use in the new security context: %s"
msgstr "Profilul AppArmor de utilizat în noul context de securitate: %s"
@@ -2641,31 +2728,31 @@ msgstr "tip de Defaults nevalid 0x%x pentru opÈ›iunea „%sâ€"
msgid "value \"%s\" is invalid for option \"%s\""
msgstr "valoarea „%s†nu este validă pentru opÈ›iunea „%sâ€"
-#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
-#: plugins/sudoers/policy.c:216
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
msgid "path name for \"%s\" too long"
msgstr "numele căii pentru „%s†este prea lung"
-#: plugins/sudoers/defaults.c:1133
+#: plugins/sudoers/defaults.c:1134
#, c-format
msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr "valorile pentru „%s†trebuie să înceapă cu un „/â€, „~â€, sau „*â€"
-#: plugins/sudoers/defaults.c:1140
+#: plugins/sudoers/defaults.c:1141
#, c-format
msgid "values for \"%s\" must start with a '/'"
msgstr "valorile pentru „%s†trebuie să înceapă cu un caracter „/â€"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: envp corupt, nepotrivire a lungimii"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "nu se poate reconstrui mediul"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "nu aveți permisiunea de a stabili următoarele variabile de mediu: %s"
@@ -2680,27 +2767,27 @@ msgstr "tip de sumă de control nesuportată %d pentru %s"
msgid "%s: read error"
msgstr "%s: eroare de citire"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "%s trebuie să fie deținut de uid-ul %d"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "%s trebuie să poată fi scris numai de către proprietar"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "nu se poate încărca %s: %s"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "nu se poate găsi simbolul „group_plugin†în %s"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s: versiunea majoră a modului de grup %d, este incompatibilă, se aștepta %d"
@@ -2723,10 +2810,10 @@ msgstr "Perechile adresă de IP locală și mască de rețea:\n"
msgid "unable to update sequence file"
msgstr "nu se poate actualiza fișierul de secvență"
-#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
-#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
-#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
-#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "nu se poate scrie în fișierul jurnal de In/Ieș: %s"
@@ -2736,25 +2823,25 @@ msgstr "nu se poate scrie în fișierul jurnal de In/Ieș: %s"
msgid "unable to create %s/%s"
msgstr "nu se poate crea %s/%s"
-#: plugins/sudoers/iolog.c:955
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: eroare internă, fișierul jurnal de In/Ieș pentru evenimentul %d nu este deschis"
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
-#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
-#: plugins/sudoers/visudo.c:552
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "nu se poate citi ceasul"
-#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
-#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: eroare internă, semnal nevalid %d"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "starttls nu este acceptat când se utilizează ldaps"
@@ -2777,7 +2864,7 @@ msgstr "nu se poate inițializa LDAP: %s"
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls specificat, dar bibliotecile LDAP nu acceptă ldap_start_tls_s() sau ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "atribut sudoOrder nevalid: %s"
@@ -2787,12 +2874,12 @@ msgstr "atribut sudoOrder nevalid: %s"
msgid "%s: port too large"
msgstr "%s: portul este prea mare"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "tip de URI LDAP neacceptat: %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "nu se pot fuziona adrese URI, ldap și ldaps"
@@ -2817,111 +2904,111 @@ msgstr "nu se poate deschide sistemul de auditare"
msgid "unable to send audit message"
msgstr "nu se poate trimite mesajul de auditare"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
-#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "eroare în bucla de eveniment"
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Crearea unui nou obiect SSL_CTX a eșuat: %s"
-#: plugins/sudoers/log_client.c:225
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "nu se poate încărca pachetul de autoritate de certificare %s"
-#: plugins/sudoers/log_client.c:247
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "nu se poate încărca certificatul %s"
-#: plugins/sudoers/log_client.c:261
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "nu se poate încărca cheia privată %s"
-#: plugins/sudoers/log_client.c:270
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Nu se poate aloca obiectul ssl: %s"
-#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "Conexiunea TLS la %s:%s a eșuat: %s"
-#: plugins/sudoers/log_client.c:538
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "Inițializarea TLS nu a reușit"
-#: plugins/sudoers/log_client.c:548
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "Negocierea TLS nu a reușit"
-#: plugins/sudoers/log_client.c:1246
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: eroare internă, stare de ieșire nevalidă %d"
-#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "a fost pierdută conexiunea la serverul de înregistrare a jurnalului"
-#: plugins/sudoers/log_client.c:1876
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "lipsește memoria tampon de scriere"
-#: plugins/sudoers/log_client.c:2024
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "nu se poate conecta la serverul de înregistrare a jurnalului"
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "utilizatorul NU este în „sudoersâ€"
-#: plugins/sudoers/logging.c:300
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "utilizatorul NU este autorizat pe gazdă"
-#: plugins/sudoers/logging.c:302
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "comanda nu este permisă"
-#: plugins/sudoers/logging.c:323
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s nu se află în fiÈ™ierul „sudoersâ€.\n"
-#: plugins/sudoers/logging.c:326
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s nu are permisiunea de a rula «sudo» pe %s.\n"
-#: plugins/sudoers/logging.c:329
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Este posibil ca utilizatorul %s să nu poată executa «sudo» pe %s.\n"
-#: plugins/sudoers/logging.c:332
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Utilizatorului %s nu îi este permis să execute „%s%s%s†ca %s%s%s pe %s.\n"
-#: plugins/sudoers/logging.c:342
+#: plugins/sudoers/logging.c:334
msgid "This incident has been reported to the administrator.\n"
msgstr "Acest incident a fost raportat administratorului.\n"
-#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
-#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
-#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
-#: plugins/sudoers/sudoers.c:801
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s: comanda nu a fost găsită"
-#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2930,7 +3017,7 @@ msgstr ""
"se ignoră „%s†găsit în „.â€\n"
"Utilizați «sudo ./%s» dacă aceasta este „%s†pe care doriți să o rulați."
-#: plugins/sudoers/logging.c:395
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2939,24 +3026,24 @@ msgstr[1] "două încercări de parolă incorecte"
msgstr[2] "%u încercări de parolă incorecte"
msgstr[3] "%u de încercări de parolă incorecte"
-#: plugins/sudoers/logging.c:485
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "eșec de autentificare"
-#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "o parolă este necesară"
-#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
msgid "problem parsing sudoers"
msgstr "problemă la analizarea sintaxei lui „sudoersâ€"
-#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
msgid "%s:%d:%d: %s"
msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:1068
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "nu se poate scrie fișierul de jurnal: %s"
@@ -2971,7 +3058,7 @@ msgstr "suma de control pentru %s (%s) are lungimea greșită %zu, se aștepta %
msgid "digest for %s (%s) is not in %s form"
msgstr "suma de control pentru %s (%s) nu este în formatul %s"
-#: plugins/sudoers/parse.c:585
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2980,7 +3067,7 @@ msgstr ""
"\n"
"Regula LDAP: %s\n"
-#: plugins/sudoers/parse.c:588
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2988,110 +3075,110 @@ msgstr ""
"\n"
"Intrare „sudoersâ€:\n"
-#: plugins/sudoers/parse.c:590
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " RuleazăCaUtilizatorii: "
-#: plugins/sudoers/parse.c:605
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " RuleazăCaGrupurile: "
-#: plugins/sudoers/parse.c:615
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " Opțiuni: "
-#: plugins/sudoers/parse.c:679
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " Comenzi:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Se potrivesc intrările Defaults pentru %s pe %s:\n"
-#: plugins/sudoers/parse.c:888
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Valori implicite specifice „Run_as†și comenzii pentru %s:\n"
-#: plugins/sudoers/parse.c:906
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Utilizatorul %s poate să ruleze următoarele comenzi pe %s:\n"
-#: plugins/sudoers/parse.c:921
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Utilizatorului %s nu îi este permis să ruleze «sudo» pe %s.\n"
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "se ignoră sudoRole incompletă: cn: %s"
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "atribut LDIF nevalid: %s"
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "%.*s nevalid stabilit de interfața «sudo»"
-#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "nu se poate analiza lista de adrese de rețea"
-#: plugins/sudoers/policy.c:508
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "numele de utilizator nu este stabilit de interfața sudo"
-#: plugins/sudoers/policy.c:512
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "ID-ul utilizatorului nu este stabilit de interfața «sudo»"
-#: plugins/sudoers/policy.c:516
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "ID-ul grupului nu este stabilit de interfața «sudo»"
-#: plugins/sudoers/policy.c:520
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "numele gazdei nu este stabilit de interfața sudo"
-#: plugins/sudoers/policy.c:706
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "director de lucru nevalid: %s"
-#: plugins/sudoers/policy.c:886
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "director „chroot†nevalid: %s"
-#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "nu se poate executa %s"
-#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
-#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: indicatori de mod nevalizi în interfața «sudo»: 0x%x"
-#: plugins/sudoers/policy.c:1262
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Versiunea modulului de politică „sudoersâ€, este %s\n"
-#: plugins/sudoers/policy.c:1264
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Versiunea de gramatică a fiÈ™ierului „sudoersâ€, este %d\n"
-#: plugins/sudoers/policy.c:1268
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -3100,27 +3187,27 @@ msgstr ""
"\n"
"Cale „sudoersâ€: %s\n"
-#: plugins/sudoers/policy.c:1271
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "cale nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1273
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "cale ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "cale ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1307
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "nu se poate înregistra cârligul de tip %d (versiunea %d.%d)"
-#: plugins/sudoers/policy.c:1325
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "nu se poate anula înregistrarea cârligului de tip %d (versiunea %d.%d)"
@@ -3259,148 +3346,142 @@ msgstr "nu se poate inițializa sursa SSS. Este SSSD instalat pe mașină?"
msgid "unable to find symbol \"%s\" in %s"
msgstr "nu se poate găsi simbolul „%s†în %s"
-#: plugins/sudoers/sudoers.c:258
+#: plugins/sudoers/sudoers.c:263
#, c-format
msgid "unable to get defaults from %s"
msgstr "nu se pot obține valorile implicite de la %s"
-#: plugins/sudoers/sudoers.c:265
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "nicio sursă „sudoers†validă, se iese"
-#: plugins/sudoers/sudoers.c:341
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "utilizatorul nu are permisiunea de a schimba directorul rădăcină în %s"
-#: plugins/sudoers/sudoers.c:343
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "nu aveți permisiunea de a utiliza opțiunea „-R†cu %s"
-#: plugins/sudoers/sudoers.c:368
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "utilizatorului nu îi este permis să schimbe directorul la %s"
-#: plugins/sudoers/sudoers.c:369
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "nu aveți permisiunea de a utiliza opțiunea „-D†cu %s"
-#: plugins/sudoers/sudoers.c:396
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "nicio comandă specificată"
-#: plugins/sudoers/sudoers.c:421
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "„sudoers†specifică că root nu are permisiunea să execute «sudo»"
-#: plugins/sudoers/sudoers.c:471
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "utilizatorului nu îi este permis să suprascrie limita de closefrom"
-#: plugins/sudoers/sudoers.c:472
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "nu aveÈ›i permisiunea de a utiliza opÈ›iunea „-Câ€"
-#: plugins/sudoers/sudoers.c:532
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "proprietar marcaj de timp (%s): Nu există un astfel de utilizator"
-#: plugins/sudoers/sudoers.c:547
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "fără tty"
-#: plugins/sudoers/sudoers.c:548
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "trebuie să aveți un tty pentru a rula «sudo»"
-#: plugins/sudoers/sudoers.c:555
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "shell nevalid pentru utilizatorul %s: %s"
-#: plugins/sudoers/sudoers.c:638
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "comandă în directorul curent"
-#: plugins/sudoers/sudoers.c:653
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "«cd» este o comandă încorporată în shell, nu poate fi rulată direct."
-#: plugins/sudoers/sudoers.c:655
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr "opțiunea „-s†poate fi utilizată pentru a rula un shell privilegiat."
-#: plugins/sudoers/sudoers.c:657
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr "opțiunea „-D†poate fi folosită pentru a rula o comandă într-un anumit director."
-#: plugins/sudoers/sudoers.c:666
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "utilizatorului nu îi este permis să stabilească o limită de timp a comenzii"
-#: plugins/sudoers/sudoers.c:668
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "nu aveți permisiunea de a stabili o limită de timp a comenzii"
-#: plugins/sudoers/sudoers.c:676
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "utilizatorului nu îi este permis să păstreze mediul"
-#: plugins/sudoers/sudoers.c:678
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "nu aveți permisiunea să păstrați mediul"
-#: plugins/sudoers/sudoers.c:1053
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "«sudoedit» nu are nevoie să fie rulat via «sudo»"
-#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "nu se poate citi %s"
-#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
-#: plugins/sudoers/visudo.c:764
-#, c-format
-msgid "unable to stat %s"
-msgstr "nu se poate stabili starea lui %s"
-
-#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%s nu este un fișier obișnuit"
-#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s este deținut de uid-ul %u, ar trebui să fie %u"
-#: plugins/sudoers/sudoers.c:1147 toke.l:1252
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s poate fi scris de oricine"
-#: plugins/sudoers/sudoers.c:1151 toke.l:1255
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s este deținut de gid-ul %u, ar trebui să fie %u"
-#: plugins/sudoers/sudoers.c:1184
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "doar root poate utiliza „-c %sâ€"
-#: plugins/sudoers/sudoers.c:1203
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr "clasă de autentificare necunoscută %s"
-#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "nu se poate rezolva gazda %s"
@@ -3498,17 +3579,17 @@ msgstr "terminare ilegală a expresiei, cu „!â€"
msgid "unknown search type %d"
msgstr "tip de căutare necunoscută %d"
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "utilizare: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "utilizare: %s [-h] [-d dir] -l [expresie de căutare]\n"
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -3517,7 +3598,7 @@ msgstr ""
"%s - redă jurnalele de sesiune «sudo»\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3573,127 +3654,122 @@ msgstr ""
"\n"
"Comanda nu se potrivește"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%s poate fi scris de membrii grupului"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "nu se poate trunchia fișierul marcajelor de timp în %lld octeți"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "se vor ignora marcajele de timp pe viitor"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "datarea este prea departe în viitor: %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "nu se poate bloca fișierul marcajelor de timp %s"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "calea fișierului de stare al instrucțiunilor de utilizare, este prea lungă: %s/%s"
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "«sudoedit» nu ar trebui să fie specificat cu o cale"
-#: plugins/sudoers/visudo.c:249
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "opțiunea „-x†va fi eliminată într-o lansare viitoare"
-#: plugins/sudoers/visudo.c:251
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "luați în considerare utilizarea utilitarului «cvtsudoers» în schimb"
-#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "apăsați „enter†pentru a edita %s: "
-#: plugins/sudoers/visudo.c:321
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr "conținutul sesiunii de editare rămase în %s"
-#: plugins/sudoers/visudo.c:397
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "editorul specificat (%s) nu există"
-#: plugins/sudoers/visudo.c:399
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "nu s-a găsit niciun editor (cale editor = %s)"
-#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "nu se poate stabili starea lui %s"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "eroare de scriere"
-#: plugins/sudoers/visudo.c:559
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "nu se poate stabili starea fișierului temporar (%s), %s neschimbat"
-#: plugins/sudoers/visudo.c:566
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "fișier temporar de lungime zero (%s), %s neschimbat"
-#: plugins/sudoers/visudo.c:572
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "editorul (%s) a eșuat, %s neschimbat"
-#: plugins/sudoers/visudo.c:594
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s neschimbat"
-#: plugins/sudoers/visudo.c:639
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "nu se poate redeschide fișierul temporar (%s), %s neschimbat."
-#: plugins/sudoers/visudo.c:652
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "nu se poate analiza fișierul temporar (%s), eroare necunoscută"
-#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "nu se poate stabili (uid, gid) de %s la (%u, %u)"
-#: plugins/sudoers/visudo.c:803
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s și %s nu sunt pe același sistem de fișiere, se utilizează «mv» pentru a redenumi"
-#: plugins/sudoers/visudo.c:814
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "comanda a eÈ™uat: „%s %s %sâ€, %s neschimbat"
-#: plugins/sudoers/visudo.c:821
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "eroare la redenumirea %s, %s neschimbat"
-#: plugins/sudoers/visudo.c:841
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "Acum ce? "
-#: plugins/sudoers/visudo.c:855
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3705,41 +3781,41 @@ msgstr ""
" (x) - ieÈ™i fără a salva modificările în fiÈ™ierul „sudoersâ€\n"
" (Q) - ieși și salvează modificările în fișierul „sudoers†(PERICOL!)\n"
-#: plugins/sudoers/visudo.c:901
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "nu se poate rula %s"
-#: plugins/sudoers/visudo.c:932
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: proprietarul greșit (uid, gid) ar trebui să fie (%u, %u)n\n"
-#: plugins/sudoers/visudo.c:943
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: permisiuni proaste, ar trebui să fie modul 0%o\n"
-#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: analizat, OK\n"
-#: plugins/sudoers/visudo.c:1017
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%s ocupat, încercați din nou mai târziu"
-#: plugins/sudoers/visudo.c:1021
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "Editați oricum? [y/N]"
-#: plugins/sudoers/visudo.c:1117
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Avertisment: %s:%d:%d: neutilizat %s „%sâ€"
-#: plugins/sudoers/visudo.c:1229
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3748,13 +3824,14 @@ msgstr ""
"%s - editează în siguranță fiÈ™ierul „sudoersâ€\n"
"\n"
-#: plugins/sudoers/visudo.c:1231
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
@@ -3764,6 +3841,7 @@ msgstr ""
" -c, --check modul doar verifică\n"
" -f, --file=sudoers specifică locaÈ›ia fiÈ™ierului „sudoersâ€\n"
" -h, --help afișează mesajul de ajutor și iese\n"
+" -I, --no-includes nu editează fiÈ™ierele „includeâ€\n"
" -q, --quiet mesaje de eroare de sintaxă mai puțin detaliate\n"
" -s, --strict verificare strictă de sintaxă\n"
" -V, --version afișează informațiile de versiune și iese\n"
@@ -3800,6 +3878,12 @@ msgstr "întrerupere de linie neașteptată în șir"
msgid "too many levels of includes"
msgstr "prea multe niveluri de includeri"
+#~ msgid "%s is group writable"
+#~ msgstr "%s poate fi scris de membrii grupului"
+
+#~ msgid "lecture status path too long: %s/%s"
+#~ msgstr "calea fișierului de stare al instrucțiunilor de utilizare, este prea lungă: %s/%s"
+
#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
#~ msgstr "Avertisment: %s:%d:%d ciclu în %s „%sâ€"
diff --git a/plugins/sudoers/po/sr.mo b/plugins/sudoers/po/sr.mo
index 28bc87297..65570cd5d 100644
--- a/plugins/sudoers/po/sr.mo
+++ b/plugins/sudoers/po/sr.mo
Binary files differ
diff --git a/plugins/sudoers/po/sr.po b/plugins/sudoers/po/sr.po
index c0776774b..4ea3ec329 100644
--- a/plugins/sudoers/po/sr.po
+++ b/plugins/sudoers/po/sr.po
@@ -1,12 +1,13 @@
# Serbian translation for sudoers.
# This file is put in the public domain.
# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2014–2022.
+#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers-1.9.10b1\n"
+"Project-Id-Version: sudoers-1.9.11b1\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-02-11 18:33-0700\n"
-"PO-Revision-Date: 2022-02-15 21:30+0200\n"
+"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"PO-Revision-Date: 2022-08-22 21:33+0200\n"
"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
@@ -16,7 +17,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-#: confstr.sh:1 gram.y:1198
+#: confstr.sh:1 gram.y:1218
msgid "syntax error"
msgstr "грешка ÑинтакÑе"
@@ -40,17 +41,17 @@ msgstr "*** информације БЕЗБЕДÐОСТИ за %h ***"
msgid "Sorry, try again."
msgstr "Извините, покушајте поново."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:498 gram.y:508 gram.y:520 gram.y:564 gram.y:573 gram.y:582
-#: gram.y:591 gram.y:718 gram.y:726 gram.y:737 gram.y:749 gram.y:768
-#: gram.y:923 gram.y:928 gram.y:936 gram.y:950 gram.y:956 gram.y:1078
-#: gram.y:1087 gram.y:1095 gram.y:1104 gram.y:1113 gram.y:1142 gram.y:1151
-#: gram.y:1159 gram.y:1252 gram.y:1382 gram.y:1748 gram.y:1798
+#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
+#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
+#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
+#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
+#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
+#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
+#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:881
-#: lib/eventlog/eventlog.c:1176 lib/iolog/iolog_filter.c:142
-#: lib/iolog/iolog_filter.c:204 lib/iolog/iolog_filter.c:233
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
@@ -66,39 +67,39 @@ msgstr "Извините, покушајте поново."
#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1011 logsrvd/logsrvd.c:1073
+#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:425
-#: logsrvd/logsrvd_journal.c:427 logsrvd/logsrvd_local.c:174
+#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
+#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:843
+#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:118
-#: plugins/sudoers/auth/kerb5.c:146 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
+#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:134 plugins/sudoers/cvtsudoers.c:131
+#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:758
-#: plugins/sudoers/cvtsudoers.c:873 plugins/sudoers/cvtsudoers.c:881
-#: plugins/sudoers/cvtsudoers.c:1376 plugins/sudoers/cvtsudoers.c:1380
-#: plugins/sudoers/cvtsudoers.c:1482 plugins/sudoers/cvtsudoers_csv.c:183
-#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
-#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
-#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
-#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
-#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
-#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:469
-#: plugins/sudoers/cvtsudoers_ldif.c:477 plugins/sudoers/cvtsudoers_ldif.c:624
+#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
+#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
+#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
+#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
+#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
+#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
+#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
+#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
+#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
+#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
+#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -107,23 +108,21 @@ msgstr "Извините, покушајте поново."
#: plugins/sudoers/cvtsudoers_merge.c:553
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1150
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -131,120 +130,120 @@ msgstr "Извините, покушајте поново."
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:390 plugins/sudoers/log_client.c:703
-#: plugins/sudoers/log_client.c:724 plugins/sudoers/log_client.c:1444
-#: plugins/sudoers/log_client.c:1662 plugins/sudoers/log_client.c:1989
-#: plugins/sudoers/log_client.c:2045 plugins/sudoers/logging.c:104
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:469
-#: plugins/sudoers/logging.c:489 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:324 plugins/sudoers/match_command.c:567
-#: plugins/sudoers/match_command.c:616 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:736 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:201 plugins/sudoers/parse.c:218
-#: plugins/sudoers/parse.c:250 plugins/sudoers/parse.c:267
-#: plugins/sudoers/parse.c:290 plugins/sudoers/parse.c:301
-#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
-#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
-#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
-#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
-#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
-#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
-#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
-#: plugins/sudoers/policy.c:570 plugins/sudoers/policy.c:952
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
-#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
-#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
-#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
-#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
-#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:161 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1218
+#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
+#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
+#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
+#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
+#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
+#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
+#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
+#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
+#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
+#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
+#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
+#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
+#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
+#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
+#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
+#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
+#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
+#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
+#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
+#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
+#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
+#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
+#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
+#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "не могу да доделим меморију"
-#: gram.y:615
+#: gram.y:622
msgid "a digest requires a path name"
msgstr "зборник захтева назив путање"
-#: gram.y:637
+#: gram.y:644
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "вредноÑÑ‚ за „CWD“ мора почети Ñа /, ~, или *"
-#: gram.y:643
+#: gram.y:650
msgid "\"CWD\" path too long"
msgstr "„CWD“ путања је предуга"
-#: gram.y:653
+#: gram.y:660
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "вредноÑÑ‚ за „CHROOT“ мора почети Ñа /, ~, или *"
-#: gram.y:659
+#: gram.y:666
msgid "\"CHROOT\" path too long"
msgstr "„CHROOT“ путања је предуга"
-#: gram.y:788
+#: gram.y:801
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "грешка ÑинтакÑе, резервиÑана реч „%s“ је коришћена као назив алијаÑа"
-#: gram.y:811
+#: gram.y:824
msgid "invalid notbefore value"
msgstr "неиÑправна вредноÑÑ‚ не-пре"
-#: gram.y:820
+#: gram.y:833
msgid "invalid notafter value"
msgstr "неиÑправна вредноÑÑ‚ не-поÑле"
-#: gram.y:830 plugins/sudoers/policy.c:353
+#: gram.y:843 plugins/sudoers/policy.c:376
msgid "timeout value too large"
msgstr "вредноÑÑ‚ временÑког иÑтека је превелика"
-#: gram.y:832 plugins/sudoers/policy.c:355
+#: gram.y:845 plugins/sudoers/policy.c:378
msgid "invalid timeout value"
msgstr "неиÑправна вредноÑÑ‚ временÑког ограничења"
-#: gram.y:946 plugins/sudoers/sudoers.c:998
+#: gram.y:966 plugins/sudoers/sudoers.c:1014
msgid "command too long"
msgstr "наредба је предуга"
-#: gram.y:1200
+#: gram.y:1220 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1275
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1250
+#: gram.y:1270
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "ПÑеудоним „%s“ је већ одређен"
-#: gram.y:1748 gram.y:1798 lib/eventlog/eventlog.c:309
-#: lib/eventlog/eventlog.c:804 lib/eventlog/eventlog.c:877
-#: lib/eventlog/eventlog.c:880 lib/eventlog/eventlog.c:1176
-#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:204
+#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
@@ -264,37 +263,37 @@ msgstr "ПÑеудоним „%s“ је већ одређен"
#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1400 logsrvd/logsrvd.c:1406
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:293 logsrvd/tls_init.c:314
-#: logsrvd/tls_init.c:324 plugins/sudoers/audit.c:116
+#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
+#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:134
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
-#: plugins/sudoers/cvtsudoers.c:758 plugins/sudoers/cvtsudoers.c:873
-#: plugins/sudoers/cvtsudoers.c:880 plugins/sudoers/cvtsudoers.c:1376
-#: plugins/sudoers/cvtsudoers.c:1380 plugins/sudoers/cvtsudoers.c:1482
-#: plugins/sudoers/cvtsudoers_csv.c:182 plugins/sudoers/cvtsudoers_csv.c:245
-#: plugins/sudoers/cvtsudoers_json.c:75 plugins/sudoers/cvtsudoers_ldif.c:150
-#: plugins/sudoers/cvtsudoers_ldif.c:193 plugins/sudoers/cvtsudoers_ldif.c:234
-#: plugins/sudoers/cvtsudoers_ldif.c:299 plugins/sudoers/cvtsudoers_ldif.c:375
-#: plugins/sudoers/cvtsudoers_ldif.c:429 plugins/sudoers/cvtsudoers_ldif.c:437
-#: plugins/sudoers/cvtsudoers_ldif.c:448 plugins/sudoers/cvtsudoers_ldif.c:455
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:476
-#: plugins/sudoers/cvtsudoers_ldif.c:623 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
+#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
+#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
#: plugins/sudoers/cvtsudoers_merge.c:51
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
@@ -305,23 +304,21 @@ msgstr "ПÑеудоним „%s“ је већ одређен"
#: plugins/sudoers/cvtsudoers_merge.c:564
#: plugins/sudoers/cvtsudoers_merge.c:630
#: plugins/sudoers/cvtsudoers_merge.c:633
-#: plugins/sudoers/cvtsudoers_merge.c:1149
-#: plugins/sudoers/cvtsudoers_merge.c:1223 plugins/sudoers/defaults.c:468
-#: plugins/sudoers/defaults.c:690 plugins/sudoers/defaults.c:1051
-#: plugins/sudoers/defaults.c:1243 plugins/sudoers/editor.c:190
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
+#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:264
-#: plugins/sudoers/iolog.c:664 plugins/sudoers/iolog.c:690
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:433
-#: plugins/sudoers/ldap.c:443 plugins/sudoers/ldap.c:448
-#: plugins/sudoers/ldap.c:452 plugins/sudoers/ldap.c:464
-#: plugins/sudoers/ldap.c:760 plugins/sudoers/ldap.c:924
-#: plugins/sudoers/ldap.c:1340 plugins/sudoers/ldap.c:1766
-#: plugins/sudoers/ldap.c:1803 plugins/sudoers/ldap.c:1884
-#: plugins/sudoers/ldap.c:2019 plugins/sudoers/ldap.c:2120
-#: plugins/sudoers/ldap.c:2136 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
@@ -329,69 +326,70 @@ msgstr "ПÑеудоним „%s“ је већ одређен"
#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:221 plugins/sudoers/log_client.c:242
-#: plugins/sudoers/log_client.c:255 plugins/sudoers/log_client.c:390
-#: plugins/sudoers/log_client.c:703 plugins/sudoers/log_client.c:724
-#: plugins/sudoers/log_client.c:1444 plugins/sudoers/log_client.c:1662
-#: plugins/sudoers/log_client.c:1989 plugins/sudoers/log_client.c:2045
-#: plugins/sudoers/logging.c:104 plugins/sudoers/logging.c:184
-#: plugins/sudoers/logging.c:185 plugins/sudoers/logging.c:468
-#: plugins/sudoers/logging.c:488 plugins/sudoers/logging.c:628
-#: plugins/sudoers/match_command.c:323 plugins/sudoers/match_command.c:566
-#: plugins/sudoers/match_command.c:615 plugins/sudoers/match_command.c:688
-#: plugins/sudoers/match_command.c:735 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:200 plugins/sudoers/parse.c:217
-#: plugins/sudoers/parse.c:249 plugins/sudoers/parse.c:266
-#: plugins/sudoers/parse.c:289 plugins/sudoers/parse.c:300
-#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
-#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:597
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:152 plugins/sudoers/policy.c:161
-#: plugins/sudoers/policy.c:170 plugins/sudoers/policy.c:197
-#: plugins/sudoers/policy.c:338 plugins/sudoers/policy.c:353
-#: plugins/sudoers/policy.c:355 plugins/sudoers/policy.c:391
-#: plugins/sudoers/policy.c:400 plugins/sudoers/policy.c:448
-#: plugins/sudoers/policy.c:458 plugins/sudoers/policy.c:467
-#: plugins/sudoers/policy.c:476 plugins/sudoers/policy.c:570
-#: plugins/sudoers/policy.c:952 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
-#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
-#: plugins/sudoers/set_perms.c:1549 plugins/sudoers/sssd.c:144
-#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
-#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
-#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:335
-#: plugins/sudoers/sudoers.c:361 plugins/sudoers/sudoers.c:429
-#: plugins/sudoers/sudoers.c:438 plugins/sudoers/sudoers.c:479
-#: plugins/sudoers/sudoers.c:842 plugins/sudoers/sudoers.c:980
-#: plugins/sudoers/sudoers.c:1039 plugins/sudoers/sudoers.c:1305
-#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
-#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
-#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
-#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:78
-#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
-#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:145
-#: plugins/sudoers/visudo.c:344 plugins/sudoers/visudo.c:350
-#: plugins/sudoers/visudo.c:456 plugins/sudoers/visudo.c:632
-#: plugins/sudoers/visudo.c:962 plugins/sudoers/visudo.c:1035 toke.l:1015
-#: toke.l:1147 toke.l:1210 toke.l:1218
+#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
+#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
+#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
+#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
+#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
+#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
+#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
+#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
+#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
+#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
+#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
+#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
+#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
+#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
+#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
+#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
+#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
+#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
+#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
+#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
+#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
+#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
+#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
+#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
+#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
+#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
+#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
+#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
+#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
+#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
+#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
+#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
+#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
+#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
+#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
+#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
+#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
+#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
+#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
+#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
+#: toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -400,16 +398,18 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:580 plugins/sudoers/env.c:326
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/ldap.c:531 plugins/sudoers/ldap.c:764
-#: plugins/sudoers/ldap.c:1137 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:740
-#: plugins/sudoers/policy.c:751 plugins/sudoers/prompt.c:168
-#: plugins/sudoers/serialize_list.c:62 plugins/sudoers/serialize_list.c:71
-#: plugins/sudoers/strvec_join.c:62 plugins/sudoers/testsudoers.c:245
-#: plugins/sudoers/toke_util.c:213 toke.l:979 toke.l:1181
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
+#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
+#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "унутрашња грешка, прекорачење „%s“"
@@ -424,31 +424,31 @@ msgstr "не могу да удвоÑтручим Ñтандардни улаз:
msgid "unable to execute %s: %m"
msgstr "не могу да извршим „%s“: %m"
-#: lib/eventlog/eventlog.c:456 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "не могу да иÑцепим"
-#: lib/eventlog/eventlog.c:464 lib/eventlog/eventlog.c:518
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "не могу да иÑцепим: %m"
-#: lib/eventlog/eventlog.c:508
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "не могу да отворим Ñпојку: %m"
-#: lib/eventlog/eventlog.c:1007
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:1036
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (наредба је наÑтављена) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1296
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -564,13 +564,13 @@ msgid "%s exists but is not a directory (0%o)"
msgstr "%s поÑтоји али није директоријум (0%o)"
#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:807 plugins/sudoers/timestamp.c:205
+#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
#, c-format
msgid "unable to mkdir %s"
msgstr "не могу да направим директоријум „%s“"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:731
-#: plugins/sudoers/visudo.c:765 plugins/sudoers/visudo.c:771
+#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
+#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "не могу да променим режим „%s“ на 0%o"
@@ -585,8 +585,8 @@ msgstr "грешка читања датотеке времениÑања: %s"
msgid "invalid timing file line: %s"
msgstr "неиÑправан ред датотеке времениÑања: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:804
-#: plugins/sudoers/policy.c:550
+#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
+#: plugins/sudoers/policy.c:573
msgid "unable to generate UUID"
msgstr "не могу да Ñтворим УУИБ"
@@ -645,56 +645,56 @@ msgstr "грешка затварања опиÑника датотеке У/И
msgid "error flushing iofd %d: %s"
msgstr "грешка иÑипања опиÑника датотеке У/И %d: %s"
-#: logsrvd/iolog_writer.c:777
+#: logsrvd/iolog_writer.c:780
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "неиÑправан У/И дневник „%s“: „%s“ је упутно али није приÑутно"
-#: logsrvd/iolog_writer.c:789 logsrvd/logsrvd_journal.c:377
+#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: не могу да нађем тачку наÑтавка [%lld, %ld]"
-#: logsrvd/iolog_writer.c:811 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:245
-#: plugins/sudoers/check.c:273 plugins/sudoers/cvtsudoers.c:730
-#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1442
-#: plugins/sudoers/cvtsudoers_csv.c:681 plugins/sudoers/cvtsudoers_json.c:885
-#: plugins/sudoers/cvtsudoers_ldif.c:697 plugins/sudoers/sudoers.c:1092
+#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
+#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
+#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
#, c-format
msgid "unable to open %s"
msgstr "не могу да отворим „%s“"
-#: logsrvd/iolog_writer.c:823 logsrvd/logsrv_util.c:100
+#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "не могу да отворим „%s/%s“"
-#: logsrvd/iolog_writer.c:836
+#: logsrvd/iolog_writer.c:839
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "не могу да умножим „%s/%s“ у „%s/%s“: %s"
-#: logsrvd/iolog_writer.c:865 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
#, c-format
msgid "unable to rename %s to %s"
msgstr "не могу да преименујем „%s“ у „%s“"
-#: logsrvd/logsrv_util.c:139 logsrvd/logsrv_util.c:168
+#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: не могу да нађем тачку наÑтавка [%lld, %ld]"
-#: logsrvd/logsrv_util.c:151
+#: logsrvd/logsrv_util.c:154
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "недоÑтаје У/И датотека дневника „%s/%s“"
-#: logsrvd/logsrv_util.c:158
+#: logsrvd/logsrv_util.c:161
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: не могу да премотам унапред „%zu“"
@@ -703,32 +703,32 @@ msgstr "%s/%s: не могу да премотам унапред „%zu“"
msgid "unable to connect to relay"
msgstr "не могу да Ñе повежем Ñа преноÑником"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:835
+#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
#, c-format
msgid "server message too large: %zu"
msgstr "порука Ñервера је превелика: %zu"
#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1010
-#: logsrvd/logsrvd.c:1134 logsrvd/logsrvd.c:1307 logsrvd/logsrvd.c:1325
-#: logsrvd/logsrvd.c:1423 logsrvd/logsrvd.c:1546 logsrvd/logsrvd.c:1730
-#: logsrvd/logsrvd_journal.c:489 logsrvd/logsrvd_local.c:197
+#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
+#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
+#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
+#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1121
+#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:209 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1027 plugins/sudoers/iolog.c:1160
-#: plugins/sudoers/iolog.c:1258 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
-#: plugins/sudoers/log_client.c:395 plugins/sudoers/log_client.c:599
-#: plugins/sudoers/log_client.c:606 plugins/sudoers/log_client.c:1131
-#: plugins/sudoers/log_client.c:1413 plugins/sudoers/log_client.c:1454
-#: plugins/sudoers/log_client.c:1462 plugins/sudoers/log_client.c:1618
-#: plugins/sudoers/log_client.c:1734 plugins/sudoers/log_client.c:2053
-#: plugins/sudoers/log_client.c:2061 plugins/sudoers/logging.c:142
-#: plugins/sudoers/logging.c:199 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
+#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
+#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
+#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
+#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
+#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
+#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
+#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
+#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
+#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -773,6 +773,13 @@ msgstr "%s: неочекивана У/И међумеморија"
msgid "protocol error"
msgstr "грешка протокола"
+#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
+#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
+#: plugins/sudoers/log_client.c:1618
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "не могу да отпакујем „%s“ величине %zu"
+
#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
#, c-format
@@ -788,110 +795,110 @@ msgstr "непозната врÑта „Поруке_клијента“"
msgid "timed out writing to client %s"
msgstr "иÑтекло је време пиÑања на клијенту „%s“"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:907 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
#, c-format
msgid "missing write buffer for client %s"
msgstr "недоÑтаје међумеморија пиÑања за клијента „%s“"
-#: logsrvd/logsrvd.c:981
+#: logsrvd/logsrvd.c:982
#, c-format
msgid "timed out reading from client %s"
msgstr "иÑтекло је време читања Ñа клијента „%s“"
-#: logsrvd/logsrvd.c:1022 logsrvd/logsrvd_relay.c:771
+#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "крај датотеке из „%s“ без одговарајућег ТЛС гашења"
-#: logsrvd/logsrvd.c:1065 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:709
+#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
+#: plugins/sudoers/log_client.c:716
#, c-format
msgid "client message too large: %zu"
msgstr "порука клијента је превелика: %zu"
-#: logsrvd/logsrvd.c:1066 logsrvd/logsrvd_journal.c:246
+#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
#: logsrvd/logsrvd_journal.c:247
msgid "client message too large"
msgstr "порука клијента је превелика"
-#: logsrvd/logsrvd.c:1084 logsrvd/logsrvd.c:1085
+#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
msgid "invalid ClientMessage"
msgstr "неиÑправна „Порука клијента“"
-#: logsrvd/logsrvd.c:1386
+#: logsrvd/logsrvd.c:1389
msgid "unable to get remote IP addr"
msgstr "не могу да добавим удаљену ИП адреÑу"
-#: logsrvd/logsrvd.c:1415 logsrvd/tls_client.c:196
-#: plugins/sudoers/log_client.c:270
+#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
+#: plugins/sudoers/log_client.c:276
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Ðе могу да прикачим податке кориÑника ÑÑл објекту: %s"
-#: logsrvd/logsrvd.c:1596 logsrvd/logsrvd.c:1948
+#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
msgid "unable to setup listen socket"
msgstr "не могу да подеÑим прикључницу оÑлушкивања"
-#: logsrvd/logsrvd.c:1713
+#: logsrvd/logsrvd.c:1718
#, c-format
msgid "unexpected signal %d"
msgstr "неочекивани Ñигнал %d"
-#: logsrvd/logsrvd.c:1850
+#: logsrvd/logsrvd.c:1855
msgid "sudo log server"
msgstr "Ñервер Ñудо дневника"
-#: logsrvd/logsrvd.c:1852 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
msgid "Options:"
msgstr "Опције:"
-#: logsrvd/logsrvd.c:1854
+#: logsrvd/logsrvd.c:1859
msgid "path to configuration file"
msgstr "путања до датотеке подешавања"
-#: logsrvd/logsrvd.c:1856 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
msgid "display help message and exit"
msgstr "приказује поруку помоћи и излази"
-#: logsrvd/logsrvd.c:1858
+#: logsrvd/logsrvd.c:1863
msgid "do not fork, run in the foreground"
msgstr "не клонира, ради у првом плану"
-#: logsrvd/logsrvd.c:1860
+#: logsrvd/logsrvd.c:1865
msgid "percent chance connections will drop"
msgstr "проÑенат шанÑи за одбацивање веза"
-#: logsrvd/logsrvd.c:1862 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
msgid "display version information and exit"
msgstr "приказује податке о издању и излази"
-#: logsrvd/logsrvd.c:1912 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Потребно је „Protobuf-C“ издање 1.3 или новије"
-#: logsrvd/logsrvd.c:1928
+#: logsrvd/logsrvd.c:1933
#, c-format
msgid "invalid random drop value: %s"
msgstr "неиÑправна вредноÑÑ‚ одбацивања наÑумичноÑти: %s"
-#: logsrvd/logsrvd.c:1931 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:177
+#: plugins/sudoers/visudo.c:180
#, c-format
msgid "%s version %s\n"
msgstr "%s издање %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:335
-#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:120
-#: plugins/sudoers/policy.c:1188 plugins/sudoers/sudoers.c:486
-#: plugins/sudoers/sudoers.c:1347 plugins/sudoers/testsudoers.c:215
+#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
+#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "непознат кориÑник „%s“"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:145
-#: plugins/sudoers/sudoers.c:491 plugins/sudoers/sudoers.c:1381
+#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
@@ -965,7 +972,7 @@ msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] неиÑправан кључ: %s"
#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:857
+#: plugins/sudoers/logging.c:1035
#, c-format
msgid "unable to open log file %s"
msgstr "не могу да отворим датотеку дневника „%s“"
@@ -978,13 +985,13 @@ msgstr "не могу да покренем ТЛС контекÑÑ‚ Ñервер
msgid "unable to initialize relay TLS context"
msgstr "не могу да покренем ТЛС контекÑÑ‚ преноÑника"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:416
-#: logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:416
msgid "unable to create journal file"
msgstr "не могу да направим датотеку дневника"
#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1007
+#: plugins/sudoers/visudo.c:1020
#, c-format
msgid "unable to lock %s"
msgstr "не могу да закључам „%s“"
@@ -997,8 +1004,8 @@ msgstr "не могу да закључам датотеку дневника"
msgid "unable to open journal file"
msgstr "не могу да отворим датотеку дневника"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:452
-#: logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
+#: logsrvd/logsrvd_journal.c:452
msgid "unable to write journal file"
msgstr "не могу да запишем датотеку дневника"
@@ -1016,11 +1023,11 @@ msgstr "неочекивани крај датотеке читајући дат
msgid "error reading journal file"
msgstr "грешка читања датотеке дневника"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:376
+#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
msgid "invalid journal file, unable to restart"
msgstr "неиÑправна датотека дневника, не могу поново да почнем"
-#: logsrvd/logsrvd_journal.c:435
+#: logsrvd/logsrvd_journal.c:430
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "не могу да премотам на [%lld, %ld] у датотеци дневника „%s“"
@@ -1108,7 +1115,7 @@ msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: неиÑправан поздрав Ñервера, недоÑтаје иб Ñервера"
#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1497
+#: plugins/sudoers/log_client.c:1504
msgid "invalid ServerHello"
msgstr "неиÑправан „Поздрав_Ñервера“"
@@ -1129,34 +1136,34 @@ msgstr "иÑтекло је време читања Ñа преноÑника"
msgid "relay host name does not match certificate"
msgstr "назив домаћина преноÑника не одговара уверењу"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:776
-#: logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
+#: logsrvd/logsrvd_relay.c:784
msgid "error reading from relay"
msgstr "грешка читања Ñа преноÑника"
-#: logsrvd/logsrvd_relay.c:803
+#: logsrvd/logsrvd_relay.c:805
msgid "unable to read from relay"
msgstr "не могу да читам Ñа преноÑника"
-#: logsrvd/logsrvd_relay.c:818 logsrvd/logsrvd_relay.c:936
+#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
msgid "relay server closed connection"
msgstr "Ñервер преноÑника је затворио везу"
-#: logsrvd/logsrvd_relay.c:836
+#: logsrvd/logsrvd_relay.c:838
msgid "server message too large"
msgstr "порука Ñервера је превелика"
-#: logsrvd/logsrvd_relay.c:900
+#: logsrvd/logsrvd_relay.c:902
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "иÑтекло је време пиÑања на преноÑнику „%s“ (%s)"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:904
msgid "timeout writing to relay"
msgstr "иÑтекло је време пиÑања на преноÑнику"
-#: logsrvd/logsrvd_relay.c:955 logsrvd/logsrvd_relay.c:961
-#: logsrvd/logsrvd_relay.c:971
+#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
+#: logsrvd/logsrvd_relay.c:974
msgid "error writing to relay"
msgstr "грешка пиÑања на преноÑнику"
@@ -1212,7 +1219,7 @@ msgstr "прекида Ð¿Ñ€ÐµÐ½Ð¾Ñ Ð½Ð°ÐºÐ¾Ð½ доÑтизања овог врÐ
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "теÑтира анкетни Ñервер шаљући изабрани У/И дневник n пута у паралели"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:441
+#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "не могу да потражим „%s:%s“: %s"
@@ -1226,30 +1233,30 @@ msgstr "не могу да добавим ИП адреÑу Ñервера"
msgid "unable to read %s/%s: %s"
msgstr "не могу да прочитам „%s/%s“: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:945
-#: plugins/sudoers/iolog.c:1020
+#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
+#: plugins/sudoers/iolog.c:1024
#, c-format
msgid "unexpected I/O event %d"
msgstr "неочекивани У/И догађај „%d“"
#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1146 plugins/sudoers/log_client.c:1423
-#: plugins/sudoers/log_client.c:1491 plugins/sudoers/log_client.c:1530
+#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
+#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: неочекивано Ñтање „%d“"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1576
+#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
#, c-format
msgid "error message received from server: %s"
msgstr "порука грешке је примљена Ñа Ñервера: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1589
+#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
#, c-format
msgid "abort message received from server: %s"
msgstr "порука прекида је примљена Ñа Ñервера: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1639
+#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: неочекивана вредноÑÑ‚ врÑте_Ñлова „%d“"
@@ -1258,11 +1265,15 @@ msgstr "%s: неочекивана вредноÑÑ‚ врÑте_Ñлова „%dâ
msgid "timeout reading from server"
msgstr "иÑтекло је време читања Ñа Ñервера"
+#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+msgid "host name does not match certificate"
+msgstr "назив домаћина не одговара уверењу"
+
#: logsrvd/sendlog.c:1368
msgid "premature EOF"
msgstr "прерани крај датотеке"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1800
+#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
#, c-format
msgid "server message too large: %u"
msgstr "порука Ñервера је превелика: %u"
@@ -1294,12 +1305,12 @@ msgstr "протекло време поÑлато Ñерверу [%lld, %ld]"
msgid "commit point received from server [%lld, %ld]"
msgstr "тачка Ñлања примљена Ñа Ñервера [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:304
+#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
msgid "TLS handshake timeout occurred"
msgstr "дошло је до временÑког иÑтека ТЛС руковања"
#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:326 plugins/sudoers/log_client.c:342
+#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
msgid "unable to set event"
msgstr "не могу да подеÑим догађај"
@@ -1308,50 +1319,51 @@ msgstr "не могу да подеÑим догађај"
msgid "TLS connection failed: %s"
msgstr "ТЛС веза није уÑпела: %s"
-#: logsrvd/tls_client.c:190
+#: logsrvd/tls_client.c:191
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "не могу да доделим ÑÑл објекат: %s"
-#: logsrvd/tls_client.c:203
+#: logsrvd/tls_client.c:205
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "Ðе могу да прикачим прикључницу ÑÑл објекту: %s"
-#: logsrvd/tls_client.c:231
+#: logsrvd/tls_client.c:233
msgid "unable to initialize TLS context"
msgstr "не могу да покренем ТЛС контекÑÑ‚"
-#: logsrvd/tls_init.c:127 logsrvd/tls_init.c:135
+#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "не могу да подеÑим шифрарник ТЛС-а 1.2 на „%s“: %s"
-#: logsrvd/tls_init.c:155 logsrvd/tls_init.c:163
+#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "не могу да подеÑим шифрарник ТЛС-а 1.3 на „%s“: %s"
-#: logsrvd/tls_init.c:195 logsrvd/tls_init.c:216
+#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "не могу да подеÑим „diffie-hellman“ параметре: %s"
-#: logsrvd/tls_init.c:272
+#: logsrvd/tls_init.c:277
#, c-format
msgid "unable to create TLS context: %s"
msgstr "Ðе могу да Ñтворим ТЛС контекÑÑ‚: %s"
-#: logsrvd/tls_init.c:278
+#: logsrvd/tls_init.c:284
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "не могу да подеÑим најмање издање протокола на „TLS 1.2“: %s"
#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:979 plugins/sudoers/log_client.c:1028
-#: plugins/sudoers/log_client.c:1077 plugins/sudoers/log_client.c:1203
-#: plugins/sudoers/logging.c:552 plugins/sudoers/logging.c:649
-#: plugins/sudoers/logging.c:811 plugins/sudoers/policy.c:123
+#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
+#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
+#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
+#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
+#: plugins/sudoers/policy.c:123
msgid "unable to get time of day"
msgstr "не могу да добавим време дана"
@@ -1407,47 +1419,47 @@ msgstr ""
"грешка Ñервера потврђивања идентитета:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: не могу да претворим главника у ниÑку („%s“): %s"
-#: plugins/sudoers/auth/kerb5.c:162
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: не могу да обрадим „%s“: %s"
-#: plugins/sudoers/auth/kerb5.c:171
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: не могу да решим оÑтаву пуномоћÑтва: %s"
-#: plugins/sudoers/auth/kerb5.c:220
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: не могу да доделим опције: %s"
-#: plugins/sudoers/auth/kerb5.c:235
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: не могу да добавим пуномоћÑтва: %s"
-#: plugins/sudoers/auth/kerb5.c:248
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: не могу да покренем оÑтаву пуномоћÑтва: %s"
-#: plugins/sudoers/auth/kerb5.c:251
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: не могу да ÑмеÑтим пуномоћÑтва у оÑтаву: %s"
-#: plugins/sudoers/auth/kerb5.c:315
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: не могу да добавим главника домаћина: %s"
-#: plugins/sudoers/auth/kerb5.c:329
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: Ðе могу потврдити ТГТ! Могући напад!: %s"
@@ -1488,7 +1500,7 @@ msgstr "Ðалог је иÑтекао или ПÐÐœ подешавањима н
msgid "PAM account management error: %s"
msgstr "грешка управљања ПÐÐœ налогом: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:255
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
#, c-format
msgid "you do not exist in the %s database"
msgstr "ви не поÑтојите у бази подтака „%s“"
@@ -1529,27 +1541,27 @@ msgstr "неиÑправна дужина пропуÑне шифре за беÐ
msgid "unable to initialize SIA session"
msgstr "не могу да покренем СИРÑеÑију"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "неиÑправни начини потврђивања идентитета"
-#: plugins/sudoers/auth/sudo_auth.c:136
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "ÐеиÑправни начини потврђивања идентитета Ñу преведени у Ñудоу! Ðе можете мешати ÑамоÑтално и неÑамоÑтално потврђивање идентитета."
-#: plugins/sudoers/auth/sudo_auth.c:257 plugins/sudoers/auth/sudo_auth.c:309
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "нема начина потврђивања идентитета"
-#: plugins/sudoers/auth/sudo_auth.c:259
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "Ðема начина потврђивања идентитета преведених у Ñудоу! Ðко желите да иÑкључите потврђивање идентитета, кориÑтите „--disable-authentication“."
-#: plugins/sudoers/auth/sudo_auth.c:311
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Ðе могу да покренем методе потврђивања идентитета."
-#: plugins/sudoers/auth/sudo_auth.c:482
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "Ðачини потврђивања идентитета:"
@@ -1561,17 +1573,17 @@ msgstr "Ðе могу да утврдим уÑлов прегледа"
msgid "unable to commit audit record"
msgstr "не могу да предам Ñнимак прегледа"
-#: plugins/sudoers/check.c:263
+#: plugins/sudoers/check.c:275
#, c-format
msgid "error reading lecture file %s"
msgstr "грешка читања датотеке обучавања „%s“"
-#: plugins/sudoers/check.c:269
+#: plugins/sudoers/check.c:278
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "занемарујем датотеку обучавања „%s“: није обична датотека"
-#: plugins/sudoers/check.c:282
+#: plugins/sudoers/check.c:291
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1591,32 +1603,27 @@ msgstr ""
" #3) Са великом моћи долази и велика одговорноÑÑ‚.\n"
"\n"
-#: plugins/sudoers/check.c:330 plugins/sudoers/check.c:340
-#: plugins/sudoers/sudoers.c:885 plugins/sudoers/sudoers.c:906
-#: plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
+#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "непознат јиб %u"
-#: plugins/sudoers/check_aliases.c:92
-#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Грешка: %s:%d:%d: Ñ†Ð¸ÐºÐ»ÑƒÑ Ñƒ „%s“ „%s“"
-
-#: plugins/sudoers/check_aliases.c:93
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Упозорење: %s:%d:%d: Ñ†Ð¸ÐºÐ»ÑƒÑ Ñƒ „%s“ „%s“"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:97
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Грешка: %s:%d:%d: упута за „%s“ „%s“ поÑтоји али није одређена"
+msgid "cycle in %s \"%s\""
+msgstr "Ñ†Ð¸ÐºÐ»ÑƒÑ Ñƒ „%s“ „%s“"
-#: plugins/sudoers/check_aliases.c:98
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Упозорење: %s:%d:%d: упута за „%s“ „%s“ поÑтоји али није одређена"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "упута за „%s“ „%s“ поÑтоји али није дефиниÑана"
#: plugins/sudoers/cvtsudoers.c:209
#, c-format
@@ -1633,7 +1640,7 @@ msgstr "поредак почетка: %s: %s"
msgid "order padding: %s: %s"
msgstr "попуњавање поретка: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:179
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s граматика издање %d\n"
@@ -1653,10 +1660,10 @@ msgstr "неподржан Ð·Ð°Ð¿Ð¸Ñ Ð¸Ð·Ð»Ð°Ð·Ð° „%s“"
msgid "%s: input and output files must be different"
msgstr "%s: улазна датотека треба да Ñе разликује од излазне"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:159
-#: plugins/sudoers/sudoers.c:205 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:261 plugins/sudoers/visudo.c:620
-#: plugins/sudoers/visudo.c:953
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
+#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
+#: plugins/sudoers/visudo.c:969
msgid "unable to initialize sudoers default values"
msgstr "не могу да покренем оÑновне вредноÑти ÑудоерÑа"
@@ -1685,28 +1692,18 @@ msgstr "неиÑправна врÑта потиÑкивања: %s"
msgid "invalid filter: %s"
msgstr "неиÑправан филтер: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:958
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "ниÑам уÑпео да обрадим %s датотеку, непозната грешка"
-#: plugins/sudoers/cvtsudoers.c:762
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "грешка обраде у %s близу реда %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:765
-#, c-format
-msgid "parse error in %s\n"
-msgstr "грешка обраде у %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1489 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
#, c-format
msgid "unable to write to %s"
msgstr "не могу да пишем у „%s“"
-#: plugins/sudoers/cvtsudoers.c:1512
+#: plugins/sudoers/cvtsudoers.c:1501
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1715,7 +1712,7 @@ msgstr ""
"%s – претвара међуÑобно запиÑе датотеке ÑудоерÑа\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1514
+#: plugins/sudoers/cvtsudoers.c:1503
msgid ""
"\n"
"Options:\n"
@@ -1756,31 +1753,31 @@ msgstr ""
" -V, --version приказује податке о издању и излази"
#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:669
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:515
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "не могу да добавим ГМТ време"
#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
-#: plugins/sudoers/cvtsudoers_json.c:659 plugins/sudoers/cvtsudoers_json.c:674
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
-#: plugins/sudoers/ldap.c:523
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "не могу да обликујем временÑку ознаку"
#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
-#: plugins/sudoers/cvtsudoers_json.c:725 plugins/sudoers/defaults.c:190
+#: plugins/sudoers/cvtsudoers_json.c:728
#, c-format
msgid "%s:%d:%d: unknown defaults entry \"%s\""
msgstr "%s:%d:%d: непознат ÑƒÐ½Ð¾Ñ Ð¾ÑновноÑти „%s“"
-#: plugins/sudoers/cvtsudoers_ldif.c:649
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "превише уноÑа ÑудоерÑа, највише %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:692
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "променљива „SUDOERS_BASE“ окружења није поÑтављена и „-b“ опција није наведена."
@@ -1825,780 +1822,751 @@ msgstr "%s:%d:%d: не могу да учиним оÑновноÑти „%s“
msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries"
msgstr "%s:%d:%d: уклањам оÑновноÑти „%s“ препиÑане Ñледећим уноÑима"
-#: plugins/sudoers/cvtsudoers_merge.c:1080
+#: plugins/sudoers/cvtsudoers_merge.c:1088
#, c-format
msgid "%s:%d:%d: merging userspec into %s:%d:%d"
msgstr "%s:%d:%d: Ñтапам кориÑничку Ñпецификацију у „%s:%d:%d“"
-#: plugins/sudoers/cvtsudoers_merge.c:1174
+#: plugins/sudoers/cvtsudoers_merge.c:1182
#, c-format
msgid "%s:%d:%d: removing userspec overridden by subsequent entries"
msgstr "%s:%d:%d: уклањам кориÑничку ÑпецифичноÑÑ‚ препиÑану Ñледећим уноÑима"
-#: plugins/sudoers/def_data.c:50
+#: plugins/sudoers/def_data.c:56
#, c-format
msgid "Syslog facility if syslog is being used for logging: %s"
msgstr "Помоћник ÑиÑдневника ако је ÑиÑдневник коришћен за пријављивање: %s"
-#: plugins/sudoers/def_data.c:54
+#: plugins/sudoers/def_data.c:60
#, c-format
msgid "Syslog priority to use when user authenticates successfully: %s"
msgstr "Приоритет ÑиÑтемÑког дневника за коришћење када кориÑник уÑпешно потврди идентитет: %s"
-#: plugins/sudoers/def_data.c:58
+#: plugins/sudoers/def_data.c:64
#, c-format
msgid "Syslog priority to use when user authenticates unsuccessfully: %s"
msgstr "Приоритет ÑиÑтемÑког дневника за коришћење када кориÑник неуÑпешно потврди идентитет: %s"
-#: plugins/sudoers/def_data.c:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "ПоÑтавља ОТП упит на Ñвом реду"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Занемарује . у $ПУТÐЊИ"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Увек шаље пошту када је Ñудо покренут"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Пошаљи поруку ако потврђивање идентитета кориÑника не уÑпе"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
msgstr "Пошаљи поруку ако кориÑник није у ÑудоерÑу"
-#: plugins/sudoers/def_data.c:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr "Пошаљи поруку ако кориÑник није у ÑудоерÑу за овог домаћина"
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr "Пошаљи поруку ако кориÑнику није дозвољено да покрене наредбу"
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
msgid "Send mail if the user tries to run a command"
msgstr "Пошаљи поруку ако кориÑник покуша да покрене наредбу"
-#: plugins/sudoers/def_data.c:94
+#: plugins/sudoers/def_data.c:100
msgid "Use a separate timestamp for each user/tty combo"
msgstr "КориÑти одвојене временÑке ознаке за Ñваку комбинацију кориÑник/конзола"
-#: plugins/sudoers/def_data.c:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "Подучава кориÑника када први пут покрену Ñудо"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Датотека Ñадржи Ñудо обучавања: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Захтева да кориÑници потврде идентитет по оÑнови"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "ÐдминиÑтратор може да покрене Ñудо"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr "Бележи назив домаћина у (не-ÑиÑдневник) датотеци дневника"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "Бележи годину у (не-ÑиÑдневник) датотеци дневника"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
msgid "If sudo is invoked with no arguments, start a shell"
msgstr "Ðко је Ñудо призван без аргумената, покреће шкољку"
-#: plugins/sudoers/def_data.c:126
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
msgstr "Подешава $HOME на крајњег кориÑника када покреће шкољку Ñа „-s“"
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
msgstr "Увек подешава $HOME на циљни лични директоријум кориÑника"
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
msgstr "Дозвољава прикупљање неких података да би дао кориÑне поруке грешака"
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "Захтева потпуно одређене називе домаћина у датотеци ÑудоерÑа"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "Вређа кориÑника када унеÑе нетачну лозинку"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "Дозвољава кориÑнику да покрене Ñудо Ñамо ако има конзолу"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "ВиÑудо ће поштовати променљиву окружења УРЕЂИВÐЧÐ"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "Тражи админиÑтраторову лозинку, а не кориÑника"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "Тражи кориÑникову лозинку покреникао_оÑновни, а не кориÑника"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "Тражи кориÑникову лозинку мете, а не кориÑника"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "Примењује оÑновноÑти у циљни кориÑнички разред пријављивања ако поÑтоји"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Подешава променљиве окружења ÐÐЗИВДÐЕВÐИКРи КОРИСÐИК"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Подешава Ñамо ефективни јиб на крајњег кориÑника, а не Ñтваран јиб"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "Ðе покреће вектор групе ка оном крајњег кориÑника"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "Дужина за преламање редова у датотеци дневника (0 — без преламања): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "Време иÑтека временÑке ознаке потврђивања идентитета: %.1f минута"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "Време иÑтека упита лозинке: %.1f минута"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "Број покушаја за уношење лозинке: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "УмаÑка за коришћење или 0777 за коришћење кориÑника: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Путања до датотеке дневника: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Путања до програма поште: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Опције за програм поште: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "ÐдреÑа на коју поÑлати поруку: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "ÐдреÑа Ñа које поÑлати поруку: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Ред теме за поруке поште: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "Порука нетачне лозинке: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "Путања до директоријума Ñтања обучавања: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "Путања до директоријума временÑке ознаке потврђивања идентитета: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr "ВлаÑник директоријума временÑке ознаке потврђивања идентитета: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr "КориÑницима у овој групи Ñе не захтева лозинка и ПУТÐЊÐ: %s"
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "ОÑновни упит лозинке: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Ðко је подешено, упит лозинке ће препиÑати ÑиÑтемÑки упит у Ñвим Ñлучајевима."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "ОÑновни кориÑник за покретање наредби као: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "ВредноÑÑ‚ за препиÑивање кориÑничке $ПУТÐЊЕ Ñа: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "Путања до уређивача кога ће да кориÑти виÑудо: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "Када да затражи лозинку за пÑеудонаредбу „list“: %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "Када да затражи лозинку за пÑеудонаредбу „verify“: %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "Унапред учитава „sudo_noexec“ библиотеку која мења функцију извршавања"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "Ðко је ЛДÐП директоријум изнет, да ли занемарујемо меÑну датотеку ÑудоерÑа"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "ОпиÑници датотека >= %d ће бити затворени пре извршавања наредбе"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "Ðко је подешено, кориÑници могу да препишу вредноÑÑ‚ „closefrom“ Ñа опцијом „-C“"
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Дозвољава кориÑницима да подеÑе произвољне променљиве окружења"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "Враћа окружење на оÑновни Ñкуп променљивих"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Променљиве окружења за проверу иÑправноÑти:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Променљиве окружења за уклањање:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Променљиве окружења за очување:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "Ð¡Ð•Ð›Ð¸Ð½ÑƒÐºÑ ÑƒÐ»Ð¾Ð³Ð° за употребу у новом контекÑту безбедноÑти: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "Ð¡Ð•Ð›Ð¸Ð½ÑƒÐºÑ Ð²Ñ€Ñта за употребу у новом контекÑту безбедноÑти: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Путања до Ñудо-поÑебне датотеке окружења: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Путања до ограничене Ñудо-поÑебне датотеке окружења: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "Језк за коришћење при обради ÑудоерÑа: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "Дозвољава да Ñудо тражи лозинку чак и ако би била видљива"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "Обезбеђује видну повратну поруку при тражењу лозинке када поÑтоји ÑƒÐ½Ð¾Ñ ÐºÐ¾Ñ€Ð¸Ñника"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "КориÑти брже упоређивање које је мање тачно али не приÑтупа ÑиÑтему датотека"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "УмаÑка наведена у ÑудоерÑима ће препиÑати кориÑникову, чак и ако има већа овлашћења"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "Бележи кориÑников улаз за покренуту наредбу"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
msgid "Log the output of the command being run"
msgstr "Бележи излаз покренуте наредбе"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:360
msgid "Compress I/O logs using zlib"
msgstr "Пакује У/И дневнике кориÑтећи злиб"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:364
msgid "Always run commands in a pseudo-tty"
msgstr "Увек покреће наредбе у привидној конзоли"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:368
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Прикључак за подршку не-ÐˆÑƒÐ½Ð¸ÐºÑ Ð³Ñ€ÑƒÐ¿Ðµ: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:372
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Директоријум за Ñмештај улазних/излазних дневника: %s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:376
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Датотека за Ñмештај улазно/излазног дневника: %s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:380
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Додаје ÑƒÐ½Ð¾Ñ Ñƒ датотеку „utmp/utmpx“ када додељује „pty“"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:384
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Подешава кориÑника у „utmp“-у на кориÑника покрени-као, не призивајући кориÑника"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Скуп допуштених повлаÑтица: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Скуп повлаÑтица ограничења: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:396
msgid "Run commands on a pty in the background"
msgstr "Покреће наредбе у позадини на назовитерминалу"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:400
#, c-format
msgid "PAM service name to use: %s"
msgstr "Ðазив ПÐÐœ уÑлуге за коришћење: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:404
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Ðазив ПÐÐœ уÑлуге за шкољке пријављивања: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Ðазив ПÐÐœ уÑлуге за коришћење када Ñудо ради Ñа опцијом „-A“: %s"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:412
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Покушава да уÑпоÑтави ПÐÐœ пуномоћÑтва за циљног кориÑника"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:416
msgid "Create a new PAM session for the command to run in"
msgstr "Прави нову ПÐÐœ ÑеÑију за покретање наредбе"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:420
msgid "Perform PAM account validation management"
msgstr "Обавља управљање провером ПÐÐœ налога"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Ðајвећи број низа У/И дневника: %s"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:428
msgid "Enable sudoers netgroup support"
msgstr "Укључује подршку нетгрупе ÑудоерÑа"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:432
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "Проверава родитељÑки директоријум за упиÑивошћу када уређује датотеке Ñа „sudoedit“"
-#: plugins/sudoers/def_data.c:430
+#: plugins/sudoers/def_data.c:436
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Прати Ñимболичке везе када уређује датотеке Ñа „sudoedit“"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:440
msgid "Query the group plugin for unknown system groups"
msgstr "Пропитује прикључак групе за непознатим групама ÑиÑтема"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:444
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Упоређује мрежне групе на оÑнову читавог Ñлога: кориÑник, домаћин и домен"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:448
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Допушта покретање наредби чак и ако Ñудо не може да пише у дневник прегледа"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:452
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Допушта покретање наредби чак и ако Ñудо не може да пише у дневник У/И"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:456
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Допушта покретање наредби чак и ако Ñудо не може да пише у датотеку дневника"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:460
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Решава групе у ÑудоерÑима и упоређује ИД групе, а не назив"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:464
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "УноÑи дневника већи од ове вредноÑти биће подељени на више порука ÑиÑтемÑког дневника: %u"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:468
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "КориÑник који ће поÑедовати датотеке дневника У/И: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:472
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Група која ће поÑедовати датотеке дневника У/И: %s"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:476
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Режим датотеке за коришћење за датотеке дневника У/И: 0%o"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:480
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Извршава наредбе опиÑником датотеке умеÑто путањом: %s"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:484
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Занемарује непознате уноÑе оÑновноÑти у ÑудоерÑу умеÑто да даје упозорење"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Време у Ñекундама након ког ће наредба бити окончана: %u"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:492
msgid "Allow the user to specify a timeout on the command line"
msgstr "Допушта кориÑнику да наведе време на линији наредби"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:496
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Пребацује У/И податке дневника на диÑк одмах умеÑто да га Ñмешта у међумеморију"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:500
msgid "Include the process ID when logging via syslog"
msgstr "Укључује ИБ процеÑа приликом пријављивања путем дневника ÑиÑтема"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:504
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Ð’Ñ€Ñта временÑке ознаке потврђивања идентитета: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Authentication failure message: %s"
msgstr "Потврђивање идентитета није уÑпело: %s"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:512
msgid "Ignore case when matching user names"
msgstr "Занемарује величину Ñлова приликом поклапања назива кориÑника"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:516
msgid "Ignore case when matching group names"
msgstr "Занемарује величину Ñлова приликом поклапања назива групе"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:520
msgid "Log when a command is allowed by sudoers"
msgstr "Пише дневник када ÑудоерÑи дозвољавају наредбу"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:524
msgid "Log when a command is denied by sudoers"
msgstr "Пише дневник када ÑудоерÑи не дозвољавају наредбу"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:528
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Судо Ñервер(и) дневника за повезивање Ñа изборним прикључником"
-#: plugins/sudoers/def_data.c:526
+#: plugins/sudoers/def_data.c:532
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Време иÑтека Ñудо Ñервера дневника у Ñекундама: %u"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:536
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Укључује „SO_KEEPALIVE“ опцију прикључнице Ñа повезаном прикључницом Ñа Ñервером дневника"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:540
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Путања до датотеке групних издавача уверења Ñервера иÑпитивања: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:544
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Путања до датотеке уверења ÑудоерÑа: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:548
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Путања до датотеке датотеке личног кључа ÑудоерÑа: %s"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:552
msgid "Verify that the log server's certificate is valid"
msgstr "Потврђује да је иÑправно уверење дневника Ñервера"
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:556
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Допушта коришћење непознатог „runas“ кориÑника и/или ИБ-а групе"
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:560
msgid "Only permit running commands as a user with a valid shell"
msgstr "Допушта покретање наредби као кориÑник Ñамо Ñа иÑправном шкољком"
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:564
msgid "Set the pam remote user to the user running sudo"
msgstr "ПоÑтавља пам удаљеног кориÑника на кориÑника покретача Ñудо-а"
-#: plugins/sudoers/def_data.c:562
+#: plugins/sudoers/def_data.c:568
msgid "Set the pam remote host to the local host name"
msgstr "ПоÑтавља пам удаљеног домаћина на назив локалног домаћина"
-#: plugins/sudoers/def_data.c:566
+#: plugins/sudoers/def_data.c:572
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Радни директоријум за прелазак пре извршавања наредбе: %s"
-#: plugins/sudoers/def_data.c:570
+#: plugins/sudoers/def_data.c:576
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Корени директоријум за прелазак пре извршавања наредбе: %s"
-#: plugins/sudoers/def_data.c:574
+#: plugins/sudoers/def_data.c:580
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Формат резултирајућих дневника: %s"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:584
msgid "Enable SELinux RBAC support"
msgstr "Укључује Ð¡Ð•Ð›Ð¸Ð½ÑƒÐºÑ Ð Ð‘ÐЦ подршку"
-#: plugins/sudoers/def_data.c:582
+#: plugins/sudoers/def_data.c:588
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Путања до датотеке која је Ñтворена приликом првог покретања Ñудоа: %s"
-#: plugins/sudoers/def_data.c:586
+#: plugins/sudoers/def_data.c:592
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "ПреÑреће будуће наредбе и примењује „sudoers“ ограничења на њима"
-#: plugins/sudoers/def_data.c:590
+#: plugins/sudoers/def_data.c:596
msgid "Log sub-commands run by the original command"
msgstr "Бележи поднаредбе које покрене изворна наредба"
-#: plugins/sudoers/def_data.c:594
+#: plugins/sudoers/def_data.c:600
msgid "Log the exit status of commands"
msgstr "Бележи Ñтање излаза наредбе"
-#: plugins/sudoers/def_data.c:598
+#: plugins/sudoers/def_data.c:604
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Ðаредне наредбе у преÑретнутој ÑеÑији морају бити аутентификоване"
-#: plugins/sudoers/def_data.c:602
+#: plugins/sudoers/def_data.c:608
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Омогућава преÑретнутој наредби да покрене поÑтавку „setuid“ или „setgid“ програма"
-#: plugins/sudoers/def_data.c:606
+#: plugins/sudoers/def_data.c:612
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "Ðајвећа величина до које може да нараÑте адреÑни проÑтор процеÑа (у бајтовима): %s"
-#: plugins/sudoers/def_data.c:610
+#: plugins/sudoers/def_data.c:616
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Ðајвећа величина избачаја датотеке језгра која Ñе може направити (у бајтовима): %s"
-#: plugins/sudoers/def_data.c:614
+#: plugins/sudoers/def_data.c:620
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "Ðајвећа количина времена процеÑора које Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ да кориÑти (у Ñекундама): %s"
-#: plugins/sudoers/def_data.c:618
+#: plugins/sudoers/def_data.c:624
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "Ðајвећа величина Ñегмента података за Ð¿Ñ€Ð¾Ñ†ÐµÑ (у бајтовима): %s"
-#: plugins/sudoers/def_data.c:622
+#: plugins/sudoers/def_data.c:628
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Ðајвећа величина датотеке коју Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ да направи (у бајтовима): %s"
-#: plugins/sudoers/def_data.c:626
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "Ðајвећи број закључавања која Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ да уÑпоÑтави: %s"
-#: plugins/sudoers/def_data.c:630
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "Ðајвећа величина коју Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ да закључа у меморији (у бајтовима): %s"
-#: plugins/sudoers/def_data.c:634
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "Ðајвећи број датотека које Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ да отвори: %s"
-#: plugins/sudoers/def_data.c:638
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "Ðајвећи број процеÑа које кориÑник може да покрене иÑтовремено: %s"
-#: plugins/sudoers/def_data.c:642
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "Ðајвећа величина до које може да нараÑте резидентна величина Ñкупа процеÑа (у бајтовима): %s"
-#: plugins/sudoers/def_data.c:646
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "Ðајвећа величина до које може да нараÑте Ñпремник процеÑа (у бајтовима): %s"
-#: plugins/sudoers/def_data.c:650
+#: plugins/sudoers/def_data.c:656
msgid "Attempt authentication even when in non-interactive mode"
msgstr "Покушава потврђивање идентитета чак и када није у не-међудејÑтвеном режиму"
-#: plugins/sudoers/def_data.c:654
+#: plugins/sudoers/def_data.c:660
msgid "Store plaintext passwords in I/O log input"
msgstr "Смешта обично-текÑтуалне лозинке у У/И улаз дневника"
-#: plugins/sudoers/def_data.c:658
+#: plugins/sudoers/def_data.c:664
msgid "List of regular expressions to use when matching a password prompt"
msgstr "СпиÑак регуларних израза за коришћење приликом поређења упита лозинке"
-#: plugins/sudoers/defaults.c:193
-#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: непознат ÑƒÐ½Ð¾Ñ Ð¾ÑновноÑти „%s“"
-
-#: plugins/sudoers/defaults.c:242
-#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: није наведена вредноÑÑ‚ за „%s“"
-
-#: plugins/sudoers/defaults.c:245
-#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: није наведена вредноÑÑ‚ за „%s“"
-
-#: plugins/sudoers/defaults.c:258
-#, c-format
-msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
-msgstr "%s:%d:%d: неиÑправан оператор „%c=“ за „%s“"
-
-#: plugins/sudoers/defaults.c:261
-#, c-format
-msgid "%s: invalid operator \"%c=\" for \"%s\""
-msgstr "%s: неиÑправан оператор „%c=“ за „%s“"
-
-#: plugins/sudoers/defaults.c:297
+#: plugins/sudoers/def_data.c:668
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: опција „%s“ не узима вредноÑÑ‚"
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
+msgstr "Механизам који кориÑте опције „intercept“ и „log_subcmds“: %s"
-#: plugins/sudoers/defaults.c:300
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: опција „%s“ не узима вредноÑÑ‚"
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "ÐпÐрмор профил за коришћење у новом контекÑту безбедноÑти: %s"
-#: plugins/sudoers/defaults.c:328
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: неиÑправна врÑта оÑновноÑти 0x%x за опцију „%s“"
+msgid "unknown defaults entry \"%s\""
+msgstr "непознат ÑƒÐ½Ð¾Ñ Ð¾ÑновноÑти „%s“"
-#: plugins/sudoers/defaults.c:331
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: неиÑправна врÑта оÑновноÑти 0x%x за опцију „%s“"
+msgid "no value specified for \"%s\""
+msgstr "није наведена вредноÑÑ‚ за „%s“"
-#: plugins/sudoers/defaults.c:341
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: вредноÑÑ‚ „%s“ је неиÑправна за опцију „%s“"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "неиÑправан оператор „%c=“ за „%s“"
-#: plugins/sudoers/defaults.c:344
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: вредноÑÑ‚ „%s“ је неиÑправна за опцију „%s“"
+msgid "option \"%s\" does not take a value"
+msgstr "опција „%s“ не узима вредноÑÑ‚"
-#: plugins/sudoers/defaults.c:1161
+#: plugins/sudoers/defaults.c:299
#, c-format
-msgid "%s:%d:%d: path name for \"%s\" too long"
-msgstr "%s:%d:%d: назив путање за „%s“ је предуг"
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "неиÑправна врÑта оÑновноÑти 0x%x за опцију „%s“"
-#: plugins/sudoers/defaults.c:1164
+#: plugins/sudoers/defaults.c:306
#, c-format
-msgid "%s: path name for \"%s\" too long"
-msgstr "%s: назив путање за „%s“ је предуг"
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "вредноÑÑ‚ „%s“ је неиÑправна за опцију „%s“"
-#: plugins/sudoers/defaults.c:1175
+#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
+#: plugins/sudoers/policy.c:216
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: вредноÑÑ‚ за „%s“ мора да почиње Ñа /, ~ или *"
-
-#: plugins/sudoers/defaults.c:1179
-#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: вредноÑÑ‚ за „%s“ мора да почиње Ñа /, ~ или *"
+msgid "path name for \"%s\" too long"
+msgstr "назив путање за „%s“ је предуг"
-#: plugins/sudoers/defaults.c:1190
+#: plugins/sudoers/defaults.c:1133
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: вредноÑÑ‚ за „%s“ мора да почиње Ñа /"
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "вредноÑÑ‚ за „%s“ мора да почиње Ñа /, ~ или *"
-#: plugins/sudoers/defaults.c:1194
+#: plugins/sudoers/defaults.c:1140
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: вредноÑÑ‚ за „%s“ мора да почиње /"
+msgid "values for \"%s\" must start with a '/'"
+msgstr "вредноÑÑ‚ за „%s“ мора да почне /"
#: plugins/sudoers/env.c:412
msgid "sudo_putenv: corrupted envp, length mismatch"
@@ -2613,16 +2581,6 @@ msgstr "не могу поново да изградим окружење"
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "извините, није вам дозвољено да подеÑите Ñледеће променљиве окружења: %s"
-#: plugins/sudoers/file.c:108
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "грешка обраде у %s близу реда %d"
-
-#: plugins/sudoers/file.c:111
-#, c-format
-msgid "parse error in %s"
-msgstr "грешка обраде у %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2672,37 +2630,37 @@ msgstr "не могу да обрадим мрежну маÑку „%s“"
msgid "Local IP address and netmask pairs:\n"
msgstr "МеÑна ИП адреÑа и парови мрежне маÑке:\n"
-#: plugins/sudoers/iolog.c:681
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "не могу да оÑвежим датотеку низа"
-#: plugins/sudoers/iolog.c:715 plugins/sudoers/iolog.c:903
-#: plugins/sudoers/iolog.c:1065 plugins/sudoers/iolog.c:1072
-#: plugins/sudoers/iolog.c:1193 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/iolog.c:1299 plugins/sudoers/iolog.c:1306
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
+#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
+#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
+#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "не могу да пишем у датотеку дневника У/И: %s"
-#: plugins/sudoers/iolog.c:723
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "не могу да направим „%s/%s“"
-#: plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:955
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: унутрашња грешка, датотека У/И дневника за догађај %d није отворена"
-#: plugins/sudoers/iolog.c:1050 plugins/sudoers/iolog.c:1178
-#: plugins/sudoers/iolog.c:1283 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:510
-#: plugins/sudoers/visudo.c:516
+#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
+#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
+#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
+#: plugins/sudoers/visudo.c:552
msgid "unable to read the clock"
msgstr "не могу да прочитам Ñат"
-#: plugins/sudoers/iolog.c:1275 plugins/sudoers/log_client.c:1221
-#: plugins/sudoers/log_client.c:1231 plugins/sudoers/log_client.c:1235
+#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
+#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: унутрашња грешка, неиÑправан Ñигнал %d"
@@ -2721,16 +2679,16 @@ msgstr "не могу да покренем ССЛ уверење и бп кљу
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "морате да подеÑите „TLS_CERT“ у „%s“ да кориÑтите ССЛ"
-#: plugins/sudoers/ldap.c:1717
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "не могу да покренем ЛДÐП: %s"
-#: plugins/sudoers/ldap.c:1754
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "„start_tls“ је наведено али ЛДÐП библиотеке не подржавају „ldap_start_tls_s()“ или „ldap_start_tls_s_np()“"
-#: plugins/sudoers/ldap.c:1891 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "неиÑправна оÑобина „sudoOrder“: %s"
@@ -2770,8 +2728,8 @@ msgstr "не могу да отворим ÑиÑтем прегледа"
msgid "unable to send audit message"
msgstr "не могу да пошаљем поруку прегледа"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:400
-#: plugins/sudoers/log_client.c:1468 plugins/sudoers/log_client.c:2069
+#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
+#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
msgid "error in event loop"
msgstr "грешка у петљи догађаја"
@@ -2780,101 +2738,101 @@ msgstr "грешка у петљи догађаја"
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Стварање новог „SSL_CTX“ објекта није уÑпело: %s"
-#: plugins/sudoers/log_client.c:223
+#: plugins/sudoers/log_client.c:225
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "не могу да учитам комплет ауторитета уверења „%s“"
-#: plugins/sudoers/log_client.c:243
+#: plugins/sudoers/log_client.c:247
#, c-format
msgid "unable to load certificate %s"
msgstr "не могу да учитам уверење „%s“"
-#: plugins/sudoers/log_client.c:256
+#: plugins/sudoers/log_client.c:261
#, c-format
msgid "unable to load private key %s"
msgstr "не могу да учитам лични кључ „%s“"
-#: plugins/sudoers/log_client.c:265
+#: plugins/sudoers/log_client.c:270
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Ðе могу да доделим ÑÑл објекат: %s"
-#: plugins/sudoers/log_client.c:353 plugins/sudoers/log_client.c:358
+#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "ТЛС повезивање Ñа „%s:%s“ није уÑпело: %s"
-#: plugins/sudoers/log_client.c:531
+#: plugins/sudoers/log_client.c:538
msgid "TLS initialization was unsuccessful"
msgstr "ТЛС покретање беше безуÑпешно"
-#: plugins/sudoers/log_client.c:541
+#: plugins/sudoers/log_client.c:548
msgid "TLS handshake was unsuccessful"
msgstr "ТЛС руковање беше безуÑпешно"
-#: plugins/sudoers/log_client.c:1239
+#: plugins/sudoers/log_client.c:1246
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: унутрашња грешка, неиÑправно излазно Ñтање %d"
-#: plugins/sudoers/log_client.c:1608
-msgid "unable to unpack ServerMessage"
-msgstr "не могу да отпакујем „Поруку_Ñервера“"
-
-#: plugins/sudoers/log_client.c:1763 plugins/sudoers/log_client.c:1787
+#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
msgid "lost connection to log server"
msgstr "изгубих везу Ñа Ñервером дневника"
-#: plugins/sudoers/log_client.c:1864
+#: plugins/sudoers/log_client.c:1876
msgid "missing write buffer"
msgstr "недоÑтаје међумеморија пиÑања"
-#: plugins/sudoers/log_client.c:2010
+#: plugins/sudoers/log_client.c:2024
msgid "unable to connect to log server"
msgstr "не могу да Ñе повежем на Ñервер дневника"
-#: plugins/sudoers/logging.c:288
+#: plugins/sudoers/logging.c:298
msgid "user NOT in sudoers"
msgstr "кориÑник ÐИЈЕ у ÑудоерÑу"
-#: plugins/sudoers/logging.c:290
+#: plugins/sudoers/logging.c:300
msgid "user NOT authorized on host"
msgstr "кориÑник ÐИЈЕ овлашћен на домаћину"
-#: plugins/sudoers/logging.c:292
+#: plugins/sudoers/logging.c:302
msgid "command not allowed"
msgstr "наредба није допуштена"
-#: plugins/sudoers/logging.c:313
+#: plugins/sudoers/logging.c:323
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "„%s“ није у датотеци ÑудоерÑа.\n"
-#: plugins/sudoers/logging.c:316
+#: plugins/sudoers/logging.c:326
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "КориÑнику „%s“ није допуштено да покрене Ñудо на „%s“.\n"
-#: plugins/sudoers/logging.c:319
+#: plugins/sudoers/logging.c:329
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Извините, кориÑник %s не може покренути Ñудо на %s.\n"
-#: plugins/sudoers/logging.c:322
+#: plugins/sudoers/logging.c:332
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Извините, кориÑнику %s није дозвољено да изврши „%s%s%s“ као %s%s%s на %s.\n"
-#: plugins/sudoers/logging.c:359 plugins/sudoers/sudoers.c:629
-#: plugins/sudoers/sudoers.c:631 plugins/sudoers/sudoers.c:633
-#: plugins/sudoers/sudoers.c:635 plugins/sudoers/sudoers.c:785
-#: plugins/sudoers/sudoers.c:787
+#: plugins/sudoers/logging.c:342
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Овај инцидент је пријављен админиÑтратору.\n"
+
+#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
+#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
+#: plugins/sudoers/sudoers.c:801
#, c-format
msgid "%s: command not found"
msgstr "%s: нема такве наредбе"
-#: plugins/sudoers/logging.c:361 plugins/sudoers/sudoers.c:625
+#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2883,7 +2841,7 @@ msgstr ""
"занемарујем „%s“ пронађено у „.“\n"
"КориÑтите „sudo ./%s“ ако је то „%s“ које желите да покренете."
-#: plugins/sudoers/logging.c:380
+#: plugins/sudoers/logging.c:395
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2891,33 +2849,39 @@ msgstr[0] "%u покушај нетачне лозинке"
msgstr[1] "%u покушаја нетачне лозинке"
msgstr[2] "%u покушаја нетачне лозинке"
-#: plugins/sudoers/logging.c:436
+#: plugins/sudoers/logging.c:485
msgid "authentication failure"
msgstr "потврђивање идентитета није уÑпело"
-#: plugins/sudoers/logging.c:476 plugins/sudoers/logging.c:496
+#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
msgid "a password is required"
msgstr "потребна је лозинка"
-#: plugins/sudoers/logging.c:890
+#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+msgid "problem parsing sudoers"
+msgstr "проблем обраде ÑудоерÑа"
+
+#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
+
+#: plugins/sudoers/logging.c:1068
#, c-format
msgid "unable to write log file: %s"
msgstr "не могу да запишем датотеку дневника: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "приказ за „%s“ (%s) је лоше дужине %zu, очекивах %zu"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "приказ за %s (%s) није у %s облику"
-#: plugins/sudoers/parse.c:233
-msgid "SELinux RBAC is not supported when intercept mode is enabled"
-msgstr "„SELinux RBAC“ није подржано када је укључен режим преÑретања"
-
-#: plugins/sudoers/parse.c:238
-msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
-msgstr "„SELinux RBAC“ није подржано када је укључена заÑтавица „log_subcmds“"
-
-#: plugins/sudoers/parse.c:549
+#: plugins/sudoers/parse.c:585
#, c-format
msgid ""
"\n"
@@ -2926,7 +2890,7 @@ msgstr ""
"\n"
"ЛДÐП улога: %s\n"
-#: plugins/sudoers/parse.c:552
+#: plugins/sudoers/parse.c:588
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2934,38 +2898,38 @@ msgstr ""
"\n"
"Ð£Ð½Ð¾Ñ ÑудоерÑа:\n"
-#: plugins/sudoers/parse.c:554
+#: plugins/sudoers/parse.c:590
msgid " RunAsUsers: "
msgstr " „Покрени-као“ кориÑници: "
-#: plugins/sudoers/parse.c:569
+#: plugins/sudoers/parse.c:605
msgid " RunAsGroups: "
msgstr " „Покрени-као“ групе: "
-#: plugins/sudoers/parse.c:579
+#: plugins/sudoers/parse.c:615
msgid " Options: "
msgstr " Опције: "
-#: plugins/sudoers/parse.c:643
+#: plugins/sudoers/parse.c:679
msgid " Commands:\n"
msgstr " Ðаредбе:\n"
-#: plugins/sudoers/parse.c:834
+#: plugins/sudoers/parse.c:870
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Упоређује уноÑе оÑновноÑти за „%s“ на %s:\n"
-#: plugins/sudoers/parse.c:852
+#: plugins/sudoers/parse.c:888
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Покрени-као и Ðаредбено-поÑебне оÑновноÑти за „%s“:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:906
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "КориÑник „%s“ може да покреће Ñледеће наредбе на %s:\n"
-#: plugins/sudoers/parse.c:885
+#: plugins/sudoers/parse.c:921
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "КориÑник „%s“ нема права да покрене Ñудо над „%s“.\n"
@@ -2985,64 +2949,59 @@ msgstr "неиÑправна оÑобина „LDIF“: %s"
msgid "invalid %.*s set by sudo front-end"
msgstr "Ñудо челник је поÑтавио неиÑправну „%.*s“"
-#: plugins/sudoers/policy.c:206 plugins/sudoers/policy.c:215
-#, c-format
-msgid "path name for \"%s\" too long"
-msgstr "назив путање за „%s“ је предуг"
-
-#: plugins/sudoers/policy.c:328 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "не могу да обрадим ÑпиÑак адреÑа мреже"
-#: plugins/sudoers/policy.c:485
+#: plugins/sudoers/policy.c:508
msgid "user name not set by sudo front-end"
msgstr "Ñудо челник није поÑтавио име кориÑника"
-#: plugins/sudoers/policy.c:489
+#: plugins/sudoers/policy.c:512
msgid "user-ID not set by sudo front-end"
msgstr "Ñудо челник није поÑтавио ИБ кориÑника"
-#: plugins/sudoers/policy.c:493
+#: plugins/sudoers/policy.c:516
msgid "group-ID not set by sudo front-end"
msgstr "Ñудо челник није поÑтавио ИБ групе"
-#: plugins/sudoers/policy.c:497
+#: plugins/sudoers/policy.c:520
msgid "host name not set by sudo front-end"
msgstr "Ñудо челник није поÑтавио назив домаћина"
-#: plugins/sudoers/policy.c:670
+#: plugins/sudoers/policy.c:706
#, c-format
msgid "invalid working directory: %s"
msgstr "неиÑправан радни директоријум: %s"
-#: plugins/sudoers/policy.c:846
+#: plugins/sudoers/policy.c:886
#, c-format
msgid "invalid chroot directory: %s"
msgstr "неиÑправан „chroot“ директоријум: %s"
-#: plugins/sudoers/policy.c:1025 plugins/sudoers/visudo.c:243
-#: plugins/sudoers/visudo.c:880
+#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
+#: plugins/sudoers/visudo.c:896
#, c-format
msgid "unable to execute %s"
msgstr "не могу да извршим „%s“"
-#: plugins/sudoers/policy.c:1095 plugins/sudoers/policy.c:1132
-#: plugins/sudoers/policy.c:1154 plugins/sudoers/policy.c:1180
+#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
+#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: неиÑправне заÑтавице од Ñудо челника: 0×%x"
-#: plugins/sudoers/policy.c:1211
+#: plugins/sudoers/policy.c:1262
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Издање %s прикључка политике ÑудоерÑа\n"
-#: plugins/sudoers/policy.c:1213
+#: plugins/sudoers/policy.c:1264
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Граматика датотеке ÑудоерÑа издање %d\n"
-#: plugins/sudoers/policy.c:1217
+#: plugins/sudoers/policy.c:1268
#, c-format
msgid ""
"\n"
@@ -3051,27 +3010,27 @@ msgstr ""
"\n"
"Путања ÑудоерÑа: %s\n"
-#: plugins/sudoers/policy.c:1220
+#: plugins/sudoers/policy.c:1271
#, c-format
msgid "nsswitch path: %s\n"
msgstr "путања нÑ-прекидача: %s\n"
-#: plugins/sudoers/policy.c:1222
+#: plugins/sudoers/policy.c:1273
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "путања лдап.подешавања: %s\n"
-#: plugins/sudoers/policy.c:1223
+#: plugins/sudoers/policy.c:1274
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "путања лдап.тајне: %s\n"
-#: plugins/sudoers/policy.c:1256
+#: plugins/sudoers/policy.c:1307
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "немогу да региÑтрујем прикачку врÑте „%d“ (издање %d.%d)"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1325
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "немогу да поништим региÑтровање прикачке врÑте „%d“ (издање %d.%d)"
@@ -3210,149 +3169,148 @@ msgstr "не могу да покренем ССС извор. Да ли је С
msgid "unable to find symbol \"%s\" in %s"
msgstr "не могу да нађем Ñимбол „%s“ у „%s“"
-#: plugins/sudoers/sudoers.c:166 plugins/sudoers/sudoers.c:174
-#: plugins/sudoers/sudoers.c:228 plugins/sudoers/sudoers.c:249
-#: plugins/sudoers/sudoers.c:1049
-msgid "problem with defaults entries"
-msgstr "неприлике Ñа оÑновним уноÑима"
+#: plugins/sudoers/sudoers.c:258
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "не могу да добавим оÑновноÑти за „%s“"
-#: plugins/sudoers/sudoers.c:253
+#: plugins/sudoers/sudoers.c:265
msgid "no valid sudoers sources found, quitting"
msgstr "ниÑам пронашао иÑправне изворе ÑудоерÑа, прекидам"
-#: plugins/sudoers/sudoers.c:327
+#: plugins/sudoers/sudoers.c:341
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "кориÑнику није дозвољено да промени корени директоријум у „%s“"
-#: plugins/sudoers/sudoers.c:329
+#: plugins/sudoers/sudoers.c:343
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "није вам допуштено да кориÑтите опцију „-R“ Ñа „%s“"
-#: plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:368
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "кориÑнику није дозвољено да промени директоријум у „%s“"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:369
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "није вам допуштено да кориÑтите опцију „-D“ Ñа „%s“"
-#: plugins/sudoers/sudoers.c:382
+#: plugins/sudoers/sudoers.c:396
msgid "no command specified"
msgstr "није наведена наредба"
-#: plugins/sudoers/sudoers.c:407
+#: plugins/sudoers/sudoers.c:421
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "ÑудоерÑи наводе да админиÑтратор није дозвољен у Ñудоу"
-#: plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:471
msgid "user not allowed to override closefrom limit"
msgstr "кориÑнику није дозвољено да препише „closefrom“ ограничење"
-#: plugins/sudoers/sudoers.c:458
+#: plugins/sudoers/sudoers.c:472
msgid "you are not permitted to use the -C option"
msgstr "није вам допуштено да кориÑтите опцију „-C“"
-#: plugins/sudoers/sudoers.c:518
+#: plugins/sudoers/sudoers.c:532
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "влаÑник временÑке ознаке (%s): нема таквог кориÑника"
-#: plugins/sudoers/sudoers.c:533
+#: plugins/sudoers/sudoers.c:547
msgid "no tty"
msgstr "нема конзоле"
-#: plugins/sudoers/sudoers.c:534
+#: plugins/sudoers/sudoers.c:548
msgid "sorry, you must have a tty to run sudo"
msgstr "извините, морате имати конзолу да покренете Ñудо"
-#: plugins/sudoers/sudoers.c:541
+#: plugins/sudoers/sudoers.c:555
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "неиÑправна шкољка за кориÑника „%s“: %s"
-#: plugins/sudoers/sudoers.c:624
+#: plugins/sudoers/sudoers.c:638
msgid "command in current directory"
msgstr "наредба у текућем директоријуму"
-#: plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/sudoers.c:653
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "„cd“ је уграђена наредба шкољке, не може бити покренута директно."
-#: plugins/sudoers/sudoers.c:641
+#: plugins/sudoers/sudoers.c:655
msgid "the -s option may be used to run a privileged shell."
msgstr "опција „-s“ Ñе може кориÑтити за покретање привилеговане шкољке."
-#: plugins/sudoers/sudoers.c:643
+#: plugins/sudoers/sudoers.c:657
msgid "the -D option may be used to run a command in a specific directory."
msgstr "опција „-D“ Ñе може кориÑтити за покретање наредбе у Ñпецифичном директоријуму."
-#: plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:666
msgid "user not allowed to set a command timeout"
msgstr "кориÑнику није дозвољено да подеÑи време иÑтека наредбе"
-#: plugins/sudoers/sudoers.c:654
+#: plugins/sudoers/sudoers.c:668
msgid "sorry, you are not allowed set a command timeout"
msgstr "извините, није вам дозвољено да подеÑите време иÑтека наредбе"
-#: plugins/sudoers/sudoers.c:662
+#: plugins/sudoers/sudoers.c:676
msgid "user not allowed to preserve the environment"
msgstr "кориÑнику није дозвољено да Ñачува окружење"
-#: plugins/sudoers/sudoers.c:664
+#: plugins/sudoers/sudoers.c:678
msgid "sorry, you are not allowed to preserve the environment"
msgstr "извините, није вам дозвољено да Ñачувате окружење"
-#: plugins/sudoers/sudoers.c:1037
+#: plugins/sudoers/sudoers.c:1053
msgid "sudoedit doesn't need to be run via sudo"
msgstr "„sudoedit“ не треба да Ñе покреће путем „sudo“-а"
-#: plugins/sudoers/sudoers.c:1096 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "не могу да прочитам „%s“"
-#: plugins/sudoers/sudoers.c:1121 plugins/sudoers/visudo.c:449
-#: plugins/sudoers/visudo.c:748
+#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
+#: plugins/sudoers/visudo.c:764
#, c-format
msgid "unable to stat %s"
msgstr "не могу да добијем податке о „%s“"
-#: plugins/sudoers/sudoers.c:1125 plugins/sudoers/visudo.c:1045
+#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
#, c-format
msgid "%s is not a regular file"
msgstr "„%s“ није обична датотека"
-#: plugins/sudoers/sudoers.c:1129 plugins/sudoers/timestamp.c:252 toke.l:1239
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s је у влаÑништву уиб-а %u, а треба бити %u"
-#: plugins/sudoers/sudoers.c:1133 toke.l:1244
+#: plugins/sudoers/sudoers.c:1147 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "Сви могу да пишу у „%s“"
-#: plugins/sudoers/sudoers.c:1137 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s је у влаÑништву уиб-а %u, а треба бити %u"
-#: plugins/sudoers/sudoers.c:1170
+#: plugins/sudoers/sudoers.c:1184
#, c-format
msgid "only root can use \"-c %s\""
msgstr "Ñамо админиÑтратор може да кориÑти „-c %s“"
-#: plugins/sudoers/sudoers.c:1189
+#: plugins/sudoers/sudoers.c:1203
#, c-format
msgid "unknown login class %s"
msgstr "непознат разред пријављивања „%s“"
-#: plugins/sudoers/sudoers.c:1275 plugins/sudoers/sudoers.c:1290
+#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
#, c-format
msgid "unable to resolve host %s"
msgstr "не могу да решим домаћина „%s“"
@@ -3558,99 +3516,94 @@ msgstr "путања Ñтања обучавања је предуга: %s/%s"
msgid "sudoedit should not be specified with a path"
msgstr "„sudoedit“ не треба да Ñе наводи Ñа путањом"
-#: plugins/sudoers/visudo.c:238
+#: plugins/sudoers/visudo.c:249
msgid "the -x option will be removed in a future release"
msgstr "опција „-x“ биће уклоњена у наредном издању"
-#: plugins/sudoers/visudo.c:240
+#: plugins/sudoers/visudo.c:251
msgid "please consider using the cvtsudoers utility instead"
msgstr "размотрите коришћење помагала „cvtsudoers“"
-#: plugins/sudoers/visudo.c:292 plugins/sudoers/visudo.c:676
+#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
#, c-format
msgid "press return to edit %s: "
msgstr "притиÑните „унеÑи“ да уредите „%s“: "
-#: plugins/sudoers/visudo.c:307
+#: plugins/sudoers/visudo.c:321
#, c-format
msgid "contents of edit session left in %s"
msgstr "Ñадржај ÑеÑије уређивања је оÑтао у „%s“"
-#: plugins/sudoers/visudo.c:361
+#: plugins/sudoers/visudo.c:397
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "наведени уређивач (%s) не поÑтоји"
-#: plugins/sudoers/visudo.c:363
+#: plugins/sudoers/visudo.c:399
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "ниÑам пронашао уређивача (путања уређивача = %s)"
-#: plugins/sudoers/visudo.c:469 plugins/sudoers/visudo.c:477
+#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
msgid "write error"
msgstr "грешка пиÑања"
-#: plugins/sudoers/visudo.c:523
+#: plugins/sudoers/visudo.c:559
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "не могу да добавим податке привремене датотеке (%s), %s је неизмењено"
-#: plugins/sudoers/visudo.c:530
+#: plugins/sudoers/visudo.c:566
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "привремена датотека нулте дужине (%s), %s је неизмењено"
-#: plugins/sudoers/visudo.c:536
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "уређивач (%s) није уÑпео, %s је неизмењено"
-#: plugins/sudoers/visudo.c:558
+#: plugins/sudoers/visudo.c:594
#, c-format
msgid "%s unchanged"
msgstr "„%s“ је неизмењено"
-#: plugins/sudoers/visudo.c:615
+#: plugins/sudoers/visudo.c:639
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "не могу поново да отворим привремену датотеку (%s), %s је неизмењено."
-#: plugins/sudoers/visudo.c:627
+#: plugins/sudoers/visudo.c:652
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "не могу да обрадим привремену датотеку (%s), непозната грешка"
-#: plugins/sudoers/visudo.c:665
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "унутрашња грешка, не могу да пронађем „%s“ на ÑпиÑку!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:752
-#: plugins/sudoers/visudo.c:759
+#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
+#: plugins/sudoers/visudo.c:775
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "не могу да подеÑим (јиб, гиб) за %s на (%u, %u)"
-#: plugins/sudoers/visudo.c:787
+#: plugins/sudoers/visudo.c:803
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "„%s“ и „%s“ ниÑу на иÑтом ÑиÑтему датотека, кориÑтим „mv“ за преименовање"
-#: plugins/sudoers/visudo.c:798
+#: plugins/sudoers/visudo.c:814
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "наредба није уÑпела: „%s %s %s“, %s је неизмењено"
-#: plugins/sudoers/visudo.c:805
+#: plugins/sudoers/visudo.c:821
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "грешка преименовања „%s“, %s је неизмењено"
-#: plugins/sudoers/visudo.c:825
+#: plugins/sudoers/visudo.c:841
msgid "What now? "
msgstr "Шта Ñада? "
-#: plugins/sudoers/visudo.c:839
+#: plugins/sudoers/visudo.c:855
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3662,41 +3615,41 @@ msgstr ""
" x — излази без чувања измена у датотеци ÑудоерÑа\n"
" Q — прекида и чува измене у датотеци ÑудоерÑа (ОПÐСÐО!)\n"
-#: plugins/sudoers/visudo.c:885
+#: plugins/sudoers/visudo.c:901
#, c-format
msgid "unable to run %s"
msgstr "не могу да покренем %s"
-#: plugins/sudoers/visudo.c:916
+#: plugins/sudoers/visudo.c:932
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: погрешан влаÑник (јиб, гиб) треба бити (%u, %u)\n"
-#: plugins/sudoers/visudo.c:927
+#: plugins/sudoers/visudo.c:943
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: лоша овлашћења, требају бити у режиму 0%o\n"
-#: plugins/sudoers/visudo.c:978 plugins/sudoers/visudo.c:985
+#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: уÑпешно је обрађено\n"
-#: plugins/sudoers/visudo.c:1004
+#: plugins/sudoers/visudo.c:1017
#, c-format
msgid "%s busy, try again later"
msgstr "„%s“ је заузет, покушајте каÑније"
-#: plugins/sudoers/visudo.c:1008
+#: plugins/sudoers/visudo.c:1021
msgid "Edit anyway? [y/N]"
msgstr "Да ипак уреим? [д/Ð]"
-#: plugins/sudoers/visudo.c:1104
+#: plugins/sudoers/visudo.c:1117
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Упозорење: %s:%d:%d: некоришћено „%s“ „%s“"
-#: plugins/sudoers/visudo.c:1220
+#: plugins/sudoers/visudo.c:1229
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3705,7 +3658,7 @@ msgstr ""
"%s — безбедно уређује датотеку ÑудоерÑа\n"
"\n"
-#: plugins/sudoers/visudo.c:1222
+#: plugins/sudoers/visudo.c:1231
msgid ""
"\n"
"Options:\n"
@@ -3749,14 +3702,77 @@ msgstr "неиÑправан наÑтавак реда"
msgid "invalid IPv6 address"
msgstr "неиÑправна ИПв6 адреÑа"
-#: toke.l:860
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "неочекивани прекид реда у ниÑци"
-#: toke.l:1210
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "превише нивоа укључивања"
+#~ msgid "Error: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Грешка: %s:%d:%d: Ñ†Ð¸ÐºÐ»ÑƒÑ Ñƒ „%s“ „%s“"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Упозорење: %s:%d:%d: Ñ†Ð¸ÐºÐ»ÑƒÑ Ñƒ „%s“ „%s“"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "Упозорење: %s:%d:%d: упута за „%s“ „%s“ поÑтоји али није одређена"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "грешка обраде у %s близу реда %d\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "грешка обраде у %s\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: непознат ÑƒÐ½Ð¾Ñ Ð¾ÑновноÑти „%s“"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d: није наведена вредноÑÑ‚ за „%s“"
+
+#~ msgid "%s:%d:%d: invalid operator \"%c=\" for \"%s\""
+#~ msgstr "%s:%d:%d: неиÑправан оператор „%c=“ за „%s“"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: опција „%s“ не узима вредноÑÑ‚"
+
+#~ msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
+#~ msgstr "%s:%d:%d: неиÑправна врÑта оÑновноÑти 0x%x за опцију „%s“"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: вредноÑÑ‚ „%s“ је неиÑправна за опцију „%s“"
+
+#~ msgid "%s:%d:%d: path name for \"%s\" too long"
+#~ msgstr "%s:%d:%d: назив путање за „%s“ је предуг"
+
+#~ msgid "%s: path name for \"%s\" too long"
+#~ msgstr "%s: назив путање за „%s“ је предуг"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: вредноÑÑ‚ за „%s“ мора да почиње Ñа /, ~ или *"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: вредноÑÑ‚ за „%s“ мора да почиње Ñа /"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "грешка обраде у %s близу реда %d"
+
+#~ msgid "parse error in %s"
+#~ msgstr "грешка обраде у %s"
+
+#~ msgid "SELinux RBAC is not supported when intercept mode is enabled"
+#~ msgstr "„SELinux RBAC“ није подржано када је укључен режим преÑретања"
+
+#~ msgid "SELinux RBAC is not supported when the log_subcmds flag is enabled"
+#~ msgstr "„SELinux RBAC“ није подржано када је укључена заÑтавица „log_subcmds“"
+
+#~ msgid "problem with defaults entries"
+#~ msgstr "неприлике Ñа оÑновним уноÑима"
+
+#~ msgid "internal error, unable to find %s in list!"
+#~ msgstr "унутрашња грешка, не могу да пронађем „%s“ на ÑпиÑку!"
+
#~ msgid "%s is not in the sudoers file. This incident will be reported.\n"
#~ msgstr "„%s“ Ñе не налази у датотеци ÑудоерÑа. О овом инциденту ће бити поднет извештај.\n"
@@ -3769,9 +3785,6 @@ msgstr "превише нивоа укључивања"
#~ msgid "unable to read diffie-hellman parameters: %s"
#~ msgstr "не могу да читам „diffie-hellman“ параметре: %s"
-#~ msgid "unknown defaults entry \"%s\""
-#~ msgstr "непознат ÑƒÐ½Ð¾Ñ Ð¾ÑновноÑти „%s“"
-
#~ msgid "%s:%d unknown key: %s"
#~ msgstr "„%s:%d“ непознат кључ: %s"
@@ -3924,9 +3937,6 @@ msgstr "превише нивоа укључивања"
#~ "\n"
#~ "СССД улога: ÐЕПОЗÐÐТО\n"
-#~ msgid "Warning: cycle in %s `%s'"
-#~ msgstr "Упозорење: Ñ†Ð¸ÐºÐ»ÑƒÑ Ñƒ „%s“ „%s“"
-
#~ msgid "Warning: unused %s `%s'"
#~ msgstr "Упозорење: некоришћено „%s“ „%s“"
diff --git a/plugins/sudoers/po/sudoers.pot b/plugins/sudoers/po/sudoers.pot
index ad07ede53..964702913 100644
--- a/plugins/sudoers/po/sudoers.pot
+++ b/plugins/sudoers/po/sudoers.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: sudo 1.9.11\n"
+"Project-Id-Version: sudo 1.9.12\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-05-27 08:39-0600\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: confstr.sh:1 gram.y:1218
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr ""
@@ -41,13 +41,13 @@ msgstr ""
msgid "Sorry, try again."
msgstr ""
-#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341 gram.y:365
-#: gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427 gram.y:501 gram.y:511
-#: gram.y:523 gram.y:571 gram.y:580 gram.y:589 gram.y:598 gram.y:730 gram.y:738
-#: gram.y:749 gram.y:761 gram.y:780 gram.y:943 gram.y:948 gram.y:956 gram.y:970
-#: gram.y:976 gram.y:1098 gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133
-#: gram.y:1162 gram.y:1171 gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769
-#: gram.y:1816 lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342 gram.y:366
+#: gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428 gram.y:502 gram.y:512
+#: gram.y:524 gram.y:572 gram.y:581 gram.y:590 gram.y:599 gram.y:731 gram.y:739
+#: gram.y:750 gram.y:762 gram.y:781 gram.y:944 gram.y:949 gram.y:957 gram.y:971
+#: gram.y:977 gram.y:1099 gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134
+#: gram.y:1163 gram.y:1172 gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777
+#: gram.y:1827 lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
@@ -56,30 +56,43 @@ msgstr ""
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:650
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1743
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:213
+#: logsrvd/logsrvd_journal.c:214 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_journal.c:432
+#: logsrvd/logsrvd_local.c:215 logsrvd/logsrvd_local.c:216
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:279
+#: logsrvd/logsrvd_local.c:417 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:467 logsrvd/logsrvd_local.c:472
+#: logsrvd/logsrvd_local.c:473 logsrvd/logsrvd_queue.c:159
+#: logsrvd/logsrvd_queue.c:189 logsrvd/logsrvd_queue.c:266
+#: logsrvd/logsrvd_relay.c:444 logsrvd/logsrvd_relay.c:743
+#: logsrvd/logsrvd_relay.c:850 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1801 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
@@ -109,11 +122,11 @@ msgstr ""
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1158
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -122,124 +135,125 @@ msgstr ""
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
-#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
-#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
-#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
-#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
-#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
-#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
-#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
-#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
-#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
-#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
-#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
-#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
-#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
-#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
-#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
-#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
-#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
-#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
-#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
-#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
+#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr ""
-#: gram.y:622
+#: gram.y:623
msgid "a digest requires a path name"
msgstr ""
-#: gram.y:644
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr ""
-#: gram.y:650
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr ""
-#: gram.y:660
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr ""
-#: gram.y:666
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr ""
-#: gram.y:801
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr ""
-#: gram.y:824
+#: gram.y:825
msgid "invalid notbefore value"
msgstr ""
-#: gram.y:833
+#: gram.y:834
msgid "invalid notafter value"
msgstr ""
-#: gram.y:843 plugins/sudoers/policy.c:376
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr ""
-#: gram.y:845 plugins/sudoers/policy.c:378
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr ""
-#: gram.y:966 plugins/sudoers/sudoers.c:1014
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr ""
-#: gram.y:1220 plugins/sudoers/check_aliases.c:96
-#: plugins/sudoers/defaults.c:1275
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr ""
-#: gram.y:1270
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr ""
-#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
@@ -249,33 +263,48 @@ msgstr ""
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
-#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
@@ -304,11 +333,11 @@ msgstr ""
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1157
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -317,46 +346,47 @@ msgstr ""
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
-#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
-#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
-#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
-#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
-#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
-#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
-#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
-#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
-#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
-#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
-#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
-#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
-#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
-#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
-#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
-#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
-#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
-#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
-#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
-#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
-#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
-#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
-#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -369,25 +399,25 @@ msgstr ""
#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
-#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
-#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
-#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
-#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
-#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
-#: toke.l:1226
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr ""
@@ -396,14 +426,14 @@ msgstr ""
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
-#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
-#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213 toke.l:987
@@ -446,7 +476,7 @@ msgstr ""
msgid "%8s : (command continued) %s"
msgstr ""
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -561,14 +591,14 @@ msgstr ""
msgid "%s exists but is not a directory (0%o)"
msgstr ""
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr ""
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
-#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr ""
@@ -583,150 +613,156 @@ msgstr ""
msgid "invalid timing file line: %s"
msgstr ""
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
-#: plugins/sudoers/policy.c:573
-msgid "unable to generate UUID"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
msgstr ""
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr ""
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr ""
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr ""
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr ""
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr ""
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr ""
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr ""
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr ""
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr ""
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr ""
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr ""
-#: logsrvd/iolog_writer.c:780
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr ""
-#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr ""
-#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
-#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
-#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
-#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr ""
-#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr ""
-#: logsrvd/iolog_writer.c:839
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr ""
-#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr ""
-#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr ""
-#: logsrvd/logsrv_util.c:154
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr ""
-#: logsrvd/logsrv_util.c:161
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr ""
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr ""
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr ""
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
-#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
-#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
-#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
-#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
-#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
-#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
-#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
-#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
-#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
-#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
-#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -735,633 +771,658 @@ msgstr ""
msgid "unable to add event to queue"
msgstr ""
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr ""
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr ""
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr ""
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr ""
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr ""
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr ""
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr ""
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr ""
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr ""
-#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
-#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
-#: plugins/sudoers/log_client.c:1618
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr ""
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr ""
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr ""
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
#, c-format
msgid "unable to unpack %s size %zu"
msgstr ""
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr ""
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr ""
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr ""
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr ""
-#: logsrvd/logsrvd.c:982
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr ""
-#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr ""
-#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:716
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr ""
-#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr ""
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr ""
-#: logsrvd/logsrvd.c:1389
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr ""
-#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
-#: plugins/sudoers/log_client.c:276
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr ""
-#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr ""
-#: logsrvd/logsrvd.c:1718
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr ""
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr ""
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr ""
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr ""
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr ""
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr ""
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr ""
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr ""
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr ""
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr ""
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:180
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr ""
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
-#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
-#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
-#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr ""
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr ""
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:1035
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr ""
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr ""
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
-#: logsrvd/logsrvd_journal.c:416
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1020
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr ""
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
-#: logsrvd/logsrvd_journal.c:452
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr ""
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr ""
-#: logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr ""
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr ""
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr ""
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr ""
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr ""
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr ""
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr ""
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr ""
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr ""
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr ""
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr ""
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr ""
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr ""
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr ""
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr ""
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr ""
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr ""
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr ""
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr ""
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr ""
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr ""
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1504
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr ""
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr ""
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr ""
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr ""
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr ""
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
-#: logsrvd/logsrvd_relay.c:784
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr ""
-#: logsrvd/logsrvd_relay.c:805
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr ""
-#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr ""
-#: logsrvd/logsrvd_relay.c:838
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr ""
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr ""
-#: logsrvd/logsrvd_relay.c:904
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr ""
-#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
-#: logsrvd/logsrvd_relay.c:974
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr ""
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr ""
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr ""
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr ""
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr ""
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr ""
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr ""
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr ""
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr ""
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr ""
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr ""
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr ""
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr ""
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr ""
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr ""
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr ""
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr ""
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
-#: plugins/sudoers/iolog.c:1024
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr ""
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
-#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr ""
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr ""
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr ""
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr ""
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr ""
-#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
msgid "host name does not match certificate"
msgstr ""
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr ""
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr ""
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr ""
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr ""
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr ""
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr ""
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr ""
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr ""
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr ""
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr ""
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr ""
-#: logsrvd/tls_client.c:191
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr ""
-#: logsrvd/tls_client.c:205
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr ""
-#: logsrvd/tls_client.c:233
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr ""
-#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr ""
-#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr ""
-#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr ""
-#: logsrvd/tls_init.c:277
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr ""
-#: logsrvd/tls_init.c:284
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr ""
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
-#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
-#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
-#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
-#: plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr ""
@@ -1498,7 +1559,7 @@ msgstr ""
msgid "PAM account management error: %s"
msgstr ""
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr ""
@@ -1575,17 +1636,17 @@ msgstr ""
msgid "unable to commit audit record"
msgstr ""
-#: plugins/sudoers/check.c:275
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr ""
-#: plugins/sudoers/check.c:278
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr ""
-#: plugins/sudoers/check.c:291
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1597,14 +1658,14 @@ msgid ""
"\n"
msgstr ""
-#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
-#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr ""
-#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
msgid "%s: %s\n"
msgstr ""
@@ -1634,7 +1695,7 @@ msgstr ""
msgid "order padding: %s: %s"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr ""
@@ -1654,14 +1715,14 @@ msgstr ""
msgid "%s: input and output files must be different"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
-#: plugins/sudoers/visudo.c:969
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr ""
@@ -1686,25 +1747,25 @@ msgstr ""
msgid "invalid filter: %s"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr ""
#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:1501
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
"\n"
msgstr ""
-#: plugins/sudoers/cvtsudoers.c:1503
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -2145,369 +2206,393 @@ msgid "Log user's input for the command being run"
msgstr ""
#: plugins/sudoers/def_data.c:356
-msgid "Log the output of the command being run"
+msgid "Log the command's standard input if not connected to a terminal"
msgstr ""
#: plugins/sudoers/def_data.c:360
-msgid "Compress I/O logs using zlib"
+msgid "Log the user's terminal input for the command being run"
msgstr ""
#: plugins/sudoers/def_data.c:364
-msgid "Always run commands in a pseudo-tty"
+msgid "Log the output of the command being run"
msgstr ""
#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr ""
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr ""
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr ""
+
+#: plugins/sudoers/def_data.c:380
+msgid "Compress I/O logs using zlib"
+msgstr ""
+
+#: plugins/sudoers/def_data.c:384
+msgid "Always run commands in a pseudo-tty"
+msgstr ""
+
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:372
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:376
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:380
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr ""
-#: plugins/sudoers/def_data.c:384
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr ""
-#: plugins/sudoers/def_data.c:388
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:392
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:396
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr ""
-#: plugins/sudoers/def_data.c:400
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:404
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:408
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:412
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr ""
-#: plugins/sudoers/def_data.c:416
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr ""
-#: plugins/sudoers/def_data.c:420
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr ""
-#: plugins/sudoers/def_data.c:424
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:428
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr ""
-#: plugins/sudoers/def_data.c:432
+#: plugins/sudoers/def_data.c:452
msgid ""
"Check parent directories for writability when editing files with sudoedit"
msgstr ""
-#: plugins/sudoers/def_data.c:436
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr ""
-#: plugins/sudoers/def_data.c:440
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr ""
-#: plugins/sudoers/def_data.c:444
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr ""
-#: plugins/sudoers/def_data.c:448
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr ""
-#: plugins/sudoers/def_data.c:452
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr ""
-#: plugins/sudoers/def_data.c:456
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr ""
-#: plugins/sudoers/def_data.c:460
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr ""
-#: plugins/sudoers/def_data.c:464
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid ""
"Log entries larger than this value will be split into multiple syslog "
"messages: %u"
msgstr ""
-#: plugins/sudoers/def_data.c:468
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:472
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:476
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr ""
-#: plugins/sudoers/def_data.c:480
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:484
+#: plugins/sudoers/def_data.c:504
msgid ""
"Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr ""
-#: plugins/sudoers/def_data.c:488
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr ""
-#: plugins/sudoers/def_data.c:492
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr ""
-#: plugins/sudoers/def_data.c:496
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr ""
-#: plugins/sudoers/def_data.c:500
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr ""
-#: plugins/sudoers/def_data.c:504
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:508
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:512
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr ""
-#: plugins/sudoers/def_data.c:516
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr ""
-#: plugins/sudoers/def_data.c:520
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr ""
-#: plugins/sudoers/def_data.c:524
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr ""
-#: plugins/sudoers/def_data.c:528
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr ""
-#: plugins/sudoers/def_data.c:532
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr ""
-#: plugins/sudoers/def_data.c:536
+#: plugins/sudoers/def_data.c:556
msgid ""
"Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr ""
-#: plugins/sudoers/def_data.c:540
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:544
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:548
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:552
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr ""
-#: plugins/sudoers/def_data.c:556
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr ""
-#: plugins/sudoers/def_data.c:560
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr ""
-#: plugins/sudoers/def_data.c:564
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr ""
-#: plugins/sudoers/def_data.c:568
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr ""
-#: plugins/sudoers/def_data.c:572
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:576
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:580
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:584
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr ""
-#: plugins/sudoers/def_data.c:588
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:592
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr ""
-#: plugins/sudoers/def_data.c:596
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr ""
-#: plugins/sudoers/def_data.c:600
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr ""
-#: plugins/sudoers/def_data.c:604
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr ""
-#: plugins/sudoers/def_data.c:608
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr ""
-#: plugins/sudoers/def_data.c:612
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid ""
"The maximum size to which the process's address space may grow (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:616
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:620
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid ""
"The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:624
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:628
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:632
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:636
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:640
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:644
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid ""
"The maximum number of processes that the user may run simultaneously: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:648
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid ""
"The maximum size to which the process's resident set size may grow (in "
"bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:652
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr ""
-#: plugins/sudoers/def_data.c:656
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr ""
-#: plugins/sudoers/def_data.c:660
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr ""
-#: plugins/sudoers/def_data.c:664
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr ""
-#: plugins/sudoers/def_data.c:668
+#: plugins/sudoers/def_data.c:688
#, c-format
msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr ""
-#: plugins/sudoers/def_data.c:672
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr ""
+
+#: plugins/sudoers/def_data.c:696
#, c-format
msgid "AppArmor profile to use in the new security context: %s"
msgstr ""
@@ -2542,31 +2627,31 @@ msgstr ""
msgid "value \"%s\" is invalid for option \"%s\""
msgstr ""
-#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
-#: plugins/sudoers/policy.c:216
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
msgid "path name for \"%s\" too long"
msgstr ""
-#: plugins/sudoers/defaults.c:1133
+#: plugins/sudoers/defaults.c:1134
#, c-format
msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr ""
-#: plugins/sudoers/defaults.c:1140
+#: plugins/sudoers/defaults.c:1141
#, c-format
msgid "values for \"%s\" must start with a '/'"
msgstr ""
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr ""
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr ""
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid ""
"sorry, you are not allowed to set the following environment variables: %s"
@@ -2582,27 +2667,27 @@ msgstr ""
msgid "%s: read error"
msgstr ""
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr ""
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr ""
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr ""
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr ""
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr ""
@@ -2625,10 +2710,10 @@ msgstr ""
msgid "unable to update sequence file"
msgstr ""
-#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
-#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
-#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
-#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr ""
@@ -2638,25 +2723,25 @@ msgstr ""
msgid "unable to create %s/%s"
msgstr ""
-#: plugins/sudoers/iolog.c:955
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr ""
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
-#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
-#: plugins/sudoers/visudo.c:552
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr ""
-#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
-#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr ""
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr ""
@@ -2681,7 +2766,7 @@ msgid ""
"ldap_start_tls_s_np()"
msgstr ""
-#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr ""
@@ -2691,12 +2776,12 @@ msgstr ""
msgid "%s: port too large"
msgstr ""
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr ""
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr ""
@@ -2721,142 +2806,142 @@ msgstr ""
msgid "unable to send audit message"
msgstr ""
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
-#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr ""
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr ""
-#: plugins/sudoers/log_client.c:225
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr ""
-#: plugins/sudoers/log_client.c:247
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr ""
-#: plugins/sudoers/log_client.c:261
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr ""
-#: plugins/sudoers/log_client.c:270
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr ""
-#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr ""
-#: plugins/sudoers/log_client.c:538
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr ""
-#: plugins/sudoers/log_client.c:548
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr ""
-#: plugins/sudoers/log_client.c:1246
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr ""
-#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr ""
-#: plugins/sudoers/log_client.c:1876
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr ""
-#: plugins/sudoers/log_client.c:2024
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr ""
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr ""
-#: plugins/sudoers/logging.c:300
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr ""
-#: plugins/sudoers/logging.c:302
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr ""
-#: plugins/sudoers/logging.c:323
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr ""
-#: plugins/sudoers/logging.c:326
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr ""
-#: plugins/sudoers/logging.c:329
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr ""
-#: plugins/sudoers/logging.c:332
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr ""
-#: plugins/sudoers/logging.c:342
+#: plugins/sudoers/logging.c:334
msgid "This incident has been reported to the administrator.\n"
msgstr ""
-#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
-#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
-#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
-#: plugins/sudoers/sudoers.c:801
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr ""
-#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
"Use \"sudo ./%s\" if this is the \"%s\" you wish to run."
msgstr ""
-#: plugins/sudoers/logging.c:395
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] ""
msgstr[1] ""
-#: plugins/sudoers/logging.c:485
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr ""
-#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr ""
-#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
msgid "problem parsing sudoers"
msgstr ""
-#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
msgid "%s:%d:%d: %s"
msgstr ""
-#: plugins/sudoers/logging.c:1068
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr ""
@@ -2871,150 +2956,150 @@ msgstr ""
msgid "digest for %s (%s) is not in %s form"
msgstr ""
-#: plugins/sudoers/parse.c:585
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
"LDAP Role: %s\n"
msgstr ""
-#: plugins/sudoers/parse.c:588
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
msgstr ""
-#: plugins/sudoers/parse.c:590
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr ""
-#: plugins/sudoers/parse.c:605
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr ""
-#: plugins/sudoers/parse.c:615
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr ""
-#: plugins/sudoers/parse.c:679
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr ""
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr ""
-#: plugins/sudoers/parse.c:888
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr ""
-#: plugins/sudoers/parse.c:906
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr ""
-#: plugins/sudoers/parse.c:921
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr ""
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr ""
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr ""
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr ""
-#: plugins/sudoers/policy.c:508
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:512
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:516
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:520
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr ""
-#: plugins/sudoers/policy.c:706
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr ""
-#: plugins/sudoers/policy.c:886
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr ""
-#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr ""
-#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
-#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr ""
-#: plugins/sudoers/policy.c:1262
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1264
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr ""
-#: plugins/sudoers/policy.c:1268
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
"Sudoers path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1271
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1273
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr ""
-#: plugins/sudoers/policy.c:1307
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr ""
-#: plugins/sudoers/policy.c:1325
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr ""
@@ -3153,148 +3238,142 @@ msgstr ""
msgid "unable to find symbol \"%s\" in %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:258
+#: plugins/sudoers/sudoers.c:263
#, c-format
msgid "unable to get defaults from %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:265
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr ""
-#: plugins/sudoers/sudoers.c:341
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:343
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:368
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:369
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:396
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr ""
-#: plugins/sudoers/sudoers.c:421
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr ""
-#: plugins/sudoers/sudoers.c:471
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr ""
-#: plugins/sudoers/sudoers.c:472
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr ""
-#: plugins/sudoers/sudoers.c:532
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr ""
-#: plugins/sudoers/sudoers.c:547
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr ""
-#: plugins/sudoers/sudoers.c:548
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr ""
-#: plugins/sudoers/sudoers.c:555
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:638
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr ""
-#: plugins/sudoers/sudoers.c:653
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr ""
-#: plugins/sudoers/sudoers.c:655
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr ""
-#: plugins/sudoers/sudoers.c:657
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr ""
-#: plugins/sudoers/sudoers.c:666
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr ""
-#: plugins/sudoers/sudoers.c:668
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr ""
-#: plugins/sudoers/sudoers.c:676
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr ""
-#: plugins/sudoers/sudoers.c:678
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr ""
-#: plugins/sudoers/sudoers.c:1053
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr ""
-#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
-#: plugins/sudoers/visudo.c:764
-#, c-format
-msgid "unable to stat %s"
-msgstr ""
-
-#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr ""
-#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr ""
-#: plugins/sudoers/sudoers.c:1147 toke.l:1252
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr ""
-#: plugins/sudoers/sudoers.c:1151 toke.l:1255
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr ""
-#: plugins/sudoers/sudoers.c:1184
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr ""
-#: plugins/sudoers/sudoers.c:1203
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr ""
-#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr ""
@@ -3392,24 +3471,24 @@ msgstr ""
msgid "unknown search type %d"
msgstr ""
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr ""
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr ""
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
"\n"
msgstr ""
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3448,127 +3527,122 @@ msgid ""
"Command unmatched"
msgstr ""
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr ""
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr ""
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr ""
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr ""
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr ""
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr ""
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr ""
-#: plugins/sudoers/visudo.c:249
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr ""
-#: plugins/sudoers/visudo.c:251
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr ""
-#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr ""
-#: plugins/sudoers/visudo.c:321
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr ""
-#: plugins/sudoers/visudo.c:397
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr ""
-#: plugins/sudoers/visudo.c:399
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr ""
-#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr ""
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr ""
-#: plugins/sudoers/visudo.c:559
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:566
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:572
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:594
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:639
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr ""
-#: plugins/sudoers/visudo.c:652
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr ""
-#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr ""
-#: plugins/sudoers/visudo.c:803
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr ""
-#: plugins/sudoers/visudo.c:814
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:821
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr ""
-#: plugins/sudoers/visudo.c:841
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr ""
-#: plugins/sudoers/visudo.c:855
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3576,54 +3650,55 @@ msgid ""
" (Q)uit and save changes to sudoers file (DANGER!)\n"
msgstr ""
-#: plugins/sudoers/visudo.c:901
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr ""
-#: plugins/sudoers/visudo.c:932
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr ""
-#: plugins/sudoers/visudo.c:943
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr ""
-#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr ""
-#: plugins/sudoers/visudo.c:1017
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr ""
-#: plugins/sudoers/visudo.c:1021
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr ""
-#: plugins/sudoers/visudo.c:1117
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr ""
-#: plugins/sudoers/visudo.c:1229
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
"\n"
msgstr ""
-#: plugins/sudoers/visudo.c:1231
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
diff --git a/plugins/sudoers/po/sv.mo b/plugins/sudoers/po/sv.mo
index 7269ad75a..c9591dc86 100644
--- a/plugins/sudoers/po/sv.mo
+++ b/plugins/sudoers/po/sv.mo
Binary files differ
diff --git a/plugins/sudoers/po/sv.po b/plugins/sudoers/po/sv.po
index 4bf4f16c8..cbdc47a10 100644
--- a/plugins/sudoers/po/sv.po
+++ b/plugins/sudoers/po/sv.po
@@ -1,27 +1,27 @@
# Swedish translation for sudoers.
-# Copyright © 2012, 2016, 2017, 2018, 2019, 2020, 2021 Free Software Foundation, Inc.
+# Copyright © 2012, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc.
# This file is put in the public domain.
# Daniel Nylander <po@danielnylander.se>, 2012.
-# Sebastian Rasmussen <sebras@gmail.com>, 2016, 2017, 2018, 2019, 2020, 2021.
+# Sebastian Rasmussen <sebras@gmail.com>, 2016, 2017, 2018, 2019, 2020, 2021, 2022.
# Luna Jernberg <droidbittin@gmail.com>, 2021.
#
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.7b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2021-05-01 16:27-0600\n"
-"PO-Revision-Date: 2021-05-05 21:51+0200\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-11 16:19+0200\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.2.4\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 3.1.1\n"
-#: confstr.sh:1 gram.y:1183
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "syntaxfel"
@@ -45,398 +45,521 @@ msgstr "*** SÄKERHETSINFORMATION för %h ***"
msgid "Sorry, try again."
msgstr "Försök igen."
-#: gram.y:233 gram.y:300 gram.y:309 gram.y:318 gram.y:328 gram.y:338
-#: gram.y:362 gram.y:389 gram.y:398 gram.y:406 gram.y:415 gram.y:424
-#: gram.y:496 gram.y:506 gram.y:518 gram.y:562 gram.y:571 gram.y:580
-#: gram.y:589 gram.y:619 gram.y:716 gram.y:724 gram.y:735 gram.y:747
-#: gram.y:766 gram.y:914 gram.y:922 gram.y:932 gram.y:938 gram.y:1060
-#: gram.y:1069 gram.y:1077 gram.y:1086 gram.y:1095 gram.y:1124 gram.y:1133
-#: gram.y:1141 gram.y:1231 gram.y:1343 gram.y:1650 gram.y:1700
-#: lib/eventlog/eventlog.c:260 lib/eventlog/eventlog.c:333
-#: lib/eventlog/eventlog.c:733 lib/eventlog/eventlog.c:797
-#: lib/eventlog/eventlog.c:1053 lib/iolog/iolog_json.c:125
-#: lib/iolog/iolog_json.c:330 lib/iolog/iolog_json.c:360
-#: lib/iolog/iolog_json.c:503 lib/iolog/iolog_legacy.c:100
-#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
-#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
-#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:210
-#: logsrvd/logsrvd.c:1021 logsrvd/logsrvd.c:1089 logsrvd/logsrvd_journal.c:142
-#: logsrvd/logsrvd_journal.c:196 logsrvd/logsrvd_journal.c:248
-#: logsrvd/logsrvd_journal.c:380 logsrvd/logsrvd_relay.c:443
-#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:857
-#: logsrvd/sendlog.c:500 plugins/sudoers/audit.c:115
-#: plugins/sudoers/audit.c:263 plugins/sudoers/auth/bsdauth.c:143
-#: plugins/sudoers/auth/kerb5.c:118 plugins/sudoers/auth/kerb5.c:144
-#: plugins/sudoers/auth/pam.c:692 plugins/sudoers/auth/rfc1938.c:111
-#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:95
-#: plugins/sudoers/cvtsudoers.c:119 plugins/sudoers/cvtsudoers.c:160
-#: plugins/sudoers/cvtsudoers.c:177 plugins/sudoers/cvtsudoers.c:188
-#: plugins/sudoers/cvtsudoers.c:300 plugins/sudoers/cvtsudoers.c:428
-#: plugins/sudoers/cvtsudoers.c:561 plugins/sudoers/cvtsudoers.c:578
-#: plugins/sudoers/cvtsudoers.c:646 plugins/sudoers/cvtsudoers.c:761
-#: plugins/sudoers/cvtsudoers.c:769 plugins/sudoers/cvtsudoers.c:1183
-#: plugins/sudoers/cvtsudoers.c:1187 plugins/sudoers/cvtsudoers.c:1289
-#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
-#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
-#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:371
-#: plugins/sudoers/cvtsudoers_ldif.c:421 plugins/sudoers/cvtsudoers_ldif.c:429
-#: plugins/sudoers/cvtsudoers_ldif.c:440 plugins/sudoers/cvtsudoers_ldif.c:447
-#: plugins/sudoers/cvtsudoers_ldif.c:460 plugins/sudoers/cvtsudoers_ldif.c:468
-#: plugins/sudoers/cvtsudoers_ldif.c:615 plugins/sudoers/defaults.c:638
-#: plugins/sudoers/defaults.c:933 plugins/sudoers/defaults.c:1108
-#: plugins/sudoers/editor.c:187 plugins/sudoers/env.c:262
-#: plugins/sudoers/exptilde.c:92 plugins/sudoers/filedigest.c:54
-#: plugins/sudoers/filedigest.c:70 plugins/sudoers/gc.c:57
-#: plugins/sudoers/group_plugin.c:133 plugins/sudoers/interfaces.c:72
-#: plugins/sudoers/iolog.c:609 plugins/sudoers/iolog.c:626
-#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:422
-#: plugins/sudoers/ldap.c:432 plugins/sudoers/ldap.c:437
-#: plugins/sudoers/ldap.c:441 plugins/sudoers/ldap.c:453
-#: plugins/sudoers/ldap.c:744 plugins/sudoers/ldap.c:908
-#: plugins/sudoers/ldap.c:1281 plugins/sudoers/ldap.c:1709
-#: plugins/sudoers/ldap.c:1746 plugins/sudoers/ldap.c:1827
-#: plugins/sudoers/ldap.c:1962 plugins/sudoers/ldap.c:2063
-#: plugins/sudoers/ldap.c:2079 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:441
-#: plugins/sudoers/ldap_conf.c:456 plugins/sudoers/ldap_conf.c:553
-#: plugins/sudoers/ldap_conf.c:586 plugins/sudoers/ldap_conf.c:678
-#: plugins/sudoers/ldap_conf.c:760 plugins/sudoers/ldap_util.c:326
-#: plugins/sudoers/ldap_util.c:333 plugins/sudoers/ldap_util.c:648
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:105
-#: plugins/sudoers/log_client.c:381 plugins/sudoers/log_client.c:686
-#: plugins/sudoers/log_client.c:704 plugins/sudoers/log_client.c:1413
-#: plugins/sudoers/log_client.c:1626 plugins/sudoers/log_client.c:1950
-#: plugins/sudoers/log_client.c:2007 plugins/sudoers/logging.c:100
-#: plugins/sudoers/logging.c:166 plugins/sudoers/logging.c:426
-#: plugins/sudoers/logging.c:446 plugins/sudoers/logging.c:527
-#: plugins/sudoers/match_command.c:286 plugins/sudoers/match_command.c:484
-#: plugins/sudoers/match_command.c:533 plugins/sudoers/match_command.c:604
-#: plugins/sudoers/match_command.c:650 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:199 plugins/sudoers/parse.c:216
-#: plugins/sudoers/parse.c:236 plugins/sudoers/parse.c:253
-#: plugins/sudoers/parse.c:276 plugins/sudoers/parse.c:287
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
+#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
+#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
+#: lib/iolog/iolog_filter.c:202 lib/iolog/iolog_filter.c:233
+#: lib/iolog/iolog_json.c:150 lib/iolog/iolog_json.c:382
+#: lib/iolog/iolog_json.c:412 lib/iolog/iolog_json.c:555
+#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
+#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
+#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
+#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
+#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
+#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
+#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
+#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
+#: plugins/sudoers/cvtsudoers_merge.c:353
+#: plugins/sudoers/cvtsudoers_merge.c:399
+#: plugins/sudoers/cvtsudoers_merge.c:446
+#: plugins/sudoers/cvtsudoers_merge.c:467
+#: plugins/sudoers/cvtsudoers_merge.c:553
+#: plugins/sudoers/cvtsudoers_merge.c:564
+#: plugins/sudoers/cvtsudoers_merge.c:633
+#: plugins/sudoers/cvtsudoers_merge.c:1158
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
-#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:260
-#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
-#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
-#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
-#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
-#: plugins/sudoers/parse_ldif.c:483 plugins/sudoers/parse_ldif.c:596
-#: plugins/sudoers/parse_ldif.c:626 plugins/sudoers/parse_ldif.c:651
-#: plugins/sudoers/parse_ldif.c:709 plugins/sudoers/parse_ldif.c:726
-#: plugins/sudoers/parse_ldif.c:754 plugins/sudoers/parse_ldif.c:761
-#: plugins/sudoers/policy.c:543 plugins/sudoers/policy.c:890
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:195
-#: plugins/sudoers/pwutil.c:266 plugins/sudoers/pwutil.c:344
-#: plugins/sudoers/pwutil.c:518 plugins/sudoers/pwutil.c:583
-#: plugins/sudoers/pwutil.c:655 plugins/sudoers/pwutil.c:853
-#: plugins/sudoers/pwutil.c:909 plugins/sudoers/pwutil.c:953
-#: plugins/sudoers/pwutil.c:1010 plugins/sudoers/sssd.c:145
-#: plugins/sudoers/sssd.c:407 plugins/sudoers/sssd.c:470
-#: plugins/sudoers/sssd.c:514 plugins/sudoers/sssd.c:561
-#: plugins/sudoers/sssd.c:754 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:299 plugins/sudoers/sudoers.c:325
-#: plugins/sudoers/sudoers.c:374 plugins/sudoers/sudoers.c:384
-#: plugins/sudoers/sudoers.c:425 plugins/sudoers/sudoers.c:787
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/sudoers.c:975
-#: plugins/sudoers/sudoers.c:1241 plugins/sudoers/sudoreplay.c:552
-#: plugins/sudoers/sudoreplay.c:555 plugins/sudoers/sudoreplay.c:1259
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/sudoreplay.c:1473
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
+#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:580
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:77 plugins/sudoers/toke_util.c:105
-#: plugins/sudoers/toke_util.c:130 plugins/sudoers/toke_util.c:155
-#: plugins/sudoers/toke_util.c:193 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:143 plugins/sudoers/visudo.c:321
-#: plugins/sudoers/visudo.c:327 plugins/sudoers/visudo.c:433
-#: plugins/sudoers/visudo.c:609 plugins/sudoers/visudo.c:926
-#: plugins/sudoers/visudo.c:999 toke.l:928 toke.l:1057 toke.l:1117
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
+#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
+#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
+#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "kan inte allokera minne"
-#: gram.y:613
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "en kontrollsumma kräver ett sökvägsnamn"
-#: gram.y:643
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "värden för â€CWD†mÃ¥ste börja med ett â€/â€, â€~†eller â€*â€"
-#: gram.y:655
+#: gram.y:651
+msgid "\"CWD\" path too long"
+msgstr "â€CWDâ€-sökväg för lÃ¥ng"
+
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "värden för â€CHROOT†mÃ¥ste börja med ett â€/â€, â€~†eller â€*â€"
-#: gram.y:786
+#: gram.y:667
+msgid "\"CHROOT\" path too long"
+msgstr "â€CHROOTâ€-sökväg för lÃ¥ng"
+
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "syntaxfel, reserverat ord %s använt som ett aliasnamn"
-#: gram.y:809
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "ogiltigt notbefore-värde"
-#: gram.y:818
+#: gram.y:834
msgid "invalid notafter value"
msgstr "ogiltigt notafter-värde"
-#: gram.y:828 plugins/sudoers/policy.c:339
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "tidsgränsvärde för stort"
-#: gram.y:830 plugins/sudoers/policy.c:341
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "ogiltigt värde för tidsgräns"
-#: gram.y:1185
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
+msgid "command too long"
+msgstr "kommandot för långt"
+
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1229
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Aliaset â€%s†är redan definierat"
-#: gram.y:1650 gram.y:1700 lib/eventlog/eventlog.c:260
-#: lib/eventlog/eventlog.c:733 lib/eventlog/eventlog.c:795
-#: lib/eventlog/eventlog.c:796 lib/eventlog/eventlog.c:1053
-#: lib/iolog/iolog_json.c:125 lib/iolog/iolog_json.c:329
-#: lib/iolog/iolog_json.c:360 lib/iolog/iolog_json.c:503
-#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
-#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
-#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:210 logsrvd/sendlog.c:500 logsrvd/sendlog.c:1343
-#: logsrvd/sendlog.c:1350 logsrvd/sendlog.c:1545 logsrvd/tls_init.c:221
-#: logsrvd/tls_init.c:242 logsrvd/tls_init.c:252 plugins/sudoers/audit.c:115
-#: plugins/sudoers/audit.c:263 plugins/sudoers/auth/pam.c:505
-#: plugins/sudoers/auth/pam.c:692 plugins/sudoers/auth/rfc1938.c:111
-#: plugins/sudoers/check_aliases.c:95 plugins/sudoers/cvtsudoers.c:119
-#: plugins/sudoers/cvtsudoers.c:159 plugins/sudoers/cvtsudoers.c:176
-#: plugins/sudoers/cvtsudoers.c:187 plugins/sudoers/cvtsudoers.c:299
-#: plugins/sudoers/cvtsudoers.c:427 plugins/sudoers/cvtsudoers.c:560
-#: plugins/sudoers/cvtsudoers.c:577 plugins/sudoers/cvtsudoers.c:646
-#: plugins/sudoers/cvtsudoers.c:761 plugins/sudoers/cvtsudoers.c:768
-#: plugins/sudoers/cvtsudoers.c:1183 plugins/sudoers/cvtsudoers.c:1187
-#: plugins/sudoers/cvtsudoers.c:1289 plugins/sudoers/cvtsudoers_json.c:75
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
+#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
+#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
+#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
+#: lib/iolog/iolog_filter.c:232 lib/iolog/iolog_json.c:150
+#: lib/iolog/iolog_json.c:381 lib/iolog/iolog_json.c:412
+#: lib/iolog/iolog_json.c:555 lib/iolog/iolog_legacy.c:100
+#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
+#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
+#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
+#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
+#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
+#: plugins/sudoers/cvtsudoers.c:191 plugins/sudoers/cvtsudoers.c:202
+#: plugins/sudoers/cvtsudoers.c:332 plugins/sudoers/cvtsudoers.c:536
+#: plugins/sudoers/cvtsudoers.c:669 plugins/sudoers/cvtsudoers.c:687
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:869
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:182
+#: plugins/sudoers/cvtsudoers_csv.c:245 plugins/sudoers/cvtsudoers_json.c:75
#: plugins/sudoers/cvtsudoers_ldif.c:150 plugins/sudoers/cvtsudoers_ldif.c:193
#: plugins/sudoers/cvtsudoers_ldif.c:234 plugins/sudoers/cvtsudoers_ldif.c:299
-#: plugins/sudoers/cvtsudoers_ldif.c:370 plugins/sudoers/cvtsudoers_ldif.c:420
-#: plugins/sudoers/cvtsudoers_ldif.c:428 plugins/sudoers/cvtsudoers_ldif.c:439
-#: plugins/sudoers/cvtsudoers_ldif.c:446 plugins/sudoers/cvtsudoers_ldif.c:459
-#: plugins/sudoers/cvtsudoers_ldif.c:467 plugins/sudoers/cvtsudoers_ldif.c:614
-#: plugins/sudoers/defaults.c:638 plugins/sudoers/defaults.c:933
-#: plugins/sudoers/defaults.c:1108 plugins/sudoers/editor.c:187
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/cvtsudoers_ldif.c:375 plugins/sudoers/cvtsudoers_ldif.c:429
+#: plugins/sudoers/cvtsudoers_ldif.c:437 plugins/sudoers/cvtsudoers_ldif.c:448
+#: plugins/sudoers/cvtsudoers_ldif.c:455 plugins/sudoers/cvtsudoers_ldif.c:467
+#: plugins/sudoers/cvtsudoers_ldif.c:480 plugins/sudoers/cvtsudoers_ldif.c:488
+#: plugins/sudoers/cvtsudoers_ldif.c:635 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:51
+#: plugins/sudoers/cvtsudoers_merge.c:353
+#: plugins/sudoers/cvtsudoers_merge.c:399
+#: plugins/sudoers/cvtsudoers_merge.c:445
+#: plugins/sudoers/cvtsudoers_merge.c:466
+#: plugins/sudoers/cvtsudoers_merge.c:553
+#: plugins/sudoers/cvtsudoers_merge.c:561
+#: plugins/sudoers/cvtsudoers_merge.c:564
+#: plugins/sudoers/cvtsudoers_merge.c:630
+#: plugins/sudoers/cvtsudoers_merge.c:633
+#: plugins/sudoers/cvtsudoers_merge.c:1157
+#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
-#: plugins/sudoers/interfaces.c:72 plugins/sudoers/iolog.c:609
-#: plugins/sudoers/iolog.c:626 plugins/sudoers/ldap.c:184
-#: plugins/sudoers/ldap.c:422 plugins/sudoers/ldap.c:432
-#: plugins/sudoers/ldap.c:437 plugins/sudoers/ldap.c:441
-#: plugins/sudoers/ldap.c:453 plugins/sudoers/ldap.c:744
-#: plugins/sudoers/ldap.c:908 plugins/sudoers/ldap.c:1281
-#: plugins/sudoers/ldap.c:1709 plugins/sudoers/ldap.c:1746
-#: plugins/sudoers/ldap.c:1827 plugins/sudoers/ldap.c:1962
-#: plugins/sudoers/ldap.c:2063 plugins/sudoers/ldap.c:2079
-#: plugins/sudoers/ldap_conf.c:218 plugins/sudoers/ldap_conf.c:249
-#: plugins/sudoers/ldap_conf.c:301 plugins/sudoers/ldap_conf.c:337
-#: plugins/sudoers/ldap_conf.c:441 plugins/sudoers/ldap_conf.c:456
-#: plugins/sudoers/ldap_conf.c:553 plugins/sudoers/ldap_conf.c:586
-#: plugins/sudoers/ldap_conf.c:677 plugins/sudoers/ldap_conf.c:760
-#: plugins/sudoers/ldap_util.c:325 plugins/sudoers/ldap_util.c:332
-#: plugins/sudoers/ldap_util.c:648 plugins/sudoers/linux_audit.c:86
-#: plugins/sudoers/log_client.c:105 plugins/sudoers/log_client.c:214
-#: plugins/sudoers/log_client.c:235 plugins/sudoers/log_client.c:248
-#: plugins/sudoers/log_client.c:381 plugins/sudoers/log_client.c:686
-#: plugins/sudoers/log_client.c:704 plugins/sudoers/log_client.c:1413
-#: plugins/sudoers/log_client.c:1626 plugins/sudoers/log_client.c:1950
-#: plugins/sudoers/log_client.c:2007 plugins/sudoers/logging.c:100
-#: plugins/sudoers/logging.c:165 plugins/sudoers/logging.c:166
-#: plugins/sudoers/logging.c:425 plugins/sudoers/logging.c:445
-#: plugins/sudoers/logging.c:527 plugins/sudoers/match_command.c:285
-#: plugins/sudoers/match_command.c:483 plugins/sudoers/match_command.c:532
-#: plugins/sudoers/match_command.c:604 plugins/sudoers/match_command.c:649
-#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:198
-#: plugins/sudoers/parse.c:215 plugins/sudoers/parse.c:235
-#: plugins/sudoers/parse.c:252 plugins/sudoers/parse.c:275
-#: plugins/sudoers/parse.c:286 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:259 plugins/sudoers/parse_ldif.c:264
-#: plugins/sudoers/parse_ldif.c:340 plugins/sudoers/parse_ldif.c:351
-#: plugins/sudoers/parse_ldif.c:378 plugins/sudoers/parse_ldif.c:395
-#: plugins/sudoers/parse_ldif.c:407 plugins/sudoers/parse_ldif.c:411
-#: plugins/sudoers/parse_ldif.c:425 plugins/sudoers/parse_ldif.c:483
-#: plugins/sudoers/parse_ldif.c:596 plugins/sudoers/parse_ldif.c:625
-#: plugins/sudoers/parse_ldif.c:650 plugins/sudoers/parse_ldif.c:708
-#: plugins/sudoers/parse_ldif.c:725 plugins/sudoers/parse_ldif.c:753
-#: plugins/sudoers/parse_ldif.c:760 plugins/sudoers/policy.c:149
-#: plugins/sudoers/policy.c:158 plugins/sudoers/policy.c:167
-#: plugins/sudoers/policy.c:193 plugins/sudoers/policy.c:324
-#: plugins/sudoers/policy.c:339 plugins/sudoers/policy.c:341
-#: plugins/sudoers/policy.c:371 plugins/sudoers/policy.c:380
-#: plugins/sudoers/policy.c:428 plugins/sudoers/policy.c:438
-#: plugins/sudoers/policy.c:447 plugins/sudoers/policy.c:456
-#: plugins/sudoers/policy.c:543 plugins/sudoers/policy.c:890
-#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:195
-#: plugins/sudoers/pwutil.c:266 plugins/sudoers/pwutil.c:344
-#: plugins/sudoers/pwutil.c:518 plugins/sudoers/pwutil.c:583
-#: plugins/sudoers/pwutil.c:655 plugins/sudoers/pwutil.c:853
-#: plugins/sudoers/pwutil.c:909 plugins/sudoers/pwutil.c:953
-#: plugins/sudoers/pwutil.c:1010 plugins/sudoers/set_perms.c:359
-#: plugins/sudoers/set_perms.c:698 plugins/sudoers/set_perms.c:1061
-#: plugins/sudoers/set_perms.c:1364 plugins/sudoers/set_perms.c:1529
-#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:407
-#: plugins/sudoers/sssd.c:470 plugins/sudoers/sssd.c:514
-#: plugins/sudoers/sssd.c:561 plugins/sudoers/sssd.c:754
-#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:111
-#: plugins/sudoers/stubs.c:119 plugins/sudoers/sudoers.c:299
-#: plugins/sudoers/sudoers.c:325 plugins/sudoers/sudoers.c:374
-#: plugins/sudoers/sudoers.c:384 plugins/sudoers/sudoers.c:425
-#: plugins/sudoers/sudoers.c:787 plugins/sudoers/sudoers.c:922
-#: plugins/sudoers/sudoers.c:975 plugins/sudoers/sudoers.c:1241
-#: plugins/sudoers/sudoreplay.c:552 plugins/sudoers/sudoreplay.c:555
-#: plugins/sudoers/sudoreplay.c:1259 plugins/sudoers/sudoreplay.c:1469
-#: plugins/sudoers/sudoreplay.c:1473 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
+#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
+#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
+#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
+#: plugins/sudoers/ldap.c:755 plugins/sudoers/ldap.c:919
+#: plugins/sudoers/ldap.c:1335 plugins/sudoers/ldap.c:1761
+#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
+#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
+#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
+#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/set_perms.c:363
+#: plugins/sudoers/set_perms.c:706 plugins/sudoers/set_perms.c:1073
+#: plugins/sudoers/set_perms.c:1380 plugins/sudoers/set_perms.c:1549
+#: plugins/sudoers/sssd.c:144 plugins/sudoers/sssd.c:185
+#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
+#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
+#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
-#: plugins/sudoers/testsudoers.c:580 plugins/sudoers/timestamp.c:424
-#: plugins/sudoers/timestamp.c:468 plugins/sudoers/timestamp.c:980
-#: plugins/sudoers/timestamp.c:1118 plugins/sudoers/toke_util.c:77
-#: plugins/sudoers/toke_util.c:105 plugins/sudoers/toke_util.c:130
-#: plugins/sudoers/toke_util.c:154 plugins/sudoers/toke_util.c:193
-#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:143
-#: plugins/sudoers/visudo.c:321 plugins/sudoers/visudo.c:327
-#: plugins/sudoers/visudo.c:433 plugins/sudoers/visudo.c:609
-#: plugins/sudoers/visudo.c:926 plugins/sudoers/visudo.c:999 toke.l:928
-#: toke.l:1057 toke.l:1109 toke.l:1117
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: lib/eventlog/eventlog.c:265 lib/iolog/iolog_json.c:509
-#: lib/iolog/iolog_json.c:512 lib/iolog/iolog_json.c:514
+#: lib/eventlog/eventlog.c:314 lib/iolog/iolog_json.c:562
+#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
+#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:571 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
-#: plugins/sudoers/iolog.c:631 plugins/sudoers/ldap.c:517
-#: plugins/sudoers/ldap.c:748 plugins/sudoers/ldap.c:1081
-#: plugins/sudoers/ldap_conf.c:222 plugins/sudoers/ldap_conf.c:312
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/policy.c:573
-#: plugins/sudoers/policy.c:728 plugins/sudoers/policy.c:738
-#: plugins/sudoers/prompt.c:161 plugins/sudoers/strvec_join.c:62
-#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:206
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
+#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
+#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
+#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
+#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
+#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
+#: toke.l:987 toke.l:1189
#, c-format
msgid "internal error, %s overflow"
msgstr "internt fel, %s spill"
-#: lib/eventlog/eventlog.c:324
+#: lib/eventlog/eventlog.c:373
#, c-format
msgid "unable to dup stdin: %m"
msgstr "kan inte duplicera stdin: %m"
-#: lib/eventlog/eventlog.c:366
+#: lib/eventlog/eventlog.c:415
#, c-format
msgid "unable to execute %s: %m"
msgstr "kan inte köra %s: %m"
-#: lib/eventlog/eventlog.c:407 plugins/sudoers/auth/aix_auth.c:198
+#: lib/eventlog/eventlog.c:463 plugins/sudoers/auth/aix_auth.c:198
msgid "unable to fork"
msgstr "kan inte grena process"
-#: lib/eventlog/eventlog.c:415 lib/eventlog/eventlog.c:469
+#: lib/eventlog/eventlog.c:473 lib/eventlog/eventlog.c:538
#, c-format
msgid "unable to fork: %m"
msgstr "kan inte grena process: %m"
-#: lib/eventlog/eventlog.c:459
+#: lib/eventlog/eventlog.c:528
#, c-format
msgid "unable to open pipe: %m"
msgstr "kan inte öppna rör: %m"
-#: lib/eventlog/eventlog.c:882
+#: lib/eventlog/eventlog.c:1030
#, c-format
msgid "%8s : %s"
msgstr "%8s : %s"
-#: lib/eventlog/eventlog.c:911
+#: lib/eventlog/eventlog.c:1059
#, c-format
msgid "%8s : (command continued) %s"
msgstr "%8s : (kommando fortsätter) %s"
-#: lib/iolog/iolog_json.c:115
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
+#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
+#, c-format
+msgid "invalid regular expression \"%s\": %s"
+msgstr "ogiltigt reguljärt uttryck â€%sâ€: %s"
+
+#: lib/iolog/iolog_json.c:140
#, c-format
msgid "expected JSON_STRING, got %d"
msgstr "förväntade JSON_STRING, fick %d"
-#: lib/iolog/iolog_json.c:120
+#: lib/iolog/iolog_json.c:145
msgid "JSON_ARRAY too large"
msgstr "JSON_ARRAY för stor"
-#: lib/iolog/iolog_json.c:352
+#: lib/iolog/iolog_json.c:404
msgid "missing double quote in name"
msgstr "saknar citationstecken i namn"
-#: lib/iolog/iolog_json.c:449
+#: lib/iolog/iolog_json.c:501
msgid "missing JSON_OBJECT"
msgstr "saknar JSON_OBJECT"
-#: lib/iolog/iolog_json.c:453
+#: lib/iolog/iolog_json.c:505
#, c-format
msgid "expected JSON_OBJECT, got %d"
msgstr "förväntade JSON_OBJECT, fick %d"
-#: lib/iolog/iolog_json.c:599
+#: lib/iolog/iolog_json.c:661
#, c-format
msgid "json stack exhausted (max %u frames)"
msgstr "json-stack utarmad (max %u ramar)"
-#: lib/iolog/iolog_json.c:673
+#: lib/iolog/iolog_json.c:735
msgid "objects must consist of name:value pairs"
msgstr "objekt måste bestå av namn:värde-par"
-#: lib/iolog/iolog_json.c:678 lib/iolog/iolog_json.c:709
-#: lib/iolog/iolog_json.c:753 lib/iolog/iolog_json.c:775
-#: lib/iolog/iolog_json.c:797 lib/iolog/iolog_json.c:819
-#: lib/iolog/iolog_json.c:841
+#: lib/iolog/iolog_json.c:740 lib/iolog/iolog_json.c:771
+#: lib/iolog/iolog_json.c:815 lib/iolog/iolog_json.c:837
+#: lib/iolog/iolog_json.c:859 lib/iolog/iolog_json.c:881
+#: lib/iolog/iolog_json.c:903
msgid "missing separator between values"
msgstr "saknar separator mellan värden"
-#: lib/iolog/iolog_json.c:693 lib/iolog/iolog_json.c:867
+#: lib/iolog/iolog_json.c:755 lib/iolog/iolog_json.c:929
msgid "unmatched close brace"
msgstr "omatchad avslutningsklammerparentes"
-#: lib/iolog/iolog_json.c:704
+#: lib/iolog/iolog_json.c:766
msgid "unexpected array"
msgstr "oväntad array"
-#: lib/iolog/iolog_json.c:724 lib/iolog/iolog_json.c:870
+#: lib/iolog/iolog_json.c:786 lib/iolog/iolog_json.c:932
msgid "unmatched close bracket"
msgstr "omatchad avslutningsklammer"
-#: lib/iolog/iolog_json.c:735
+#: lib/iolog/iolog_json.c:797
msgid "unexpected string"
msgstr "oväntad sträng"
-#: lib/iolog/iolog_json.c:746
+#: lib/iolog/iolog_json.c:808
msgid "missing colon after name"
msgstr "saknar kolon efter namn"
-#: lib/iolog/iolog_json.c:767 lib/iolog/iolog_json.c:789
+#: lib/iolog/iolog_json.c:829 lib/iolog/iolog_json.c:851
msgid "unexpected boolean"
msgstr "oväntad boolean"
-#: lib/iolog/iolog_json.c:811
+#: lib/iolog/iolog_json.c:873
msgid "unexpected null"
msgstr "oväntat null"
-#: lib/iolog/iolog_json.c:832
+#: lib/iolog/iolog_json.c:894
msgid "unexpected number"
msgstr "oväntat nummer"
-#: lib/iolog/iolog_json.c:879
+#: lib/iolog/iolog_json.c:941
msgid "parse error"
msgstr "tolkningsfel"
@@ -475,513 +598,794 @@ msgstr "%s: runas-gruppfältet saknas"
msgid "%s exists but is not a directory (0%o)"
msgstr "%s finns men är inte en katalog (0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:72
-#: plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "kan inte skapa katalogen %s"
-#: lib/iolog/iolog_mkdtemp.c:76 plugins/sudoers/visudo.c:726
-#: plugins/sudoers/visudo.c:737
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "kan inte ändra läge för %s till 0%o"
-#: lib/iolog/iolog_timing.c:255
+#: lib/iolog/iolog_timing.c:261
#, c-format
msgid "error reading timing file: %s"
msgstr "fel vid inläsning av tidsmätningsfil: %s"
-#: lib/iolog/iolog_timing.c:262
+#: lib/iolog/iolog_timing.c:268
#, c-format
msgid "invalid timing file line: %s"
msgstr "ogiltig rad i tidsmätningsfil: %s"
-#: logsrvd/logsrv_util.c:99 logsrvd/logsrv_util.c:106
-#: plugins/sudoers/sudoreplay.c:352 plugins/sudoers/sudoreplay.c:358
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s: protokollfel: NULL-nyckel"
+
+#: logsrvd/iolog_writer.c:69
+#, c-format
+msgid "%s: protocol error: wrong type for %s"
+msgstr "%s: protokollfel: fel typ för %s"
+
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s: protokollfel: NULL-värde hittat i %s"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "kan inte generera UUID"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
+#, c-format
+msgid "%s: protocol error: %s missing from AcceptMessage"
+msgstr "%s: protokollfel: %s saknas i AcceptMessage"
+
+#: logsrvd/iolog_writer.c:417
+#, c-format
+msgid "%s: unable to format session id"
+msgstr "%s: kan inte formattera sessions-id"
+
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
+#, c-format
+msgid "%s: %s is not set"
+msgstr "%s: %s: är inte satt"
+
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
+#, c-format
+msgid "unable to expand iolog path %s"
+msgstr "kan inte öppna iolog-sökväg %s"
+
+#: logsrvd/iolog_writer.c:563
+#, c-format
+msgid "unable to create iolog path %s"
+msgstr "kan inte skapa iolog-sökväg %s"
+
+#: logsrvd/iolog_writer.c:593
+#, c-format
+msgid "invalid iofd %d"
+msgstr "ogiltig iofd %d"
+
+#: logsrvd/iolog_writer.c:613
+#, c-format
+msgid "error closing iofd %d: %s"
+msgstr "fel vid stängning av iofd %d: %s"
+
+#: logsrvd/iolog_writer.c:633
+#, c-format
+msgid "error flushing iofd %d: %s"
+msgstr "fel vid tömning av iofd %d: %s"
+
+#: logsrvd/iolog_writer.c:751
+#, c-format
+msgid "invalid I/O log %s: %s referenced but not present"
+msgstr "ogiltig I/O-logg %s: %s refererad men inte närvarande"
+
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
+#, c-format
+msgid "%s: unable to find resume point [%lld, %ld]"
+msgstr "%s: kan inte hitta omstartspunkt [%lld, %ld]"
+
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
+#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
+#, c-format
+msgid "unable to open %s"
+msgstr "kan inte öppna %s"
+
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
+#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "kan inte öppna %s/%s"
-#: logsrvd/logsrv_util.c:133
+#: logsrvd/iolog_writer.c:810
+#, c-format
+msgid "unable to copy %s/%s to %s/%s: %s"
+msgstr "kan inte kopiera %s/%s till %s/%s: %s"
+
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
+#, c-format
+msgid "unable to rename %s to %s"
+msgstr "kan inte byta namn på %s till %s"
+
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
+#, c-format
+msgid "%s/%s: unable to find resume point [%lld, %ld]"
+msgstr "%s/%s: kan inte hitta omstartspunkt [%lld, %ld]"
+
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "saknar I/O-loggfil %s/%s"
-#: logsrvd/logsrv_util.c:140
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: kan inte söka framåt %zu"
-#: logsrvd/logsrv_util.c:150
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
+msgid "unable to connect to relay"
+msgstr "kan inte ansluta till relä"
+
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
+#, c-format
+msgid "server message too large: %zu"
+msgstr "servermeddelande för långt: %zu"
+
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
+#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
+#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
+#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
+#: plugins/sudoers/sudoreplay.c:1043 plugins/sudoers/sudoreplay.c:1050
+#: plugins/sudoers/sudoreplay.c:1057 plugins/sudoers/sudoreplay.c:1184
+msgid "unable to add event to queue"
+msgstr "kan inte lägga till händelse till kö"
+
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
-msgid "unable to find resume point [%lld, %ld] in %s/%s"
-msgstr "kan inte hitta omstartspunkt [%lld, %ld] i %s/%s"
+msgid "unexpected state %d for %s"
+msgstr "oväntat tillstånd %d för %s"
-#: logsrvd/logsrvd.c:434 logsrvd/logsrvd.c:473 logsrvd/logsrvd.c:507
-#: logsrvd/logsrvd.c:557 logsrvd/logsrvd.c:632 logsrvd/logsrvd.c:664
-#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:726 logsrvd/logsrvd_relay.c:511
-#: logsrvd/logsrvd_relay.c:544
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "fel i tillståndsmaskin"
-#: logsrvd/logsrvd.c:443
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "ogiltigt AcceptMessage"
-#: logsrvd/logsrvd.c:482
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "ogiltigt RejectMessage"
-#: logsrvd/logsrvd.c:593
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "ogiltigt ExitMessage"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "ogiltigt RestartMessage"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "ogiltigt AlertMessage"
-#: logsrvd/logsrvd.c:638 logsrvd/logsrvd.c:670 logsrvd/logsrvd.c:702
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
+#, c-format
+msgid "%s: unexpected IoBuffer"
+msgstr "%s: oväntad IoBuffer"
+
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "protokollfel"
-#: logsrvd/logsrvd.c:797
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "ogiltig IoBuffer"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "ogiltig ChangeWindowSize"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "ogiltig CommandSuspend"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
+#, c-format
+msgid "unable to unpack %s size %zu"
+msgstr "kan inte packa upp %s storlek %zu"
+
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
+#, c-format
+msgid "unexpected type_case value %d in %s from %s"
+msgstr "oväntat type_case-värde %d i %s från %s"
+
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "okänd ClientMessage-typ"
-#: logsrvd/logsrvd.c:1082 logsrvd/logsrvd_journal.c:238
+#: logsrvd/logsrvd.c:919
+#, c-format
+msgid "timed out writing to client %s"
+msgstr "tidsgräns passerad vid skrivning till klient %s"
+
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
+#, c-format
+msgid "missing write buffer for client %s"
+msgstr "saknar skrivbuffert för klient %s"
+
+#: logsrvd/logsrvd.c:1020
+#, c-format
+msgid "timed out reading from client %s"
+msgstr "tidsgräns passerad vid läsning från klient %s"
+
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
+#, c-format
+msgid "EOF from %s without proper TLS shutdown"
+msgstr "EOF från %s utan korrekt TLS-nedstängning"
+
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
+#, c-format
+msgid "client message too large: %zu"
+msgstr "klientmeddelande för stort: %zu"
+
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "klientmeddelande för stort"
-#: logsrvd/logsrvd.c:1102
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "ogiltigt ClientMessage"
-#: logsrvd/logsrvd.c:1408
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "kan inte hämta fjärr-IP-adress"
-#: logsrvd/logsrvd.c:1436 logsrvd/tls_client.c:203
-#: plugins/sudoers/log_client.c:263
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Kan inte fästa användardata på ssl-objektet: %s"
-#: logsrvd/logsrvd.c:1444 logsrvd/logsrvd.c:1570 logsrvd/logsrvd.c:1755
-#: logsrvd/sendlog.c:1146 logsrvd/tls_client.c:138 logsrvd/tls_client.c:154
-#: logsrvd/tls_client.c:216 plugins/sudoers/iolog.c:969
-#: plugins/sudoers/iolog.c:1102 plugins/sudoers/iolog.c:1200
-#: plugins/sudoers/log_client.c:109 plugins/sudoers/log_client.c:324
-#: plugins/sudoers/log_client.c:340 plugins/sudoers/log_client.c:386
-#: plugins/sudoers/log_client.c:585 plugins/sudoers/log_client.c:592
-#: plugins/sudoers/log_client.c:1109 plugins/sudoers/log_client.c:1382
-#: plugins/sudoers/log_client.c:1423 plugins/sudoers/log_client.c:1431
-#: plugins/sudoers/log_client.c:1582 plugins/sudoers/log_client.c:1698
-#: plugins/sudoers/log_client.c:2015 plugins/sudoers/log_client.c:2023
-#: plugins/sudoers/sudoreplay.c:512 plugins/sudoers/sudoreplay.c:559
-#: plugins/sudoers/sudoreplay.c:791 plugins/sudoers/sudoreplay.c:903
-#: plugins/sudoers/sudoreplay.c:993 plugins/sudoers/sudoreplay.c:1008
-#: plugins/sudoers/sudoreplay.c:1015 plugins/sudoers/sudoreplay.c:1022
-#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
-#: plugins/sudoers/sudoreplay.c:1163
-msgid "unable to add event to queue"
-msgstr "kan inte lägga till händelse till kö"
-
-#: logsrvd/logsrvd.c:1620 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "det går inte att ställa in lyssningsuttag"
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1756
+#, c-format
+msgid "unexpected signal %d"
+msgstr "oväntad signal %d"
+
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "sudo-loggserver"
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:122
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "Alternativ:"
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "sökväg till konfigurationsfil"
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:124
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "visa hjälpmeddelande och avsluta"
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "grena inte, kör i förgrunden"
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "procents chans att anslutningar slängs"
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:152
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "visa versionsinformation och avsluta"
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1518
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Protobuf-C version 1.3 eller högre krävs"
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "ogiltigt slumpmässigt avbrottsvärde: %s"
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1568
-#: plugins/sudoers/cvtsudoers.c:228 plugins/sudoers/sudoreplay.c:299
-#: plugins/sudoers/visudo.c:175
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
+#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s version %s\n"
-#: logsrvd/logsrvd_conf.c:446
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
+#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/testsudoers.c:382
+#, c-format
+msgid "unknown user %s"
+msgstr "okänd användare %s"
+
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
+#: plugins/sudoers/testsudoers.c:406
+#, c-format
+msgid "unknown group %s"
+msgstr "okänd grupp %s"
+
+#: logsrvd/logsrvd_conf.c:457
+#, c-format
+msgid "unable to parse iolog mode %s"
+msgstr "kan inte tolka iolog-läge %s"
+
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
+#, c-format
+msgid "invalid value for %s: %s"
+msgstr "ogiltigt värde för %s: %s"
+
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "TLS stöds inte"
-#: logsrvd/logsrvd_conf.c:468
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:541 logsrvd/logsrvd_conf.c:876
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s: inte fullständigt kvalificerad sökväg"
-#: logsrvd/logsrvd_conf.c:1035
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
+#, c-format
+msgid "unknown syslog facility %s"
+msgstr "okänd syslog-funktionalitet: %s"
+
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
+#, c-format
+msgid "unknown syslog priority %s"
+msgstr "okänd syslog-prioritet: %s"
+
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d omatchad â€[â€: %s"
-#: logsrvd/logsrvd_conf.c:1046
+#: logsrvd/logsrvd_conf.c:1203
+#, c-format
+msgid "%s:%d garbage after ']': %s"
+msgstr "%s:%d skräp eft â€]â€: %s"
+
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s:%d ogiltigt konfigurationsavsnitt: %s"
-#: logsrvd/logsrvd_conf.c:1054
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d ogiltig konfigurationsrad: %s"
-#: logsrvd/logsrvd_conf.c:1060
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d avsnittsnamn förväntades: %s"
-#: logsrvd/logsrvd_conf.c:1074
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
-msgid "invalid value for %s: %s"
-msgstr "ogiltigt värde för %s: %s"
+msgid "%s:%d [%s] illegal key: %s"
+msgstr "%s:%d [%s] ogiltig nyckel: %s"
-#: logsrvd/logsrvd_conf.c:1082
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
-msgid "%s:%d unknown key: %s"
-msgstr "%s:%d okänd nyckel: %s"
+msgid "unable to open log file %s"
+msgstr "kan inte öppna loggfil %s"
-#: logsrvd/logsrvd_conf.c:1294
-#, c-format
-msgid "unknown syslog facility %s"
-msgstr "okänd syslog-funktionalitet: %s"
-
-#: logsrvd/logsrvd_conf.c:1298 logsrvd/logsrvd_conf.c:1302
-#: logsrvd/logsrvd_conf.c:1306
-#, c-format
-msgid "unknown syslog priority %s"
-msgstr "okänd syslog-prioritet: %s"
-
-#: logsrvd/logsrvd_conf.c:1374
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "kan inte initiera TLS-serverkontext"
-#: logsrvd/logsrvd_conf.c:1394
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "kan inte initiera TLS-reläkontext"
-#: logsrvd/logsrvd_journal.c:126 logsrvd/logsrvd_journal.c:367
-#: logsrvd/logsrvd_journal.c:373
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "kan inte skapa journalfil"
-#: logsrvd/logsrvd_journal.c:134
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
+#, c-format
+msgid "unable to lock %s"
+msgstr "kan inte låsa %s"
+
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "kan inte låsa journalfil"
-#: logsrvd/logsrvd_journal.c:163 logsrvd/logsrvd_journal.c:406
-#: logsrvd/logsrvd_journal.c:411
+#: logsrvd/logsrvd_journal.c:161
+msgid "unable to open journal file"
+msgstr "kan inte öppna journalfil"
+
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "kan inte skriva journalfil"
-#: logsrvd/logsrvd_journal.c:171 logsrvd/logsrvd_journal.c:178
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "kan inte byta namn på journalfil"
-#: logsrvd/logsrvd_journal.c:228 logsrvd/logsrvd_journal.c:258
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "oväntat filslut vid läsning av journalfil"
-#: logsrvd/logsrvd_journal.c:230 logsrvd/logsrvd_journal.c:260
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "fel vid inläsning av journalfil"
-#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:325
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "ogiltig journalfil, kunde inte starta om"
-#: logsrvd/logsrvd_local.c:149
+#: logsrvd/logsrvd_journal.c:440
+#, c-format
+msgid "unable to seek to [%lld, %ld] in journal file %s"
+msgstr "kan inte söka till [%lld, %ld] i journalfil %s"
+
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "oväntat value_case %d i %s från %s"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "fel vid tolkning av AcceptMessage"
-#: logsrvd/logsrvd_local.c:156
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "fel vid skapande av I/O-logg"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "fel vid loggning av acceptanshändelse"
-#: logsrvd/logsrvd_local.c:196
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "fel vid tolkning av RejectMessage"
-#: logsrvd/logsrvd_local.c:202
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "fel vid loggning av avböjningshändelse"
-#: logsrvd/logsrvd_local.c:276
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
+msgid "error logging exit event"
+msgstr "fel vid loggning av avslutningshändelse"
+
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "logg är redan komplett, kan inte startas om"
-#: logsrvd/logsrvd_local.c:307
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "kan inte starta om logg"
-#: logsrvd/logsrvd_local.c:322
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "fel vid tolkning av AlertMessage"
-#: logsrvd/logsrvd_local.c:330
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "fel vid loggning av alarmhändelse"
-#: logsrvd/logsrvd_local.c:397
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
+#, c-format
+msgid "unable to format timing buffer, length %d"
+msgstr "kan inte formatera tidsbuffert, längd %d"
+
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
+#: plugins/sudoers/sudoreplay.c:351
+#, c-format
+msgid "%s/%s: %s"
+msgstr "%s/%s: %s"
+
+#: logsrvd/logsrvd_local.c:618
+msgid "randomly dropping connection"
+msgstr "släpper slumpmässigt anslutningen"
+
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "fel vid skrivning av IoBuffer"
-#: logsrvd/logsrvd_local.c:434
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "fel vid skrivning av ChangeWindowSize"
-#: logsrvd/logsrvd_local.c:474
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "fel vid skrivning av CommandSuspend"
-#: logsrvd/logsrvd_relay.c:434
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "TLS-handskakning med relävärd misslyckades"
-#: logsrvd/logsrvd_relay.c:462
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "kan inte ansluta till relävärd"
-#: logsrvd/logsrvd_relay.c:519 logsrvd/sendlog.c:951
-#: plugins/sudoers/log_client.c:1466
+#: logsrvd/logsrvd_relay.c:518
+#, c-format
+msgid "%s: invalid ServerHello, missing server_id"
+msgstr "%s: ogiltigt ServerHello, saknar server_id"
+
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "ogiltigt ServerHello"
-#: logsrvd/logsrvd_relay.c:677
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "okänd ServerMessage-typ"
-#: logsrvd/logsrvd_relay.c:709
+#: logsrvd/logsrvd_relay.c:708
+#, c-format
+msgid "timed out reading from relay %s (%s)"
+msgstr "tidsgräns passerad vid läsning från relä %s (%s)"
+
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "tidsgräns passerad vid läsning från relä"
-#: logsrvd/logsrvd_relay.c:761
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "relävärdnamnet matchar inte certifikatet"
-#: logsrvd/logsrvd_relay.c:765 logsrvd/logsrvd_relay.c:786
-#: logsrvd/logsrvd_relay.c:794
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "fel vid läsning från relä"
-#: logsrvd/logsrvd_relay.c:817
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "kan inte läsa från relä"
-#: logsrvd/logsrvd_relay.c:831 logsrvd/logsrvd_relay.c:951
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "reläserver stängde anslutningen"
-#: logsrvd/logsrvd_relay.c:850
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "servermeddelandet för stort"
-#: logsrvd/logsrvd_relay.c:915
+#: logsrvd/logsrvd_relay.c:907
+#, c-format
+msgid "timed out writing to relay %s (%s)"
+msgstr "tidsgräns passerad vid skrivning till relä %s (%s)"
+
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "tidsgräns passerad vid skrivning till relä"
-#: logsrvd/logsrvd_relay.c:973 logsrvd/logsrvd_relay.c:981
-#: logsrvd/logsrvd_relay.c:993
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "fel vid skrivning till relä"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "skicka sudo I/O-logg till fjärrserver"
-#: logsrvd/sendlog.c:126
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "skicka endast en accepteringshändelse (ingen I/O)"
-#: logsrvd/sendlog.c:129
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "certifikatbuntfil för att verifiera serverns certifikat mot"
-#: logsrvd/sendlog.c:131
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "certifikatfil för TLS-handskakning"
-#: logsrvd/sendlog.c:134
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "värd att skicka loggar till"
-#: logsrvd/sendlog.c:136
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "fjärr-ID för I/O-logg som ska återupptas"
-#: logsrvd/sendlog.c:139
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "privat nyckelfil"
-#: logsrvd/sendlog.c:141
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "verifiera inte servercertifikat"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "port som ska användas när du ansluter till värd"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "starta om tidigare I/O-loggöverföring"
-#: logsrvd/sendlog.c:148
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "avvisa kommandot med angiven anledning"
-#: logsrvd/sendlog.c:150
+#: logsrvd/sendlog.c:149
+msgid "stop transfer after reaching this time"
+msgstr "stoppa överföring efter att ha nått denna tid"
+
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "testa granskningsservern genom att skicka utvalda I/O-loggar n gånger parallellt"
-#: logsrvd/sendlog.c:175 plugins/sudoers/log_client.c:432
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "kan inte slå upp %s:%s: %s"
-#: logsrvd/sendlog.c:213
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "kan inte hämta server-IP-adress"
-#: logsrvd/sendlog.c:267 plugins/sudoers/sudoreplay.c:851
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "kan inte läsa %s/%s: %s"
-#: logsrvd/sendlog.c:288 plugins/sudoers/log_client.c:692
-#, c-format
-msgid "client message too large: %zu"
-msgstr "klientmeddelande för stort: %zu"
-
-#: logsrvd/sendlog.c:830
-#, c-format
-msgid "%s: write buffer already in use"
-msgstr "%s: skrivbuffert används redan"
-
-#: logsrvd/sendlog.c:882 plugins/sudoers/iolog.c:893
-#: plugins/sudoers/iolog.c:962
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "oväntad I/O-händelse %d"
-#: logsrvd/sendlog.c:928 logsrvd/sendlog.c:945 logsrvd/sendlog.c:979
-#: plugins/sudoers/log_client.c:1124 plugins/sudoers/log_client.c:1392
-#: plugins/sudoers/log_client.c:1460 plugins/sudoers/log_client.c:1496
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: oväntat tillstånd %d"
-#: logsrvd/sendlog.c:1015 plugins/sudoers/log_client.c:1540
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "felmeddelande mottaget från server: %s"
-#: logsrvd/sendlog.c:1028 plugins/sudoers/log_client.c:1553
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "avbrottsmeddelande mottaget från server: %s"
-#: logsrvd/sendlog.c:1047 plugins/sudoers/log_client.c:1572
-msgid "unable to unpack ServerMessage"
-msgstr "kan inte packa upp ServerMessage"
-
-#: logsrvd/sendlog.c:1087 plugins/sudoers/log_client.c:1603
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: oväntat type_case-värde %d"
-#: logsrvd/sendlog.c:1116
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "tidsgräns passerad vid läsning från server"
-#: logsrvd/sendlog.c:1195
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
+msgid "host name does not match certificate"
+msgstr "värdnamn matchar inte certifikat"
+
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "oväntad EOF"
-#: logsrvd/sendlog.c:1208 plugins/sudoers/log_client.c:1761
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "servermeddelande för långt: %u"
-#: logsrvd/sendlog.c:1259
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "tidsgräns passerad vid skrivning till server"
-#: logsrvd/sendlog.c:1591
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "både omstartspunkt och iolog-ID måste anges"
-#: logsrvd/sendlog.c:1595
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "en omstartspunkt får inte sättas när ingen I/O skickas"
-#: logsrvd/sendlog.c:1671
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "avslutade oväntat i tillstånd %d"
-#: logsrvd/sendlog.c:1672
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "förfluten tid skickad till server [%lld, %ld]"
-#: logsrvd/sendlog.c:1674
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "incheckningspunkt mottagen från server [%lld, %ld]"
-#: logsrvd/tls_client.c:113 plugins/sudoers/log_client.c:296
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "Tidsgräns för TLS-handskakning uppnådd"
-#: logsrvd/tls_client.c:133 logsrvd/tls_client.c:149
-#: plugins/sudoers/log_client.c:318 plugins/sudoers/log_client.c:334
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "kan inte ställa in händelse"
-#: logsrvd/tls_client.c:159 logsrvd/tls_client.c:163
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "TLS-anslutning misslyckades: %s"
-#: logsrvd/tls_client.c:197
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "kan inte allokera ssl-objekt: %s"
@@ -995,97 +1399,84 @@ msgstr "Kan inte fästa kontakt på ssl-objektet: %s"
msgid "unable to initialize TLS context"
msgstr "kan inte initiera TLS-kontext"
-#: logsrvd/tls_init.c:129 logsrvd/tls_init.c:137
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "kan inte ställa in TLS 1.2-krypteringssvit till %s: %s"
-#: logsrvd/tls_init.c:157 logsrvd/tls_init.c:165
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "kan inte ställa in TLS 1.3-krypteringssvit till %s: %s"
-#: logsrvd/tls_init.c:200
-#, c-format
-msgid "unable to create TLS context: %s"
-msgstr "kan inte skapa TLS-kontext: %s"
-
-#: logsrvd/tls_init.c:206
-#, c-format
-msgid "unable to set minimum protocol version to TLS 1.2: %s"
-msgstr "kunde inte sätta minsta protokollversion till TLS 1.2: %s"
-
-#: logsrvd/tls_init.c:282
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "kunde inte sätta diffie-hellman-parametrar: %s"
-#: logsrvd/tls_init.c:291
+#: logsrvd/tls_init.c:283
#, c-format
-msgid "unable to read diffie-hellman parameters: %s"
-msgstr "kunde inte läsa diffie-hellman-parametrar: %s"
+msgid "unable to create TLS context: %s"
+msgstr "kan inte skapa TLS-kontext: %s"
-#: logsrvd/tls_init.c:296 plugins/sudoers/check.c:274
-#: plugins/sudoers/cvtsudoers.c:618 plugins/sudoers/cvtsudoers.c:639
-#: plugins/sudoers/cvtsudoers.c:1249 plugins/sudoers/cvtsudoers_json.c:872
-#: plugins/sudoers/cvtsudoers_ldif.c:688 plugins/sudoers/sudoers.c:1028
-#: plugins/sudoers/sudoreplay.c:1435 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:913
+#: logsrvd/tls_init.c:290
#, c-format
-msgid "unable to open %s"
-msgstr "kan inte öppna %s"
+msgid "unable to set minimum protocol version to TLS 1.2: %s"
+msgstr "kunde inte sätta minsta protokollversion till TLS 1.2: %s"
-#: plugins/sudoers/audit.c:259 plugins/sudoers/audit.c:398
-#: plugins/sudoers/log_client.c:960 plugins/sudoers/log_client.c:1008
-#: plugins/sudoers/log_client.c:1056 plugins/sudoers/log_client.c:1181
-#: plugins/sudoers/logging.c:548 plugins/sudoers/policy.c:120
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "kan inte hämta tid på dagen"
-#: plugins/sudoers/auth/aix_auth.c:277
+#: plugins/sudoers/auth/aix_auth.c:280
#, c-format
msgid "unable to change password for %s"
msgstr "kan inte ändra lösenord för %s"
-#: plugins/sudoers/auth/bsdauth.c:70
+#: plugins/sudoers/auth/bsdauth.c:74
#, c-format
msgid "unable to get login class for user %s"
msgstr "kan inte hämta inloggningsklass för användaren %s"
-#: plugins/sudoers/auth/bsdauth.c:75
+#: plugins/sudoers/auth/bsdauth.c:79
msgid "unable to begin bsd authentication"
msgstr "kan inte påbörja bsd-autentisering"
-#: plugins/sudoers/auth/bsdauth.c:83
+#: plugins/sudoers/auth/bsdauth.c:87
msgid "invalid authentication type"
msgstr "ogiltig autentiseringstyp"
-#: plugins/sudoers/auth/bsdauth.c:92
+#: plugins/sudoers/auth/bsdauth.c:96
msgid "unable to initialize BSD authentication"
msgstr "kan inte initiera BSD-autentisering"
-#: plugins/sudoers/auth/bsdauth.c:179
+#: plugins/sudoers/auth/bsdauth.c:186
msgid "your account has expired"
msgstr "ditt konto har gått ut"
-#: plugins/sudoers/auth/bsdauth.c:181
+#: plugins/sudoers/auth/bsdauth.c:188
msgid "approval failed"
msgstr "godkännande misslyckades"
-#: plugins/sudoers/auth/fwtk.c:54
+#: plugins/sudoers/auth/fwtk.c:61
msgid "unable to read fwtk config"
msgstr "kan inte läsa fwtk-konfiguration"
-#: plugins/sudoers/auth/fwtk.c:59
+#: plugins/sudoers/auth/fwtk.c:66
msgid "unable to connect to authentication server"
msgstr "kan inte ansluta till autentiseringsservern"
-#: plugins/sudoers/auth/fwtk.c:65 plugins/sudoers/auth/fwtk.c:89
-#: plugins/sudoers/auth/fwtk.c:121
+#: plugins/sudoers/auth/fwtk.c:72 plugins/sudoers/auth/fwtk.c:97
+#: plugins/sudoers/auth/fwtk.c:129
msgid "lost connection to authentication server"
msgstr "förlorade kontakten med autentiseringsservern"
-#: plugins/sudoers/auth/fwtk.c:69
+#: plugins/sudoers/auth/fwtk.c:76
#, c-format
msgid ""
"authentication server error:\n"
@@ -1094,149 +1485,149 @@ msgstr ""
"fel i autentiseringsservern:\n"
"%s"
-#: plugins/sudoers/auth/kerb5.c:110
+#: plugins/sudoers/auth/kerb5.c:115
#, c-format
msgid "%s: unable to convert principal to string ('%s'): %s"
msgstr "%s: kan inte konvertera principal till sträng (â€%sâ€): %s"
-#: plugins/sudoers/auth/kerb5.c:160
+#: plugins/sudoers/auth/kerb5.c:164
#, c-format
msgid "%s: unable to parse '%s': %s"
msgstr "%s: kan inte tolka â€%sâ€: %s"
-#: plugins/sudoers/auth/kerb5.c:169
+#: plugins/sudoers/auth/kerb5.c:173
#, c-format
msgid "%s: unable to resolve credential cache: %s"
msgstr "%s: kan inte slå upp inloggningsuppgiftscache: %s"
-#: plugins/sudoers/auth/kerb5.c:216
+#: plugins/sudoers/auth/kerb5.c:222
#, c-format
msgid "%s: unable to allocate options: %s"
msgstr "%s: kan inte allokera flaggor: %s"
-#: plugins/sudoers/auth/kerb5.c:231
+#: plugins/sudoers/auth/kerb5.c:237
#, c-format
msgid "%s: unable to get credentials: %s"
msgstr "%s: kan inte hämta inloggningsuppgifter: %s"
-#: plugins/sudoers/auth/kerb5.c:244
+#: plugins/sudoers/auth/kerb5.c:250
#, c-format
msgid "%s: unable to initialize credential cache: %s"
msgstr "%s: kan inte initiera inloggningsuppgiftscache: %s"
-#: plugins/sudoers/auth/kerb5.c:247
+#: plugins/sudoers/auth/kerb5.c:253
#, c-format
msgid "%s: unable to store credential in cache: %s"
msgstr "%s: kan inte lagra inloggningsuppgifter i cache: %s"
-#: plugins/sudoers/auth/kerb5.c:311
+#: plugins/sudoers/auth/kerb5.c:317
#, c-format
msgid "%s: unable to get host principal: %s"
msgstr "%s: kan inte hämta principal för värd: %s"
-#: plugins/sudoers/auth/kerb5.c:325
+#: plugins/sudoers/auth/kerb5.c:331
#, c-format
msgid "%s: Cannot verify TGT! Possible attack!: %s"
msgstr "%s: Kan inte verifiera TGT! Möjlig attack!: %s"
-#: plugins/sudoers/auth/pam.c:218
+#: plugins/sudoers/auth/pam.c:224
#, c-format
msgid "unable to initialize PAM: %s"
msgstr "kan inte initiera PAM: %s"
-#: plugins/sudoers/auth/pam.c:340
+#: plugins/sudoers/auth/pam.c:337
#, c-format
msgid "PAM authentication error: %s"
msgstr "PAM-autentiseringsfel: %s"
-#: plugins/sudoers/auth/pam.c:359
+#: plugins/sudoers/auth/pam.c:356
msgid "account validation failure, is your account locked?"
msgstr "kontovalidering misslyckades. Är ditt konto låst?"
-#: plugins/sudoers/auth/pam.c:370
+#: plugins/sudoers/auth/pam.c:367
msgid "Account or password is expired, reset your password and try again"
msgstr "Kontot eller lösenordet har gått ut. Återställ ditt lösenord och försök igen"
-#: plugins/sudoers/auth/pam.c:376
+#: plugins/sudoers/auth/pam.c:373
#, c-format
msgid "unable to change expired password: %s"
msgstr "kan inte ändra utgånget lösenord: %s"
-#: plugins/sudoers/auth/pam.c:387
+#: plugins/sudoers/auth/pam.c:384
msgid "Password expired, contact your system administrator"
msgstr "Lösenordet har gått ut. Kontakta din systemadministratör"
-#: plugins/sudoers/auth/pam.c:392
+#: plugins/sudoers/auth/pam.c:389
msgid "Account expired or PAM config lacks an \"account\" section for sudo, contact your system administrator"
msgstr "Konto utgÃ¥nget eller sÃ¥ saknar PAM-konfigurationen ett â€accountâ€-avsnitt för sudo, kontakta din systemadministratör"
-#: plugins/sudoers/auth/pam.c:400 plugins/sudoers/auth/pam.c:405
+#: plugins/sudoers/auth/pam.c:397 plugins/sudoers/auth/pam.c:402
#, c-format
msgid "PAM account management error: %s"
msgstr "Fel vid hantering av PAM-konto: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:241
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "du finns inte i %s-databasen"
-#: plugins/sudoers/auth/securid5.c:72
+#: plugins/sudoers/auth/securid5.c:75
msgid "failed to initialise the ACE API library"
msgstr "misslyckades med att initiera ACE API-biblioteket"
-#: plugins/sudoers/auth/securid5.c:98
+#: plugins/sudoers/auth/securid5.c:106
msgid "unable to contact the SecurID server"
msgstr "kan inte kontakta SecurID-servern"
-#: plugins/sudoers/auth/securid5.c:107
+#: plugins/sudoers/auth/securid5.c:115
msgid "User ID locked for SecurID Authentication"
msgstr "Användar-ID låst för SecurID-autentisering"
-#: plugins/sudoers/auth/securid5.c:111 plugins/sudoers/auth/securid5.c:162
+#: plugins/sudoers/auth/securid5.c:119 plugins/sudoers/auth/securid5.c:170
msgid "invalid username length for SecurID"
msgstr "ogiltig längd för användarnamn för SecurID"
-#: plugins/sudoers/auth/securid5.c:115 plugins/sudoers/auth/securid5.c:167
+#: plugins/sudoers/auth/securid5.c:123 plugins/sudoers/auth/securid5.c:175
msgid "invalid Authentication Handle for SecurID"
msgstr "ogiltigt autentiseringshandtag för SecurID"
-#: plugins/sudoers/auth/securid5.c:119
+#: plugins/sudoers/auth/securid5.c:127
msgid "SecurID communication failed"
msgstr "SecurID-kommunikation misslyckades"
-#: plugins/sudoers/auth/securid5.c:123 plugins/sudoers/auth/securid5.c:210
+#: plugins/sudoers/auth/securid5.c:131 plugins/sudoers/auth/securid5.c:218
msgid "unknown SecurID error"
msgstr "okänt SecurID-fel"
-#: plugins/sudoers/auth/securid5.c:157
+#: plugins/sudoers/auth/securid5.c:165
msgid "invalid passcode length for SecurID"
msgstr "ogiltig lösenordslängd för SecurID"
-#: plugins/sudoers/auth/sia.c:69 plugins/sudoers/auth/sia.c:123
+#: plugins/sudoers/auth/sia.c:69 plugins/sudoers/auth/sia.c:126
msgid "unable to initialize SIA session"
msgstr "kan inte initiera SIA-session"
-#: plugins/sudoers/auth/sudo_auth.c:132
+#: plugins/sudoers/auth/sudo_auth.c:135
msgid "invalid authentication methods"
msgstr "ogiltiga autentiseringsmetoder"
-#: plugins/sudoers/auth/sudo_auth.c:134
+#: plugins/sudoers/auth/sudo_auth.c:137
msgid "Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication."
msgstr "Ogiltiga autentiseringsmetoder inkompilerade i sudo! Du får inte blanda fristående och icke-fristående autentisering."
-#: plugins/sudoers/auth/sudo_auth.c:255 plugins/sudoers/auth/sudo_auth.c:305
+#: plugins/sudoers/auth/sudo_auth.c:258 plugins/sudoers/auth/sudo_auth.c:310
msgid "no authentication methods"
msgstr "inga autentiseringsmetoder"
-#: plugins/sudoers/auth/sudo_auth.c:257
+#: plugins/sudoers/auth/sudo_auth.c:260
msgid "There are no authentication methods compiled into sudo! If you want to turn off authentication, use the --disable-authentication configure option."
msgstr "Det finns inga autentiseringsmetoder inbyggda i sudo! Om du vill inaktivera autentisering, använd konfigurationsflaggan --disable-authentication."
-#: plugins/sudoers/auth/sudo_auth.c:307
+#: plugins/sudoers/auth/sudo_auth.c:312
msgid "Unable to initialize authentication methods."
msgstr "Kan inte initiera autentiseringsmetoder."
-#: plugins/sudoers/auth/sudo_auth.c:471
+#: plugins/sudoers/auth/sudo_auth.c:486
msgid "Authentication methods:"
msgstr "Autentiseringsmetoder:"
@@ -1248,17 +1639,17 @@ msgstr "Kunde inte fastställa granskningsvillkor"
msgid "unable to commit audit record"
msgstr "kan inte bekräfta granskningsberättelse"
-#: plugins/sudoers/check.c:264
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "fel vid inläsning av lektionsfil %s"
-#: plugins/sudoers/check.c:270
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "hoppar över lektionsfil %s: inte en vanlig fil"
-#: plugins/sudoers/check.c:283
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1278,129 +1669,107 @@ msgstr ""
" #3) Med stor makt kommer ett stort ansvar.\n"
"\n"
-#: plugins/sudoers/check.c:325 plugins/sudoers/check.c:335
-#: plugins/sudoers/sudoers.c:830 plugins/sudoers/sudoers.c:851
-#: plugins/sudoers/tsdump.c:119
-#, c-format
-msgid "unknown uid: %u"
-msgstr "okänt uid: %u"
-
-#: plugins/sudoers/check.c:330 plugins/sudoers/exptilde.c:85
-#: plugins/sudoers/iolog.c:118 plugins/sudoers/policy.c:1123
-#: plugins/sudoers/sudoers.c:432 plugins/sudoers/sudoers.c:1283
-#: plugins/sudoers/testsudoers.c:215 plugins/sudoers/testsudoers.c:382
-#, c-format
-msgid "unknown user: %s"
-msgstr "okänd användare: %s"
-
-#: plugins/sudoers/check_aliases.c:56
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
-msgid "Error: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Fel: %s:%d:%d: cykel i %s â€%sâ€"
+msgid "unknown uid %u"
+msgstr "okänt uid %u"
-#: plugins/sudoers/check_aliases.c:57
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
-msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
-msgstr "Varning: %s:%d:%d: cykel i %s â€%sâ€"
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
-#: plugins/sudoers/check_aliases.c:61
+#: plugins/sudoers/check_aliases.c:133
#, c-format
-msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Fel: %s:%d:%d: %s â€%s†refererad till men inte definierad"
+msgid "cycle in %s \"%s\""
+msgstr "cykel i %s â€%sâ€"
-#: plugins/sudoers/check_aliases.c:62
+#: plugins/sudoers/check_aliases.c:136
#, c-format
-msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
-msgstr "Varning: %s:%d:%d: %s â€%s†refererad till men inte definierad"
+msgid "%s \"%s\" referenced but not defined"
+msgstr "%s â€%s†refererad till men inte definierad"
-#: plugins/sudoers/cvtsudoers.c:194
+#: plugins/sudoers/cvtsudoers.c:209
#, c-format
msgid "order increment: %s: %s"
msgstr "ordningsinkrement: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:210
+#: plugins/sudoers/cvtsudoers.c:228
#, c-format
msgid "starting order: %s: %s"
msgstr "startordning: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:220
+#: plugins/sudoers/cvtsudoers.c:238
#, c-format
msgid "order padding: %s: %s"
msgstr "ordningsutfyllnad: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:230 plugins/sudoers/visudo.c:177
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "%s grammatikversion %d\n"
-#: plugins/sudoers/cvtsudoers.c:247 plugins/sudoers/testsudoers.c:159
+#: plugins/sudoers/cvtsudoers.c:277 plugins/sudoers/testsudoers.c:159
#, c-format
msgid "unsupported input format %s"
msgstr "inmatningsformat %s stöds inte"
-#: plugins/sudoers/cvtsudoers.c:262
+#: plugins/sudoers/cvtsudoers.c:295
#, c-format
msgid "unsupported output format %s"
msgstr "utmatningsformat %s stöds inte"
-#: plugins/sudoers/cvtsudoers.c:314
+#: plugins/sudoers/cvtsudoers.c:385
#, c-format
msgid "%s: input and output files must be different"
msgstr "%s: in- och utmatningsfiler måste vara olika"
-#: plugins/sudoers/cvtsudoers.c:330 plugins/sudoers/sudoers.c:177
-#: plugins/sudoers/testsudoers.c:254 plugins/sudoers/visudo.c:247
-#: plugins/sudoers/visudo.c:597 plugins/sudoers/visudo.c:917
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "kan inte initiera sudoers standardvärden"
-#: plugins/sudoers/cvtsudoers.c:416 plugins/sudoers/ldap_conf.c:431
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:475
+#: plugins/sudoers/cvtsudoers.c:584
#, c-format
-msgid "%s: unknown key word: %s"
-msgstr "%s: okänt nyckelord: %s"
+msgid "%s: unknown key word %s"
+msgstr "%s: okänt nyckelord %s"
-#: plugins/sudoers/cvtsudoers.c:521
+#: plugins/sudoers/cvtsudoers.c:630
#, c-format
msgid "invalid defaults type: %s"
msgstr "ogiltig standardtyp: %s"
-#: plugins/sudoers/cvtsudoers.c:544
+#: plugins/sudoers/cvtsudoers.c:653
#, c-format
msgid "invalid suppression type: %s"
msgstr "ogiltig undertryckningstyp: %s"
-#: plugins/sudoers/cvtsudoers.c:584 plugins/sudoers/cvtsudoers.c:598
+#: plugins/sudoers/cvtsudoers.c:694 plugins/sudoers/cvtsudoers.c:710
#, c-format
msgid "invalid filter: %s"
msgstr "ogiltigt filter: %s"
-#: plugins/sudoers/cvtsudoers.c:642 plugins/sudoers/visudo.c:922
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "misslyckades med att tolka %s-filen, okänt fel"
-#: plugins/sudoers/cvtsudoers.c:650
-#, c-format
-msgid "parse error in %s near line %d\n"
-msgstr "tolkningsfel i %s nära rad %d\n"
-
-#: plugins/sudoers/cvtsudoers.c:653
-#, c-format
-msgid "parse error in %s\n"
-msgstr "tolkningsfel i %s\n"
-
-#: plugins/sudoers/cvtsudoers.c:1296 plugins/sudoers/sudoreplay.c:1124
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "kan inte skriva till %s"
-#: plugins/sudoers/cvtsudoers.c:1319
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1409,7 +1778,7 @@ msgstr ""
"%s - konvertera mellan sudoers filformat\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1321
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -1449,714 +1818,859 @@ msgstr ""
" -s, --suppress=avsnitt undertryck utmatning av vissa avsnitt\n"
" -V, --version visa versionsinformation och avsluta"
-#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:514
-#: plugins/sudoers/cvtsudoers_json.c:713
-#, c-format
-msgid "unknown defaults entry \"%s\""
-msgstr "okänd standardpost â€%sâ€"
-
-#: plugins/sudoers/cvtsudoers_json.c:651 plugins/sudoers/cvtsudoers_json.c:664
-#: plugins/sudoers/cvtsudoers_ldif.c:346 plugins/sudoers/cvtsudoers_ldif.c:357
-#: plugins/sudoers/ldap.c:503
+#: plugins/sudoers/cvtsudoers_csv.c:452 plugins/sudoers/cvtsudoers_csv.c:466
+#: plugins/sudoers/cvtsudoers_json.c:657 plugins/sudoers/cvtsudoers_json.c:672
+#: plugins/sudoers/cvtsudoers_ldif.c:347 plugins/sudoers/cvtsudoers_ldif.c:360
+#: plugins/sudoers/ldap.c:510
msgid "unable to get GMT time"
msgstr "kan inte hämta GMT-tid"
-#: plugins/sudoers/cvtsudoers_json.c:654 plugins/sudoers/cvtsudoers_json.c:667
-#: plugins/sudoers/cvtsudoers_ldif.c:349 plugins/sudoers/cvtsudoers_ldif.c:360
-#: plugins/sudoers/ldap.c:509
+#: plugins/sudoers/cvtsudoers_csv.c:457 plugins/sudoers/cvtsudoers_csv.c:471
+#: plugins/sudoers/cvtsudoers_json.c:662 plugins/sudoers/cvtsudoers_json.c:677
+#: plugins/sudoers/cvtsudoers_ldif.c:352 plugins/sudoers/cvtsudoers_ldif.c:365
+#: plugins/sudoers/ldap.c:518
msgid "unable to format timestamp"
msgstr "kan inte formatera tidsstämpel"
-#: plugins/sudoers/cvtsudoers_ldif.c:640
+#: plugins/sudoers/cvtsudoers_json.c:480 plugins/sudoers/cvtsudoers_json.c:515
+#: plugins/sudoers/cvtsudoers_json.c:728
+#, c-format
+msgid "%s:%d:%d: unknown defaults entry \"%s\""
+msgstr "%s:%d:%d: okänd standardpost â€%sâ€"
+
+#: plugins/sudoers/cvtsudoers_ldif.c:661
#, c-format
msgid "too many sudoers entries, maximum %u"
msgstr "för många sudoers-poster, maximalt %u"
-#: plugins/sudoers/cvtsudoers_ldif.c:683
+#: plugins/sudoers/cvtsudoers_ldif.c:704
msgid "the SUDOERS_BASE environment variable is not set and the -b option was not specified."
msgstr "miljövariabeln SUDOERS_BASE är inte satt och flaggan -b angavs inte."
-#: plugins/sudoers/def_data.c:50
+#: plugins/sudoers/cvtsudoers_merge.c:273
+#: plugins/sudoers/cvtsudoers_merge.c:309
+#, c-format
+msgid "%s:%d:%d: converting host list to ALL"
+msgstr "%s:%d:%d: konverterar värdlista till ALL"
+
+#: plugins/sudoers/cvtsudoers_merge.c:545
+#, c-format
+msgid "unable to find alias %s"
+msgstr "kan inte hitta alias %s"
+
+#: plugins/sudoers/cvtsudoers_merge.c:548
+#, c-format
+msgid "%s:%d:%d: renaming alias %s to %s"
+msgstr "%s:%d:%d: byter namn på alias %s till %s"
+
+#: plugins/sudoers/cvtsudoers_merge.c:605
+#, c-format
+msgid "%s:%d:%d: removing duplicate alias %s"
+msgstr "%s:%d:%d: tar bort duplicerat alias %s"
+
+#: plugins/sudoers/cvtsudoers_merge.c:830
+#, c-format
+msgid "%s:%d:%d: conflicting Defaults entry \"%s\" host-specific in %s:%d:%d"
+msgstr "%s:%d:%d: Defaults-post â€%s†stÃ¥r i konflikt med värdspecifik pÃ¥ %s:%d:%d"
+
+#: plugins/sudoers/cvtsudoers_merge.c:864
+#, c-format
+msgid "%s:%d:%d: made Defaults \"%s\" specific to host %s"
+msgstr "%s:%d:%d: gjorde Defaults â€%s†specifika för värd %s"
+
+#: plugins/sudoers/cvtsudoers_merge.c:882
+#, c-format
+msgid "%s:%d:%d: unable to make Defaults \"%s\" host-specific"
+msgstr "%s:%d:%d: kan inte göra Defaults â€%s†värdspecifik"
+
+#: plugins/sudoers/cvtsudoers_merge.c:892
+#, c-format
+msgid "%s:%d:%d: removing Defaults \"%s\" overridden by subsequent entries"
+msgstr "%s:%d:%d: tar bort Defaults â€%s†åsidosatt av efterföljande poster"
+
+#: plugins/sudoers/cvtsudoers_merge.c:1088
+#, c-format
+msgid "%s:%d:%d: merging userspec into %s:%d:%d"
+msgstr "%s:%d:%d: sammanfogar användarspec till %s:%d:%d"
+
+#: plugins/sudoers/cvtsudoers_merge.c:1182
+#, c-format
+msgid "%s:%d:%d: removing userspec overridden by subsequent entries"
+msgstr "%s:%d:%d: tar bort användarspec åsidosatt av efterföljande poster"
+
+#: plugins/sudoers/def_data.c:56
#, c-format
msgid "Syslog facility if syslog is being used for logging: %s"
msgstr "Syslog-facilitet om syslog används för loggning: %s"
-#: plugins/sudoers/def_data.c:54
+#: plugins/sudoers/def_data.c:60
#, c-format
msgid "Syslog priority to use when user authenticates successfully: %s"
msgstr "Syslog-prioritet att använda när användaren lyckas med autentisering: %s"
-#: plugins/sudoers/def_data.c:58
+#: plugins/sudoers/def_data.c:64
#, c-format
msgid "Syslog priority to use when user authenticates unsuccessfully: %s"
msgstr "Syslog-prioritet att använda när användaren misslyckas med autentisering: %s"
-#: plugins/sudoers/def_data.c:62
+#: plugins/sudoers/def_data.c:68
msgid "Put OTP prompt on its own line"
msgstr "Lägg OTP-prompt på en egen rad"
-#: plugins/sudoers/def_data.c:66
+#: plugins/sudoers/def_data.c:72
msgid "Ignore '.' in $PATH"
msgstr "Ignorera â€.†i $PATH"
-#: plugins/sudoers/def_data.c:70
+#: plugins/sudoers/def_data.c:76
msgid "Always send mail when sudo is run"
msgstr "Skicka alltid e-post när sudo körs"
-#: plugins/sudoers/def_data.c:74
+#: plugins/sudoers/def_data.c:80
msgid "Send mail if user authentication fails"
msgstr "Skicka e-post om användarens autentisering misslyckas"
-#: plugins/sudoers/def_data.c:78
+#: plugins/sudoers/def_data.c:84
msgid "Send mail if the user is not in sudoers"
msgstr "Skicka e-post om användaren inte finns med i sudoers"
-#: plugins/sudoers/def_data.c:82
+#: plugins/sudoers/def_data.c:88
msgid "Send mail if the user is not in sudoers for this host"
msgstr "Skicka e-post om användaren inte finns med i sudoers för denna värddator"
-#: plugins/sudoers/def_data.c:86
+#: plugins/sudoers/def_data.c:92
msgid "Send mail if the user is not allowed to run a command"
msgstr "Skicka e-post om användaren inte tillåts att köra ett kommando"
-#: plugins/sudoers/def_data.c:90
+#: plugins/sudoers/def_data.c:96
msgid "Send mail if the user tries to run a command"
msgstr "Skicka e-post om användaren försöker köra ett kommando"
-#: plugins/sudoers/def_data.c:94
+#: plugins/sudoers/def_data.c:100
msgid "Use a separate timestamp for each user/tty combo"
msgstr "Använd en separat tidsstämpel för varje användar-/tty-kombination"
-#: plugins/sudoers/def_data.c:98
+#: plugins/sudoers/def_data.c:104
msgid "Lecture user the first time they run sudo"
msgstr "Lär upp användaren första gången de kör sudo"
-#: plugins/sudoers/def_data.c:102
+#: plugins/sudoers/def_data.c:108
#, c-format
msgid "File containing the sudo lecture: %s"
msgstr "Fil som innehåller sudo-lektion: %s"
-#: plugins/sudoers/def_data.c:106
+#: plugins/sudoers/def_data.c:112
msgid "Require users to authenticate by default"
msgstr "Kräv att användare autentiseras som standard"
-#: plugins/sudoers/def_data.c:110
+#: plugins/sudoers/def_data.c:116
msgid "Root may run sudo"
msgstr "Root får köra sudo"
-#: plugins/sudoers/def_data.c:114
+#: plugins/sudoers/def_data.c:120
msgid "Log the hostname in the (non-syslog) log file"
msgstr "Logga värdnamnet i (den icke syslog-baserade) loggfilen"
-#: plugins/sudoers/def_data.c:118
+#: plugins/sudoers/def_data.c:124
msgid "Log the year in the (non-syslog) log file"
msgstr "Logga året i (den icke syslog-baserade) loggfilen"
-#: plugins/sudoers/def_data.c:122
+#: plugins/sudoers/def_data.c:128
msgid "If sudo is invoked with no arguments, start a shell"
msgstr "Om sudo startas utan argument, starta ett skal"
-#: plugins/sudoers/def_data.c:126
+#: plugins/sudoers/def_data.c:132
msgid "Set $HOME to the target user when starting a shell with -s"
msgstr "Ställ in $HOME till målanvändaren när ett skal startas med -s"
-#: plugins/sudoers/def_data.c:130
+#: plugins/sudoers/def_data.c:136
msgid "Always set $HOME to the target user's home directory"
msgstr "Ställ alltid in $HOME till målanvändarens hemkatalog"
-#: plugins/sudoers/def_data.c:134
+#: plugins/sudoers/def_data.c:140
msgid "Allow some information gathering to give useful error messages"
msgstr "Tillåt viss informationsinsamling för att ge meningsfulla felmeddelanden"
-#: plugins/sudoers/def_data.c:138
+#: plugins/sudoers/def_data.c:144
msgid "Require fully-qualified hostnames in the sudoers file"
msgstr "Kräv fullständiga värdnamn i sudoers-filen"
-#: plugins/sudoers/def_data.c:142
+#: plugins/sudoers/def_data.c:148
msgid "Insult the user when they enter an incorrect password"
msgstr "Förolämpa användaren när de anger ett felaktigt lösenord"
-#: plugins/sudoers/def_data.c:146
+#: plugins/sudoers/def_data.c:152
msgid "Only allow the user to run sudo if they have a tty"
msgstr "Tillåt bara användare att köra sudo om de har en tty"
-#: plugins/sudoers/def_data.c:150
+#: plugins/sudoers/def_data.c:156
msgid "Visudo will honor the EDITOR environment variable"
msgstr "Visudo kommer att respektera miljövariabeln EDITOR"
-#: plugins/sudoers/def_data.c:154
+#: plugins/sudoers/def_data.c:160
msgid "Prompt for root's password, not the users's"
msgstr "Fråga efter root-lösenordet, inte användarens"
-#: plugins/sudoers/def_data.c:158
+#: plugins/sudoers/def_data.c:164
msgid "Prompt for the runas_default user's password, not the users's"
msgstr "Fråga efter runas_default-användarens lösenord, inte användarens"
-#: plugins/sudoers/def_data.c:162
+#: plugins/sudoers/def_data.c:168
msgid "Prompt for the target user's password, not the users's"
msgstr "Fråga efter målanvändarens lösenord, inte användarens"
-#: plugins/sudoers/def_data.c:166
+#: plugins/sudoers/def_data.c:172
msgid "Apply defaults in the target user's login class if there is one"
msgstr "Tillämpa standardvärden i målanvändarens inloggningsklass om det finns en"
-#: plugins/sudoers/def_data.c:170
+#: plugins/sudoers/def_data.c:176
msgid "Set the LOGNAME and USER environment variables"
msgstr "Ställ in miljövariablerna LOGNAME och USER"
-#: plugins/sudoers/def_data.c:174
+#: plugins/sudoers/def_data.c:180
msgid "Only set the effective uid to the target user, not the real uid"
msgstr "Sätt bara det effektiva uid:t till målanvändaren, inte till det riktiga uid:t"
-#: plugins/sudoers/def_data.c:178
+#: plugins/sudoers/def_data.c:184
msgid "Don't initialize the group vector to that of the target user"
msgstr "Initiera inte gruppvektorn till den från målanvändaren"
-#: plugins/sudoers/def_data.c:182
+#: plugins/sudoers/def_data.c:188
#, c-format
msgid "Length at which to wrap log file lines (0 for no wrap): %u"
msgstr "Längden vid vilken långa loggfilsrader radbryts (0 för att inte radbryta): %u"
-#: plugins/sudoers/def_data.c:186
+#: plugins/sudoers/def_data.c:192
#, c-format
msgid "Authentication timestamp timeout: %.1f minutes"
msgstr "Tidsgräns för autentiseringstidsstämpel: %.1f minuter"
-#: plugins/sudoers/def_data.c:190
+#: plugins/sudoers/def_data.c:196
#, c-format
msgid "Password prompt timeout: %.1f minutes"
msgstr "Tidsgräns för lösenordsprompt: %.1f minuter"
-#: plugins/sudoers/def_data.c:194
+#: plugins/sudoers/def_data.c:200
#, c-format
msgid "Number of tries to enter a password: %u"
msgstr "Antal försök att ange ett lösenord: %u"
-#: plugins/sudoers/def_data.c:198
+#: plugins/sudoers/def_data.c:204
#, c-format
msgid "Umask to use or 0777 to use user's: 0%o"
msgstr "Umask att använda eller 0777 för att använda användarens: 0%o"
-#: plugins/sudoers/def_data.c:202
+#: plugins/sudoers/def_data.c:208
#, c-format
msgid "Path to log file: %s"
msgstr "Sökväg till loggfil: %s"
-#: plugins/sudoers/def_data.c:206
+#: plugins/sudoers/def_data.c:212
#, c-format
msgid "Path to mail program: %s"
msgstr "Sökväg till e-postprogram: %s"
-#: plugins/sudoers/def_data.c:210
+#: plugins/sudoers/def_data.c:216
#, c-format
msgid "Flags for mail program: %s"
msgstr "Flaggor för e-postprogram: %s"
-#: plugins/sudoers/def_data.c:214
+#: plugins/sudoers/def_data.c:220
#, c-format
msgid "Address to send mail to: %s"
msgstr "Adress att skicka e-post till: %s"
-#: plugins/sudoers/def_data.c:218
+#: plugins/sudoers/def_data.c:224
#, c-format
msgid "Address to send mail from: %s"
msgstr "Adress att skicka e-post från: %s"
-#: plugins/sudoers/def_data.c:222
+#: plugins/sudoers/def_data.c:228
#, c-format
msgid "Subject line for mail messages: %s"
msgstr "Ämnesrad för e-postmeddelanden: %s"
-#: plugins/sudoers/def_data.c:226
+#: plugins/sudoers/def_data.c:232
#, c-format
msgid "Incorrect password message: %s"
msgstr "Meddelande vid felaktigt lösenord: %s"
-#: plugins/sudoers/def_data.c:230
+#: plugins/sudoers/def_data.c:236
#, c-format
msgid "Path to lecture status dir: %s"
msgstr "Sökväg till lektionsstatuskatalog: %s"
-#: plugins/sudoers/def_data.c:234
+#: plugins/sudoers/def_data.c:240
#, c-format
msgid "Path to authentication timestamp dir: %s"
msgstr "Sökväg till katalog för autentiseringstidsstämplar: %s"
-#: plugins/sudoers/def_data.c:238
+#: plugins/sudoers/def_data.c:244
#, c-format
msgid "Owner of the authentication timestamp dir: %s"
msgstr "Ägare av katalogen för autentiseringstidsstämplar: %s"
-#: plugins/sudoers/def_data.c:242
+#: plugins/sudoers/def_data.c:248
#, c-format
msgid "Users in this group are exempt from password and PATH requirements: %s"
msgstr "Användare i denna grupp är undantagna från lösenords- och SÖKVÄGs-kraven: %s"
-#: plugins/sudoers/def_data.c:246
+#: plugins/sudoers/def_data.c:252
#, c-format
msgid "Default password prompt: %s"
msgstr "Standard lösenordsprompt: %s"
-#: plugins/sudoers/def_data.c:250
+#: plugins/sudoers/def_data.c:256
msgid "If set, passprompt will override system prompt in all cases."
msgstr "Om inställt kommer passprompt att åsidosätta systemprompten i varje fall."
-#: plugins/sudoers/def_data.c:254
+#: plugins/sudoers/def_data.c:260
#, c-format
msgid "Default user to run commands as: %s"
msgstr "Standardanvändaren att köra kommandon som: %s"
-#: plugins/sudoers/def_data.c:258
+#: plugins/sudoers/def_data.c:264
#, c-format
msgid "Value to override user's $PATH with: %s"
msgstr "Värde att åsidosätta användarens $PATH med: %s"
-#: plugins/sudoers/def_data.c:262
+#: plugins/sudoers/def_data.c:268
#, c-format
msgid "Path to the editor for use by visudo: %s"
msgstr "Sökväg till textredigerare för användning av visudo: %s"
-#: plugins/sudoers/def_data.c:266
+#: plugins/sudoers/def_data.c:272
#, c-format
msgid "When to require a password for 'list' pseudocommand: %s"
msgstr "När ett lösenord ska krävas för pseudokommandot â€listâ€: %s"
-#: plugins/sudoers/def_data.c:270
+#: plugins/sudoers/def_data.c:276
#, c-format
msgid "When to require a password for 'verify' pseudocommand: %s"
msgstr "När lösenord ska krävas för pseudokommandot â€verifyâ€: %s"
-#: plugins/sudoers/def_data.c:274
+#: plugins/sudoers/def_data.c:280
msgid "Preload the sudo_noexec library which replaces the exec functions"
msgstr "Förinläs sudo_noexec-biblioteket vilket ersätter exec-funktionerna"
-#: plugins/sudoers/def_data.c:278
+#: plugins/sudoers/def_data.c:284
msgid "If LDAP directory is up, do we ignore local sudoers file"
msgstr "Om LDAP-registret är uppe, ignorerar vi den lokala sudoers-filen"
-#: plugins/sudoers/def_data.c:282
+#: plugins/sudoers/def_data.c:288
#, c-format
msgid "File descriptors >= %d will be closed before executing a command"
msgstr "Fildeskriptorer >= %d kommer att stängas innan ett kommando körs"
-#: plugins/sudoers/def_data.c:286
+#: plugins/sudoers/def_data.c:292
msgid "If set, users may override the value of \"closefrom\" with the -C option"
msgstr "Om inställt kan användare Ã¥sidosätta värdet â€closefrom†med flaggan -C"
-#: plugins/sudoers/def_data.c:290
+#: plugins/sudoers/def_data.c:296
msgid "Allow users to set arbitrary environment variables"
msgstr "Låt användare ställa in godtyckliga miljövariabler"
-#: plugins/sudoers/def_data.c:294
+#: plugins/sudoers/def_data.c:300
msgid "Reset the environment to a default set of variables"
msgstr "Återställ miljön till standarduppsättningen av variabler"
-#: plugins/sudoers/def_data.c:298
+#: plugins/sudoers/def_data.c:304
msgid "Environment variables to check for safety:"
msgstr "Miljövariabler att säkerhetskontrollera:"
-#: plugins/sudoers/def_data.c:302
+#: plugins/sudoers/def_data.c:308
msgid "Environment variables to remove:"
msgstr "Miljövariabler att ta bort:"
-#: plugins/sudoers/def_data.c:306
+#: plugins/sudoers/def_data.c:312
msgid "Environment variables to preserve:"
msgstr "Miljövariabler att behålla:"
-#: plugins/sudoers/def_data.c:310
+#: plugins/sudoers/def_data.c:316
#, c-format
msgid "SELinux role to use in the new security context: %s"
msgstr "SELinux-roll att använda i den nya säkerhetskontexten: %s"
-#: plugins/sudoers/def_data.c:314
+#: plugins/sudoers/def_data.c:320
#, c-format
msgid "SELinux type to use in the new security context: %s"
msgstr "SELinux-typ att använda i den nya säkerhetskontexten: %s"
-#: plugins/sudoers/def_data.c:318
+#: plugins/sudoers/def_data.c:324
#, c-format
msgid "Path to the sudo-specific environment file: %s"
msgstr "Sökväg till den sudo-specifika miljöfilen: %s"
-#: plugins/sudoers/def_data.c:322
+#: plugins/sudoers/def_data.c:328
#, c-format
msgid "Path to the restricted sudo-specific environment file: %s"
msgstr "Sökväg till den begränsade sudo-specifika miljöfilen: %s"
-#: plugins/sudoers/def_data.c:326
+#: plugins/sudoers/def_data.c:332
#, c-format
msgid "Locale to use while parsing sudoers: %s"
msgstr "Lokalanpassning att använda vid tolkning av sudoers: %s"
-#: plugins/sudoers/def_data.c:330
+#: plugins/sudoers/def_data.c:336
msgid "Allow sudo to prompt for a password even if it would be visible"
msgstr "Tillåt sudo att fråga efter ett lösenord även om det skulle vara synligt"
-#: plugins/sudoers/def_data.c:334
+#: plugins/sudoers/def_data.c:340
msgid "Provide visual feedback at the password prompt when there is user input"
msgstr "Ge visuell återkoppling vid lösenordsprompten när det finns användarinmatad data"
-#: plugins/sudoers/def_data.c:338
+#: plugins/sudoers/def_data.c:344
msgid "Use faster globbing that is less accurate but does not access the filesystem"
msgstr "Använd snabbare matchning som är mindre exakt men inte använder filsystemet"
-#: plugins/sudoers/def_data.c:342
+#: plugins/sudoers/def_data.c:348
msgid "The umask specified in sudoers will override the user's, even if it is more permissive"
msgstr "Umasken angiven i sudoers kommer att åsidosätta användarens, även om den är mer tillåtande"
-#: plugins/sudoers/def_data.c:346
+#: plugins/sudoers/def_data.c:352
msgid "Log user's input for the command being run"
msgstr "Logga användarens inmatning för kommandot som körs"
-#: plugins/sudoers/def_data.c:350
+#: plugins/sudoers/def_data.c:356
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "Logga kommandots standard in om inte ansluten till en terminal"
+
+#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "Logga användarens terminalinmatning för kommandot som körs"
+
+#: plugins/sudoers/def_data.c:364
msgid "Log the output of the command being run"
msgstr "Logga utmatningen för kommandot som körs"
-#: plugins/sudoers/def_data.c:354
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "Logga kommandots standard ut om inte ansluten till en terminal"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "Logga kommandots standard fel om inte ansluten till en terminal"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "Logga terminalutmatningen för kommandot som körs"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "Komprimera I/O-loggar med hjälp av zlib"
-#: plugins/sudoers/def_data.c:358
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "Kör alltid kommandon i en pseudo-tty"
-#: plugins/sudoers/def_data.c:362
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Insticksmodul för stöd för icke-Unix-grupper: %s"
-#: plugins/sudoers/def_data.c:366
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Katalog i vilken in-/utmatningsloggar lagras: %s"
-#: plugins/sudoers/def_data.c:370
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Fil i vilken in-/utmatningsloggar lagras: %s"
-#: plugins/sudoers/def_data.c:374
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Lägg till en post till utmp/utmpx-filen när en pty allokeras"
-#: plugins/sudoers/def_data.c:378
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Sätt användaren i utmp till runas-användaren, inte användaren som anropar"
-#: plugins/sudoers/def_data.c:382
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Uppsättning tillåtna rättigheter: %s"
-#: plugins/sudoers/def_data.c:386
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Uppsättning av begränsningsrättigheter: %s"
-#: plugins/sudoers/def_data.c:390
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "Kör kommandon i en pty i bakgrunden"
-#: plugins/sudoers/def_data.c:394
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "PAM-tjänstnamn att använda: %s"
-#: plugins/sudoers/def_data.c:398
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "PAM-tjänstnamn att använda för inloggningsskal: %s"
-#: plugins/sudoers/def_data.c:402
+#: plugins/sudoers/def_data.c:428
+#, c-format
+msgid "PAM service name to use when sudo is run with the -A option: %s"
+msgstr "PAM-tjänstnamn att använda när sudo körs med flaggan -A: %s"
+
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Försök att etablera PAM-inloggningsuppgifter för målanvändaren"
-#: plugins/sudoers/def_data.c:406
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "Skapa en ny PAM-session för kommandot att köra i"
-#: plugins/sudoers/def_data.c:410
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "Utför valideringshantering av PAM-konto"
-#: plugins/sudoers/def_data.c:414
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "Största sekvensnummer i I/O-logg: %s"
-#: plugins/sudoers/def_data.c:418
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "Aktivera sudoers nätgruppsstöd"
-#: plugins/sudoers/def_data.c:422
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "Kontrollera överordnade kataloger för skrivbarhet när filer redigeras med sudoedit"
-#: plugins/sudoers/def_data.c:426
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Följ symboliska länkar när filer redigeras med sudoedit"
-#: plugins/sudoers/def_data.c:430
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "Fråga gruppinsticksmodulen efter okända systemgrupper"
-#: plugins/sudoers/def_data.c:434
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Matcha nätgrupper baserat på hela tupeln: användare, värd och domän"
-#: plugins/sudoers/def_data.c:438
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Tillåt kommandon att köras även om sudo inte kan skriva till granskningsloggen"
-#: plugins/sudoers/def_data.c:442
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Tillåt kommandon att köras även om sudo inte kan skriva I/O-loggen"
-#: plugins/sudoers/def_data.c:446
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Tillåt kommandon att köras även om sudo inte kan skriva till loggfilen"
-#: plugins/sudoers/def_data.c:450
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Gör namnupplösning för grupper i sudoers och matcha efter grupp-ID, inte namnet"
-#: plugins/sudoers/def_data.c:454
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "Loggposter större än detta värde kommer att delas upp i flera syslog-meddelanden: %u"
-#: plugins/sudoers/def_data.c:458
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "Användare som kommer att äga I/O-loggfilerna: %s"
-#: plugins/sudoers/def_data.c:462
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Grupp som kommer att äga I/O-loggfilerna: %s"
-#: plugins/sudoers/def_data.c:466
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Filrättigheter att använda för I/O-loggfilerna: 0%o"
-#: plugins/sudoers/def_data.c:470
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Kör kommandon efter fildeskriptor istället för efter sökväg: %s"
-#: plugins/sudoers/def_data.c:474
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Hoppa över okända Defaults-poster i sudoers istället för att skriva ut en varning"
-#: plugins/sudoers/def_data.c:478
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Tid i sekunder efter vilka kommandot kommer att avslutas: %u"
-#: plugins/sudoers/def_data.c:482
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "Tillåt användaren att ange en tidsgräns på kommandoraden"
-#: plugins/sudoers/def_data.c:486
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Spola ut I/O-loggdata till disk omedelbart istället för att buffra det"
-#: plugins/sudoers/def_data.c:490
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "Inkludera process-ID:t vid loggning via syslog"
-#: plugins/sudoers/def_data.c:494
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Typ av post för autentiseringstidsstämplar: %s"
-#: plugins/sudoers/def_data.c:498
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "Autentiseringsfelsmeddelande: %s"
-#: plugins/sudoers/def_data.c:502
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "Matcha användarnamn skiftlägesokänsligt"
-#: plugins/sudoers/def_data.c:506
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "Matcha gruppnamn skiftlägesokänsligt"
-#: plugins/sudoers/def_data.c:510
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "Logga när ett kommando tillåts av sudoers"
-#: plugins/sudoers/def_data.c:514
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "Logga när ett kommando nekas av sudoers"
-#: plugins/sudoers/def_data.c:518
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Sudo-loggservrar att ansluta till med valfri port"
-#: plugins/sudoers/def_data.c:522
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Tidsgräns för sudo-loggserver i sekunder: %u"
-#: plugins/sudoers/def_data.c:526
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Aktivera SO_KEEPALIVE-kontaktalternativ på kontakten ansluten till loggservern"
-#: plugins/sudoers/def_data.c:530
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "Sökväg till granskningsserverns CA-buntfil: %s"
-#: plugins/sudoers/def_data.c:534
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "Sökväg till sudoers certifikatfil: %s"
-#: plugins/sudoers/def_data.c:538
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "Sökväg till sudoers privata nyckelfil: %s"
-#: plugins/sudoers/def_data.c:542
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "Verifiera att loggserverns certifikatfil är giltig"
-#: plugins/sudoers/def_data.c:546
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Tillåt användningen av okänd runas-användare och/eller grupp-ID"
-#: plugins/sudoers/def_data.c:550
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "Tillåt endast körning av kommandon som en användare med ett giltigt skal"
-#: plugins/sudoers/def_data.c:554
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "Ställ in pam-fjärranvändaren för användaren som kör sudo"
-#: plugins/sudoers/def_data.c:558
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "Ställ in pam-fjärrvärden till det lokala värdnamnet"
-#: plugins/sudoers/def_data.c:562
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Arbetskatalog att ändra till före körning av kommandot: %s"
-#: plugins/sudoers/def_data.c:566
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Rotkatalog att ändra till innan kommandot körs: %s"
-#: plugins/sudoers/def_data.c:570
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Formatet för loggarna som ska produceras: %s"
-#: plugins/sudoers/def_data.c:574
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "Aktivera SELinux RBAC-stöd"
-#: plugins/sudoers/def_data.c:578
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "Sökväg till filen som skapas första gången sudo körs: %s"
-#: plugins/sudoers/defaults.c:185
+#: plugins/sudoers/def_data.c:612
+msgid "Intercept further commands and apply sudoers restrictions to them"
+msgstr "Fånga in vidare kommando och tillämpa sudoers-begränsningar på dem"
+
+#: plugins/sudoers/def_data.c:616
+msgid "Log sub-commands run by the original command"
+msgstr "Logga underkommandon som körs av originalkommandot"
+
+#: plugins/sudoers/def_data.c:620
+msgid "Log the exit status of commands"
+msgstr "Logga avslutningsstatus för kommandon"
+
+#: plugins/sudoers/def_data.c:624
+msgid "Subsequent commands in an intercepted session must be authenticated"
+msgstr "Framtida kommandon i en infångad session måste autentiseras"
+
+#: plugins/sudoers/def_data.c:628
+msgid "Allow an intercepted command to run set setuid or setgid programs"
+msgstr "Tillåt ett infångat kommando att köra setuid- eller setgid-program"
+
+#: plugins/sudoers/def_data.c:632
#, c-format
-msgid "%s:%d:%d: unknown defaults entry \"%s\""
-msgstr "%s:%d:%d: okänd standardpost â€%sâ€"
+msgid "The maximum size to which the process's address space may grow (in bytes): %s"
+msgstr "Maximal storlek upp till vilken processens adressområde får växa (i byte): %s"
-#: plugins/sudoers/defaults.c:188
+#: plugins/sudoers/def_data.c:636
#, c-format
-msgid "%s: unknown defaults entry \"%s\""
-msgstr "%s: okänd standardpost â€%sâ€"
+msgid "The largest size core dump file that may be created (in bytes): %s"
+msgstr "Största storlek för kärndumpfil som får skapas (i byte): %s"
-#: plugins/sudoers/defaults.c:234
+#: plugins/sudoers/def_data.c:640
#, c-format
-msgid "%s:%d:%d: no value specified for \"%s\""
-msgstr "%s:%d:%d: inget värde angivet för â€%sâ€"
+msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
+msgstr "Maximal mängd CPU-tid som processen får använda (i sekunder): %s"
-#: plugins/sudoers/defaults.c:237
+#: plugins/sudoers/def_data.c:644
#, c-format
-msgid "%s: no value specified for \"%s\""
-msgstr "%s: inget värde angivet för â€%sâ€"
+msgid "The maximum size of the data segment for the process (in bytes): %s"
+msgstr "Maximal storlek på datasegmentet för processen (i byte): %s"
-#: plugins/sudoers/defaults.c:275
+#: plugins/sudoers/def_data.c:648
#, c-format
-msgid "%s:%d:%d: option \"%s\" does not take a value"
-msgstr "%s:%d:%d: flaggan â€%s†tar inte emot nÃ¥got värde"
+msgid "The largest size file that the process may create (in bytes): %s"
+msgstr "Största filstorlek som processen får skapa (i byte): %s"
-#: plugins/sudoers/defaults.c:278
+#: plugins/sudoers/def_data.c:652
#, c-format
-msgid "%s: option \"%s\" does not take a value"
-msgstr "%s: flaggan â€%s†tar inte emot nÃ¥got värde"
+msgid "The maximum number of locks that the process may establish: %s"
+msgstr "Största antalet lås som processen får etablera: %s"
-#: plugins/sudoers/defaults.c:303
+#: plugins/sudoers/def_data.c:656
#, c-format
-msgid "%s:%d:%d: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s:%d:%d: ogiltig standardtyp 0x%x för flagga â€%sâ€"
+msgid "The maximum size that the process may lock in memory (in bytes): %s"
+msgstr "Maximal storlek som processen får låsa i minnet (i byte): %s"
-#: plugins/sudoers/defaults.c:306
+#: plugins/sudoers/def_data.c:660
+#, c-format
+msgid "The maximum number of files that the process may have open: %s"
+msgstr "Maximalt antal filer som processen får ha öppna: %s"
+
+#: plugins/sudoers/def_data.c:664
+#, c-format
+msgid "The maximum number of processes that the user may run simultaneously: %s"
+msgstr "Maximalt antal processer som användaren får köra samtidigt: %s"
+
+#: plugins/sudoers/def_data.c:668
+#, c-format
+msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
+msgstr "Maximal storlek upp till vilken processens residenta mängd får växa (i byte): %s"
+
+#: plugins/sudoers/def_data.c:672
#, c-format
-msgid "%s: invalid Defaults type 0x%x for option \"%s\""
-msgstr "%s: ogiltig standardtyp 0x%x för flagga â€%sâ€"
+msgid "The maximum size to which the process's stack may grow (in bytes): %s"
+msgstr "Maximal storlek upp till vilken processen stack får växa (i byte) : %s"
+
+#: plugins/sudoers/def_data.c:676
+msgid "Attempt authentication even when in non-interactive mode"
+msgstr "Försök att autentisera även i icke-interaktivt läge"
+
+#: plugins/sudoers/def_data.c:680
+msgid "Store plaintext passwords in I/O log input"
+msgstr "Spara lösenord i klartext i I/O-logg-indata"
-#: plugins/sudoers/defaults.c:316
+#: plugins/sudoers/def_data.c:684
+msgid "List of regular expressions to use when matching a password prompt"
+msgstr "Lista över reguljära uttryck att använda vid matchning av en lösenordsförfrågan"
+
+#: plugins/sudoers/def_data.c:688
#, c-format
-msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
-msgstr "%s:%d:%d: värdet â€%s†är ogiltigt för flaggan â€%sâ€"
+msgid "The mechanism used by the intercept and log_subcmds options: %s"
+msgstr "Mekanismen som används av infångning och log_subcmd-flaggorna: %s"
+
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "Försök att verifiera kommandot och argumenten efter körning"
-#: plugins/sudoers/defaults.c:319
+#: plugins/sudoers/def_data.c:696
#, c-format
-msgid "%s: value \"%s\" is invalid for option \"%s\""
-msgstr "%s: värdet â€%s†är ogiltigt för flaggan â€%sâ€"
+msgid "AppArmor profile to use in the new security context: %s"
+msgstr "AppArmor-profil att använda i den nya säkerhetskontexten: %s"
-#: plugins/sudoers/defaults.c:1040
+#: plugins/sudoers/defaults.c:191
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s:%d:%d: värden för â€%s†mÃ¥ste börja med ett â€/â€, â€~†eller â€*â€"
+msgid "unknown defaults entry \"%s\""
+msgstr "okänd standardpost â€%sâ€"
-#: plugins/sudoers/defaults.c:1044
+#: plugins/sudoers/defaults.c:234
#, c-format
-msgid "%s: values for \"%s\" must start with a '/', '~', or '*'"
-msgstr "%s: värden för â€%s†mÃ¥ste börja med ett â€/â€, â€~†eller â€*â€"
+msgid "no value specified for \"%s\""
+msgstr "inget värde angivet för â€%sâ€"
-#: plugins/sudoers/defaults.c:1055
+#: plugins/sudoers/defaults.c:243
#, c-format
-msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
-msgstr "%s:%d:%d: värden för â€%s†mÃ¥ste börja med ett â€/â€"
+msgid "invalid operator \"%c=\" for \"%s\""
+msgstr "ogiltig operator â€%c=†för â€%sâ€"
-#: plugins/sudoers/defaults.c:1059
+#: plugins/sudoers/defaults.c:275
#, c-format
-msgid "%s: values for \"%s\" must start with a '/'"
-msgstr "%s: värden för â€%s†mÃ¥ste börja med ett â€/â€"
+msgid "option \"%s\" does not take a value"
+msgstr "flaggan â€%s†tar inte emot nÃ¥got värde"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/defaults.c:299
+#, c-format
+msgid "invalid Defaults type 0x%x for option \"%s\""
+msgstr "ogiltig Defaults-typ 0x%x för flagga â€%sâ€"
+
+#: plugins/sudoers/defaults.c:306
+#, c-format
+msgid "value \"%s\" is invalid for option \"%s\""
+msgstr "värdet â€%s†är ogiltigt för flaggan â€%sâ€"
+
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
+#, c-format
+msgid "path name for \"%s\" too long"
+msgstr "sökvägsnamn för â€%s†för lÃ¥ngt"
+
+#: plugins/sudoers/defaults.c:1134
+#, c-format
+msgid "values for \"%s\" must start with a '/', '~', or '*'"
+msgstr "värden för â€%s†mÃ¥ste börja med ett â€/â€, â€~†eller â€*â€"
+
+#: plugins/sudoers/defaults.c:1141
+#, c-format
+msgid "values for \"%s\" must start with a '/'"
+msgstr "värden för â€%s†mÃ¥ste börja med ett â€/â€"
+
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: trasig envp, längd stämmer inte"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "kan inte återuppbygga miljön"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "du får inte lov att ställa in följande miljövariabler: %s"
-#: plugins/sudoers/file.c:107
-#, c-format
-msgid "parse error in %s near line %d"
-msgstr "tolkningsfel i %s nära rad %d"
-
-#: plugins/sudoers/file.c:110
-#, c-format
-msgid "parse error in %s"
-msgstr "tolkningsfel i %s"
-
#: plugins/sudoers/filedigest.c:49
#, c-format
msgid "unsupported digest type %d for %s"
@@ -2167,86 +2681,81 @@ msgstr "typ %d av kontrollsumma stöds inte för %s"
msgid "%s: read error"
msgstr "%s: läsfel"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "%s måste ägas av uid %d"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "%s får endast vara skrivbar av ägaren"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:569
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "kan inte läsa in %s: %s"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "kan inte hitta symbolen â€group_plugin†i %s"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s: inkompatibel gruppinsticksmodul huvudversion %d, förväntade %d"
-#: plugins/sudoers/interfaces.c:80 plugins/sudoers/interfaces.c:97
+#: plugins/sudoers/interfaces.c:76 plugins/sudoers/interfaces.c:93
#, c-format
msgid "unable to parse IP address \"%s\""
msgstr "kan inte tolka IP-adress â€%sâ€"
-#: plugins/sudoers/interfaces.c:85 plugins/sudoers/interfaces.c:102
+#: plugins/sudoers/interfaces.c:81 plugins/sudoers/interfaces.c:98
#, c-format
msgid "unable to parse netmask \"%s\""
msgstr "kan inte tolka nätmask â€%sâ€"
-#: plugins/sudoers/interfaces.c:130
+#: plugins/sudoers/interfaces.c:126
msgid "Local IP address and netmask pairs:\n"
msgstr "Lokala IP-adress- och nätmaskpar:\n"
-#: plugins/sudoers/iolog.c:143 plugins/sudoers/sudoers.c:437
-#: plugins/sudoers/sudoers.c:1317 plugins/sudoers/testsudoers.c:406
-#, c-format
-msgid "unknown group: %s"
-msgstr "okänd grupp: %s"
-
-#: plugins/sudoers/iolog.c:635
+#: plugins/sudoers/iolog.c:685
msgid "unable to update sequence file"
msgstr "kan inte uppdatera sekvensfil"
-#: plugins/sudoers/iolog.c:666 plugins/sudoers/iolog.c:854
-#: plugins/sudoers/iolog.c:1007 plugins/sudoers/iolog.c:1014
-#: plugins/sudoers/iolog.c:1135 plugins/sudoers/iolog.c:1142
-#: plugins/sudoers/iolog.c:1241 plugins/sudoers/iolog.c:1248
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "kan inte skriva till I/O-loggfil: %s"
-#: plugins/sudoers/iolog.c:674
+#: plugins/sudoers/iolog.c:727
#, c-format
msgid "unable to create %s/%s"
msgstr "kan inte skapa %s/%s"
-#: plugins/sudoers/iolog.c:899
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: internt fel, I/O-loggfil för händelse %d inte öppen"
-#: plugins/sudoers/iolog.c:992 plugins/sudoers/iolog.c:1120
-#: plugins/sudoers/iolog.c:1225 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:487
-#: plugins/sudoers/visudo.c:493
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "kan inte läsa klockan"
-#: plugins/sudoers/iolog.c:1217 plugins/sudoers/log_client.c:1199
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: internt fel, ogiltig signal %d"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "starttls stöds inte när ldaps används"
@@ -2260,16 +2769,16 @@ msgstr "kan inte initiera SSL-certifikat och nyckeldatabas: %s"
msgid "you must set TLS_CERT in %s to use SSL"
msgstr "du måste ställa in TLS_CERT i %s för att använda SSL"
-#: plugins/sudoers/ldap.c:1660
+#: plugins/sudoers/ldap.c:1712
#, c-format
msgid "unable to initialize LDAP: %s"
msgstr "kan inte initiera LDAP: %s"
-#: plugins/sudoers/ldap.c:1697
+#: plugins/sudoers/ldap.c:1749
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls angivet men LDAP-bibliotek har inte stöd för ldap_start_tls_s() eller ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1834 plugins/sudoers/parse_ldif.c:746
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "ogiltigt sudoOrder-attribut: %s"
@@ -2279,24 +2788,24 @@ msgstr "ogiltigt sudoOrder-attribut: %s"
msgid "%s: port too large"
msgstr "%s: port för stor"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "LDAP-uri-typ stöds ej: %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "kan inte blanda ldap- och ldaps-URI:er"
-#: plugins/sudoers/ldap_util.c:529 plugins/sudoers/ldap_util.c:536
-#: plugins/sudoers/ldap_util.c:544 plugins/sudoers/ldap_util.c:553
-#: plugins/sudoers/ldap_util.c:561 plugins/sudoers/ldap_util.c:571
-#: plugins/sudoers/ldap_util.c:579
+#: plugins/sudoers/ldap_util.c:499 plugins/sudoers/ldap_util.c:506
+#: plugins/sudoers/ldap_util.c:514 plugins/sudoers/ldap_util.c:523
+#: plugins/sudoers/ldap_util.c:531 plugins/sudoers/ldap_util.c:541
+#: plugins/sudoers/ldap_util.c:549
#, c-format
msgid "duplicate sudoOption: %s%s%s"
msgstr "duplicerad sudoOption: %s%s%s"
-#: plugins/sudoers/ldap_util.c:598 plugins/sudoers/ldap_util.c:600
+#: plugins/sudoers/ldap_util.c:568 plugins/sudoers/ldap_util.c:570
#, c-format
msgid "unable to convert sudoOption: %s%s%s"
msgstr "kan inte konvertera sudoOption: %s%s%s"
@@ -2309,107 +2818,111 @@ msgstr "kan inte öppna granskningssystem"
msgid "unable to send audit message"
msgstr "kan inte skicka granskningsmeddelande"
-#: plugins/sudoers/log_client.c:113 plugins/sudoers/log_client.c:391
-#: plugins/sudoers/log_client.c:1437 plugins/sudoers/log_client.c:2031
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "fel i händelseloop"
-#: plugins/sudoers/log_client.c:193
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Skapande av nytt SSL_CTX-objekt misslyckades: %s"
-#: plugins/sudoers/log_client.c:216
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "kan inte läsa in certifikatauktoritetsbunt %s"
-#: plugins/sudoers/log_client.c:236
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "kan inte läsa in certifikat %s"
-#: plugins/sudoers/log_client.c:249
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "kan inte läsa in privat nyckel %s"
-#: plugins/sudoers/log_client.c:258
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Kan inte allokera ssl-objekt: %s"
-#: plugins/sudoers/log_client.c:345 plugins/sudoers/log_client.c:350
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "TLS-anslutning till %s:%s misslyckades: %s"
-#: plugins/sudoers/log_client.c:519
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "TLS-initiering misslyckades"
-#: plugins/sudoers/log_client.c:528
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "TLS-handskakning misslyckades"
-#: plugins/sudoers/log_client.c:1208
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: internt fel, ogiltig avslutningskod %d"
-#: plugins/sudoers/log_client.c:1724 plugins/sudoers/log_client.c:1748
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "förlorade kontakten med loggservern"
-#: plugins/sudoers/log_client.c:1825
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "saknar skrivbuffert"
-#: plugins/sudoers/log_client.c:1972
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "kan inte ansluta till loggserver"
-#: plugins/sudoers/logging.c:244
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "användare finns INTE i sudoers"
-#: plugins/sudoers/logging.c:246
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "användaren är INTE auktoriserad på värddatorn"
-#: plugins/sudoers/logging.c:248
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "kommandot tillåts inte"
-#: plugins/sudoers/logging.c:269
+#: plugins/sudoers/logging.c:315
#, c-format
-msgid "%s is not in the sudoers file. This incident will be reported.\n"
-msgstr "%s finns inte i filen sudoers. Denna incident kommer att rapporteras.\n"
+msgid "%s is not in the sudoers file.\n"
+msgstr "%s finns inte i sudoers-filen.\n"
-#: plugins/sudoers/logging.c:272
+#: plugins/sudoers/logging.c:318
#, c-format
-msgid "%s is not allowed to run sudo on %s. This incident will be reported.\n"
-msgstr "%s tillåts inte att köra sudo på %s. Denna incident kommer att rapporteras.\n"
+msgid "%s is not allowed to run sudo on %s.\n"
+msgstr "%s tillåts inte att köra sudo på %s.\n"
-#: plugins/sudoers/logging.c:276
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Tyvärr, användaren %s får inte köra sudo på %s.\n"
-#: plugins/sudoers/logging.c:279
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Tyvärr, användaren %s tillÃ¥ts inte att köra â€%s%s%s†som %s%s%s pÃ¥ %s.\n"
-#: plugins/sudoers/logging.c:316 plugins/sudoers/sudoers.c:575
-#: plugins/sudoers/sudoers.c:577 plugins/sudoers/sudoers.c:579
-#: plugins/sudoers/sudoers.c:581 plugins/sudoers/sudoers.c:723
-#: plugins/sudoers/sudoers.c:725
+#: plugins/sudoers/logging.c:334
+msgid "This incident has been reported to the administrator.\n"
+msgstr "Denna incident har rapporterats till administratören.\n"
+
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s: kommandot hittades inte"
-#: plugins/sudoers/logging.c:318 plugins/sudoers/sudoers.c:571
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2418,37 +2931,46 @@ msgstr ""
"ignorerar â€%s†som hittades i â€.â€\n"
"Använd â€sudo ./%s†om detta är den â€%s†som du vill köra."
-#: plugins/sudoers/logging.c:337
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
msgstr[0] "%u felaktigt lösenordsförsök"
msgstr[1] "%u felaktiga lösenordsförsök"
-#: plugins/sudoers/logging.c:393
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "autentiseringsfel"
-#: plugins/sudoers/logging.c:433 plugins/sudoers/logging.c:453
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "ett lösenord krävs"
-#: plugins/sudoers/logging.c:739
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
+msgid "problem parsing sudoers"
+msgstr "problem vid tolkning av sudoers"
+
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
-msgid "unable to open log file: %s"
-msgstr "kan inte öppna loggfil: %s"
+msgid "%s:%d:%d: %s"
+msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:772
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "kan inte skriva till loggfil: %s"
-#: plugins/sudoers/match_digest.c:129
+#: plugins/sudoers/match_digest.c:112
+#, c-format
+msgid "digest for %s (%s) bad length %zu, expected %zu"
+msgstr "kontrollsumma för %s (%s) felaktig längd %zu, förväntade %zu"
+
+#: plugins/sudoers/match_digest.c:131
#, c-format
msgid "digest for %s (%s) is not in %s form"
msgstr "kontrollsumma för %s (%s) är inte på %s-form"
-#: plugins/sudoers/parse.c:530
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2457,7 +2979,7 @@ msgstr ""
"\n"
"LDAP-roll: %s\n"
-#: plugins/sudoers/parse.c:533
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2465,110 +2987,110 @@ msgstr ""
"\n"
"Sudoers-post:\n"
-#: plugins/sudoers/parse.c:535
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " KörSomAnvändare: "
-#: plugins/sudoers/parse.c:550
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " KörSomGrupper: "
-#: plugins/sudoers/parse.c:560
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " Flaggor: "
-#: plugins/sudoers/parse.c:614
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " Kommandon:\n"
-#: plugins/sudoers/parse.c:805
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "Matchande standardposter för %s på %s:\n"
-#: plugins/sudoers/parse.c:823
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Runas- och kommando-specifika standardvärden för %s:\n"
-#: plugins/sudoers/parse.c:841
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "Användare %s får köra följande kommandon på %s:\n"
-#: plugins/sudoers/parse.c:856
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "Användaren %s tillåts inte att köra sudo på %s.\n"
-#: plugins/sudoers/parse_ldif.c:616
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "hoppar över ofullständig sudoRole: cn: %s"
-#: plugins/sudoers/parse_ldif.c:676
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "ogiltigt LDIF-attribut: %s"
-#: plugins/sudoers/policy.c:78 plugins/sudoers/policy.c:108
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "ogiltigt %.*s inställt av sudo-framände"
-#: plugins/sudoers/policy.c:314 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "kan inte tolka nätverksadresslista"
-#: plugins/sudoers/policy.c:465
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "användarnamn inte inställt av sudo-framände"
-#: plugins/sudoers/policy.c:469
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "användar-ID inte inställt av sudo-framände"
-#: plugins/sudoers/policy.c:473
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "grupp-ID inte inställt av sudo-framände"
-#: plugins/sudoers/policy.c:477
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "värdnamn inte inställt av sudo-framände"
-#: plugins/sudoers/policy.c:660
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "ogiltig arbetskatalog: %s"
-#: plugins/sudoers/policy.c:828
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "ogiltig chroot-katalog: %s"
-#: plugins/sudoers/policy.c:963 plugins/sudoers/visudo.c:229
-#: plugins/sudoers/visudo.c:851
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "kan inte köra %s"
-#: plugins/sudoers/policy.c:1030 plugins/sudoers/policy.c:1067
-#: plugins/sudoers/policy.c:1089 plugins/sudoers/policy.c:1115
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: ogiltiga lägesflaggor från sudo-framände: 0x%x"
-#: plugins/sudoers/policy.c:1146
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Sudoers policyinsticksmodul version %s\n"
-#: plugins/sudoers/policy.c:1148
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Sudoers-filgrammatik version %d\n"
-#: plugins/sudoers/policy.c:1152
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -2577,137 +3099,137 @@ msgstr ""
"\n"
"Sökväg till sudoers: %s\n"
-#: plugins/sudoers/policy.c:1155
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "Sökväg till nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1157
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "Sökväg till ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1158
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "Sökväg till ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1191
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "kan inte registrera krok av typ %d (version %d.%d)"
-#: plugins/sudoers/policy.c:1209
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "kan inte avregistrera krok av typ %d (version %d.%d)"
-#: plugins/sudoers/pwutil.c:218 plugins/sudoers/pwutil.c:236
+#: plugins/sudoers/pwutil.c:222 plugins/sudoers/pwutil.c:240
#, c-format
msgid "unable to cache uid %u"
msgstr "kan inte cacha uid %u"
-#: plugins/sudoers/pwutil.c:230
+#: plugins/sudoers/pwutil.c:234
#, c-format
msgid "unable to cache uid %u, already exists"
msgstr "kan inte cacha uid %u, finns redan"
-#: plugins/sudoers/pwutil.c:290 plugins/sudoers/pwutil.c:308
-#: plugins/sudoers/pwutil.c:371 plugins/sudoers/pwutil.c:416
+#: plugins/sudoers/pwutil.c:294 plugins/sudoers/pwutil.c:312
+#: plugins/sudoers/pwutil.c:375 plugins/sudoers/pwutil.c:420
#, c-format
msgid "unable to cache user %s"
msgstr "kan inte cacha användare %s"
-#: plugins/sudoers/pwutil.c:303
+#: plugins/sudoers/pwutil.c:307
#, c-format
msgid "unable to cache user %s, already exists"
msgstr "kan inte cacha användare %s, finns redan"
-#: plugins/sudoers/pwutil.c:535 plugins/sudoers/pwutil.c:553
+#: plugins/sudoers/pwutil.c:539 plugins/sudoers/pwutil.c:557
#, c-format
msgid "unable to cache gid %u"
msgstr "kan inte cacha gid %u"
-#: plugins/sudoers/pwutil.c:547
+#: plugins/sudoers/pwutil.c:551
#, c-format
msgid "unable to cache gid %u, already exists"
msgstr "kan inte cacha gid %u, finns redan"
-#: plugins/sudoers/pwutil.c:601 plugins/sudoers/pwutil.c:619
-#: plugins/sudoers/pwutil.c:680 plugins/sudoers/pwutil.c:729
+#: plugins/sudoers/pwutil.c:605 plugins/sudoers/pwutil.c:623
+#: plugins/sudoers/pwutil.c:684 plugins/sudoers/pwutil.c:733
#, c-format
msgid "unable to cache group %s"
msgstr "kan inte cacha grupp %s"
-#: plugins/sudoers/pwutil.c:614
+#: plugins/sudoers/pwutil.c:618
#, c-format
msgid "unable to cache group %s, already exists"
msgstr "kan inte cacha grupp %s, finns redan"
-#: plugins/sudoers/pwutil.c:876 plugins/sudoers/pwutil.c:927
-#: plugins/sudoers/pwutil.c:977 plugins/sudoers/pwutil.c:1029
+#: plugins/sudoers/pwutil.c:880 plugins/sudoers/pwutil.c:931
+#: plugins/sudoers/pwutil.c:981 plugins/sudoers/pwutil.c:1033
#, c-format
msgid "unable to cache group list for %s, already exists"
msgstr "kan inte cacha grupplista för %s, finns redan"
-#: plugins/sudoers/pwutil.c:882 plugins/sudoers/pwutil.c:932
-#: plugins/sudoers/pwutil.c:983 plugins/sudoers/pwutil.c:1034
+#: plugins/sudoers/pwutil.c:886 plugins/sudoers/pwutil.c:936
+#: plugins/sudoers/pwutil.c:987 plugins/sudoers/pwutil.c:1038
#, c-format
msgid "unable to cache group list for %s"
msgstr "kan inte cacha grupplista för %s"
-#: plugins/sudoers/pwutil.c:921
+#: plugins/sudoers/pwutil.c:925
#, c-format
msgid "unable to parse groups for %s"
msgstr "kan inte tolka grupper för %s"
-#: plugins/sudoers/pwutil.c:1023
+#: plugins/sudoers/pwutil.c:1027
#, c-format
msgid "unable to parse gids for %s"
msgstr "kan inte tolka gids för %s"
-#: plugins/sudoers/set_perms.c:114 plugins/sudoers/set_perms.c:441
-#: plugins/sudoers/set_perms.c:844 plugins/sudoers/set_perms.c:1150
-#: plugins/sudoers/set_perms.c:1444
+#: plugins/sudoers/set_perms.c:114 plugins/sudoers/set_perms.c:445
+#: plugins/sudoers/set_perms.c:852 plugins/sudoers/set_perms.c:1162
+#: plugins/sudoers/set_perms.c:1460
msgid "perm stack overflow"
msgstr "perm-stackspill"
-#: plugins/sudoers/set_perms.c:122 plugins/sudoers/set_perms.c:372
-#: plugins/sudoers/set_perms.c:449 plugins/sudoers/set_perms.c:711
-#: plugins/sudoers/set_perms.c:852 plugins/sudoers/set_perms.c:1074
-#: plugins/sudoers/set_perms.c:1158 plugins/sudoers/set_perms.c:1377
-#: plugins/sudoers/set_perms.c:1452 plugins/sudoers/set_perms.c:1542
+#: plugins/sudoers/set_perms.c:125 plugins/sudoers/set_perms.c:376
+#: plugins/sudoers/set_perms.c:456 plugins/sudoers/set_perms.c:719
+#: plugins/sudoers/set_perms.c:863 plugins/sudoers/set_perms.c:1086
+#: plugins/sudoers/set_perms.c:1173 plugins/sudoers/set_perms.c:1393
+#: plugins/sudoers/set_perms.c:1471 plugins/sudoers/set_perms.c:1562
msgid "perm stack underflow"
msgstr "perm-stackunderspill"
-#: plugins/sudoers/set_perms.c:181 plugins/sudoers/set_perms.c:495
-#: plugins/sudoers/set_perms.c:1211 plugins/sudoers/set_perms.c:1485
+#: plugins/sudoers/set_perms.c:185 plugins/sudoers/set_perms.c:503
+#: plugins/sudoers/set_perms.c:1227 plugins/sudoers/set_perms.c:1505
msgid "unable to change to root gid"
msgstr "kan inte ändra till root-gid"
-#: plugins/sudoers/set_perms.c:272 plugins/sudoers/set_perms.c:592
-#: plugins/sudoers/set_perms.c:983 plugins/sudoers/set_perms.c:1288
+#: plugins/sudoers/set_perms.c:276 plugins/sudoers/set_perms.c:600
+#: plugins/sudoers/set_perms.c:995 plugins/sudoers/set_perms.c:1304
msgid "unable to change to runas gid"
msgstr "kan inte ändra till runas-gid"
-#: plugins/sudoers/set_perms.c:277 plugins/sudoers/set_perms.c:597
-#: plugins/sudoers/set_perms.c:988 plugins/sudoers/set_perms.c:1293
+#: plugins/sudoers/set_perms.c:281 plugins/sudoers/set_perms.c:605
+#: plugins/sudoers/set_perms.c:1000 plugins/sudoers/set_perms.c:1309
msgid "unable to set runas group vector"
msgstr "kan inte ställa in gruppvektor för runas"
-#: plugins/sudoers/set_perms.c:288 plugins/sudoers/set_perms.c:608
-#: plugins/sudoers/set_perms.c:997 plugins/sudoers/set_perms.c:1302
+#: plugins/sudoers/set_perms.c:292 plugins/sudoers/set_perms.c:616
+#: plugins/sudoers/set_perms.c:1009 plugins/sudoers/set_perms.c:1318
msgid "unable to change to runas uid"
msgstr "kan inte ändra till runas-uid"
-#: plugins/sudoers/set_perms.c:306 plugins/sudoers/set_perms.c:626
-#: plugins/sudoers/set_perms.c:1013 plugins/sudoers/set_perms.c:1318
+#: plugins/sudoers/set_perms.c:310 plugins/sudoers/set_perms.c:634
+#: plugins/sudoers/set_perms.c:1025 plugins/sudoers/set_perms.c:1334
msgid "unable to change to sudoers gid"
msgstr "kan inte ändra till sudoers-gid"
-#: plugins/sudoers/set_perms.c:359 plugins/sudoers/set_perms.c:698
-#: plugins/sudoers/set_perms.c:1061 plugins/sudoers/set_perms.c:1364
-#: plugins/sudoers/set_perms.c:1529
+#: plugins/sudoers/set_perms.c:363 plugins/sudoers/set_perms.c:706
+#: plugins/sudoers/set_perms.c:1073 plugins/sudoers/set_perms.c:1380
+#: plugins/sudoers/set_perms.c:1549
msgid "too many processes"
msgstr "för många processer"
@@ -2725,263 +3247,261 @@ msgstr "trunkerad granskningssökväg user_cmnd: %s"
msgid "truncated audit path argv[0]: %s"
msgstr "trunkerad granskningssökväg argv[0]: %s"
-#: plugins/sudoers/sssd.c:572
+#: plugins/sudoers/sssd.c:579
msgid "unable to initialize SSS source. Is SSSD installed on your machine?"
msgstr "kan inte initiera SSS-källa. Är SSSD installerat på din maskin?"
-#: plugins/sudoers/sssd.c:580 plugins/sudoers/sssd.c:589
-#: plugins/sudoers/sssd.c:598 plugins/sudoers/sssd.c:607
-#: plugins/sudoers/sssd.c:616
+#: plugins/sudoers/sssd.c:587 plugins/sudoers/sssd.c:596
+#: plugins/sudoers/sssd.c:605 plugins/sudoers/sssd.c:614
+#: plugins/sudoers/sssd.c:623
#, c-format
msgid "unable to find symbol \"%s\" in %s"
msgstr "kan inte hitta symbol â€%s†i %s"
-#: plugins/sudoers/sudoers.c:213 plugins/sudoers/sudoers.c:985
-msgid "problem with defaults entries"
-msgstr "problem med standardposter"
+#: plugins/sudoers/sudoers.c:263
+#, c-format
+msgid "unable to get defaults from %s"
+msgstr "kan inte hämta standardvärden från %s"
-#: plugins/sudoers/sudoers.c:217
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "inga giltiga sudoers-källor hittades, avslutar"
-#: plugins/sudoers/sudoers.c:291
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "användare inte tillåten att ändra rotkatalog till %s"
-#: plugins/sudoers/sudoers.c:293
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "du tillåts inte att använda flaggan -R med %s"
-#: plugins/sudoers/sudoers.c:318
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "användare inte tillåten att ändra katalog till %s"
-#: plugins/sudoers/sudoers.c:319
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "du tillåts inte att använda flaggan -D med %s"
-#: plugins/sudoers/sudoers.c:345
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "inget kommando specificerat"
-#: plugins/sudoers/sudoers.c:355
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers anger att root inte tillåts att använda sudo"
-#: plugins/sudoers/sudoers.c:403
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "användare inte tillåten att åsidosätta closefrom-begränsning"
-#: plugins/sudoers/sudoers.c:404
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "du tillåts inte att använda flaggan -C"
-#: plugins/sudoers/sudoers.c:464
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "tidsstämpelägare (%s): Det finns ingen sådan användare"
-#: plugins/sudoers/sudoers.c:479
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "ingen tty"
-#: plugins/sudoers/sudoers.c:480
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "tyvärr, du måste ha en tty för att köra sudo"
-#: plugins/sudoers/sudoers.c:487
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "ogiltigt skal för användare %s: %s"
-#: plugins/sudoers/sudoers.c:570
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "kommando i aktuell katalog"
-#: plugins/sudoers/sudoers.c:589
+#: plugins/sudoers/sudoers.c:658
+msgid "\"cd\" is a shell built-in command, it cannot be run directly."
+msgstr "â€cd†är ett inbyggt shell-kommando, det kan inte köras direkt."
+
+#: plugins/sudoers/sudoers.c:660
+msgid "the -s option may be used to run a privileged shell."
+msgstr "flaggan -s får inte användas för att köra ett privilegierat skal."
+
+#: plugins/sudoers/sudoers.c:662
+msgid "the -D option may be used to run a command in a specific directory."
+msgstr "flaggan -D får inte användas för att köra ett kommando i en specifik katalog."
+
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "användare inte tillåten att ställa in en tidsgräns för kommandon"
-#: plugins/sudoers/sudoers.c:591
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "tyvärr, du tillåts inte att ställa in en tidsgräns för kommandon"
-#: plugins/sudoers/sudoers.c:599
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "användare inte tillåten att behålla miljön"
-#: plugins/sudoers/sudoers.c:601
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "tyvärr, du tillåts inte att behålla miljövariabler"
-#: plugins/sudoers/sudoers.c:936
-msgid "command too long"
-msgstr "kommandot för långt"
-
-#: plugins/sudoers/sudoers.c:973
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "sudoedit behöver inte köras via sudo"
-#: plugins/sudoers/sudoers.c:1032 plugins/sudoers/sudoreplay.c:1547
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "kan inte läsa %s"
-#: plugins/sudoers/sudoers.c:1057 plugins/sudoers/visudo.c:426
-#: plugins/sudoers/visudo.c:720
-#, c-format
-msgid "unable to stat %s"
-msgstr "kan inte ta status på %s"
-
-#: plugins/sudoers/sudoers.c:1061 plugins/sudoers/visudo.c:1009
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%s är inte en vanlig fil"
-#: plugins/sudoers/sudoers.c:1065 plugins/sudoers/timestamp.c:252 toke.l:1138
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s ägs av uid %u, ska vara %u"
-#: plugins/sudoers/sudoers.c:1069 toke.l:1143
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "%s är skrivbar för alla"
-#: plugins/sudoers/sudoers.c:1073 toke.l:1146
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s ägs av gid %u, ska vara %u"
-#: plugins/sudoers/sudoers.c:1106
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "endast root kan använda â€-c %sâ€"
-#: plugins/sudoers/sudoers.c:1125
+#: plugins/sudoers/sudoers.c:1213
#, c-format
-msgid "unknown login class: %s"
-msgstr "okänd inloggningsklass: %s"
+msgid "unknown login class %s"
+msgstr "okänd inloggningsklass %s"
-#: plugins/sudoers/sudoers.c:1211 plugins/sudoers/sudoers.c:1226
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "kan inte slå upp värddatorn %s"
-#: plugins/sudoers/sudoreplay.c:257
+#: plugins/sudoers/sudoreplay.c:259
#, c-format
msgid "invalid filter option: %s"
msgstr "ogiltig filterflagga: %s"
-#: plugins/sudoers/sudoreplay.c:273
+#: plugins/sudoers/sudoreplay.c:275
#, c-format
msgid "invalid max wait: %s"
msgstr "ogiltig största väntan: %s"
-#: plugins/sudoers/sudoreplay.c:296
+#: plugins/sudoers/sudoreplay.c:298
#, c-format
msgid "invalid speed factor: %s"
msgstr "ogiltig hastighetsfaktor: %s"
-#: plugins/sudoers/sudoreplay.c:332
+#: plugins/sudoers/sudoreplay.c:333
+#, c-format
+msgid "invalid time offset %s"
+msgstr "ogiltigt värde för tidsavstånd %s"
+
+#: plugins/sudoers/sudoreplay.c:342
#, c-format
msgid "%s/%.2s/%.2s/%.2s: %s"
msgstr "%s/%.2s/%.2s/%.2s: %s"
-#: plugins/sudoers/sudoreplay.c:337
+#: plugins/sudoers/sudoreplay.c:347
#, c-format
msgid "%s/timing: %s"
msgstr "%s/tidsmätning: %s"
-#: plugins/sudoers/sudoreplay.c:341
-#, c-format
-msgid "%s/%s: %s"
-msgstr "%s/%s: %s"
-
-#: plugins/sudoers/sudoreplay.c:365
+#: plugins/sudoers/sudoreplay.c:375
#, c-format
msgid "Replaying sudo session: %s"
msgstr "Spelar upp sudo-session: %s"
-#: plugins/sudoers/sudoreplay.c:627
+#: plugins/sudoers/sudoreplay.c:637
msgid "unable to set tty to raw mode"
msgstr "kan inte ställa in tty i råläge"
-#: plugins/sudoers/sudoreplay.c:678
+#: plugins/sudoers/sudoreplay.c:688
msgid "Warning: your terminal is too small to properly replay the log.\n"
msgstr "Varning: din terminal är för liten för att korrekt spela upp loggen.\n"
-#: plugins/sudoers/sudoreplay.c:679
+#: plugins/sudoers/sudoreplay.c:689
#, c-format
msgid "Log geometry is %d x %d, your terminal's geometry is %d x %d."
msgstr "Logg-geometri är %d x %d, din terminals geometri är %d x %d."
-#: plugins/sudoers/sudoreplay.c:707
+#: plugins/sudoers/sudoreplay.c:717
msgid "Replay finished, press any key to restore the terminal."
msgstr "Uppspelning avslutad, tryck på en tangent för att återställa terminalen."
-#: plugins/sudoers/sudoreplay.c:1197 plugins/sudoers/sudoreplay.c:1227
+#: plugins/sudoers/sudoreplay.c:1219 plugins/sudoers/sudoreplay.c:1249
#, c-format
msgid "ambiguous expression \"%s\""
msgstr "tvetydigt uttryck â€%sâ€"
-#: plugins/sudoers/sudoreplay.c:1249
+#: plugins/sudoers/sudoreplay.c:1271
msgid "unmatched ')' in expression"
msgstr "omatchat â€)†i uttryck"
-#: plugins/sudoers/sudoreplay.c:1253
+#: plugins/sudoers/sudoreplay.c:1275
#, c-format
msgid "unknown search term \"%s\""
msgstr "okänt sökvillkor â€%sâ€"
-#: plugins/sudoers/sudoreplay.c:1268
+#: plugins/sudoers/sudoreplay.c:1290
#, c-format
msgid "%s requires an argument"
msgstr "%s kräver ett argument"
-#: plugins/sudoers/sudoreplay.c:1271 plugins/sudoers/sudoreplay.c:1523
-#, c-format
-msgid "invalid regular expression: %s"
-msgstr "ogiltigt reguljärt uttryck: %s"
-
-#: plugins/sudoers/sudoreplay.c:1276
+#: plugins/sudoers/sudoreplay.c:1300
#, c-format
msgid "could not parse date \"%s\""
msgstr "kunde inte tolka datumet â€%sâ€"
-#: plugins/sudoers/sudoreplay.c:1285
+#: plugins/sudoers/sudoreplay.c:1309
msgid "unmatched '(' in expression"
msgstr "omatchat â€(†i uttryck"
-#: plugins/sudoers/sudoreplay.c:1287
+#: plugins/sudoers/sudoreplay.c:1311
msgid "illegal trailing \"or\""
msgstr "ogiltigt avslutande â€orâ€"
-#: plugins/sudoers/sudoreplay.c:1289
+#: plugins/sudoers/sudoreplay.c:1313
msgid "illegal trailing \"!\""
msgstr "ogiltigt efterföljande â€!â€"
-#: plugins/sudoers/sudoreplay.c:1347
+#: plugins/sudoers/sudoreplay.c:1371
#, c-format
msgid "unknown search type %d"
msgstr "okänd söktyp %d"
-#: plugins/sudoers/sudoreplay.c:1614
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "användning: %s [-hnRS] [-d kat] [-m num] [-s num] ID\n"
-#: plugins/sudoers/sudoreplay.c:1617
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "användning: %s [-h] [-d kat] -l [sökuttryck]\n"
-#: plugins/sudoers/sudoreplay.c:1626
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -2990,7 +3510,7 @@ msgstr ""
"%s - spela upp loggar från sudo-session\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1628
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3046,127 +3566,123 @@ msgstr ""
"\n"
"Kommando omatchat"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%s är skrivbar för gruppen"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "kan inte trunkera tidsstämpelfil till %lld byte"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "ignorerar tidsstämpel från framtiden"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "tidsstämpel är för långt in i framtiden: %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "kan inte låsa tidsstämpelfil %s"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "sökväg för lektionsstatus för lång: %s/%s"
-
-#: plugins/sudoers/toke_util.c:150
+#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit ska inte anges med en sökväg"
-#: plugins/sudoers/visudo.c:224
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "flaggan -x kommer att tas bort i en framtida version"
-#: plugins/sudoers/visudo.c:226
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "överväg att använda verktyget cvtsudoers istället"
-#: plugins/sudoers/visudo.c:277 plugins/sudoers/visudo.c:653
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "tryck på retur för att redigera %s: "
-#: plugins/sudoers/visudo.c:338
+#: plugins/sudoers/visudo.c:326
+#, c-format
+msgid "contents of edit session left in %s"
+msgstr "innehållet från redigeringssessionen lämnat i %s"
+
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "angiven redigerare (%s) finns inte"
-#: plugins/sudoers/visudo.c:340
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "ingen textredigerare hittad (sökväg för textredigerare = %s)"
-#: plugins/sudoers/visudo.c:446 plugins/sudoers/visudo.c:454
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "kan inte ta status på %s"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "skrivfel"
-#: plugins/sudoers/visudo.c:500
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "kan inte hämta filinformation för temporärfil (%s), %s oförändrad"
# sebras: not an exact translation, but I think it captures the meaning of the original text.
-#: plugins/sudoers/visudo.c:507
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "temporärfil tom (%s), %s oförändrad"
-#: plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "redigeraren (%s) misslyckades, %s är oförändrad"
-#: plugins/sudoers/visudo.c:535
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s oförändrad"
-#: plugins/sudoers/visudo.c:592
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "kan inte återöppna temporärfil (%s), %s är oförändrad."
-#: plugins/sudoers/visudo.c:604
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "kan inte tolka temporärfil (%s), okänt fel"
-#: plugins/sudoers/visudo.c:642
-#, c-format
-msgid "internal error, unable to find %s in list!"
-msgstr "internt fel, kan inte hitta %s i listan!"
-
-#: plugins/sudoers/visudo.c:722 plugins/sudoers/visudo.c:731
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "kan inte ställa in (uid, gid) för %s till (%u, %u)"
-#: plugins/sudoers/visudo.c:754
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s och %s finns inte på samma filsystem, använder mv för att byta namn"
-#: plugins/sudoers/visudo.c:765
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "kommandot misslyckades: â€%s %s %sâ€, %s är oförändrad"
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "fel vid namnbyte för %s, %s är oförändrad"
-#: plugins/sudoers/visudo.c:796
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "Nu då? "
-#: plugins/sudoers/visudo.c:810
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3178,46 +3694,41 @@ msgstr ""
" avsluta (x) utan att spara ändringar i sudoers-filen\n"
" Avsluta (Q) och spara ändringar i sudoers-filen (FARLIGT!)\n"
-#: plugins/sudoers/visudo.c:856
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "kan inte köra %s"
-#: plugins/sudoers/visudo.c:886
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: felaktig ägare (uid, gid) ska vara (%u, %u)\n"
-#: plugins/sudoers/visudo.c:893
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: felaktiga rättigheter, bör vara läge 0%o\n"
-#: plugins/sudoers/visudo.c:942 plugins/sudoers/visudo.c:949
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: tolkad OK\n"
-#: plugins/sudoers/visudo.c:968
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%s är upptagen, försök igen senare"
-#: plugins/sudoers/visudo.c:971
-#, c-format
-msgid "unable to lock %s"
-msgstr "kan inte låsa %s"
-
-#: plugins/sudoers/visudo.c:972
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "Redigera ändå? [y/N]"
-#: plugins/sudoers/visudo.c:1067
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "Varning: %s:%d:%d: oanvänd %s â€%sâ€"
-#: plugins/sudoers/visudo.c:1183
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3226,13 +3737,14 @@ msgstr ""
"%s - redigera sudoers-filen på ett säkert sätt\n"
"\n"
-#: plugins/sudoers/visudo.c:1185
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
@@ -3242,38 +3754,112 @@ msgstr ""
" -c, --check genomför endast kontroller\n"
" -f, --file=sudoers ange plats för sudoers-filen\n"
" -h, --help visa hjälptext och avsluta\n"
+" -I, --no-includes redigera inte include-filer\n"
" -q, --quiet mindre utförliga (tysta) syntaxfelmeddelanden\n"
" -s, --strict strikt syntaxkontroll\n"
" -V, --version visa versionsinformation och avsluta\n"
-#: toke.l:187
+#: toke.l:189
msgid "empty string"
msgstr "tom sträng"
-#: toke.l:199 toke.l:503
+#: toke.l:201 toke.l:571
msgid "empty group"
msgstr "tom grupp"
-#: toke.l:209 toke.l:501
+#: toke.l:211 toke.l:569
msgid "empty netgroup"
msgstr "tom nätgrupp"
-#: toke.l:305 toke.l:317 toke.l:329 toke.l:345 toke.l:364 toke.l:404
+#: toke.l:289
+msgid "unterminated regular expression"
+msgstr "oavslutat reguljärt uttryck"
+
+#: toke.l:363 toke.l:375 toke.l:387 toke.l:403 toke.l:422 toke.l:462
msgid "invalid line continuation"
msgstr "ogiltig radfortsättning"
-#: toke.l:540 toke.l:552
+#: toke.l:608 toke.l:620
msgid "invalid IPv6 address"
msgstr "ogiltig IPv6-adress"
-#: toke.l:779
+#: toke.l:868
msgid "unexpected line break in string"
msgstr "oväntad radbrytning i sträng"
-#: toke.l:1109
+#: toke.l:1218
msgid "too many levels of includes"
msgstr "för många nivåer av inkluderingar"
+#~ msgid "%s:%d unknown key: %s"
+#~ msgstr "%s:%d okänd nyckel: %s"
+
+#~ msgid "%s: write buffer already in use"
+#~ msgstr "%s: skrivbuffert används redan"
+
+#~ msgid "unable to read diffie-hellman parameters: %s"
+#~ msgstr "kunde inte läsa diffie-hellman-parametrar: %s"
+
+#~ msgid "Error: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Fel: %s:%d:%d: cykel i %s â€%sâ€"
+
+#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
+#~ msgstr "Varning: %s:%d:%d: cykel i %s â€%sâ€"
+
+#~ msgid "Error: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "Fel: %s:%d:%d: %s â€%s†refererad till men inte definierad"
+
+#~ msgid "Warning: %s:%d:%d: %s \"%s\" referenced but not defined"
+#~ msgstr "Varning: %s:%d:%d: %s â€%s†refererad till men inte definierad"
+
+#~ msgid "parse error in %s near line %d\n"
+#~ msgstr "tolkningsfel i %s nära rad %d\n"
+
+#~ msgid "parse error in %s\n"
+#~ msgstr "tolkningsfel i %s\n"
+
+#~ msgid "%s: unknown defaults entry \"%s\""
+#~ msgstr "%s: okänd standardpost â€%sâ€"
+
+#~ msgid "%s:%d:%d: no value specified for \"%s\""
+#~ msgstr "%s:%d:%d: inget värde angivet för â€%sâ€"
+
+#~ msgid "%s:%d:%d: option \"%s\" does not take a value"
+#~ msgstr "%s:%d:%d: flaggan â€%s†tar inte emot nÃ¥got värde"
+
+#~ msgid "%s:%d:%d: value \"%s\" is invalid for option \"%s\""
+#~ msgstr "%s:%d:%d: värdet â€%s†är ogiltigt för flaggan â€%sâ€"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/', '~', or '*'"
+#~ msgstr "%s:%d:%d: värden för â€%s†mÃ¥ste börja med ett â€/â€, â€~†eller â€*â€"
+
+#~ msgid "%s:%d:%d: values for \"%s\" must start with a '/'"
+#~ msgstr "%s:%d:%d: värden för â€%s†mÃ¥ste börja med ett â€/â€"
+
+#~ msgid "parse error in %s near line %d"
+#~ msgstr "tolkningsfel i %s nära rad %d"
+
+#~ msgid "parse error in %s"
+#~ msgstr "tolkningsfel i %s"
+
+#~ msgid "%s is not in the sudoers file. This incident will be reported.\n"
+#~ msgstr "%s finns inte i filen sudoers. Denna incident kommer att rapporteras.\n"
+
+#~ msgid "%s is not allowed to run sudo on %s. This incident will be reported.\n"
+#~ msgstr "%s tillåts inte att köra sudo på %s. Denna incident kommer att rapporteras.\n"
+
+#~ msgid "problem with defaults entries"
+#~ msgstr "problem med standardposter"
+
+#~ msgid "%s is group writable"
+#~ msgstr "%s är skrivbar för gruppen"
+
+#~ msgid "lecture status path too long: %s/%s"
+#~ msgstr "sökväg för lektionsstatus för lång: %s/%s"
+
+#~ msgid "internal error, unable to find %s in list!"
+#~ msgstr "internt fel, kan inte hitta %s i listan!"
+
#~ msgid "%s:%u unable to parse \"%s\""
#~ msgstr "%s:%u kan inte tolka â€%sâ€"
@@ -3429,12 +4015,6 @@ msgstr "för många nivåer av inkluderingar"
#~ "\n"
#~ "SSSD-roll: OKÄND\n"
-#~ msgid "Warning: cycle in %s `%s'"
-#~ msgstr "Varning: cykel i %s â€%sâ€"
-
-#~ msgid "Warning: %s `%s' referenced but not defined"
-#~ msgstr "Varning: %s â€%s†refererad till men inte definierad"
-
#~ msgid "getaudit: failed"
#~ msgstr "getaudit: misslyckades"
diff --git a/plugins/sudoers/po/uk.mo b/plugins/sudoers/po/uk.mo
index 61db98214..39da58385 100644
--- a/plugins/sudoers/po/uk.mo
+++ b/plugins/sudoers/po/uk.mo
Binary files differ
diff --git a/plugins/sudoers/po/uk.po b/plugins/sudoers/po/uk.po
index 3612f8803..ae3844bc0 100644
--- a/plugins/sudoers/po/uk.po
+++ b/plugins/sudoers/po/uk.po
@@ -4,10 +4,10 @@
# Yuri Chornoivan <yurchor@ukr.net>, 2011-2021, 2022.
msgid ""
msgstr ""
-"Project-Id-Version: sudoers 1.9.11b1\n"
+"Project-Id-Version: sudoers 1.9.12b2\n"
"Report-Msgid-Bugs-To: https://bugzilla.sudo.ws\n"
-"POT-Creation-Date: 2022-05-27 08:39-0600\n"
-"PO-Revision-Date: 2022-05-29 12:13+0300\n"
+"POT-Creation-Date: 2022-10-10 09:13-0600\n"
+"PO-Revision-Date: 2022-10-11 12:21+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
"Language: uk\n"
@@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 20.12.0\n"
-#: confstr.sh:1 gram.y:1218
+#: confstr.sh:1 gram.y:1220 plugins/sudoers/logging.c:862
msgid "syntax error"
msgstr "ÑинтакÑична помилка"
@@ -42,13 +42,13 @@ msgstr "*** Дані щодо ЗÐХИСТУ %h ***"
msgid "Sorry, try again."
msgstr "Вибачте, повторіть Ñпробу."
-#: gram.y:236 gram.y:303 gram.y:312 gram.y:321 gram.y:331 gram.y:341
-#: gram.y:365 gram.y:392 gram.y:401 gram.y:409 gram.y:418 gram.y:427
-#: gram.y:501 gram.y:511 gram.y:523 gram.y:571 gram.y:580 gram.y:589
-#: gram.y:598 gram.y:730 gram.y:738 gram.y:749 gram.y:761 gram.y:780
-#: gram.y:943 gram.y:948 gram.y:956 gram.y:970 gram.y:976 gram.y:1098
-#: gram.y:1107 gram.y:1115 gram.y:1124 gram.y:1133 gram.y:1162 gram.y:1171
-#: gram.y:1179 gram.y:1272 gram.y:1402 gram.y:1769 gram.y:1816
+#: gram.y:237 gram.y:304 gram.y:313 gram.y:322 gram.y:332 gram.y:342
+#: gram.y:366 gram.y:393 gram.y:402 gram.y:410 gram.y:419 gram.y:428
+#: gram.y:502 gram.y:512 gram.y:524 gram.y:572 gram.y:581 gram.y:590
+#: gram.y:599 gram.y:731 gram.y:739 gram.y:750 gram.y:762 gram.y:781
+#: gram.y:944 gram.y:949 gram.y:957 gram.y:971 gram.y:977 gram.y:1099
+#: gram.y:1108 gram.y:1116 gram.y:1125 gram.y:1134 gram.y:1163 gram.y:1172
+#: gram.y:1180 gram.y:1280 gram.y:1410 gram.y:1777 gram.y:1827
#: lib/eventlog/eventlog.c:309 lib/eventlog/eventlog.c:382
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:904
#: lib/eventlog/eventlog.c:1204 lib/iolog/iolog_filter.c:142
@@ -58,50 +58,64 @@ msgstr "Вибачте, повторіть Ñпробу."
#: lib/iolog/iolog_legacy.c:100 lib/iolog/iolog_legacy.c:111
#: lib/iolog/iolog_legacy.c:123 lib/iolog/iolog_legacy.c:133
#: lib/iolog/iolog_legacy.c:139 lib/iolog/iolog_loginfo.c:76
-#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:84
-#: logsrvd/iolog_writer.c:89 logsrvd/iolog_writer.c:123
-#: logsrvd/iolog_writer.c:172 logsrvd/iolog_writer.c:212
-#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:261
-#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:301
-#: logsrvd/iolog_writer.c:314 logsrvd/iolog_writer.c:327
-#: logsrvd/iolog_writer.c:340 logsrvd/iolog_writer.c:355
-#: logsrvd/iolog_writer.c:393 logsrvd/iolog_writer.c:399
-#: logsrvd/iolog_writer.c:406 logsrvd/iolog_writer.c:412
-#: logsrvd/iolog_writer.c:596 logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296
-#: logsrvd/logsrvd.c:305 logsrvd/logsrvd.c:1012 logsrvd/logsrvd.c:1075
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:203 logsrvd/logsrvd_journal.c:204
-#: logsrvd/logsrvd_journal.c:260 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_journal.c:422 logsrvd/logsrvd_local.c:174
-#: logsrvd/logsrvd_local.c:175 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:238 logsrvd/logsrvd_local.c:376
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:426
-#: logsrvd/logsrvd_local.c:431 logsrvd/logsrvd_local.c:432
-#: logsrvd/logsrvd_queue.c:154 logsrvd/logsrvd_queue.c:184
-#: logsrvd/logsrvd_queue.c:261 logsrvd/logsrvd_relay.c:439
-#: logsrvd/logsrvd_relay.c:738 logsrvd/logsrvd_relay.c:845
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 plugins/sudoers/audit.c:116
-#: plugins/sudoers/auth/bsdauth.c:150 plugins/sudoers/auth/kerb5.c:121
-#: plugins/sudoers/auth/kerb5.c:148 plugins/sudoers/auth/pam.c:687
-#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/auth/sia.c:59
-#: plugins/sudoers/check_aliases.c:168 plugins/sudoers/cvtsudoers.c:131
-#: plugins/sudoers/cvtsudoers.c:175 plugins/sudoers/cvtsudoers.c:192
-#: plugins/sudoers/cvtsudoers.c:203 plugins/sudoers/cvtsudoers.c:333
-#: plugins/sudoers/cvtsudoers.c:372 plugins/sudoers/cvtsudoers.c:392
-#: plugins/sudoers/cvtsudoers.c:537 plugins/sudoers/cvtsudoers.c:670
-#: plugins/sudoers/cvtsudoers.c:688 plugins/sudoers/cvtsudoers.c:862
-#: plugins/sudoers/cvtsudoers.c:870 plugins/sudoers/cvtsudoers.c:1365
-#: plugins/sudoers/cvtsudoers.c:1369 plugins/sudoers/cvtsudoers.c:1471
-#: plugins/sudoers/cvtsudoers_csv.c:183 plugins/sudoers/cvtsudoers_csv.c:246
-#: plugins/sudoers/cvtsudoers_json.c:76 plugins/sudoers/cvtsudoers_ldif.c:151
-#: plugins/sudoers/cvtsudoers_ldif.c:194 plugins/sudoers/cvtsudoers_ldif.c:235
-#: plugins/sudoers/cvtsudoers_ldif.c:300 plugins/sudoers/cvtsudoers_ldif.c:376
-#: plugins/sudoers/cvtsudoers_ldif.c:430 plugins/sudoers/cvtsudoers_ldif.c:438
-#: plugins/sudoers/cvtsudoers_ldif.c:449 plugins/sudoers/cvtsudoers_ldif.c:456
-#: plugins/sudoers/cvtsudoers_ldif.c:468 plugins/sudoers/cvtsudoers_ldif.c:481
-#: plugins/sudoers/cvtsudoers_ldif.c:489 plugins/sudoers/cvtsudoers_ldif.c:636
-#: plugins/sudoers/cvtsudoers_merge.c:47 plugins/sudoers/cvtsudoers_merge.c:52
+#: lib/iolog/iolog_loginfo.c:212 logsrvd/iolog_writer.c:95
+#: logsrvd/iolog_writer.c:100 logsrvd/iolog_writer.c:134
+#: logsrvd/iolog_writer.c:182 logsrvd/iolog_writer.c:215
+#: logsrvd/iolog_writer.c:225 logsrvd/iolog_writer.c:254
+#: logsrvd/iolog_writer.c:275 logsrvd/iolog_writer.c:287
+#: logsrvd/iolog_writer.c:297 logsrvd/iolog_writer.c:307
+#: logsrvd/iolog_writer.c:317 logsrvd/iolog_writer.c:329
+#: logsrvd/iolog_writer.c:364 logsrvd/iolog_writer.c:370
+#: logsrvd/iolog_writer.c:377 logsrvd/iolog_writer.c:383
+#: logsrvd/iolog_writer.c:567 logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301
+#: logsrvd/logsrvd.c:310 logsrvd/logsrvd.c:1050 logsrvd/logsrvd.c:1113
+#: logsrvd/logsrvd.c:1582 logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771
+#: logsrvd/logsrvd.c:1988 logsrvd/logsrvd_conf.c:357
+#: logsrvd/logsrvd_conf.c:370 logsrvd/logsrvd_conf.c:511
+#: logsrvd/logsrvd_conf.c:534 logsrvd/logsrvd_conf.c:538
+#: logsrvd/logsrvd_conf.c:556 logsrvd/logsrvd_conf.c:626
+#: logsrvd/logsrvd_conf.c:650 logsrvd/logsrvd_conf.c:678
+#: logsrvd/logsrvd_conf.c:692 logsrvd/logsrvd_conf.c:706
+#: logsrvd/logsrvd_conf.c:720 logsrvd/logsrvd_conf.c:734
+#: logsrvd/logsrvd_conf.c:748 logsrvd/logsrvd_conf.c:829
+#: logsrvd/logsrvd_conf.c:1036 logsrvd/logsrvd_conf.c:1053
+#: logsrvd/logsrvd_conf.c:1448 logsrvd/logsrvd_conf.c:1595
+#: logsrvd/logsrvd_conf.c:1621 logsrvd/logsrvd_conf.c:1633
+#: logsrvd/logsrvd_conf.c:1640 logsrvd/logsrvd_conf.c:1646
+#: logsrvd/logsrvd_conf.c:1743 logsrvd/logsrvd_journal.c:75
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:214
+#: logsrvd/logsrvd_journal.c:270 logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:432 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:216 logsrvd/logsrvd_local.c:278
+#: logsrvd/logsrvd_local.c:279 logsrvd/logsrvd_local.c:417
+#: logsrvd/logsrvd_local.c:466 logsrvd/logsrvd_local.c:467
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:473
+#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/logsrvd_relay.c:444
+#: logsrvd/logsrvd_relay.c:743 logsrvd/logsrvd_relay.c:850
+#: logsrvd/sendlog.c:251 logsrvd/sendlog.c:260 logsrvd/sendlog.c:291
+#: logsrvd/sendlog.c:338 logsrvd/sendlog.c:615 logsrvd/sendlog.c:1801
+#: plugins/sudoers/audit.c:116 plugins/sudoers/auth/bsdauth.c:150
+#: plugins/sudoers/auth/kerb5.c:121 plugins/sudoers/auth/kerb5.c:148
+#: plugins/sudoers/auth/pam.c:687 plugins/sudoers/auth/rfc1938.c:111
+#: plugins/sudoers/auth/sia.c:59 plugins/sudoers/check_aliases.c:168
+#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:175
+#: plugins/sudoers/cvtsudoers.c:192 plugins/sudoers/cvtsudoers.c:203
+#: plugins/sudoers/cvtsudoers.c:333 plugins/sudoers/cvtsudoers.c:372
+#: plugins/sudoers/cvtsudoers.c:392 plugins/sudoers/cvtsudoers.c:537
+#: plugins/sudoers/cvtsudoers.c:670 plugins/sudoers/cvtsudoers.c:688
+#: plugins/sudoers/cvtsudoers.c:862 plugins/sudoers/cvtsudoers.c:870
+#: plugins/sudoers/cvtsudoers.c:1365 plugins/sudoers/cvtsudoers.c:1369
+#: plugins/sudoers/cvtsudoers.c:1471 plugins/sudoers/cvtsudoers_csv.c:183
+#: plugins/sudoers/cvtsudoers_csv.c:246 plugins/sudoers/cvtsudoers_json.c:76
+#: plugins/sudoers/cvtsudoers_ldif.c:151 plugins/sudoers/cvtsudoers_ldif.c:194
+#: plugins/sudoers/cvtsudoers_ldif.c:235 plugins/sudoers/cvtsudoers_ldif.c:300
+#: plugins/sudoers/cvtsudoers_ldif.c:376 plugins/sudoers/cvtsudoers_ldif.c:430
+#: plugins/sudoers/cvtsudoers_ldif.c:438 plugins/sudoers/cvtsudoers_ldif.c:449
+#: plugins/sudoers/cvtsudoers_ldif.c:456 plugins/sudoers/cvtsudoers_ldif.c:468
+#: plugins/sudoers/cvtsudoers_ldif.c:481 plugins/sudoers/cvtsudoers_ldif.c:489
+#: plugins/sudoers/cvtsudoers_ldif.c:636 plugins/sudoers/cvtsudoers_merge.c:47
+#: plugins/sudoers/cvtsudoers_merge.c:52
#: plugins/sudoers/cvtsudoers_merge.c:353
#: plugins/sudoers/cvtsudoers_merge.c:399
#: plugins/sudoers/cvtsudoers_merge.c:446
@@ -111,11 +125,11 @@ msgstr "Вибачте, повторіть Ñпробу."
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1158
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:133
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:228
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -124,124 +138,125 @@ msgstr "Вибачте, повторіть Ñпробу."
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:688
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:294
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:689
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:294
#: plugins/sudoers/ldap_util.c:301 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:397 plugins/sudoers/log_client.c:710
-#: plugins/sudoers/log_client.c:731 plugins/sudoers/log_client.c:1451
-#: plugins/sudoers/log_client.c:1672 plugins/sudoers/log_client.c:2003
-#: plugins/sudoers/log_client.c:2059 plugins/sudoers/logging.c:112
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/match_command.c:333 plugins/sudoers/match_command.c:594
-#: plugins/sudoers/match_command.c:645 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:767 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:227 plugins/sudoers/parse.c:244
-#: plugins/sudoers/parse.c:263 plugins/sudoers/parse.c:282
-#: plugins/sudoers/parse.c:299 plugins/sudoers/parse.c:322
-#: plugins/sudoers/parse.c:333 plugins/sudoers/parse_ldif.c:153
-#: plugins/sudoers/parse_ldif.c:184 plugins/sudoers/parse_ldif.c:253
-#: plugins/sudoers/parse_ldif.c:261 plugins/sudoers/parse_ldif.c:266
-#: plugins/sudoers/parse_ldif.c:342 plugins/sudoers/parse_ldif.c:353
-#: plugins/sudoers/parse_ldif.c:380 plugins/sudoers/parse_ldif.c:397
-#: plugins/sudoers/parse_ldif.c:409 plugins/sudoers/parse_ldif.c:413
-#: plugins/sudoers/parse_ldif.c:427 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:627
-#: plugins/sudoers/parse_ldif.c:652 plugins/sudoers/parse_ldif.c:710
-#: plugins/sudoers/parse_ldif.c:727 plugins/sudoers/parse_ldif.c:755
-#: plugins/sudoers/parse_ldif.c:762 plugins/sudoers/policy.c:606
-#: plugins/sudoers/policy.c:998 plugins/sudoers/prompt.c:93
-#: plugins/sudoers/pwutil.c:199 plugins/sudoers/pwutil.c:270
-#: plugins/sudoers/pwutil.c:348 plugins/sudoers/pwutil.c:522
-#: plugins/sudoers/pwutil.c:587 plugins/sudoers/pwutil.c:659
-#: plugins/sudoers/pwutil.c:857 plugins/sudoers/pwutil.c:913
-#: plugins/sudoers/pwutil.c:957 plugins/sudoers/pwutil.c:1014
-#: plugins/sudoers/sssd.c:145 plugins/sudoers/sssd.c:185
-#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
-#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
-#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:715
+#: plugins/sudoers/log_client.c:736 plugins/sudoers/log_client.c:1416
+#: plugins/sudoers/log_client.c:1537 plugins/sudoers/log_client.c:1637
+#: plugins/sudoers/log_client.c:1973 plugins/sudoers/log_client.c:2032
+#: plugins/sudoers/logging.c:110 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/match_command.c:335
+#: plugins/sudoers/match_command.c:603 plugins/sudoers/match_command.c:654
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:776
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:227
+#: plugins/sudoers/parse.c:244 plugins/sudoers/parse.c:263
+#: plugins/sudoers/parse.c:282 plugins/sudoers/parse.c:299
+#: plugins/sudoers/parse.c:322 plugins/sudoers/parse.c:333
+#: plugins/sudoers/parse_ldif.c:153 plugins/sudoers/parse_ldif.c:184
+#: plugins/sudoers/parse_ldif.c:253 plugins/sudoers/parse_ldif.c:261
+#: plugins/sudoers/parse_ldif.c:266 plugins/sudoers/parse_ldif.c:342
+#: plugins/sudoers/parse_ldif.c:353 plugins/sudoers/parse_ldif.c:380
+#: plugins/sudoers/parse_ldif.c:397 plugins/sudoers/parse_ldif.c:409
+#: plugins/sudoers/parse_ldif.c:413 plugins/sudoers/parse_ldif.c:427
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:628 plugins/sudoers/parse_ldif.c:653
+#: plugins/sudoers/parse_ldif.c:711 plugins/sudoers/parse_ldif.c:728
+#: plugins/sudoers/parse_ldif.c:756 plugins/sudoers/parse_ldif.c:763
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
+#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
+#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
+#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
+#: plugins/sudoers/pwutil.c:659 plugins/sudoers/pwutil.c:857
+#: plugins/sudoers/pwutil.c:913 plugins/sudoers/pwutil.c:957
+#: plugins/sudoers/pwutil.c:1014 plugins/sudoers/sssd.c:145
+#: plugins/sudoers/sssd.c:185 plugins/sudoers/sssd.c:414
+#: plugins/sudoers/sssd.c:479 plugins/sudoers/sssd.c:505
+#: plugins/sudoers/sssd.c:568 plugins/sudoers/sssd.c:761
+#: plugins/sudoers/strvec_join.c:53 plugins/sudoers/stubs.c:112
+#: plugins/sudoers/stubs.c:120 plugins/sudoers/sudoers.c:354
+#: plugins/sudoers/sudoers.c:380 plugins/sudoers/sudoers.c:448
+#: plugins/sudoers/sudoers.c:457 plugins/sudoers/sudoers.c:498
+#: plugins/sudoers/sudoers.c:827 plugins/sudoers/sudoers.c:877
+#: plugins/sudoers/sudoers.c:1015 plugins/sudoers/sudoers.c:1075
+#: plugins/sudoers/sudoers.c:1330 plugins/sudoers/sudoreplay.c:562
#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
+#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:588
+#: plugins/sudoers/timestamp.c:451 plugins/sudoers/timestamp.c:495
+#: plugins/sudoers/timestamp.c:1017 plugins/sudoers/timestamp.c:1146
#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:161
#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1226
+#: plugins/sudoers/visudo.c:150 plugins/sudoers/visudo.c:385
+#: plugins/sudoers/visudo.c:391 plugins/sudoers/visudo.c:498
+#: plugins/sudoers/visudo.c:1054 toke.l:1023 toke.l:1155 toke.l:1226
msgid "unable to allocate memory"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ потрібний об’єм пам’ÑÑ‚Ñ–"
-#: gram.y:622
+#: gram.y:623
msgid "a digest requires a path name"
msgstr "Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— Ñуми Ñлід вказати шлÑÑ…"
-#: gram.y:644
+#: gram.y:645
msgid "values for \"CWD\" must start with a '/', '~', or '*'"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«CWD» мають починатиÑÑ Ð· «/», «~» або «*»"
-#: gram.y:650
+#: gram.y:651
msgid "\"CWD\" path too long"
msgstr "ШлÑÑ… «CWD» Ñ” надто довгим"
-#: gram.y:660
+#: gram.y:661
msgid "values for \"CHROOT\" must start with a '/', '~', or '*'"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«CHROOT» мають починатиÑÑ Ð· «/», «~» або «*»"
-#: gram.y:666
+#: gram.y:667
msgid "\"CHROOT\" path too long"
msgstr "ШлÑÑ… «CHROOT» Ñ” надто довгим"
-#: gram.y:801
+#: gram.y:802
#, c-format
msgid "syntax error, reserved word %s used as an alias name"
msgstr "ÑинтакÑична помилка, Ñк назву замінника викориÑтано зарезервоване Ñлово %s"
-#: gram.y:824
+#: gram.y:825
msgid "invalid notbefore value"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ notbefore"
-#: gram.y:833
+#: gram.y:834
msgid "invalid notafter value"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ notafter"
-#: gram.y:843 plugins/sudoers/policy.c:376
+#: gram.y:844 plugins/sudoers/policy.c:383
msgid "timeout value too large"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ” надто великим"
-#: gram.y:845 plugins/sudoers/policy.c:378
+#: gram.y:846 plugins/sudoers/policy.c:385
msgid "invalid timeout value"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу очікуваннÑ"
-#: gram.y:966 plugins/sudoers/sudoers.c:1014
+#: gram.y:967 plugins/sudoers/sudoers.c:1033
msgid "command too long"
msgstr "надто довга команда"
-#: gram.y:1220 plugins/sudoers/check_aliases.c:96
-#: plugins/sudoers/defaults.c:1275
+#: gram.y:1224 plugins/sudoers/check_aliases.c:96
+#: plugins/sudoers/defaults.c:1276
#, c-format
msgid "%s:%d:%d: %s\n"
msgstr "%s:%d:%d: %s\n"
-#: gram.y:1270
+#: gram.y:1278
#, c-format
msgid "Alias \"%s\" already defined"
msgstr "Замінник «%s» вже визначено"
-#: gram.y:1769 gram.y:1816 lib/eventlog/eventlog.c:309
+#: gram.y:1777 gram.y:1827 lib/eventlog/eventlog.c:309
#: lib/eventlog/eventlog.c:827 lib/eventlog/eventlog.c:900
#: lib/eventlog/eventlog.c:903 lib/eventlog/eventlog.c:1204
#: lib/iolog/iolog_filter.c:142 lib/iolog/iolog_filter.c:202
@@ -251,33 +266,48 @@ msgstr "Замінник «%s» вже визначено"
#: lib/iolog/iolog_legacy.c:111 lib/iolog/iolog_legacy.c:123
#: lib/iolog/iolog_legacy.c:133 lib/iolog/iolog_legacy.c:139
#: lib/iolog/iolog_loginfo.c:76 lib/iolog/iolog_loginfo.c:212
-#: logsrvd/iolog_writer.c:84 logsrvd/iolog_writer.c:89
-#: logsrvd/iolog_writer.c:123 logsrvd/iolog_writer.c:162
-#: logsrvd/iolog_writer.c:171 logsrvd/iolog_writer.c:189
-#: logsrvd/iolog_writer.c:211 logsrvd/iolog_writer.c:224
-#: logsrvd/iolog_writer.c:251 logsrvd/iolog_writer.c:260
-#: logsrvd/iolog_writer.c:276 logsrvd/iolog_writer.c:285
-#: logsrvd/iolog_writer.c:300 logsrvd/iolog_writer.c:313
-#: logsrvd/iolog_writer.c:326 logsrvd/iolog_writer.c:339
-#: logsrvd/iolog_writer.c:354 logsrvd/iolog_writer.c:393
-#: logsrvd/iolog_writer.c:399 logsrvd/iolog_writer.c:406
-#: logsrvd/iolog_writer.c:412 logsrvd/iolog_writer.c:596
-#: logsrvd/logsrv_util.c:64 logsrvd/logsrvd.c:296 logsrvd/logsrvd.c:305
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:593
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1403 logsrvd/logsrvd.c:1410
-#: logsrvd/logsrvd_conf.c:1443 logsrvd/logsrvd_journal.c:70
-#: logsrvd/logsrvd_journal.c:114 logsrvd/logsrvd_journal.c:203
-#: logsrvd/logsrvd_journal.c:233 logsrvd/logsrvd_journal.c:237
-#: logsrvd/logsrvd_journal.c:245 logsrvd/logsrvd_journal.c:268
-#: logsrvd/logsrvd_journal.c:272 logsrvd/logsrvd_journal.c:420
-#: logsrvd/logsrvd_local.c:174 logsrvd/logsrvd_local.c:237
-#: logsrvd/logsrvd_local.c:425 logsrvd/logsrvd_local.c:431
-#: logsrvd/logsrvd_local.c:450 logsrvd/logsrvd_queue.c:153
-#: logsrvd/logsrvd_queue.c:184 logsrvd/logsrvd_queue.c:261
-#: logsrvd/sendlog.c:246 logsrvd/sendlog.c:255 logsrvd/sendlog.c:333
-#: logsrvd/sendlog.c:640 logsrvd/sendlog.c:1526 logsrvd/sendlog.c:1533
-#: logsrvd/sendlog.c:1756 logsrvd/tls_init.c:299 logsrvd/tls_init.c:323
-#: logsrvd/tls_init.c:334 plugins/sudoers/audit.c:116
+#: logsrvd/iolog_writer.c:95 logsrvd/iolog_writer.c:100
+#: logsrvd/iolog_writer.c:134 logsrvd/iolog_writer.c:171
+#: logsrvd/iolog_writer.c:181 logsrvd/iolog_writer.c:194
+#: logsrvd/iolog_writer.c:214 logsrvd/iolog_writer.c:224
+#: logsrvd/iolog_writer.c:243 logsrvd/iolog_writer.c:253
+#: logsrvd/iolog_writer.c:264 logsrvd/iolog_writer.c:274
+#: logsrvd/iolog_writer.c:286 logsrvd/iolog_writer.c:296
+#: logsrvd/iolog_writer.c:306 logsrvd/iolog_writer.c:316
+#: logsrvd/iolog_writer.c:328 logsrvd/iolog_writer.c:364
+#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:377
+#: logsrvd/iolog_writer.c:383 logsrvd/iolog_writer.c:567
+#: logsrvd/logsrv_util.c:69 logsrvd/logsrvd.c:301 logsrvd/logsrvd.c:310
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:522
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:660
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:1124
+#: logsrvd/logsrvd.c:1439 logsrvd/logsrvd.c:1446 logsrvd/logsrvd.c:1582
+#: logsrvd/logsrvd.c:1587 logsrvd/logsrvd.c:1771 logsrvd/logsrvd.c:1988
+#: logsrvd/logsrvd_conf.c:357 logsrvd/logsrvd_conf.c:370
+#: logsrvd/logsrvd_conf.c:511 logsrvd/logsrvd_conf.c:534
+#: logsrvd/logsrvd_conf.c:538 logsrvd/logsrvd_conf.c:556
+#: logsrvd/logsrvd_conf.c:626 logsrvd/logsrvd_conf.c:649
+#: logsrvd/logsrvd_conf.c:678 logsrvd/logsrvd_conf.c:692
+#: logsrvd/logsrvd_conf.c:706 logsrvd/logsrvd_conf.c:720
+#: logsrvd/logsrvd_conf.c:734 logsrvd/logsrvd_conf.c:748
+#: logsrvd/logsrvd_conf.c:829 logsrvd/logsrvd_conf.c:1036
+#: logsrvd/logsrvd_conf.c:1053 logsrvd/logsrvd_conf.c:1448
+#: logsrvd/logsrvd_conf.c:1595 logsrvd/logsrvd_conf.c:1621
+#: logsrvd/logsrvd_conf.c:1633 logsrvd/logsrvd_conf.c:1640
+#: logsrvd/logsrvd_conf.c:1646 logsrvd/logsrvd_conf.c:1742
+#: logsrvd/logsrvd_journal.c:75 logsrvd/logsrvd_journal.c:122
+#: logsrvd/logsrvd_journal.c:213 logsrvd/logsrvd_journal.c:243
+#: logsrvd/logsrvd_journal.c:247 logsrvd/logsrvd_journal.c:255
+#: logsrvd/logsrvd_journal.c:278 logsrvd/logsrvd_journal.c:282
+#: logsrvd/logsrvd_journal.c:430 logsrvd/logsrvd_local.c:215
+#: logsrvd/logsrvd_local.c:278 logsrvd/logsrvd_local.c:466
+#: logsrvd/logsrvd_local.c:472 logsrvd/logsrvd_local.c:491
+#: logsrvd/logsrvd_queue.c:158 logsrvd/logsrvd_queue.c:189
+#: logsrvd/logsrvd_queue.c:266 logsrvd/sendlog.c:251 logsrvd/sendlog.c:260
+#: logsrvd/sendlog.c:291 logsrvd/sendlog.c:338 logsrvd/sendlog.c:615
+#: logsrvd/sendlog.c:1503 logsrvd/sendlog.c:1510 logsrvd/sendlog.c:1733
+#: logsrvd/sendlog.c:1801 logsrvd/tls_init.c:305 logsrvd/tls_init.c:329
+#: logsrvd/tls_init.c:340 plugins/sudoers/audit.c:116
#: plugins/sudoers/auth/pam.c:502 plugins/sudoers/auth/pam.c:687
#: plugins/sudoers/auth/rfc1938.c:111 plugins/sudoers/check_aliases.c:168
#: plugins/sudoers/cvtsudoers.c:131 plugins/sudoers/cvtsudoers.c:174
@@ -307,11 +337,11 @@ msgstr "Замінник «%s» вже визначено"
#: plugins/sudoers/cvtsudoers_merge.c:633
#: plugins/sudoers/cvtsudoers_merge.c:1157
#: plugins/sudoers/cvtsudoers_merge.c:1231 plugins/sudoers/defaults.c:434
-#: plugins/sudoers/defaults.c:657 plugins/sudoers/defaults.c:1018
-#: plugins/sudoers/defaults.c:1186 plugins/sudoers/editor.c:190
-#: plugins/sudoers/env.c:262 plugins/sudoers/exptilde.c:92
+#: plugins/sudoers/defaults.c:658 plugins/sudoers/defaults.c:1019
+#: plugins/sudoers/defaults.c:1187 plugins/sudoers/editor.c:188
+#: plugins/sudoers/env.c:263 plugins/sudoers/exptilde.c:92
#: plugins/sudoers/filedigest.c:54 plugins/sudoers/filedigest.c:70
-#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:132
+#: plugins/sudoers/gc.c:57 plugins/sudoers/group_plugin.c:227
#: plugins/sudoers/interfaces.c:68 plugins/sudoers/iolog.c:268
#: plugins/sudoers/iolog.c:668 plugins/sudoers/iolog.c:694
#: plugins/sudoers/ldap.c:184 plugins/sudoers/ldap.c:464
@@ -320,46 +350,47 @@ msgstr "Замінник «%s» вже визначено"
#: plugins/sudoers/ldap.c:1798 plugins/sudoers/ldap.c:1879
#: plugins/sudoers/ldap.c:2014 plugins/sudoers/ldap.c:2115
#: plugins/sudoers/ldap.c:2131 plugins/sudoers/ldap_conf.c:218
-#: plugins/sudoers/ldap_conf.c:249 plugins/sudoers/ldap_conf.c:301
-#: plugins/sudoers/ldap_conf.c:337 plugins/sudoers/ldap_conf.c:443
-#: plugins/sudoers/ldap_conf.c:458 plugins/sudoers/ldap_conf.c:563
-#: plugins/sudoers/ldap_conf.c:596 plugins/sudoers/ldap_conf.c:687
-#: plugins/sudoers/ldap_conf.c:770 plugins/sudoers/ldap_util.c:293
+#: plugins/sudoers/ldap_conf.c:250 plugins/sudoers/ldap_conf.c:302
+#: plugins/sudoers/ldap_conf.c:338 plugins/sudoers/ldap_conf.c:444
+#: plugins/sudoers/ldap_conf.c:459 plugins/sudoers/ldap_conf.c:564
+#: plugins/sudoers/ldap_conf.c:597 plugins/sudoers/ldap_conf.c:688
+#: plugins/sudoers/ldap_conf.c:771 plugins/sudoers/ldap_util.c:293
#: plugins/sudoers/ldap_util.c:300 plugins/sudoers/ldap_util.c:614
-#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:112
-#: plugins/sudoers/log_client.c:223 plugins/sudoers/log_client.c:245
-#: plugins/sudoers/log_client.c:259 plugins/sudoers/log_client.c:397
-#: plugins/sudoers/log_client.c:710 plugins/sudoers/log_client.c:731
-#: plugins/sudoers/log_client.c:1451 plugins/sudoers/log_client.c:1672
-#: plugins/sudoers/log_client.c:2003 plugins/sudoers/log_client.c:2059
-#: plugins/sudoers/logging.c:112 plugins/sudoers/logging.c:192
-#: plugins/sudoers/logging.c:193 plugins/sudoers/logging.c:461
-#: plugins/sudoers/logging.c:675 plugins/sudoers/logging.c:812
-#: plugins/sudoers/logging.c:882 plugins/sudoers/logging.c:894
-#: plugins/sudoers/match_command.c:332 plugins/sudoers/match_command.c:593
-#: plugins/sudoers/match_command.c:644 plugins/sudoers/match_command.c:719
-#: plugins/sudoers/match_command.c:766 plugins/sudoers/match_digest.c:93
-#: plugins/sudoers/parse.c:226 plugins/sudoers/parse.c:243
-#: plugins/sudoers/parse.c:262 plugins/sudoers/parse.c:281
-#: plugins/sudoers/parse.c:298 plugins/sudoers/parse.c:321
-#: plugins/sudoers/parse.c:332 plugins/sudoers/parse_ldif.c:152
-#: plugins/sudoers/parse_ldif.c:183 plugins/sudoers/parse_ldif.c:252
-#: plugins/sudoers/parse_ldif.c:260 plugins/sudoers/parse_ldif.c:265
-#: plugins/sudoers/parse_ldif.c:341 plugins/sudoers/parse_ldif.c:352
-#: plugins/sudoers/parse_ldif.c:379 plugins/sudoers/parse_ldif.c:396
-#: plugins/sudoers/parse_ldif.c:408 plugins/sudoers/parse_ldif.c:412
-#: plugins/sudoers/parse_ldif.c:426 plugins/sudoers/parse_ldif.c:484
-#: plugins/sudoers/parse_ldif.c:597 plugins/sudoers/parse_ldif.c:626
-#: plugins/sudoers/parse_ldif.c:651 plugins/sudoers/parse_ldif.c:709
-#: plugins/sudoers/parse_ldif.c:726 plugins/sudoers/parse_ldif.c:754
-#: plugins/sudoers/parse_ldif.c:761 plugins/sudoers/policy.c:152
-#: plugins/sudoers/policy.c:161 plugins/sudoers/policy.c:170
-#: plugins/sudoers/policy.c:198 plugins/sudoers/policy.c:361
-#: plugins/sudoers/policy.c:376 plugins/sudoers/policy.c:378
-#: plugins/sudoers/policy.c:414 plugins/sudoers/policy.c:423
-#: plugins/sudoers/policy.c:471 plugins/sudoers/policy.c:481
+#: plugins/sudoers/linux_audit.c:86 plugins/sudoers/log_client.c:117
+#: plugins/sudoers/log_client.c:228 plugins/sudoers/log_client.c:250
+#: plugins/sudoers/log_client.c:264 plugins/sudoers/log_client.c:402
+#: plugins/sudoers/log_client.c:715 plugins/sudoers/log_client.c:736
+#: plugins/sudoers/log_client.c:1416 plugins/sudoers/log_client.c:1537
+#: plugins/sudoers/log_client.c:1637 plugins/sudoers/log_client.c:1973
+#: plugins/sudoers/log_client.c:2032 plugins/sudoers/logging.c:110
+#: plugins/sudoers/logging.c:188 plugins/sudoers/logging.c:189
+#: plugins/sudoers/logging.c:453 plugins/sudoers/logging.c:668
+#: plugins/sudoers/logging.c:805 plugins/sudoers/logging.c:876
+#: plugins/sudoers/logging.c:888 plugins/sudoers/match_command.c:334
+#: plugins/sudoers/match_command.c:602 plugins/sudoers/match_command.c:653
+#: plugins/sudoers/match_command.c:728 plugins/sudoers/match_command.c:775
+#: plugins/sudoers/match_digest.c:93 plugins/sudoers/parse.c:226
+#: plugins/sudoers/parse.c:243 plugins/sudoers/parse.c:262
+#: plugins/sudoers/parse.c:281 plugins/sudoers/parse.c:298
+#: plugins/sudoers/parse.c:321 plugins/sudoers/parse.c:332
+#: plugins/sudoers/parse_ldif.c:152 plugins/sudoers/parse_ldif.c:183
+#: plugins/sudoers/parse_ldif.c:252 plugins/sudoers/parse_ldif.c:260
+#: plugins/sudoers/parse_ldif.c:265 plugins/sudoers/parse_ldif.c:341
+#: plugins/sudoers/parse_ldif.c:352 plugins/sudoers/parse_ldif.c:379
+#: plugins/sudoers/parse_ldif.c:396 plugins/sudoers/parse_ldif.c:408
+#: plugins/sudoers/parse_ldif.c:412 plugins/sudoers/parse_ldif.c:426
+#: plugins/sudoers/parse_ldif.c:484 plugins/sudoers/parse_ldif.c:598
+#: plugins/sudoers/parse_ldif.c:627 plugins/sudoers/parse_ldif.c:652
+#: plugins/sudoers/parse_ldif.c:710 plugins/sudoers/parse_ldif.c:727
+#: plugins/sudoers/parse_ldif.c:755 plugins/sudoers/parse_ldif.c:762
+#: plugins/sudoers/policy.c:153 plugins/sudoers/policy.c:162
+#: plugins/sudoers/policy.c:171 plugins/sudoers/policy.c:199
+#: plugins/sudoers/policy.c:368 plugins/sudoers/policy.c:383
+#: plugins/sudoers/policy.c:385 plugins/sudoers/policy.c:423
+#: plugins/sudoers/policy.c:432 plugins/sudoers/policy.c:480
#: plugins/sudoers/policy.c:490 plugins/sudoers/policy.c:499
-#: plugins/sudoers/policy.c:606 plugins/sudoers/policy.c:998
+#: plugins/sudoers/policy.c:508 plugins/sudoers/policy.c:517
+#: plugins/sudoers/policy.c:624 plugins/sudoers/policy.c:1026
#: plugins/sudoers/prompt.c:93 plugins/sudoers/pwutil.c:199
#: plugins/sudoers/pwutil.c:270 plugins/sudoers/pwutil.c:348
#: plugins/sudoers/pwutil.c:522 plugins/sudoers/pwutil.c:587
@@ -372,25 +403,25 @@ msgstr "Замінник «%s» вже визначено"
#: plugins/sudoers/sssd.c:414 plugins/sudoers/sssd.c:479
#: plugins/sudoers/sssd.c:505 plugins/sudoers/sssd.c:568
#: plugins/sudoers/sssd.c:761 plugins/sudoers/strvec_join.c:53
-#: plugins/sudoers/stubs.c:111 plugins/sudoers/stubs.c:119
-#: plugins/sudoers/sudoers.c:349 plugins/sudoers/sudoers.c:375
-#: plugins/sudoers/sudoers.c:443 plugins/sudoers/sudoers.c:452
-#: plugins/sudoers/sudoers.c:493 plugins/sudoers/sudoers.c:858
-#: plugins/sudoers/sudoers.c:996 plugins/sudoers/sudoers.c:1055
-#: plugins/sudoers/sudoers.c:1320 plugins/sudoers/sudoreplay.c:562
-#: plugins/sudoers/sudoreplay.c:565 plugins/sudoers/sudoreplay.c:1281
-#: plugins/sudoers/sudoreplay.c:1503 plugins/sudoers/sudoreplay.c:1507
-#: plugins/sudoers/testsudoers.c:120 plugins/sudoers/testsudoers.c:224
-#: plugins/sudoers/testsudoers.c:241 plugins/sudoers/testsudoers.c:581
-#: plugins/sudoers/timestamp.c:424 plugins/sudoers/timestamp.c:468
-#: plugins/sudoers/timestamp.c:980 plugins/sudoers/timestamp.c:1118
-#: plugins/sudoers/toke_util.c:78 plugins/sudoers/toke_util.c:106
-#: plugins/sudoers/toke_util.c:131 plugins/sudoers/toke_util.c:160
-#: plugins/sudoers/toke_util.c:200 plugins/sudoers/tsdump.c:123
-#: plugins/sudoers/visudo.c:148 plugins/sudoers/visudo.c:380
-#: plugins/sudoers/visudo.c:386 plugins/sudoers/visudo.c:492
-#: plugins/sudoers/visudo.c:1048 toke.l:1023 toke.l:1155 toke.l:1218
-#: toke.l:1226
+#: plugins/sudoers/stubs.c:112 plugins/sudoers/stubs.c:120
+#: plugins/sudoers/sudoers.c:354 plugins/sudoers/sudoers.c:380
+#: plugins/sudoers/sudoers.c:448 plugins/sudoers/sudoers.c:457
+#: plugins/sudoers/sudoers.c:498 plugins/sudoers/sudoers.c:827
+#: plugins/sudoers/sudoers.c:877 plugins/sudoers/sudoers.c:1015
+#: plugins/sudoers/sudoers.c:1075 plugins/sudoers/sudoers.c:1330
+#: plugins/sudoers/sudoreplay.c:562 plugins/sudoers/sudoreplay.c:565
+#: plugins/sudoers/sudoreplay.c:1281 plugins/sudoers/sudoreplay.c:1503
+#: plugins/sudoers/sudoreplay.c:1507 plugins/sudoers/testsudoers.c:120
+#: plugins/sudoers/testsudoers.c:224 plugins/sudoers/testsudoers.c:241
+#: plugins/sudoers/testsudoers.c:588 plugins/sudoers/timestamp.c:451
+#: plugins/sudoers/timestamp.c:495 plugins/sudoers/timestamp.c:1017
+#: plugins/sudoers/timestamp.c:1146 plugins/sudoers/toke_util.c:78
+#: plugins/sudoers/toke_util.c:106 plugins/sudoers/toke_util.c:131
+#: plugins/sudoers/toke_util.c:160 plugins/sudoers/toke_util.c:200
+#: plugins/sudoers/tsdump.c:123 plugins/sudoers/visudo.c:150
+#: plugins/sudoers/visudo.c:385 plugins/sudoers/visudo.c:391
+#: plugins/sudoers/visudo.c:498 plugins/sudoers/visudo.c:1054 toke.l:1023
+#: toke.l:1155 toke.l:1218 toke.l:1226
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
@@ -399,14 +430,14 @@ msgstr "%s: %s"
#: lib/iolog/iolog_json.c:568 lib/iolog/iolog_json.c:574
#: plugins/sudoers/cvtsudoers_csv.c:192 plugins/sudoers/cvtsudoers_csv.c:199
#: plugins/sudoers/cvtsudoers_ldif.c:244 plugins/sudoers/cvtsudoers_ldif.c:251
-#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:326
-#: plugins/sudoers/env.c:333 plugins/sudoers/env.c:444
+#: plugins/sudoers/cvtsudoers_ldif.c:592 plugins/sudoers/env.c:340
+#: plugins/sudoers/env.c:347 plugins/sudoers/env.c:458
#: plugins/sudoers/ldap.c:526 plugins/sudoers/ldap.c:759
#: plugins/sudoers/ldap.c:1132 plugins/sudoers/ldap_conf.c:222
-#: plugins/sudoers/ldap_conf.c:312 plugins/sudoers/ldap_util.c:486
-#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:465
-#: plugins/sudoers/logging.c:820 plugins/sudoers/logging.c:830
-#: plugins/sudoers/policy.c:776 plugins/sudoers/policy.c:787
+#: plugins/sudoers/ldap_conf.c:313 plugins/sudoers/ldap_util.c:486
+#: plugins/sudoers/linux_audit.c:92 plugins/sudoers/logging.c:457
+#: plugins/sudoers/logging.c:813 plugins/sudoers/logging.c:823
+#: plugins/sudoers/policy.c:800 plugins/sudoers/policy.c:811
#: plugins/sudoers/prompt.c:168 plugins/sudoers/serialize_list.c:62
#: plugins/sudoers/serialize_list.c:71 plugins/sudoers/strvec_join.c:62
#: plugins/sudoers/testsudoers.c:245 plugins/sudoers/toke_util.c:213
@@ -449,7 +480,7 @@ msgstr "%8s : %s"
msgid "%8s : (command continued) %s"
msgstr "%8s : (команда продовжуєтьÑÑ) %s"
-#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1241
+#: lib/iolog/iolog_filter.c:133 plugins/sudoers/defaults.c:1242
#: plugins/sudoers/sudoreplay.c:1293 plugins/sudoers/sudoreplay.c:1558
#, c-format
msgid "invalid regular expression \"%s\": %s"
@@ -564,14 +595,14 @@ msgstr "%s: не вказано даних щодо групи, від іменÑ
msgid "%s exists but is not a directory (0%o)"
msgstr "%s Ñ–Ñнує, але не Ñ” каталогом (0%o)"
-#: lib/iolog/iolog_mkdirs.c:119 lib/iolog/iolog_mkdtemp.c:77
-#: logsrvd/iolog_writer.c:810 plugins/sudoers/timestamp.c:205
+#: lib/iolog/iolog_mkdirs.c:123 lib/iolog/iolog_mkdtemp.c:78
+#: logsrvd/iolog_writer.c:781 plugins/sudoers/timestamp.c:209
#, c-format
msgid "unable to mkdir %s"
msgstr "не вдалоÑÑ Ñтворити каталог %s"
-#: lib/iolog/iolog_mkdtemp.c:81 plugins/sudoers/visudo.c:747
-#: plugins/sudoers/visudo.c:781 plugins/sudoers/visudo.c:787
+#: lib/iolog/iolog_mkdtemp.c:83 plugins/sudoers/visudo.c:753
+#: plugins/sudoers/visudo.c:787 plugins/sudoers/visudo.c:793
#, c-format
msgid "unable to change mode of %s to 0%o"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ режим доÑтупу до %s на Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 0%o"
@@ -586,150 +617,156 @@ msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° ча
msgid "invalid timing file line: %s"
msgstr "некоректний Ñ€Ñдок у файлі timing: %s"
-#: logsrvd/iolog_writer.c:130 plugins/sudoers/logging.c:982
-#: plugins/sudoers/policy.c:573
-msgid "unable to generate UUID"
-msgstr "не вдалоÑÑ Ñтворити UUID"
+#: logsrvd/iolog_writer.c:65
+#, c-format
+msgid "%s: protocol error: NULL key"
+msgstr "%s: помилка протоколу: ключ NULL"
-#: logsrvd/iolog_writer.c:158 logsrvd/iolog_writer.c:176
-#: logsrvd/iolog_writer.c:185 logsrvd/iolog_writer.c:203
-#: logsrvd/iolog_writer.c:216 logsrvd/iolog_writer.c:229
-#: logsrvd/iolog_writer.c:240 logsrvd/iolog_writer.c:247
-#: logsrvd/iolog_writer.c:265 logsrvd/iolog_writer.c:272
-#: logsrvd/iolog_writer.c:290 logsrvd/iolog_writer.c:305
-#: logsrvd/iolog_writer.c:318 logsrvd/iolog_writer.c:331
-#: logsrvd/iolog_writer.c:344 logsrvd/iolog_writer.c:359
+#: logsrvd/iolog_writer.c:69
#, c-format
msgid "%s: protocol error: wrong type for %s"
msgstr "%s: помилка протоколу: помилковий тип Ð´Ð»Ñ %s"
-#: logsrvd/iolog_writer.c:370 logsrvd/iolog_writer.c:375
-#: logsrvd/iolog_writer.c:380 logsrvd/iolog_writer.c:385
+#: logsrvd/iolog_writer.c:74 logsrvd/logsrvd_local.c:109
+#: logsrvd/logsrvd_local.c:123 logsrvd/logsrvd_local.c:131
+#: logsrvd/logsrvd_local.c:149
+#, c-format
+msgid "%s: protocol error: NULL value found in %s"
+msgstr "%s: помилка протоколу: виÑвлено Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ NULL у %s"
+
+#: logsrvd/iolog_writer.c:141 plugins/sudoers/logging.c:976
+#: plugins/sudoers/policy.c:591
+msgid "unable to generate UUID"
+msgstr "не вдалоÑÑ Ñтворити UUID"
+
+#: logsrvd/iolog_writer.c:341 logsrvd/iolog_writer.c:346
+#: logsrvd/iolog_writer.c:351 logsrvd/iolog_writer.c:356
#, c-format
msgid "%s: protocol error: %s missing from AcceptMessage"
msgstr "%s: помилка протоколу: не виÑтачає %s з AcceptMessage"
-#: logsrvd/iolog_writer.c:446
+#: logsrvd/iolog_writer.c:417
#, c-format
msgid "%s: unable to format session id"
msgstr "%s: не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð° ÑеанÑу"
-#: logsrvd/iolog_writer.c:460 logsrvd/iolog_writer.c:474
-#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:503
-#: logsrvd/iolog_writer.c:517 logsrvd/iolog_writer.c:531
+#: logsrvd/iolog_writer.c:431 logsrvd/iolog_writer.c:445
+#: logsrvd/iolog_writer.c:459 logsrvd/iolog_writer.c:474
+#: logsrvd/iolog_writer.c:488 logsrvd/iolog_writer.c:502
#, c-format
msgid "%s: %s is not set"
msgstr "%s: %s не вÑтановлено"
-#: logsrvd/iolog_writer.c:567 logsrvd/iolog_writer.c:574
+#: logsrvd/iolog_writer.c:538 logsrvd/iolog_writer.c:545
#, c-format
msgid "unable to expand iolog path %s"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ð½ÑƒÑ‚Ð¸ шлÑÑ… iolog %s"
-#: logsrvd/iolog_writer.c:592
+#: logsrvd/iolog_writer.c:563
#, c-format
msgid "unable to create iolog path %s"
msgstr "не вдалоÑÑ Ñтворити шлÑÑ… iolog %s"
-#: logsrvd/iolog_writer.c:622
+#: logsrvd/iolog_writer.c:593
#, c-format
msgid "invalid iofd %d"
msgstr "некоректний файловий деÑкриптор введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ %d"
-#: logsrvd/iolog_writer.c:642
+#: logsrvd/iolog_writer.c:613
#, c-format
msgid "error closing iofd %d: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби закрити деÑкриптор файла введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ %d: %s"
-#: logsrvd/iolog_writer.c:662
+#: logsrvd/iolog_writer.c:633
#, c-format
msgid "error flushing iofd %d: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби витерти деÑкриптор файла введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ %d: %s"
-#: logsrvd/iolog_writer.c:780
+#: logsrvd/iolog_writer.c:751
#, c-format
msgid "invalid I/O log %s: %s referenced but not present"
msgstr "некоректний журнал введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ %s: маємо поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° %s без Ñамого запиÑу"
-#: logsrvd/iolog_writer.c:792 logsrvd/logsrvd_journal.c:372
+#: logsrvd/iolog_writer.c:763 logsrvd/logsrvd_journal.c:382
#, c-format
msgid "%s: unable to find resume point [%lld, %ld]"
msgstr "%s: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ точку Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ [%lld, %ld]"
-#: logsrvd/iolog_writer.c:814 logsrvd/logsrvd_journal.c:415
-#: logsrvd/logsrvd_queue.c:110 logsrvd/tls_init.c:250
-#: plugins/sudoers/check.c:282 plugins/sudoers/cvtsudoers.c:730
+#: logsrvd/iolog_writer.c:785 logsrvd/logsrvd_journal.c:425
+#: logsrvd/logsrvd_queue.c:115 logsrvd/tls_init.c:256
+#: plugins/sudoers/check.c:292 plugins/sudoers/cvtsudoers.c:730
#: plugins/sudoers/cvtsudoers.c:751 plugins/sudoers/cvtsudoers.c:1431
-#: plugins/sudoers/cvtsudoers_csv.c:692 plugins/sudoers/cvtsudoers_json.c:898
-#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1106
-#: plugins/sudoers/sudoreplay.c:1469 plugins/sudoers/timestamp.c:433
-#: plugins/sudoers/tsdump.c:128 plugins/sudoers/visudo.c:965
+#: plugins/sudoers/cvtsudoers_csv.c:695 plugins/sudoers/cvtsudoers_json.c:898
+#: plugins/sudoers/cvtsudoers_ldif.c:709 plugins/sudoers/sudoers.c:1113
+#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/sudoreplay.c:1469
+#: plugins/sudoers/timestamp.c:460 plugins/sudoers/tsdump.c:128
+#: plugins/sudoers/visudo.c:971
#, c-format
msgid "unable to open %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s"
-#: logsrvd/iolog_writer.c:826 logsrvd/logsrv_util.c:100
-#: logsrvd/logsrv_util.c:107 plugins/sudoers/sudoreplay.c:362
+#: logsrvd/iolog_writer.c:797 logsrvd/logsrv_util.c:105
+#: logsrvd/logsrv_util.c:112 plugins/sudoers/sudoreplay.c:362
#: plugins/sudoers/sudoreplay.c:368
#, c-format
msgid "unable to open %s/%s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s/%s"
-#: logsrvd/iolog_writer.c:839
+#: logsrvd/iolog_writer.c:810
#, c-format
msgid "unable to copy %s/%s to %s/%s: %s"
msgstr "не вдалоÑÑ Ñкопіювати %s/%s до %s/%s: %s"
-#: logsrvd/iolog_writer.c:868 logsrvd/logsrvd_journal.c:185
+#: logsrvd/iolog_writer.c:839 logsrvd/logsrvd_journal.c:195
#, c-format
msgid "unable to rename %s to %s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ %s на %s"
-#: logsrvd/logsrv_util.c:142 logsrvd/logsrv_util.c:171
+#: logsrvd/logsrv_util.c:147 logsrvd/logsrv_util.c:176
#, c-format
msgid "%s/%s: unable to find resume point [%lld, %ld]"
msgstr "%s/%s: не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ точку Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ [%lld, %ld]"
-#: logsrvd/logsrv_util.c:154
+#: logsrvd/logsrv_util.c:159
#, c-format
msgid "missing I/O log file %s/%s"
msgstr "не виÑтачає файла журналу введеннÑ-виведеннÑ, %s/%s"
-#: logsrvd/logsrv_util.c:161
+#: logsrvd/logsrv_util.c:166
#, c-format
msgid "%s/%s: unable to seek forward %zu"
msgstr "%s/%s: неможливо виконати Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ð¿ÐµÑ€ÐµÐ´ на %zu"
-#: logsrvd/logsrvd.c:266 logsrvd/logsrvd_queue.c:130
+#: logsrvd/logsrvd.c:271 logsrvd/logsrvd_queue.c:135
msgid "unable to connect to relay"
msgstr "не вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ–Ð· ретранÑлÑтором"
-#: logsrvd/logsrvd.c:325 logsrvd/logsrvd_relay.c:837
+#: logsrvd/logsrvd.c:330 logsrvd/logsrvd_relay.c:842
#, c-format
msgid "server message too large: %zu"
msgstr "надто велике Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера: %zu"
-#: logsrvd/logsrvd.c:417 logsrvd/logsrvd.c:534 logsrvd/logsrvd.c:613
-#: logsrvd/logsrvd.c:837 logsrvd/logsrvd.c:851 logsrvd/logsrvd.c:1011
-#: logsrvd/logsrvd.c:1136 logsrvd/logsrvd.c:1309 logsrvd/logsrvd.c:1327
-#: logsrvd/logsrvd.c:1428 logsrvd/logsrvd.c:1551 logsrvd/logsrvd.c:1735
-#: logsrvd/logsrvd_journal.c:484 logsrvd/logsrvd_local.c:197
-#: logsrvd/logsrvd_queue.c:159 logsrvd/logsrvd_relay.c:167
-#: logsrvd/logsrvd_relay.c:244 logsrvd/logsrvd_relay.c:248
-#: logsrvd/logsrvd_relay.c:384 logsrvd/logsrvd_relay.c:576
-#: logsrvd/logsrvd_relay.c:737 logsrvd/logsrvd_relay.c:1124
-#: logsrvd/sendlog.c:1316 logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
-#: logsrvd/tls_client.c:211 plugins/sudoers/audit.c:276
-#: plugins/sudoers/iolog.c:1031 plugins/sudoers/iolog.c:1164
-#: plugins/sudoers/iolog.c:1262 plugins/sudoers/log_client.c:116
-#: plugins/sudoers/log_client.c:338 plugins/sudoers/log_client.c:354
-#: plugins/sudoers/log_client.c:402 plugins/sudoers/log_client.c:606
-#: plugins/sudoers/log_client.c:613 plugins/sudoers/log_client.c:1138
-#: plugins/sudoers/log_client.c:1420 plugins/sudoers/log_client.c:1461
-#: plugins/sudoers/log_client.c:1469 plugins/sudoers/log_client.c:1628
-#: plugins/sudoers/log_client.c:1746 plugins/sudoers/log_client.c:2067
-#: plugins/sudoers/log_client.c:2075 plugins/sudoers/logging.c:150
-#: plugins/sudoers/logging.c:209 plugins/sudoers/sudoreplay.c:522
+#: logsrvd/logsrvd.c:422 logsrvd/logsrvd.c:545 logsrvd/logsrvd.c:631
+#: logsrvd/logsrvd.c:873 logsrvd/logsrvd.c:887 logsrvd/logsrvd.c:1049
+#: logsrvd/logsrvd.c:1174 logsrvd/logsrvd.c:1347 logsrvd/logsrvd.c:1365
+#: logsrvd/logsrvd.c:1464 logsrvd/logsrvd.c:1589 logsrvd/logsrvd.c:1773
+#: logsrvd/logsrvd_journal.c:494 logsrvd/logsrvd_local.c:238
+#: logsrvd/logsrvd_queue.c:164 logsrvd/logsrvd_relay.c:172
+#: logsrvd/logsrvd_relay.c:249 logsrvd/logsrvd_relay.c:253
+#: logsrvd/logsrvd_relay.c:389 logsrvd/logsrvd_relay.c:581
+#: logsrvd/logsrvd_relay.c:742 logsrvd/logsrvd_relay.c:1131
+#: logsrvd/sendlog.c:1291 logsrvd/tls_client.c:136 logsrvd/tls_client.c:152
+#: logsrvd/tls_client.c:216 plugins/sudoers/audit.c:278
+#: plugins/sudoers/iolog.c:1033 plugins/sudoers/iolog.c:1166
+#: plugins/sudoers/iolog.c:1264 plugins/sudoers/log_client.c:121
+#: plugins/sudoers/log_client.c:343 plugins/sudoers/log_client.c:359
+#: plugins/sudoers/log_client.c:407 plugins/sudoers/log_client.c:611
+#: plugins/sudoers/log_client.c:618 plugins/sudoers/log_client.c:1103
+#: plugins/sudoers/log_client.c:1385 plugins/sudoers/log_client.c:1426
+#: plugins/sudoers/log_client.c:1434 plugins/sudoers/log_client.c:1593
+#: plugins/sudoers/log_client.c:1711 plugins/sudoers/log_client.c:2040
+#: plugins/sudoers/log_client.c:2048 plugins/sudoers/logging.c:147
+#: plugins/sudoers/logging.c:205 plugins/sudoers/sudoreplay.c:522
#: plugins/sudoers/sudoreplay.c:569 plugins/sudoers/sudoreplay.c:811
#: plugins/sudoers/sudoreplay.c:923 plugins/sudoers/sudoreplay.c:1014
#: plugins/sudoers/sudoreplay.c:1029 plugins/sudoers/sudoreplay.c:1036
@@ -738,633 +775,658 @@ msgstr "надто велике Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера: %zu"
msgid "unable to add event to queue"
msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ подію до черги обробки"
-#: logsrvd/logsrvd.c:441 logsrvd/logsrvd.c:478 logsrvd/logsrvd.c:510
-#: logsrvd/logsrvd.c:558 logsrvd/logsrvd.c:630 logsrvd/logsrvd.c:660
-#: logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:720 logsrvd/logsrvd_relay.c:505
-#: logsrvd/logsrvd_relay.c:538
+#: logsrvd/logsrvd.c:446 logsrvd/logsrvd.c:483 logsrvd/logsrvd.c:515
+#: logsrvd/logsrvd.c:569 logsrvd/logsrvd.c:648 logsrvd/logsrvd.c:684
+#: logsrvd/logsrvd.c:720 logsrvd/logsrvd.c:756 logsrvd/logsrvd_relay.c:510
+#: logsrvd/logsrvd_relay.c:543
#, c-format
msgid "unexpected state %d for %s"
msgstr "неочікуваний Ñтан %d %s"
-#: logsrvd/logsrvd.c:442 logsrvd/logsrvd.c:479 logsrvd/logsrvd.c:511
-#: logsrvd/logsrvd.c:559 logsrvd/logsrvd.c:631 logsrvd/logsrvd.c:661
-#: logsrvd/logsrvd.c:691 logsrvd/logsrvd.c:721 logsrvd/logsrvd_relay.c:507
-#: logsrvd/logsrvd_relay.c:540
+#: logsrvd/logsrvd.c:447 logsrvd/logsrvd.c:484 logsrvd/logsrvd.c:516
+#: logsrvd/logsrvd.c:570 logsrvd/logsrvd.c:649 logsrvd/logsrvd.c:685
+#: logsrvd/logsrvd.c:721 logsrvd/logsrvd.c:757 logsrvd/logsrvd_relay.c:512
+#: logsrvd/logsrvd_relay.c:545
msgid "state machine error"
msgstr "помилка Ñкінченного автомата"
-#: logsrvd/logsrvd.c:448 logsrvd/logsrvd.c:449
+#: logsrvd/logsrvd.c:453 logsrvd/logsrvd.c:454
msgid "invalid AcceptMessage"
msgstr "некоректне AcceptMessage"
-#: logsrvd/logsrvd.c:485 logsrvd/logsrvd.c:486
+#: logsrvd/logsrvd.c:490 logsrvd/logsrvd.c:491
msgid "invalid RejectMessage"
msgstr "некоректне RejectMessage"
-#: logsrvd/logsrvd.c:593 logsrvd/logsrvd.c:594
+#: logsrvd/logsrvd.c:522 logsrvd/logsrvd.c:523
+msgid "invalid ExitMessage"
+msgstr "некоректне ExitMessage"
+
+#: logsrvd/logsrvd.c:576 logsrvd/logsrvd.c:577
+msgid "invalid RestartMessage"
+msgstr "некоректне RestartMessage"
+
+#: logsrvd/logsrvd.c:611 logsrvd/logsrvd.c:612
msgid "invalid AlertMessage"
msgstr "некоректне AlertMessage"
-#: logsrvd/logsrvd.c:635 logsrvd/logsrvd.c:665 logsrvd/logsrvd.c:695
+#: logsrvd/logsrvd.c:653 logsrvd/logsrvd.c:689 logsrvd/logsrvd.c:725
#, c-format
msgid "%s: unexpected IoBuffer"
msgstr "%s: неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ IoBuffer"
-#: logsrvd/logsrvd.c:636 logsrvd/logsrvd.c:666 logsrvd/logsrvd.c:696
+#: logsrvd/logsrvd.c:654 logsrvd/logsrvd.c:690 logsrvd/logsrvd.c:726
msgid "protocol error"
msgstr "помилка протоколу"
-#: logsrvd/logsrvd.c:746 logsrvd/logsrvd_journal.c:283
-#: logsrvd/logsrvd_relay.c:647 logsrvd/sendlog.c:1217
-#: plugins/sudoers/log_client.c:1618
+#: logsrvd/logsrvd.c:660 logsrvd/logsrvd.c:661
+msgid "invalid IoBuffer"
+msgstr "некоректне IoBuffer"
+
+#: logsrvd/logsrvd.c:696 logsrvd/logsrvd.c:697
+msgid "invalid ChangeWindowSize"
+msgstr "некоректне ChangeWindowSize"
+
+#: logsrvd/logsrvd.c:732 logsrvd/logsrvd.c:733
+msgid "invalid CommandSuspend"
+msgstr "некоректне CommandSuspend"
+
+#: logsrvd/logsrvd.c:782 logsrvd/logsrvd_journal.c:293
+#: logsrvd/logsrvd_relay.c:652 logsrvd/sendlog.c:1192
+#: plugins/sudoers/log_client.c:1583
#, c-format
msgid "unable to unpack %s size %zu"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ %s, розмір %zu"
-#: logsrvd/logsrvd.c:791 logsrvd/logsrvd_journal.c:357
-#: logsrvd/logsrvd_local.c:125 logsrvd/logsrvd_relay.c:671
+#: logsrvd/logsrvd.c:827 logsrvd/logsrvd_journal.c:367
+#: logsrvd/logsrvd_relay.c:676
#, c-format
msgid "unexpected type_case value %d in %s from %s"
msgstr "неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ type_case %d у %s від %s"
-#: logsrvd/logsrvd.c:793
+#: logsrvd/logsrvd.c:829
msgid "unrecognized ClientMessage type"
msgstr "нерозпізнаний тип ClientMessage"
-#: logsrvd/logsrvd.c:883
+#: logsrvd/logsrvd.c:919
#, c-format
msgid "timed out writing to client %s"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу до клієнта %s"
-#: logsrvd/logsrvd.c:888 logsrvd/logsrvd_relay.c:909 logsrvd/sendlog.c:1420
+#: logsrvd/logsrvd.c:924 logsrvd/logsrvd_relay.c:914 logsrvd/sendlog.c:1395
#, c-format
msgid "missing write buffer for client %s"
msgstr "пропущено буфер запиÑу Ð´Ð»Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð° %s"
-#: logsrvd/logsrvd.c:982
+#: logsrvd/logsrvd.c:1020
#, c-format
msgid "timed out reading from client %s"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· клієнта %s"
-#: logsrvd/logsrvd.c:1023 logsrvd/logsrvd_relay.c:772
+#: logsrvd/logsrvd.c:1061 logsrvd/logsrvd_relay.c:777
#, c-format
msgid "EOF from %s without proper TLS shutdown"
msgstr "EOF від %s без належного Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ TLS"
-#: logsrvd/logsrvd.c:1067 logsrvd/logsrvd_relay.c:200 logsrvd/sendlog.c:317
-#: plugins/sudoers/log_client.c:716
+#: logsrvd/logsrvd.c:1105 logsrvd/logsrvd_relay.c:205 logsrvd/sendlog.c:322
+#: plugins/sudoers/log_client.c:721
#, c-format
msgid "client message too large: %zu"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð° Ñ” надто довгим: %zu"
-#: logsrvd/logsrvd.c:1068 logsrvd/logsrvd_journal.c:246
-#: logsrvd/logsrvd_journal.c:247
+#: logsrvd/logsrvd.c:1106 logsrvd/logsrvd_journal.c:256
+#: logsrvd/logsrvd_journal.c:257
msgid "client message too large"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð° Ñ” надто великим"
-#: logsrvd/logsrvd.c:1086 logsrvd/logsrvd.c:1087
+#: logsrvd/logsrvd.c:1124 logsrvd/logsrvd.c:1125
msgid "invalid ClientMessage"
msgstr "некоректне ClientMessage"
-#: logsrvd/logsrvd.c:1389
+#: logsrvd/logsrvd.c:1425
msgid "unable to get remote IP addr"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ віддалену IP-адреÑу"
-#: logsrvd/logsrvd.c:1420 logsrvd/tls_client.c:198
-#: plugins/sudoers/log_client.c:276
+#: logsrvd/logsrvd.c:1456 logsrvd/tls_client.c:203
+#: plugins/sudoers/log_client.c:281
#, c-format
msgid "Unable to attach user data to the ssl object: %s"
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ дані кориÑтувача до об'єкта SSL: %s"
-#: logsrvd/logsrvd.c:1601 logsrvd/logsrvd.c:1953
+#: logsrvd/logsrvd.c:1639 logsrvd/logsrvd.c:1992
msgid "unable to setup listen socket"
msgstr "не вдалоÑÑ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ñ‚Ð¸ Ñокет Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° дані"
-#: logsrvd/logsrvd.c:1718
+#: logsrvd/logsrvd.c:1756
#, c-format
msgid "unexpected signal %d"
msgstr "неочікуваний Ñигнал %d"
-#: logsrvd/logsrvd.c:1855
+#: logsrvd/logsrvd.c:1894
msgid "sudo log server"
msgstr "Ñервер журналу sudo"
-#: logsrvd/logsrvd.c:1857 logsrvd/sendlog.c:116
+#: logsrvd/logsrvd.c:1896 logsrvd/sendlog.c:121
msgid "Options:"
msgstr "Параметри:"
-#: logsrvd/logsrvd.c:1859
+#: logsrvd/logsrvd.c:1898
msgid "path to configuration file"
msgstr "шлÑÑ… до файла налаштувань"
-#: logsrvd/logsrvd.c:1861 logsrvd/sendlog.c:118
+#: logsrvd/logsrvd.c:1900 logsrvd/sendlog.c:123
msgid "display help message and exit"
msgstr "показати довідкове Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ– завершити роботу"
-#: logsrvd/logsrvd.c:1863
+#: logsrvd/logsrvd.c:1902
msgid "do not fork, run in the foreground"
msgstr "не відгалужувати, не переходити у фоновий режим під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ"
-#: logsrvd/logsrvd.c:1865
+#: logsrvd/logsrvd.c:1904
msgid "percent chance connections will drop"
msgstr "ймовірніÑÑ‚ÑŒ Ñ€Ð¾Ð·Ñ–Ñ€Ð²Ð°Ð½Ð½Ñ Ð·'єднаннÑ"
-#: logsrvd/logsrvd.c:1867 logsrvd/sendlog.c:148
+#: logsrvd/logsrvd.c:1906 logsrvd/sendlog.c:153
msgid "display version information and exit"
msgstr "показати дані щодо верÑÑ–Ñ— Ñ– завершити роботу"
-#: logsrvd/logsrvd.c:1917 logsrvd/sendlog.c:1725
+#: logsrvd/logsrvd.c:1956 logsrvd/sendlog.c:1702
msgid "Protobuf-C version 1.3 or higher required"
msgstr "Потрібна верÑÑ–Ñ Protobuf-C 1.3 або новіша"
-#: logsrvd/logsrvd.c:1933
+#: logsrvd/logsrvd.c:1972
#, c-format
msgid "invalid random drop value: %s"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¾ÑÑ‚Ñ– ÑкиданнÑ: %s"
-#: logsrvd/logsrvd.c:1936 logsrvd/sendlog.c:1779
+#: logsrvd/logsrvd.c:1975 logsrvd/sendlog.c:1756
#: plugins/sudoers/cvtsudoers.c:246 plugins/sudoers/sudoreplay.c:301
-#: plugins/sudoers/visudo.c:180
+#: plugins/sudoers/visudo.c:182
#, c-format
msgid "%s version %s\n"
msgstr "%s, верÑÑ–Ñ %s\n"
-#: logsrvd/logsrvd_conf.c:417 plugins/sudoers/check.c:347
+#: logsrvd/logsrvd_conf.c:422 plugins/sudoers/check.c:353
#: plugins/sudoers/exptilde.c:85 plugins/sudoers/iolog.c:122
-#: plugins/sudoers/policy.c:1234 plugins/sudoers/sudoers.c:500
-#: plugins/sudoers/sudoers.c:1362 plugins/sudoers/testsudoers.c:215
+#: plugins/sudoers/policy.c:1264 plugins/sudoers/sudoers.c:505
+#: plugins/sudoers/sudoers.c:1372 plugins/sudoers/testsudoers.c:215
#: plugins/sudoers/testsudoers.c:382
#, c-format
msgid "unknown user %s"
msgstr "невідомий кориÑтувач %s"
-#: logsrvd/logsrvd_conf.c:434 plugins/sudoers/iolog.c:148
-#: plugins/sudoers/sudoers.c:505 plugins/sudoers/sudoers.c:1396
+#: logsrvd/logsrvd_conf.c:439 plugins/sudoers/iolog.c:148
+#: plugins/sudoers/sudoers.c:510 plugins/sudoers/sudoers.c:1406
#: plugins/sudoers/testsudoers.c:406
#, c-format
msgid "unknown group %s"
msgstr "невідома група %s"
-#: logsrvd/logsrvd_conf.c:452
+#: logsrvd/logsrvd_conf.c:457
#, c-format
msgid "unable to parse iolog mode %s"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ iolog %s"
-#: logsrvd/logsrvd_conf.c:469 logsrvd/logsrvd_conf.c:1238
+#: logsrvd/logsrvd_conf.c:474 logsrvd/logsrvd_conf.c:1243
#, c-format
msgid "invalid value for %s: %s"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s: %s"
-#: logsrvd/logsrvd_conf.c:522
+#: logsrvd/logsrvd_conf.c:527
msgid "TLS not supported"
msgstr "Підтримки TLS не передбачено"
-#: logsrvd/logsrvd_conf.c:544
+#: logsrvd/logsrvd_conf.c:549
#, c-format
msgid "%s:%s"
msgstr "%s:%s"
-#: logsrvd/logsrvd_conf.c:617 logsrvd/logsrvd_conf.c:1027
+#: logsrvd/logsrvd_conf.c:622 logsrvd/logsrvd_conf.c:1032
#, c-format
msgid "%s: not a fully qualified path"
msgstr "%s: не Ñ” повноцінним запиÑом шлÑхуnot a fully qualified path"
-#: logsrvd/logsrvd_conf.c:945 logsrvd/logsrvd_conf.c:961
-#: logsrvd/logsrvd_conf.c:1671
+#: logsrvd/logsrvd_conf.c:951 logsrvd/logsrvd_conf.c:967
+#: logsrvd/logsrvd_conf.c:1676
#, c-format
msgid "unknown syslog facility %s"
msgstr "невідома можливіÑÑ‚ÑŒ syslog %s"
-#: logsrvd/logsrvd_conf.c:977 logsrvd/logsrvd_conf.c:993
-#: logsrvd/logsrvd_conf.c:1009 logsrvd/logsrvd_conf.c:1675
-#: logsrvd/logsrvd_conf.c:1679 logsrvd/logsrvd_conf.c:1683
+#: logsrvd/logsrvd_conf.c:983 logsrvd/logsrvd_conf.c:999
+#: logsrvd/logsrvd_conf.c:1015 logsrvd/logsrvd_conf.c:1680
+#: logsrvd/logsrvd_conf.c:1684 logsrvd/logsrvd_conf.c:1688
#, c-format
msgid "unknown syslog priority %s"
msgstr "невідома пріоритетніÑÑ‚ÑŒ syslog %s"
-#: logsrvd/logsrvd_conf.c:1192
+#: logsrvd/logsrvd_conf.c:1197
#, c-format
msgid "%s:%d unmatched '[': %s"
msgstr "%s:%d «[» без пари: %s"
-#: logsrvd/logsrvd_conf.c:1198
+#: logsrvd/logsrvd_conf.c:1203
#, c-format
msgid "%s:%d garbage after ']': %s"
msgstr "%s:%d мотлох піÑÐ»Ñ Â«]»: %s"
-#: logsrvd/logsrvd_conf.c:1210
+#: logsrvd/logsrvd_conf.c:1215
#, c-format
msgid "%s:%d invalid config section: %s"
msgstr "%s:%d некоректний розділ налаштувань: %s"
-#: logsrvd/logsrvd_conf.c:1218
+#: logsrvd/logsrvd_conf.c:1223
#, c-format
msgid "%s:%d invalid configuration line: %s"
msgstr "%s:%d некоректний Ñ€Ñдок налаштувань: %s"
-#: logsrvd/logsrvd_conf.c:1224
+#: logsrvd/logsrvd_conf.c:1229
#, c-format
msgid "%s:%d expected section name: %s"
msgstr "%s:%d мало бути вказано назву розділу: %s"
-#: logsrvd/logsrvd_conf.c:1246
+#: logsrvd/logsrvd_conf.c:1251
#, c-format
msgid "%s:%d [%s] illegal key: %s"
msgstr "%s:%d [%s] заборонений ключ: %s"
-#: logsrvd/logsrvd_conf.c:1276 plugins/sudoers/cvtsudoers.c:268
-#: plugins/sudoers/logging.c:1035
+#: logsrvd/logsrvd_conf.c:1281 plugins/sudoers/cvtsudoers.c:268
+#: plugins/sudoers/logging.c:1029
#, c-format
msgid "unable to open log file %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл журналу %s"
-#: logsrvd/logsrvd_conf.c:1757
+#: logsrvd/logsrvd_conf.c:1763
msgid "unable to initialize server TLS context"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ контекÑÑ‚ Ñервера TLS"
-#: logsrvd/logsrvd_conf.c:1777
+#: logsrvd/logsrvd_conf.c:1783
msgid "unable to initialize relay TLS context"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ контекÑÑ‚ ретранÑлÑтора TLS"
-#: logsrvd/logsrvd_journal.c:136 logsrvd/logsrvd_journal.c:411
-#: logsrvd/logsrvd_journal.c:416
+#: logsrvd/logsrvd_journal.c:146 logsrvd/logsrvd_journal.c:421
+#: logsrvd/logsrvd_journal.c:426
msgid "unable to create journal file"
msgstr "не вдалоÑÑ Ñтворити файл журналу"
-#: logsrvd/logsrvd_journal.c:140 logsrvd/logsrvd_queue.c:104
-#: plugins/sudoers/visudo.c:1020
+#: logsrvd/logsrvd_journal.c:150 logsrvd/logsrvd_queue.c:109
+#: plugins/sudoers/visudo.c:1026
#, c-format
msgid "unable to lock %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ñ‚Ð¸ %s"
-#: logsrvd/logsrvd_journal.c:143
+#: logsrvd/logsrvd_journal.c:153
msgid "unable to lock journal file"
msgstr "не вдалоÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ñ‚Ð¸ файл журналу"
-#: logsrvd/logsrvd_journal.c:151
+#: logsrvd/logsrvd_journal.c:161
msgid "unable to open journal file"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл журналу"
-#: logsrvd/logsrvd_journal.c:172 logsrvd/logsrvd_journal.c:447
-#: logsrvd/logsrvd_journal.c:452
+#: logsrvd/logsrvd_journal.c:182 logsrvd/logsrvd_journal.c:457
+#: logsrvd/logsrvd_journal.c:462
msgid "unable to write journal file"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл журналу"
-#: logsrvd/logsrvd_journal.c:180 logsrvd/logsrvd_journal.c:187
+#: logsrvd/logsrvd_journal.c:190 logsrvd/logsrvd_journal.c:197
msgid "unable to rename journal file"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ файл журналу"
-#: logsrvd/logsrvd_journal.c:234 logsrvd/logsrvd_journal.c:235
-#: logsrvd/logsrvd_journal.c:269 logsrvd/logsrvd_journal.c:270
+#: logsrvd/logsrvd_journal.c:244 logsrvd/logsrvd_journal.c:245
+#: logsrvd/logsrvd_journal.c:279 logsrvd/logsrvd_journal.c:280
msgid "unexpected EOF reading journal file"
msgstr "неочікуваний Ñимвол ÐºÑ–Ð½Ñ†Ñ Ñ„Ð°Ð¹Ð»Ð° під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° журналу"
-#: logsrvd/logsrvd_journal.c:238 logsrvd/logsrvd_journal.c:239
-#: logsrvd/logsrvd_journal.c:273 logsrvd/logsrvd_journal.c:274
+#: logsrvd/logsrvd_journal.c:248 logsrvd/logsrvd_journal.c:249
+#: logsrvd/logsrvd_journal.c:283 logsrvd/logsrvd_journal.c:284
msgid "error reading journal file"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° журналу"
-#: logsrvd/logsrvd_journal.c:285 logsrvd/logsrvd_journal.c:371
+#: logsrvd/logsrvd_journal.c:295 logsrvd/logsrvd_journal.c:381
msgid "invalid journal file, unable to restart"
msgstr "некоректний файл журналу, неможливо перезапуÑтити"
-#: logsrvd/logsrvd_journal.c:430
+#: logsrvd/logsrvd_journal.c:440
#, c-format
msgid "unable to seek to [%lld, %ld] in journal file %s"
msgstr "не вдалоÑÑ Ð²Ñтановити позицію [%lld, %ld] у файлі журналу %s"
-#: logsrvd/logsrvd_local.c:153
+#: logsrvd/logsrvd_local.c:166
+#, c-format
+msgid "unexpected value_case %d in %s from %s"
+msgstr "неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ value_case %d у %s з %s"
+
+#: logsrvd/logsrvd_local.c:194
msgid "error parsing AcceptMessage"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби обробити AcceptMessage"
-#: logsrvd/logsrvd_local.c:164
+#: logsrvd/logsrvd_local.c:205
msgid "error creating I/O log"
msgstr "помилка під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ введеннÑ-виведеннÑ"
-#: logsrvd/logsrvd_local.c:187
+#: logsrvd/logsrvd_local.c:228
msgid "error logging accept event"
msgstr "помилка під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ події Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð´Ñ–Ñ— журналу"
-#: logsrvd/logsrvd_local.c:226
+#: logsrvd/logsrvd_local.c:267
msgid "error parsing RejectMessage"
msgstr "помилка під Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð¸ обробити RejectMessage"
-#: logsrvd/logsrvd_local.c:250
+#: logsrvd/logsrvd_local.c:291
msgid "error logging reject event"
msgstr "помилка під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ події відмови у запиÑÑ– до журналу"
-#: logsrvd/logsrvd_local.c:386 logsrvd/logsrvd_local.c:394
+#: logsrvd/logsrvd_local.c:427 logsrvd/logsrvd_local.c:435
msgid "error logging exit event"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби запиÑати до журналу подію виходу"
-#: logsrvd/logsrvd_local.c:451 logsrvd/logsrvd_local.c:452
+#: logsrvd/logsrvd_local.c:492 logsrvd/logsrvd_local.c:493
msgid "log is already complete, cannot be restarted"
msgstr "журнал вже завершено — його не можна перезапуÑтити"
-#: logsrvd/logsrvd_local.c:482
+#: logsrvd/logsrvd_local.c:523
msgid "unable to restart log"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿ÑƒÑтити журнал"
-#: logsrvd/logsrvd_local.c:498
+#: logsrvd/logsrvd_local.c:539
msgid "error parsing AlertMessage"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби обробити AlertMessage"
-#: logsrvd/logsrvd_local.c:508
+#: logsrvd/logsrvd_local.c:549
msgid "error logging alert event"
msgstr "помилка під Ñ‡Ð°Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ події критичного Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ"
-#: logsrvd/logsrvd_local.c:544 logsrvd/logsrvd_local.c:607
-#: logsrvd/logsrvd_local.c:642
+#: logsrvd/logsrvd_local.c:585 logsrvd/logsrvd_local.c:648
+#: logsrvd/logsrvd_local.c:683
#, c-format
msgid "unable to format timing buffer, length %d"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÑƒÑ„ÐµÑ€Ð° чаÑових позначок, довжина — %d"
-#: logsrvd/logsrvd_local.c:558 logsrvd/logsrvd_local.c:566
-#: logsrvd/logsrvd_local.c:614 logsrvd/logsrvd_local.c:649
+#: logsrvd/logsrvd_local.c:599 logsrvd/logsrvd_local.c:607
+#: logsrvd/logsrvd_local.c:655 logsrvd/logsrvd_local.c:690
#: plugins/sudoers/sudoreplay.c:351
#, c-format
msgid "%s/%s: %s"
msgstr "%s/%s: %s"
-#: logsrvd/logsrvd_local.c:577
+#: logsrvd/logsrvd_local.c:618
msgid "randomly dropping connection"
msgstr "випадковим чином розривати з'єднаннÑ"
-#: logsrvd/logsrvd_local.c:589
+#: logsrvd/logsrvd_local.c:630
msgid "error writing IoBuffer"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби запиÑати IoBuffer"
-#: logsrvd/logsrvd_local.c:624
+#: logsrvd/logsrvd_local.c:665
msgid "error writing ChangeWindowSize"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби запиÑати ChangeWindowSize"
-#: logsrvd/logsrvd_local.c:659
+#: logsrvd/logsrvd_local.c:700
msgid "error writing CommandSuspend"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби запиÑати CommandSuspend"
-#: logsrvd/logsrvd_relay.c:430
+#: logsrvd/logsrvd_relay.c:435
msgid "TLS handshake with relay host failed"
msgstr "помилка Ñпроби ініціалізації зв'Ñзку TLS із вузлом ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:458
+#: logsrvd/logsrvd_relay.c:463
msgid "unable to connect to relay host"
msgstr "не вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ–Ð· вузлом ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:513
+#: logsrvd/logsrvd_relay.c:518
#, c-format
msgid "%s: invalid ServerHello, missing server_id"
msgstr "%s: некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ServerHello — пропущено server_id"
-#: logsrvd/logsrvd_relay.c:515 logsrvd/sendlog.c:1121
-#: plugins/sudoers/log_client.c:1504
+#: logsrvd/logsrvd_relay.c:520 logsrvd/sendlog.c:1096
+#: plugins/sudoers/log_client.c:1469
msgid "invalid ServerHello"
msgstr "некоректне ServerHello"
-#: logsrvd/logsrvd_relay.c:674
+#: logsrvd/logsrvd_relay.c:679
msgid "unrecognized ServerMessage type"
msgstr "нерозпізнаний тип ServerMessage"
-#: logsrvd/logsrvd_relay.c:703
+#: logsrvd/logsrvd_relay.c:708
#, c-format
msgid "timed out reading from relay %s (%s)"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· ретранÑлÑтора %s (%s)"
-#: logsrvd/logsrvd_relay.c:705
+#: logsrvd/logsrvd_relay.c:710
msgid "timeout reading from relay"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:757
+#: logsrvd/logsrvd_relay.c:762
msgid "relay host name does not match certificate"
msgstr "назва вузла ретранÑлÑтора не відповідає Ñертифікату"
-#: logsrvd/logsrvd_relay.c:763 logsrvd/logsrvd_relay.c:777
-#: logsrvd/logsrvd_relay.c:784
+#: logsrvd/logsrvd_relay.c:768 logsrvd/logsrvd_relay.c:782
+#: logsrvd/logsrvd_relay.c:789
msgid "error reading from relay"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:805
+#: logsrvd/logsrvd_relay.c:810
msgid "unable to read from relay"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ з ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:820 logsrvd/logsrvd_relay.c:938
+#: logsrvd/logsrvd_relay.c:825 logsrvd/logsrvd_relay.c:943
msgid "relay server closed connection"
msgstr "Ñервер-ретранÑлÑтор розірвав з'єднаннÑ"
-#: logsrvd/logsrvd_relay.c:838
+#: logsrvd/logsrvd_relay.c:843
msgid "server message too large"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера Ñ” надто великим"
-#: logsrvd/logsrvd_relay.c:902
+#: logsrvd/logsrvd_relay.c:907
#, c-format
msgid "timed out writing to relay %s (%s)"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¸Ñу до ретранÑлÑтора %s (%s)"
-#: logsrvd/logsrvd_relay.c:904
+#: logsrvd/logsrvd_relay.c:909
msgid "timeout writing to relay"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ ретранÑлÑтора"
-#: logsrvd/logsrvd_relay.c:957 logsrvd/logsrvd_relay.c:964
-#: logsrvd/logsrvd_relay.c:974
+#: logsrvd/logsrvd_relay.c:962 logsrvd/logsrvd_relay.c:969
+#: logsrvd/logsrvd_relay.c:981
msgid "error writing to relay"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби запиÑати до ретранÑлÑтора"
-#: logsrvd/sendlog.c:114
+#: logsrvd/sendlog.c:119
msgid "send sudo I/O log to remote server"
msgstr "надіÑлати журнал введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ sudo на віддалений Ñервер"
-#: logsrvd/sendlog.c:120
+#: logsrvd/sendlog.c:125
msgid "only send an accept event (no I/O)"
msgstr "надіÑлати лише подію прийнÑÑ‚Ñ‚Ñ (без введеннÑ-виведеннÑ)"
-#: logsrvd/sendlog.c:123
+#: logsrvd/sendlog.c:128
msgid "certificate bundle file to verify server's cert against"
msgstr "файл пакунка Ñертифікатів, за Ñким Ñлід перевірÑти Ñертифікат Ñервера"
-#: logsrvd/sendlog.c:125
+#: logsrvd/sendlog.c:130
msgid "certificate file for TLS handshake"
msgstr "файл Ñертифіката Ð´Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð²'Ñзку TLS"
-#: logsrvd/sendlog.c:128
+#: logsrvd/sendlog.c:133
msgid "host to send logs to"
msgstr "вузол, на Ñкий Ñлід надіÑлати журнал"
-#: logsrvd/sendlog.c:130
+#: logsrvd/sendlog.c:135
msgid "remote ID of I/O log to be resumed"
msgstr "віддалений ідентифікатор журналу введеннÑ-виведеннÑ, Ñкий Ñлід продовжити"
-#: logsrvd/sendlog.c:133
+#: logsrvd/sendlog.c:138
msgid "private key file"
msgstr "файл закритого ключа"
-#: logsrvd/sendlog.c:135
+#: logsrvd/sendlog.c:140
msgid "do not verify server certificate"
msgstr "не перевірÑти Ñертифікат Ñервера"
-#: logsrvd/sendlog.c:138
+#: logsrvd/sendlog.c:143
msgid "port to use when connecting to host"
msgstr "порт, Ñким Ñлід ÑкориÑтатиÑÑ Ð´Ð»Ñ Ð·'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ–Ð· вузлом"
-#: logsrvd/sendlog.c:140
+#: logsrvd/sendlog.c:145
msgid "restart previous I/O log transfer"
msgstr "перезапуÑтити попередній обмін даними журналу введеннÑ-виведеннÑ"
-#: logsrvd/sendlog.c:142
+#: logsrvd/sendlog.c:147
msgid "reject the command with the given reason"
msgstr "відкинути команду із вказаною причиною"
-#: logsrvd/sendlog.c:144
+#: logsrvd/sendlog.c:149
msgid "stop transfer after reaching this time"
msgstr "припинити Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… піÑÐ»Ñ Ð´Ð¾ÑÑÐ³Ð½ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— тривалоÑÑ‚Ñ–"
-#: logsrvd/sendlog.c:146
+#: logsrvd/sendlog.c:151
msgid "test audit server by sending selected I/O log n times in parallel"
msgstr "перевірити Ñервер аудиту надÑиланнÑм вибраного журналу введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ n разів у паралельному режимі"
-#: logsrvd/sendlog.c:171 plugins/sudoers/log_client.c:448
+#: logsrvd/sendlog.c:176 plugins/sudoers/log_client.c:453
#, c-format
msgid "unable to look up %s:%s: %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ пошук %s:%s: %s"
-#: logsrvd/sendlog.c:209
+#: logsrvd/sendlog.c:214
msgid "unable to get server IP addr"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ IP-адреÑу Ñервера"
-#: logsrvd/sendlog.c:295 plugins/sudoers/sudoreplay.c:871
+#: logsrvd/sendlog.c:300 plugins/sudoers/sudoreplay.c:871
#, c-format
msgid "unable to read %s/%s: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s/%s: %s"
-#: logsrvd/sendlog.c:1045 plugins/sudoers/iolog.c:949
-#: plugins/sudoers/iolog.c:1024
+#: logsrvd/sendlog.c:1020 plugins/sudoers/iolog.c:951
+#: plugins/sudoers/iolog.c:1026
#, c-format
msgid "unexpected I/O event %d"
msgstr "неочікувана Ð¿Ð¾Ð´Ñ–Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ â€” %d"
-#: logsrvd/sendlog.c:1098 logsrvd/sendlog.c:1115 logsrvd/sendlog.c:1149
-#: plugins/sudoers/log_client.c:1153 plugins/sudoers/log_client.c:1430
-#: plugins/sudoers/log_client.c:1498 plugins/sudoers/log_client.c:1537
+#: logsrvd/sendlog.c:1073 logsrvd/sendlog.c:1090 logsrvd/sendlog.c:1124
+#: plugins/sudoers/log_client.c:1118 plugins/sudoers/log_client.c:1395
+#: plugins/sudoers/log_client.c:1463 plugins/sudoers/log_client.c:1502
#, c-format
msgid "%s: unexpected state %d"
msgstr "%s: неочікуваний Ñтан — %d"
-#: logsrvd/sendlog.c:1185 plugins/sudoers/log_client.c:1586
+#: logsrvd/sendlog.c:1160 plugins/sudoers/log_client.c:1551
#, c-format
msgid "error message received from server: %s"
msgstr "отримано Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку від Ñервера: %s"
-#: logsrvd/sendlog.c:1198 plugins/sudoers/log_client.c:1599
+#: logsrvd/sendlog.c:1173 plugins/sudoers/log_client.c:1564
#, c-format
msgid "abort message received from server: %s"
msgstr "отримано Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ Ñервера: %s"
-#: logsrvd/sendlog.c:1257 plugins/sudoers/log_client.c:1649
+#: logsrvd/sendlog.c:1232 plugins/sudoers/log_client.c:1614
#, c-format
msgid "%s: unexpected type_case value %d"
msgstr "%s: неочікуване Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ type_case — %d"
-#: logsrvd/sendlog.c:1286
+#: logsrvd/sendlog.c:1261
msgid "timeout reading from server"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· Ñервера"
-#: logsrvd/sendlog.c:1335 plugins/sudoers/log_client.c:1765
+#: logsrvd/sendlog.c:1310 plugins/sudoers/log_client.c:1730
msgid "host name does not match certificate"
msgstr "назва вузла не відповідає Ñертифікату"
-#: logsrvd/sendlog.c:1368
+#: logsrvd/sendlog.c:1343
msgid "premature EOF"
msgstr "передчаÑне Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°"
-#: logsrvd/sendlog.c:1381 plugins/sudoers/log_client.c:1812
+#: logsrvd/sendlog.c:1356 plugins/sudoers/log_client.c:1777
#, c-format
msgid "server message too large: %u"
msgstr "Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñервера Ñ” надто великим: %u"
-#: logsrvd/sendlog.c:1437
+#: logsrvd/sendlog.c:1412
msgid "timeout writing to server"
msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° Ñервері"
-#: logsrvd/sendlog.c:1802
+#: logsrvd/sendlog.c:1779
msgid "both restart point and iolog ID must be specified"
msgstr "Ñлід вказати одночаÑно точку перезапуÑку та ідентифікатор журналу введеннÑ-виведеннÑ"
-#: logsrvd/sendlog.c:1806
+#: logsrvd/sendlog.c:1783
msgid "a restart point may not be set when no I/O is sent"
msgstr "точку перезапуÑку не можна вÑтановлювати, Ñкщо не надÑилаєтьÑÑ Ð¶Ð¾Ð´Ð½Ð¸Ñ… даних введеннÑ-виведеннÑ"
-#: logsrvd/sendlog.c:1882
+#: logsrvd/sendlog.c:1859
#, c-format
msgid "exited prematurely with state %d"
msgstr "передчаÑний вихід зі Ñтаном %d"
-#: logsrvd/sendlog.c:1883
+#: logsrvd/sendlog.c:1860
#, c-format
msgid "elapsed time sent to server [%lld, %ld]"
msgstr "на Ñервер надіÑлано дані щодо чаÑу, Ñкий лишивÑÑ [%lld, %ld]"
-#: logsrvd/sendlog.c:1885
+#: logsrvd/sendlog.c:1862
#, c-format
msgid "commit point received from server [%lld, %ld]"
msgstr "отримано точку внеÑку від Ñервера [%lld, %ld]"
-#: logsrvd/tls_client.c:106 plugins/sudoers/log_client.c:310
+#: logsrvd/tls_client.c:111 plugins/sudoers/log_client.c:315
msgid "TLS handshake timeout occurred"
msgstr "ÑталоÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð·Ð²'Ñзку TLS"
-#: logsrvd/tls_client.c:126 logsrvd/tls_client.c:142
-#: plugins/sudoers/log_client.c:332 plugins/sudoers/log_client.c:348
+#: logsrvd/tls_client.c:131 logsrvd/tls_client.c:147
+#: plugins/sudoers/log_client.c:337 plugins/sudoers/log_client.c:353
msgid "unable to set event"
msgstr "не вдалоÑÑ Ð²Ñтановити подію"
-#: logsrvd/tls_client.c:152 logsrvd/tls_client.c:156
+#: logsrvd/tls_client.c:157 logsrvd/tls_client.c:161
#, c-format
msgid "TLS connection failed: %s"
msgstr "Ðе вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ TLS: %s"
-#: logsrvd/tls_client.c:191
+#: logsrvd/tls_client.c:196
#, c-format
msgid "unable to allocate ssl object: %s"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити об'єкт SSL у пам'ÑÑ‚Ñ–: %s"
-#: logsrvd/tls_client.c:205
+#: logsrvd/tls_client.c:210
#, c-format
msgid "Unable to attach socket to the ssl object: %s"
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸ Ñокет до об'єкта SSL: %s"
-#: logsrvd/tls_client.c:233
+#: logsrvd/tls_client.c:238
msgid "unable to initialize TLS context"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ контекÑÑ‚ TLS"
-#: logsrvd/tls_init.c:132 logsrvd/tls_init.c:140
+#: logsrvd/tls_init.c:138 logsrvd/tls_init.c:146
#, c-format
msgid "unable to set TLS 1.2 ciphersuite to %s: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS 1.2 у %s: %s"
-#: logsrvd/tls_init.c:160 logsrvd/tls_init.c:168
+#: logsrvd/tls_init.c:166 logsrvd/tls_init.c:174
#, c-format
msgid "unable to set TLS 1.3 ciphersuite to %s: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ TLS 1.3 у %s: %s"
-#: logsrvd/tls_init.c:200 logsrvd/tls_init.c:221
+#: logsrvd/tls_init.c:206 logsrvd/tls_init.c:227
#, c-format
msgid "unable to set diffie-hellman parameters: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити параметри Діфі-Гелмана: %s"
-#: logsrvd/tls_init.c:277
+#: logsrvd/tls_init.c:283
#, c-format
msgid "unable to create TLS context: %s"
msgstr "не вдалоÑÑ Ñтворити контекÑÑ‚ TLS: %s"
-#: logsrvd/tls_init.c:284
+#: logsrvd/tls_init.c:290
#, c-format
msgid "unable to set minimum protocol version to TLS 1.2: %s"
msgstr "не вдалоÑÑ Ð²Ñтановити мінімальну верÑÑ–ÑŽ протоколу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ TLS 1.2: %s"
-#: plugins/sudoers/audit.c:267 plugins/sudoers/audit.c:419
-#: plugins/sudoers/log_client.c:986 plugins/sudoers/log_client.c:1035
-#: plugins/sudoers/log_client.c:1084 plugins/sudoers/log_client.c:1210
-#: plugins/sudoers/logging.c:599 plugins/sudoers/logging.c:696
-#: plugins/sudoers/logging.c:800 plugins/sudoers/logging.c:989
-#: plugins/sudoers/policy.c:123
+#: plugins/sudoers/audit.c:269 plugins/sudoers/audit.c:429
+#: plugins/sudoers/log_client.c:951 plugins/sudoers/log_client.c:1000
+#: plugins/sudoers/log_client.c:1049 plugins/sudoers/log_client.c:1175
+#: plugins/sudoers/logging.c:591 plugins/sudoers/logging.c:689
+#: plugins/sudoers/logging.c:792 plugins/sudoers/logging.c:983
+#: plugins/sudoers/policy.c:124
msgid "unable to get time of day"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо пори доби"
@@ -1501,7 +1563,7 @@ msgstr "Строк дії облікового запиÑу збіг або у Ñ
msgid "PAM account management error: %s"
msgstr "Помилка ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¸Ð¼Ð¸ запиÑами PAM: %s"
-#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:266
+#: plugins/sudoers/auth/rfc1938.c:99 plugins/sudoers/visudo.c:271
#, c-format
msgid "you do not exist in the %s database"
msgstr "Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” у базі даних %s"
@@ -1574,17 +1636,17 @@ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ умови аудита"
msgid "unable to commit audit record"
msgstr "не вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати Ð·Ð°Ð¿Ð¸Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð°"
-#: plugins/sudoers/check.c:275
+#: plugins/sudoers/check.c:285
#, c-format
msgid "error reading lecture file %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° наÑтанов %s"
-#: plugins/sudoers/check.c:278
+#: plugins/sudoers/check.c:288
#, c-format
msgid "ignoring lecture file %s: not a regular file"
msgstr "ігноруємо файл наÑтанов %s: він не Ñ” звичайним файлом"
-#: plugins/sudoers/check.c:291
+#: plugins/sudoers/check.c:301
msgid ""
"\n"
"We trust you have received the usual lecture from the local System\n"
@@ -1604,14 +1666,14 @@ msgstr ""
" #3) КориÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ð¼Ð¸ правами розширює Ñферу відповідальноÑÑ‚Ñ–.\n"
"\n"
-#: plugins/sudoers/check.c:342 plugins/sudoers/check.c:352
-#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:901
-#: plugins/sudoers/sudoers.c:922 plugins/sudoers/tsdump.c:119
+#: plugins/sudoers/check.c:348 plugins/sudoers/check.c:358
+#: plugins/sudoers/parse.c:64 plugins/sudoers/sudoers.c:920
+#: plugins/sudoers/sudoers.c:941 plugins/sudoers/tsdump.c:119
#, c-format
msgid "unknown uid %u"
msgstr "невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ uid %u"
-#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1278
+#: plugins/sudoers/check_aliases.c:99 plugins/sudoers/defaults.c:1279
#, c-format
msgid "%s: %s\n"
msgstr "%s: %s\n"
@@ -1641,7 +1703,7 @@ msgstr "початковий порÑдок: %s: %s"
msgid "order padding: %s: %s"
msgstr "Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€Ñдку: %s: %s"
-#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:182
+#: plugins/sudoers/cvtsudoers.c:248 plugins/sudoers/visudo.c:184
#, c-format
msgid "%s grammar version %d\n"
msgstr "Граматична перевірка %s, верÑÑ–Ñ %d\n"
@@ -1661,14 +1723,14 @@ msgstr "непідтримуваний формат виведеннÑ, %s"
msgid "%s: input and output files must be different"
msgstr "%s: файли вхідних і вихідних даних мають бути різними файлами"
-#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:165
-#: plugins/sudoers/sudoers.c:217 plugins/sudoers/testsudoers.c:254
-#: plugins/sudoers/visudo.c:275 plugins/sudoers/visudo.c:644
-#: plugins/sudoers/visudo.c:969
+#: plugins/sudoers/cvtsudoers.c:399 plugins/sudoers/sudoers.c:166
+#: plugins/sudoers/sudoers.c:222 plugins/sudoers/testsudoers.c:254
+#: plugins/sudoers/visudo.c:280 plugins/sudoers/visudo.c:650
+#: plugins/sudoers/visudo.c:975
msgid "unable to initialize sudoers default values"
msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sudoers"
-#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:433
+#: plugins/sudoers/cvtsudoers.c:525 plugins/sudoers/ldap_conf.c:434
#, c-format
msgid "%s: %s: %s: %s"
msgstr "%s: %s: %s: %s"
@@ -1693,18 +1755,18 @@ msgstr "некоректний тип придушеннÑ: %s"
msgid "invalid filter: %s"
msgstr "некоректний фільтр: %s"
-#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:974
+#: plugins/sudoers/cvtsudoers.c:754 plugins/sudoers/visudo.c:980
#, c-format
msgid "failed to parse %s file, unknown error"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ файл %s, невідома помилка"
#: plugins/sudoers/cvtsudoers.c:1478 plugins/sudoers/sudoreplay.c:1145
-#: plugins/sudoers/timestamp.c:317 plugins/sudoers/timestamp.c:320
+#: plugins/sudoers/timestamp.c:343 plugins/sudoers/timestamp.c:346
#, c-format
msgid "unable to write to %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ %s"
-#: plugins/sudoers/cvtsudoers.c:1501
+#: plugins/sudoers/cvtsudoers.c:1506
#, c-format
msgid ""
"%s - convert between sudoers file formats\n"
@@ -1713,7 +1775,7 @@ msgstr ""
"%s — Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–Ð² файлів sudoers\n"
"\n"
-#: plugins/sudoers/cvtsudoers.c:1503
+#: plugins/sudoers/cvtsudoers.c:1508
msgid ""
"\n"
"Options:\n"
@@ -2166,359 +2228,383 @@ msgid "Log user's input for the command being run"
msgstr "ЗапиÑувати дані, вказані кориÑтувачем під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
#: plugins/sudoers/def_data.c:356
+msgid "Log the command's standard input if not connected to a terminal"
+msgstr "ЗапиÑувати до журналу джерело Ñтандартних вхідних даних команди, Ñкщо команду не з'єднано із терміналом"
+
+#: plugins/sudoers/def_data.c:360
+msgid "Log the user's terminal input for the command being run"
+msgstr "ЗапиÑувати дані, вказані кориÑтувачем у терміналі, під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
+
+#: plugins/sudoers/def_data.c:364
msgid "Log the output of the command being run"
msgstr "ЗапиÑувати дані, виведені командою під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ"
-#: plugins/sudoers/def_data.c:360
+#: plugins/sudoers/def_data.c:368
+msgid "Log the command's standard output if not connected to a terminal"
+msgstr "ЗапиÑувати до журналу Ñтандартне Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸, Ñкщо команду не з'єднано із терміналом"
+
+#: plugins/sudoers/def_data.c:372
+msgid "Log the command's standard error if not connected to a terminal"
+msgstr "ЗапиÑувати до журналу Ñтандартне Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¼Ð¸Ð»Ð¾Ðº команди, Ñкщо команду не з'єднано із терміналом"
+
+#: plugins/sudoers/def_data.c:376
+msgid "Log the terminal output of the command being run"
+msgstr "ЗапиÑувати дані, виведені командою до термінала під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ"
+
+#: plugins/sudoers/def_data.c:380
msgid "Compress I/O logs using zlib"
msgstr "СтиÑкати журнали за допомогою zlib"
-#: plugins/sudoers/def_data.c:364
+#: plugins/sudoers/def_data.c:384
msgid "Always run commands in a pseudo-tty"
msgstr "Завжди запуÑкати команди у пÑевдо-tty"
-#: plugins/sudoers/def_data.c:368
+#: plugins/sudoers/def_data.c:388
#, c-format
msgid "Plugin for non-Unix group support: %s"
msgstr "Додаток Ð´Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÐºÐ¸ не-Unix груп: %s"
-#: plugins/sudoers/def_data.c:372
+#: plugins/sudoers/def_data.c:392
#, c-format
msgid "Directory in which to store input/output logs: %s"
msgstr "Каталог, у Ñкому Ñлід зберігати журнали введеннÑ/виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:376
+#: plugins/sudoers/def_data.c:396
#, c-format
msgid "File in which to store the input/output log: %s"
msgstr "Файл, у Ñкому Ñлід зберігати журнал введеннÑ/Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…: %s"
-#: plugins/sudoers/def_data.c:380
+#: plugins/sudoers/def_data.c:400
msgid "Add an entry to the utmp/utmpx file when allocating a pty"
msgstr "Додати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла utmp/utmpx під Ñ‡Ð°Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ pty"
-#: plugins/sudoers/def_data.c:384
+#: plugins/sudoers/def_data.c:404
msgid "Set the user in utmp to the runas user, not the invoking user"
msgstr "Ð’Ñтановити кориÑтувача у utmp у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, від імені Ñкого виконуєтьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°"
-#: plugins/sudoers/def_data.c:388
+#: plugins/sudoers/def_data.c:408
#, c-format
msgid "Set of permitted privileges: %s"
msgstr "Ðабір дозвільних прав доÑтупу: %s"
-#: plugins/sudoers/def_data.c:392
+#: plugins/sudoers/def_data.c:412
#, c-format
msgid "Set of limit privileges: %s"
msgstr "Ðабір обмежувальних прав доÑтупу: %s"
-#: plugins/sudoers/def_data.c:396
+#: plugins/sudoers/def_data.c:416
msgid "Run commands on a pty in the background"
msgstr "Виконувати команди у pty у фоновому режимі"
-#: plugins/sudoers/def_data.c:400
+#: plugins/sudoers/def_data.c:420
#, c-format
msgid "PAM service name to use: %s"
msgstr "Ðазва Ñлужби PAM, Ñкою Ñлід ÑкориÑтатиÑÑ: %s"
-#: plugins/sudoers/def_data.c:404
+#: plugins/sudoers/def_data.c:424
#, c-format
msgid "PAM service name to use for login shells: %s"
msgstr "Ðазва Ñлужби PAM, Ñкою Ñлід ÑкориÑтатиÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½Ð¾Ðº входу до ÑиÑтеми: %s"
-#: plugins/sudoers/def_data.c:408
+#: plugins/sudoers/def_data.c:428
#, c-format
msgid "PAM service name to use when sudo is run with the -A option: %s"
msgstr "Ðазва Ñлужби PAM, Ñкою Ñлід ÑкориÑтатиÑÑ, Ñкщо sudo запущено з параметром -A: %s"
-#: plugins/sudoers/def_data.c:412
+#: plugins/sudoers/def_data.c:432
msgid "Attempt to establish PAM credentials for the target user"
msgstr "Спробувати вÑтановити реєÑтраційні дані PAM Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, від імені Ñкого виконуватимутьÑÑ Ð´Ñ–Ñ—"
-#: plugins/sudoers/def_data.c:416
+#: plugins/sudoers/def_data.c:436
msgid "Create a new PAM session for the command to run in"
msgstr "Створити ÑÐµÐ°Ð½Ñ PAM Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: plugins/sudoers/def_data.c:420
+#: plugins/sudoers/def_data.c:440
msgid "Perform PAM account validation management"
msgstr "Виконати ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€ÐµÐºÑ‚Ð½Ñ–ÑÑ‚ÑŽ облікового запиÑу PAM"
-#: plugins/sudoers/def_data.c:424
+#: plugins/sudoers/def_data.c:444
#, c-format
msgid "Maximum I/O log sequence number: %s"
msgstr "МакÑимальний номер у поÑлідовноÑÑ‚Ñ– журналу введеннÑ-виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:428
+#: plugins/sudoers/def_data.c:448
msgid "Enable sudoers netgroup support"
msgstr "Увімкнути підтримку мережевих груп у sudoers"
-#: plugins/sudoers/def_data.c:432
+#: plugins/sudoers/def_data.c:452
msgid "Check parent directories for writability when editing files with sudoedit"
msgstr "ПеревірÑти можливіÑÑ‚ÑŒ запиÑу до батьківÑького каталогу під Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð»Ñ–Ð² за допомогою sudoedit"
-#: plugins/sudoers/def_data.c:436
+#: plugins/sudoers/def_data.c:456
msgid "Follow symbolic links when editing files with sudoedit"
msgstr "Переходити за Ñимволічними поÑиланнÑми під Ñ‡Ð°Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² за допомогою sudoedit"
-#: plugins/sudoers/def_data.c:440
+#: plugins/sudoers/def_data.c:460
msgid "Query the group plugin for unknown system groups"
msgstr "ÐадÑилати запит до додатка груп щодо невідомих груп ÑиÑтеми"
-#: plugins/sudoers/def_data.c:444
+#: plugins/sudoers/def_data.c:464
msgid "Match netgroups based on the entire tuple: user, host and domain"
msgstr "Ð’Ñтановлювати відповідніÑÑ‚ÑŒ мережевим групам за уÑім кортежем даних: кориÑтувачем, вузлом Ñ– доменом"
-#: plugins/sudoers/def_data.c:448
+#: plugins/sudoers/def_data.c:468
msgid "Allow commands to be run even if sudo cannot write to the audit log"
msgstr "Дозволити Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, навіть Ñкщо sudo не може здійÑнювати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ журналу аудиту"
-#: plugins/sudoers/def_data.c:452
+#: plugins/sudoers/def_data.c:472
msgid "Allow commands to be run even if sudo cannot write to the I/O log"
msgstr "Дозволити Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, навіть Ñкщо sudo не може здійÑнювати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ журналу введеннÑ-виведеннÑ"
-#: plugins/sudoers/def_data.c:456
+#: plugins/sudoers/def_data.c:476
msgid "Allow commands to be run even if sudo cannot write to the log file"
msgstr "Дозволити Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, навіть Ñкщо sudo не може здійÑнювати Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла журналу"
-#: plugins/sudoers/def_data.c:460
+#: plugins/sudoers/def_data.c:480
msgid "Resolve groups in sudoers and match on the group ID, not the name"
msgstr "Визначати групи у sudoers Ñ– вÑтановлювати відповідніÑÑ‚ÑŒ не назві, а ідентифікатору групи"
-#: plugins/sudoers/def_data.c:464
+#: plugins/sudoers/def_data.c:484
#, c-format
msgid "Log entries larger than this value will be split into multiple syslog messages: %u"
msgstr "ЗапиÑи журналу, Ñкі виÑвлÑÑ‚ÑŒÑÑ Ð´Ð¾Ð²ÑˆÐ¸Ð¼Ð¸ за це значеннÑ, буде поділено на декілька повідомлень журналу ÑиÑтеми: %u"
-#: plugins/sudoers/def_data.c:468
+#: plugins/sudoers/def_data.c:488
#, c-format
msgid "User that will own the I/O log files: %s"
msgstr "КориÑтувач, Ñкий буде влаÑником уÑÑ–Ñ… файлів журналу введеннÑ-виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:472
+#: plugins/sudoers/def_data.c:492
#, c-format
msgid "Group that will own the I/O log files: %s"
msgstr "Група, Ñка буде влаÑником уÑÑ–Ñ… файлів журналу введеннÑ-виведеннÑ: %s"
-#: plugins/sudoers/def_data.c:476
+#: plugins/sudoers/def_data.c:496
#, c-format
msgid "File mode to use for the I/O log files: 0%o"
msgstr "Режим доÑтупу до файлів, Ñким Ñлід ÑкориÑтатиÑÑ Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² журналу введеннÑ-виведеннÑ: 0%o"
-#: plugins/sudoers/def_data.c:480
+#: plugins/sudoers/def_data.c:500
#, c-format
msgid "Execute commands by file descriptor instead of by path: %s"
msgstr "Виконати команди за деÑкриптором файла заміÑÑ‚ÑŒ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð° шлÑхом: %s"
-#: plugins/sudoers/def_data.c:484
+#: plugins/sudoers/def_data.c:504
msgid "Ignore unknown Defaults entries in sudoers instead of producing a warning"
msgstr "Ігнорувати невідомі запиÑи Defaults у sudoers заміÑÑ‚ÑŒ показу попередженнÑ"
-#: plugins/sudoers/def_data.c:488
+#: plugins/sudoers/def_data.c:508
#, c-format
msgid "Time in seconds after which the command will be terminated: %u"
msgstr "Ð§Ð°Ñ Ñƒ Ñекундах, Ñкий має минути, щоб команду буде перервано: %u"
-#: plugins/sudoers/def_data.c:492
+#: plugins/sudoers/def_data.c:512
msgid "Allow the user to specify a timeout on the command line"
msgstr "Ðадати змогу кориÑтувачеві вÑтановлювати Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ командному Ñ€Ñдку"
-#: plugins/sudoers/def_data.c:496
+#: plugins/sudoers/def_data.c:516
msgid "Flush I/O log data to disk immediately instead of buffering it"
msgstr "Скидати дані журналу введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð½Ð° диÑк негайно, без буферизації"
-#: plugins/sudoers/def_data.c:500
+#: plugins/sudoers/def_data.c:520
msgid "Include the process ID when logging via syslog"
msgstr "Включати ідентифікатор процеÑу до журналів syslog"
-#: plugins/sudoers/def_data.c:504
+#: plugins/sudoers/def_data.c:524
#, c-format
msgid "Type of authentication timestamp record: %s"
msgstr "Тип запиÑу чаÑової позначки розпізнаваннÑ: %s"
-#: plugins/sudoers/def_data.c:508
+#: plugins/sudoers/def_data.c:528
#, c-format
msgid "Authentication failure message: %s"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку розпізнаваннÑ: %s"
-#: plugins/sudoers/def_data.c:512
+#: plugins/sudoers/def_data.c:532
msgid "Ignore case when matching user names"
msgstr "Ігнорувати регіÑÑ‚Ñ€ Ñимволів при пошуку імен кориÑтувачів"
-#: plugins/sudoers/def_data.c:516
+#: plugins/sudoers/def_data.c:536
msgid "Ignore case when matching group names"
msgstr "Ігнорувати регіÑÑ‚Ñ€ Ñимволів при пошуку назв груп"
-#: plugins/sudoers/def_data.c:520
+#: plugins/sudoers/def_data.c:540
msgid "Log when a command is allowed by sudoers"
msgstr "ЗапиÑувати до журналу дані, коли Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ дозволене sudoers"
-#: plugins/sudoers/def_data.c:524
+#: plugins/sudoers/def_data.c:544
msgid "Log when a command is denied by sudoers"
msgstr "ЗапиÑувати до журналу дані, коли Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ заборонене sudoers"
-#: plugins/sudoers/def_data.c:528
+#: plugins/sudoers/def_data.c:548
msgid "Sudo log server(s) to connect to with optional port"
msgstr "Сервер або Ñервери журналу sudo, з Ñкими Ñлід вÑтановити з'єднаннÑ, з необов'Ñзковим зазначеннÑм порту"
-#: plugins/sudoers/def_data.c:532
+#: plugins/sudoers/def_data.c:552
#, c-format
msgid "Sudo log server timeout in seconds: %u"
msgstr "Ð§Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° дії Ñервера журналу sudo у Ñекундах: %u"
-#: plugins/sudoers/def_data.c:536
+#: plugins/sudoers/def_data.c:556
msgid "Enable SO_KEEPALIVE socket option on the socket connected to the logserver"
msgstr "Увімкнути параметр Ñокета SO_KEEPALIVE на Ñокеті, Ñкий з'єднано із Ñервером журналу"
-#: plugins/sudoers/def_data.c:540
+#: plugins/sudoers/def_data.c:560
#, c-format
msgid "Path to the audit server's CA bundle file: %s"
msgstr "ШлÑÑ… до файла пакета CA Ñервера аудиту: %s"
-#: plugins/sudoers/def_data.c:544
+#: plugins/sudoers/def_data.c:564
#, c-format
msgid "Path to the sudoers certificate file: %s"
msgstr "ШлÑÑ… до файла Ñертифікатів sudoers: %s"
-#: plugins/sudoers/def_data.c:548
+#: plugins/sudoers/def_data.c:568
#, c-format
msgid "Path to the sudoers private key file: %s"
msgstr "ШлÑÑ… до файла закритого ключа sudoers: %s"
-#: plugins/sudoers/def_data.c:552
+#: plugins/sudoers/def_data.c:572
msgid "Verify that the log server's certificate is valid"
msgstr "Перевірити, чи Ñ” Ñертифікат Ñервера Ð¶ÑƒÑ€Ð½Ð°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¸Ð½Ð½Ð¸Ð¼"
-#: plugins/sudoers/def_data.c:556
+#: plugins/sudoers/def_data.c:576
msgid "Allow the use of unknown runas user and/or group ID"
msgstr "Дозволити викориÑÑ‚Ð°Ð½Ð½Ñ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ð¸Ñ… значень імені кориÑтувача Ñ–/або ідентифікатора групи Ð´Ð»Ñ runas"
-#: plugins/sudoers/def_data.c:560
+#: plugins/sudoers/def_data.c:580
msgid "Only permit running commands as a user with a valid shell"
msgstr "ДозволÑти Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ лише від імені кориÑтувачів із коректним запиÑом командної оболонки"
-#: plugins/sudoers/def_data.c:564
+#: plugins/sudoers/def_data.c:584
msgid "Set the pam remote user to the user running sudo"
msgstr "Ð’Ñтановити Ð´Ð»Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ð³Ð¾ кориÑтувача PAM те Ñаме ім'Ñ, що Ñ– Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача, від імені Ñкого запущено sudo"
-#: plugins/sudoers/def_data.c:568
+#: plugins/sudoers/def_data.c:588
msgid "Set the pam remote host to the local host name"
msgstr "Ð’Ñтановити Ð´Ð»Ñ Ð²Ñ–Ð´Ð´Ð°Ð»ÐµÐ½Ð¾Ð³Ð¾ вузла PAM назву локального вузла"
-#: plugins/sudoers/def_data.c:572
+#: plugins/sudoers/def_data.c:592
#, c-format
msgid "Working directory to change to before executing the command: %s"
msgstr "Робочий каталог, до Ñкого Ñлід перейти перед виконаннÑм команди: %s"
-#: plugins/sudoers/def_data.c:576
+#: plugins/sudoers/def_data.c:596
#, c-format
msgid "Root directory to change to before executing the command: %s"
msgstr "Кореневий каталог, до Ñкого Ñлід перейти перед виконаннÑм команди: %s"
-#: plugins/sudoers/def_data.c:580
+#: plugins/sudoers/def_data.c:600
#, c-format
msgid "The format of logs to produce: %s"
msgstr "Формат журналу: %s"
-#: plugins/sudoers/def_data.c:584
+#: plugins/sudoers/def_data.c:604
msgid "Enable SELinux RBAC support"
msgstr "Увімкнути підтримку RBAC SELinux"
-#: plugins/sudoers/def_data.c:588
+#: plugins/sudoers/def_data.c:608
#, c-format
msgid "Path to the file that is created the first time sudo is run: %s"
msgstr "ШлÑÑ… до файла, Ñкий було Ñтворено під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ запуÑку sudo: %s"
-#: plugins/sudoers/def_data.c:592
+#: plugins/sudoers/def_data.c:612
msgid "Intercept further commands and apply sudoers restrictions to them"
msgstr "Перехоплювати подальші команди Ñ– заÑтоÑовувати до них Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ sudoers"
-#: plugins/sudoers/def_data.c:596
+#: plugins/sudoers/def_data.c:616
msgid "Log sub-commands run by the original command"
msgstr "ЗапиÑувати до журналу підкоманди, Ñкі запущено початковою командою"
-#: plugins/sudoers/def_data.c:600
+#: plugins/sudoers/def_data.c:620
msgid "Log the exit status of commands"
msgstr "ЗапиÑувати до журналу Ñтан виходу команд"
-#: plugins/sudoers/def_data.c:604
+#: plugins/sudoers/def_data.c:624
msgid "Subsequent commands in an intercepted session must be authenticated"
msgstr "Ð”Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ñтупних команд у перехопленому ÑеанÑÑ– Ñлід пройти розпізнаваннÑ"
-#: plugins/sudoers/def_data.c:608
+#: plugins/sudoers/def_data.c:628
msgid "Allow an intercepted command to run set setuid or setgid programs"
msgstr "Дозволити перехопленій команді запуÑкати програми зі вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ setuid або setgid"
-#: plugins/sudoers/def_data.c:612
+#: plugins/sudoers/def_data.c:632
#, c-format
msgid "The maximum size to which the process's address space may grow (in bytes): %s"
msgstr "МакÑимальний розмір, до Ñкого може зроÑтати адреÑний проÑÑ‚Ñ–Ñ€ процеÑу (у байтах): %s"
-#: plugins/sudoers/def_data.c:616
+#: plugins/sudoers/def_data.c:636
#, c-format
msgid "The largest size core dump file that may be created (in bytes): %s"
msgstr "Ðайбільший розмір файла дампа Ñдра, Ñкий може бути Ñтворено (у байтах): %s"
-#: plugins/sudoers/def_data.c:620
+#: plugins/sudoers/def_data.c:640
#, c-format
msgid "The maximum amount of CPU time that the process may use (in seconds): %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ чаÑу процеÑора, Ñкий може викориÑтовувати Ð¿Ñ€Ð¾Ñ†ÐµÑ (у Ñекундах): %s"
-#: plugins/sudoers/def_data.c:624
+#: plugins/sudoers/def_data.c:644
#, c-format
msgid "The maximum size of the data segment for the process (in bytes): %s"
msgstr "МакÑимальний розмір Ñегмента даних Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу (у байтах): %s"
-#: plugins/sudoers/def_data.c:628
+#: plugins/sudoers/def_data.c:648
#, c-format
msgid "The largest size file that the process may create (in bytes): %s"
msgstr "Ðайбільший розмір файла, Ñкий може Ñтворювати Ð¿Ñ€Ð¾Ñ†ÐµÑ (у байтах): %s"
-#: plugins/sudoers/def_data.c:632
+#: plugins/sudoers/def_data.c:652
#, c-format
msgid "The maximum number of locks that the process may establish: %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ блокувань, Ñкі може вÑтановлювати процеÑ: %s"
-#: plugins/sudoers/def_data.c:636
+#: plugins/sudoers/def_data.c:656
#, c-format
msgid "The maximum size that the process may lock in memory (in bytes): %s"
msgstr "МакÑимальний розмір, Ñкий Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ блокувати у пам'ÑÑ‚Ñ– (у байтах): %s"
-#: plugins/sudoers/def_data.c:640
+#: plugins/sudoers/def_data.c:660
#, c-format
msgid "The maximum number of files that the process may have open: %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ файлів, Ñкі може відкривати процеÑ: %s"
-#: plugins/sudoers/def_data.c:644
+#: plugins/sudoers/def_data.c:664
#, c-format
msgid "The maximum number of processes that the user may run simultaneously: %s"
msgstr "МакÑимальна кількіÑÑ‚ÑŒ процеÑів, Ñкі кориÑтувач може запуÑкати одночаÑно: %s"
-#: plugins/sudoers/def_data.c:648
+#: plugins/sudoers/def_data.c:668
#, c-format
msgid "The maximum size to which the process's resident set size may grow (in bytes): %s"
msgstr "МакÑимальний розмір, до Ñкого може зроÑтати розмір резидентного набору (у байтах): %s"
-#: plugins/sudoers/def_data.c:652
+#: plugins/sudoers/def_data.c:672
#, c-format
msgid "The maximum size to which the process's stack may grow (in bytes): %s"
msgstr "МакÑимальний розмір, до Ñкого може зроÑтати ÑÑ‚Ð¾Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу (у байтах): %s"
-#: plugins/sudoers/def_data.c:656
+#: plugins/sudoers/def_data.c:676
msgid "Attempt authentication even when in non-interactive mode"
msgstr "ÐамагатиÑÑ Ð¿Ñ€Ð¾Ð¹Ñ‚Ð¸ розпізнаваннÑ, навіть Ñкщо працюємо не в інтерактивному режимі"
-#: plugins/sudoers/def_data.c:660
+#: plugins/sudoers/def_data.c:680
msgid "Store plaintext passwords in I/O log input"
msgstr "Зберігати звичайний текÑÑ‚ паролів у вхідних даних журналу введеннÑ-виведеннÑ"
-#: plugins/sudoers/def_data.c:664
+#: plugins/sudoers/def_data.c:684
msgid "List of regular expressions to use when matching a password prompt"
msgstr "СпиÑок формальних виразів Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¾ÑÑ‚Ñ– при запиті паролÑ"
-#: plugins/sudoers/def_data.c:668
+#: plugins/sudoers/def_data.c:688
#, c-format
msgid "The mechanism used by the intercept and log_subcmds options: %s"
msgstr "Механізм, Ñкий викориÑтано Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² intercept Ñ– log_subcmds: %s"
-#: plugins/sudoers/def_data.c:672
+#: plugins/sudoers/def_data.c:692
+msgid "Attempt to verify the command and arguments after execution"
+msgstr "Спробувати перевірити команду Ñ– аргументи піÑÐ»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ"
+
+#: plugins/sudoers/def_data.c:696
#, c-format
msgid "AppArmor profile to use in the new security context: %s"
msgstr "Профіль AppArmor, Ñкий Ñлід викориÑтати у новому контекÑÑ‚Ñ– захиÑту: %s"
@@ -2553,31 +2639,31 @@ msgstr "некоректний тип Defaults, 0x%x, Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°
msgid "value \"%s\" is invalid for option \"%s\""
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» Ñ” некоректним Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° «%s»"
-#: plugins/sudoers/defaults.c:1127 plugins/sudoers/policy.c:207
-#: plugins/sudoers/policy.c:216
+#: plugins/sudoers/defaults.c:1128 plugins/sudoers/policy.c:208
+#: plugins/sudoers/policy.c:217
#, c-format
msgid "path name for \"%s\" too long"
msgstr "назва шлÑху Ð´Ð»Ñ Â«%s» Ñ” надто довгою"
-#: plugins/sudoers/defaults.c:1133
+#: plugins/sudoers/defaults.c:1134
#, c-format
msgid "values for \"%s\" must start with a '/', '~', or '*'"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/», «~» або «*»"
-#: plugins/sudoers/defaults.c:1140
+#: plugins/sudoers/defaults.c:1141
#, c-format
msgid "values for \"%s\" must start with a '/'"
msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Â«%s» має починатиÑÑ Ð· «/»"
-#: plugins/sudoers/env.c:412
+#: plugins/sudoers/env.c:426
msgid "sudo_putenv: corrupted envp, length mismatch"
msgstr "sudo_putenv: помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ envp, невідповідніÑÑ‚ÑŒ довжин"
-#: plugins/sudoers/env.c:1095
+#: plugins/sudoers/env.c:1109
msgid "unable to rebuild the environment"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ±ÑƒÐ´ÑƒÐ²Ð°Ñ‚Ð¸ Ñередовище"
-#: plugins/sudoers/env.c:1169
+#: plugins/sudoers/env.c:1183
#, c-format
msgid "sorry, you are not allowed to set the following environment variables: %s"
msgstr "вибачте, вам не дозволено вÑтановлювати такі змінні Ñередовища: %s"
@@ -2592,27 +2678,27 @@ msgstr "непідтримуваний тип контрольної Ñуми, %
msgid "%s: read error"
msgstr "%s: помилка читаннÑ"
-#: plugins/sudoers/group_plugin.c:83
+#: plugins/sudoers/group_plugin.c:169
#, c-format
msgid "%s must be owned by uid %d"
msgstr "%s має належати кориÑтувачеві з uid %d"
-#: plugins/sudoers/group_plugin.c:87
+#: plugins/sudoers/group_plugin.c:173
#, c-format
msgid "%s must only be writable by owner"
msgstr "%s має бути доÑтупним до запиÑу лише Ð´Ð»Ñ Ð²Ð»Ð°Ñника"
-#: plugins/sudoers/group_plugin.c:96 plugins/sudoers/sssd.c:576
+#: plugins/sudoers/group_plugin.c:185 plugins/sudoers/sssd.c:576
#, c-format
msgid "unable to load %s: %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ %s: %s"
-#: plugins/sudoers/group_plugin.c:102
+#: plugins/sudoers/group_plugin.c:197
#, c-format
msgid "unable to find symbol \"group_plugin\" in %s"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñимвол «group_plugin» у %s"
-#: plugins/sudoers/group_plugin.c:107
+#: plugins/sudoers/group_plugin.c:202
#, c-format
msgid "%s: incompatible group plugin major version %d, expected %d"
msgstr "%s: неÑуміÑна оÑновна верÑÑ–Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ° обробки груп %d, мало бути — %d"
@@ -2635,10 +2721,10 @@ msgstr "Пари локальних IP-Ð°Ð´Ñ€ÐµÑ Ñ– маÑок мережі:\n"
msgid "unable to update sequence file"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ файл поÑлідовноÑÑ‚Ñ–"
-#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:907
-#: plugins/sudoers/iolog.c:1069 plugins/sudoers/iolog.c:1076
-#: plugins/sudoers/iolog.c:1197 plugins/sudoers/iolog.c:1204
-#: plugins/sudoers/iolog.c:1303 plugins/sudoers/iolog.c:1310
+#: plugins/sudoers/iolog.c:719 plugins/sudoers/iolog.c:909
+#: plugins/sudoers/iolog.c:1071 plugins/sudoers/iolog.c:1078
+#: plugins/sudoers/iolog.c:1199 plugins/sudoers/iolog.c:1206
+#: plugins/sudoers/iolog.c:1305 plugins/sudoers/iolog.c:1312
#, c-format
msgid "unable to write to I/O log file: %s"
msgstr "не вдалоÑÑ Ð·Ð´Ñ–Ð¹Ñнити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла журналу введеннÑ-виведеннÑ: %s"
@@ -2648,25 +2734,25 @@ msgstr "не вдалоÑÑ Ð·Ð´Ñ–Ð¹Ñнити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла жур
msgid "unable to create %s/%s"
msgstr "не вдалоÑÑ Ñтворити %s/%s"
-#: plugins/sudoers/iolog.c:955
+#: plugins/sudoers/iolog.c:957
#, c-format
msgid "%s: internal error, I/O log file for event %d not open"
msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, файл журналу введеннÑ-Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ–Ñ— %d не відкрито"
-#: plugins/sudoers/iolog.c:1054 plugins/sudoers/iolog.c:1182
-#: plugins/sudoers/iolog.c:1287 plugins/sudoers/timestamp.c:849
-#: plugins/sudoers/timestamp.c:941 plugins/sudoers/visudo.c:546
-#: plugins/sudoers/visudo.c:552
+#: plugins/sudoers/iolog.c:1056 plugins/sudoers/iolog.c:1184
+#: plugins/sudoers/iolog.c:1289 plugins/sudoers/timestamp.c:879
+#: plugins/sudoers/timestamp.c:971 plugins/sudoers/visudo.c:552
+#: plugins/sudoers/visudo.c:558
msgid "unable to read the clock"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñ‡Ð°Ñ Ð½Ð° годиннику"
-#: plugins/sudoers/iolog.c:1279 plugins/sudoers/log_client.c:1228
-#: plugins/sudoers/log_client.c:1238 plugins/sudoers/log_client.c:1242
+#: plugins/sudoers/iolog.c:1281 plugins/sudoers/log_client.c:1193
+#: plugins/sudoers/log_client.c:1203 plugins/sudoers/log_client.c:1207
#, c-format
msgid "%s: internal error, invalid signal %d"
msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, некоректний Ñигнал %d"
-#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:291
+#: plugins/sudoers/ldap.c:177 plugins/sudoers/ldap_conf.c:292
msgid "starttls not supported when using ldaps"
msgstr "підтримки starttls, Ñкщо викориÑтовуєтьÑÑ ldaps, не передбачено"
@@ -2689,7 +2775,7 @@ msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ LDAP: %s"
msgid "start_tls specified but LDAP libs do not support ldap_start_tls_s() or ldap_start_tls_s_np()"
msgstr "start_tls вказано, але у бібліотеках LDAP не передбачено підтримки ldap_start_tls_s() або ldap_start_tls_s_np()"
-#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:747
+#: plugins/sudoers/ldap.c:1886 plugins/sudoers/parse_ldif.c:748
#, c-format
msgid "invalid sudoOrder attribute: %s"
msgstr "некоректний атрибут sudoOrder: %s"
@@ -2699,12 +2785,12 @@ msgstr "некоректний атрибут sudoOrder: %s"
msgid "%s: port too large"
msgstr "%s: порт є надто великим"
-#: plugins/sudoers/ldap_conf.c:260
+#: plugins/sudoers/ldap_conf.c:261
#, c-format
msgid "unsupported LDAP uri type: %s"
msgstr "непідтримуваний тип адреÑи LDAP: %s"
-#: plugins/sudoers/ldap_conf.c:287
+#: plugins/sudoers/ldap_conf.c:288
msgid "unable to mix ldap and ldaps URIs"
msgstr "не можна викориÑтовувати Ñуміш з Ð°Ð´Ñ€ÐµÑ ldap Ñ– ldaps"
@@ -2729,111 +2815,111 @@ msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ ÑиÑтему аудита"
msgid "unable to send audit message"
msgstr "не вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð°"
-#: plugins/sudoers/log_client.c:120 plugins/sudoers/log_client.c:407
-#: plugins/sudoers/log_client.c:1475 plugins/sudoers/log_client.c:2083
+#: plugins/sudoers/log_client.c:125 plugins/sudoers/log_client.c:412
+#: plugins/sudoers/log_client.c:1440 plugins/sudoers/log_client.c:2056
msgid "error in event loop"
msgstr "помилка у циклі обробки подій"
-#: plugins/sudoers/log_client.c:200
+#: plugins/sudoers/log_client.c:205
#, c-format
msgid "Creation of new SSL_CTX object failed: %s"
msgstr "Ðе вдалоÑÑ Ñтворити об'єкт SSL_CTX: %s"
-#: plugins/sudoers/log_client.c:225
+#: plugins/sudoers/log_client.c:230
#, c-format
msgid "unable to load certificate authority bundle %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ комплект Ñлужби Ñертифікації %s"
-#: plugins/sudoers/log_client.c:247
+#: plugins/sudoers/log_client.c:252
#, c-format
msgid "unable to load certificate %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñертифікат %s"
-#: plugins/sudoers/log_client.c:261
+#: plugins/sudoers/log_client.c:266
#, c-format
msgid "unable to load private key %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ закритий ключ %s"
-#: plugins/sudoers/log_client.c:270
+#: plugins/sudoers/log_client.c:275
#, c-format
msgid "Unable to allocate ssl object: %s"
msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити об'єкт SSL у пам'ÑÑ‚Ñ–: %s"
-#: plugins/sudoers/log_client.c:359 plugins/sudoers/log_client.c:364
+#: plugins/sudoers/log_client.c:364 plugins/sudoers/log_client.c:369
#, c-format
msgid "TLS connection to %s:%s failed: %s"
msgstr "Ðе вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ TLS із %s:%s: %s"
-#: plugins/sudoers/log_client.c:538
+#: plugins/sudoers/log_client.c:543
msgid "TLS initialization was unsuccessful"
msgstr "Спроба ініціалізувати TLS завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: plugins/sudoers/log_client.c:548
+#: plugins/sudoers/log_client.c:553
msgid "TLS handshake was unsuccessful"
msgstr "Спроба узгодити зв'Ñзок TLS завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: plugins/sudoers/log_client.c:1246
+#: plugins/sudoers/log_client.c:1211
#, c-format
msgid "%s: internal error, invalid exit status %d"
msgstr "%s: Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, некоректний Ñтан виходу %d"
-#: plugins/sudoers/log_client.c:1775 plugins/sudoers/log_client.c:1799
+#: plugins/sudoers/log_client.c:1740 plugins/sudoers/log_client.c:1764
msgid "lost connection to log server"
msgstr "втрачено зв’Ñзок з Ñервером журналу"
-#: plugins/sudoers/log_client.c:1876
+#: plugins/sudoers/log_client.c:1841
msgid "missing write buffer"
msgstr "не вказано буфер запиÑу"
-#: plugins/sudoers/log_client.c:2024
+#: plugins/sudoers/log_client.c:1995
msgid "unable to connect to log server"
msgstr "не вдалоÑÑ Ð²Ñтановити з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ–Ð· Ñервером журналу"
-#: plugins/sudoers/logging.c:298
+#: plugins/sudoers/logging.c:290
msgid "user NOT in sudoers"
msgstr "кориÑтувача немає у ÑпиÑку sudoers"
-#: plugins/sudoers/logging.c:300
+#: plugins/sudoers/logging.c:292
msgid "user NOT authorized on host"
msgstr "кориÑтувача не уповноважено на дії на вузлі"
-#: plugins/sudoers/logging.c:302
+#: plugins/sudoers/logging.c:294
msgid "command not allowed"
msgstr "Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ заборонено"
-#: plugins/sudoers/logging.c:323
+#: plugins/sudoers/logging.c:315
#, c-format
msgid "%s is not in the sudoers file.\n"
msgstr "%s немає у файлі sudoers.\n"
-#: plugins/sudoers/logging.c:326
+#: plugins/sudoers/logging.c:318
#, c-format
msgid "%s is not allowed to run sudo on %s.\n"
msgstr "%s не має права виконувати sudo на %s.\n"
-#: plugins/sudoers/logging.c:329
+#: plugins/sudoers/logging.c:321
#, c-format
msgid "Sorry, user %s may not run sudo on %s.\n"
msgstr "Вибачте, кориÑтувач %s не має права виконувати sudo на %s.\n"
-#: plugins/sudoers/logging.c:332
+#: plugins/sudoers/logging.c:324
#, c-format
msgid "Sorry, user %s is not allowed to execute '%s%s%s' as %s%s%s on %s.\n"
msgstr "Вибачте, кориÑтувач %s не має права виконувати «%s%s%s» від імені %s%s%s на %s.\n"
-#: plugins/sudoers/logging.c:342
+#: plugins/sudoers/logging.c:334
msgid "This incident has been reported to the administrator.\n"
msgstr "Про цю подію подано звіт адмініÑтратору.\n"
-#: plugins/sudoers/logging.c:373 plugins/sudoers/sudoers.c:643
-#: plugins/sudoers/sudoers.c:645 plugins/sudoers/sudoers.c:647
-#: plugins/sudoers/sudoers.c:649 plugins/sudoers/sudoers.c:799
-#: plugins/sudoers/sudoers.c:801
+#: plugins/sudoers/logging.c:365 plugins/sudoers/sudoers.c:648
+#: plugins/sudoers/sudoers.c:650 plugins/sudoers/sudoers.c:652
+#: plugins/sudoers/sudoers.c:654 plugins/sudoers/sudoers.c:805
+#: plugins/sudoers/sudoers.c:807
#, c-format
msgid "%s: command not found"
msgstr "%s: команду не знайдено"
-#: plugins/sudoers/logging.c:375 plugins/sudoers/sudoers.c:639
+#: plugins/sudoers/logging.c:367 plugins/sudoers/sudoers.c:644
#, c-format
msgid ""
"ignoring \"%s\" found in '.'\n"
@@ -2842,7 +2928,7 @@ msgstr ""
"пропущено «%s» знайдений у «.»\n"
"СкориÑтайтеÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ «sudo ./%s», Ñкщо вам потрібно виконати Ñаме «%s»."
-#: plugins/sudoers/logging.c:395
+#: plugins/sudoers/logging.c:387
#, c-format
msgid "%u incorrect password attempt"
msgid_plural "%u incorrect password attempts"
@@ -2851,24 +2937,24 @@ msgstr[1] "%u невдалих Ñпроби Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ"
msgstr[2] "%u невдалих Ñпроб Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ"
msgstr[3] "одна невдала Ñпроба Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ"
-#: plugins/sudoers/logging.c:485
+#: plugins/sudoers/logging.c:477
msgid "authentication failure"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби розпізнаваннÑ"
-#: plugins/sudoers/logging.c:524 plugins/sudoers/logging.c:543
+#: plugins/sudoers/logging.c:516 plugins/sudoers/logging.c:535
msgid "a password is required"
msgstr "Ñлід вказати пароль"
-#: plugins/sudoers/logging.c:806 plugins/sudoers/logging.c:818
+#: plugins/sudoers/logging.c:799 plugins/sudoers/logging.c:811
msgid "problem parsing sudoers"
msgstr "проблема із обробкою sudoers"
-#: plugins/sudoers/logging.c:879 plugins/sudoers/logging.c:891
+#: plugins/sudoers/logging.c:873 plugins/sudoers/logging.c:885
#, c-format
msgid "%s:%d:%d: %s"
msgstr "%s:%d:%d: %s"
-#: plugins/sudoers/logging.c:1068
+#: plugins/sudoers/logging.c:1062
#, c-format
msgid "unable to write log file: %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ файла журналу: %s"
@@ -2883,7 +2969,7 @@ msgstr "контрольна Ñума Ð´Ð»Ñ %s (%s) має помилкову Ð
msgid "digest for %s (%s) is not in %s form"
msgstr "контрольну Ñуму Ð´Ð»Ñ %s (%s) подано не у формі %s"
-#: plugins/sudoers/parse.c:585
+#: plugins/sudoers/parse.c:591
#, c-format
msgid ""
"\n"
@@ -2892,7 +2978,7 @@ msgstr ""
"\n"
"Роль LDAP: %s\n"
-#: plugins/sudoers/parse.c:588
+#: plugins/sudoers/parse.c:594
msgid ""
"\n"
"Sudoers entry:\n"
@@ -2900,110 +2986,110 @@ msgstr ""
"\n"
"Ð—Ð°Ð¿Ð¸Ñ sudoers:\n"
-#: plugins/sudoers/parse.c:590
+#: plugins/sudoers/parse.c:596
msgid " RunAsUsers: "
msgstr " КориÑтувачі Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку: "
-#: plugins/sudoers/parse.c:605
+#: plugins/sudoers/parse.c:611
msgid " RunAsGroups: "
msgstr " Групи Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку: "
-#: plugins/sudoers/parse.c:615
+#: plugins/sudoers/parse.c:621
msgid " Options: "
msgstr " Параметри: "
-#: plugins/sudoers/parse.c:679
+#: plugins/sudoers/parse.c:685
msgid " Commands:\n"
msgstr " Команди:\n"
-#: plugins/sudoers/parse.c:870
+#: plugins/sudoers/parse.c:876
#, c-format
msgid "Matching Defaults entries for %s on %s:\n"
msgstr "ВідповідніÑÑ‚ÑŒ запиÑів Defaults Ð´Ð»Ñ %s на %s:\n"
-#: plugins/sudoers/parse.c:888
+#: plugins/sudoers/parse.c:894
#, c-format
msgid "Runas and Command-specific defaults for %s:\n"
msgstr "Типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку від імені Ñ– команд Ð´Ð»Ñ %s:\n"
-#: plugins/sudoers/parse.c:906
+#: plugins/sudoers/parse.c:912
#, c-format
msgid "User %s may run the following commands on %s:\n"
msgstr "КориÑтувач %s має право виконувати на %s такі команди:\n"
-#: plugins/sudoers/parse.c:921
+#: plugins/sudoers/parse.c:927
#, c-format
msgid "User %s is not allowed to run sudo on %s.\n"
msgstr "КориÑтувач %s не має права виконувати sudo на %s.\n"
-#: plugins/sudoers/parse_ldif.c:617
+#: plugins/sudoers/parse_ldif.c:618
#, c-format
msgid "ignoring incomplete sudoRole: cn: %s"
msgstr "ігноруємо неповний Ð·Ð°Ð¿Ð¸Ñ sudoRole: cn: %s"
-#: plugins/sudoers/parse_ldif.c:677
+#: plugins/sudoers/parse_ldif.c:678
#, c-format
msgid "invalid LDIF attribute: %s"
msgstr "некоректний атрибут LDIF: %s"
-#: plugins/sudoers/policy.c:80 plugins/sudoers/policy.c:111
+#: plugins/sudoers/policy.c:81 plugins/sudoers/policy.c:112
#, c-format
msgid "invalid %.*s set by sudo front-end"
msgstr "оболонкою sudo вÑтановлено некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %.*s"
-#: plugins/sudoers/policy.c:351 plugins/sudoers/testsudoers.c:268
+#: plugins/sudoers/policy.c:358 plugins/sudoers/testsudoers.c:268
msgid "unable to parse network address list"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ ÑпиÑок мережевих адреÑ"
-#: plugins/sudoers/policy.c:508
+#: plugins/sudoers/policy.c:526
msgid "user name not set by sudo front-end"
msgstr "ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:512
+#: plugins/sudoers/policy.c:530
msgid "user-ID not set by sudo front-end"
msgstr "ідентифікатор кориÑтувача не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:516
+#: plugins/sudoers/policy.c:534
msgid "group-ID not set by sudo front-end"
msgstr "ідентифікатор групи не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:520
+#: plugins/sudoers/policy.c:538
msgid "host name not set by sudo front-end"
msgstr "назву вузла не вÑтановлено за допомогою оболонки sudo"
-#: plugins/sudoers/policy.c:706
+#: plugins/sudoers/policy.c:730
#, c-format
msgid "invalid working directory: %s"
msgstr "некоректний робочий каталог: %s"
-#: plugins/sudoers/policy.c:886
+#: plugins/sudoers/policy.c:914
#, c-format
msgid "invalid chroot directory: %s"
msgstr "некоректний каталог chroot: %s"
-#: plugins/sudoers/policy.c:1071 plugins/sudoers/visudo.c:254
-#: plugins/sudoers/visudo.c:896
+#: plugins/sudoers/policy.c:1101 plugins/sudoers/visudo.c:259
+#: plugins/sudoers/visudo.c:902
#, c-format
msgid "unable to execute %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ %s"
-#: plugins/sudoers/policy.c:1141 plugins/sudoers/policy.c:1178
-#: plugins/sudoers/policy.c:1200 plugins/sudoers/policy.c:1226
+#: plugins/sudoers/policy.c:1171 plugins/sudoers/policy.c:1208
+#: plugins/sudoers/policy.c:1230 plugins/sudoers/policy.c:1256
#, c-format
msgid "%s: invalid mode flags from sudo front end: 0x%x"
msgstr "%s: некоректні прапорці режиму від оболонки sudo: 0x%x"
-#: plugins/sudoers/policy.c:1262
+#: plugins/sudoers/policy.c:1292
#, c-format
msgid "Sudoers policy plugin version %s\n"
msgstr "Додаток правил sudoers верÑÑ–Ñ— %s\n"
-#: plugins/sudoers/policy.c:1264
+#: plugins/sudoers/policy.c:1294
#, c-format
msgid "Sudoers file grammar version %d\n"
msgstr "Граматична перевірка файла sudoers верÑÑ–Ñ— %d\n"
-#: plugins/sudoers/policy.c:1268
+#: plugins/sudoers/policy.c:1298
#, c-format
msgid ""
"\n"
@@ -3012,27 +3098,27 @@ msgstr ""
"\n"
"ШлÑÑ… до sudoers: %s\n"
-#: plugins/sudoers/policy.c:1271
+#: plugins/sudoers/policy.c:1301
#, c-format
msgid "nsswitch path: %s\n"
msgstr "ШлÑÑ… до nsswitch: %s\n"
-#: plugins/sudoers/policy.c:1273
+#: plugins/sudoers/policy.c:1303
#, c-format
msgid "ldap.conf path: %s\n"
msgstr "ШлÑÑ… до ldap.conf: %s\n"
-#: plugins/sudoers/policy.c:1274
+#: plugins/sudoers/policy.c:1304
#, c-format
msgid "ldap.secret path: %s\n"
msgstr "ШлÑÑ… до ldap.secret: %s\n"
-#: plugins/sudoers/policy.c:1307
+#: plugins/sudoers/policy.c:1337
#, c-format
msgid "unable to register hook of type %d (version %d.%d)"
msgstr "неможливо зареєÑтрувати процедуру Ð¿ÐµÑ€ÐµÑ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ %d (верÑÑ–Ñ %d.%d)"
-#: plugins/sudoers/policy.c:1325
+#: plugins/sudoers/policy.c:1355
#, c-format
msgid "unable to deregister hook of type %d (version %d.%d)"
msgstr "неможливо ÑкаÑувати реєÑтрацію процедури Ð¿ÐµÑ€ÐµÑ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ %d (верÑÑ–Ñ %d.%d)"
@@ -3171,148 +3257,142 @@ msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ джерело SSS. ЧÐ
msgid "unable to find symbol \"%s\" in %s"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ñимвол «%s» у %s"
-#: plugins/sudoers/sudoers.c:258
+#: plugins/sudoers/sudoers.c:263
#, c-format
msgid "unable to get defaults from %s"
msgstr "на вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ типові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s"
-#: plugins/sudoers/sudoers.c:265
+#: plugins/sudoers/sudoers.c:270
msgid "no valid sudoers sources found, quitting"
msgstr "не знайдено коректних джерел даних sudoers, Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸"
-#: plugins/sudoers/sudoers.c:341
+#: plugins/sudoers/sudoers.c:346
#, c-format
msgid "user not allowed to change root directory to %s"
msgstr "кориÑтувачеві заборонено змінювати кореневий каталог на %s"
-#: plugins/sudoers/sudoers.c:343
+#: plugins/sudoers/sudoers.c:348
#, c-format
msgid "you are not permitted to use the -R option with %s"
msgstr "вам не дозволено викориÑтовувати параметр -R з %s"
-#: plugins/sudoers/sudoers.c:368
+#: plugins/sudoers/sudoers.c:373
#, c-format
msgid "user not allowed to change directory to %s"
msgstr "кориÑтувачеві заборонено змінювати каталог на %s"
-#: plugins/sudoers/sudoers.c:369
+#: plugins/sudoers/sudoers.c:374
#, c-format
msgid "you are not permitted to use the -D option with %s"
msgstr "вам не дозволено викориÑтовувати параметр -D з %s"
-#: plugins/sudoers/sudoers.c:396
+#: plugins/sudoers/sudoers.c:401
msgid "no command specified"
msgstr "не вказано команду"
-#: plugins/sudoers/sudoers.c:421
+#: plugins/sudoers/sudoers.c:426
msgid "sudoers specifies that root is not allowed to sudo"
msgstr "sudoers вказує, що sudo не можна кориÑтуватиÑÑ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ від root"
-#: plugins/sudoers/sudoers.c:471
+#: plugins/sudoers/sudoers.c:476
msgid "user not allowed to override closefrom limit"
msgstr "кориÑтувачеві заборонено перевизначати Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ closefrom"
-#: plugins/sudoers/sudoers.c:472
+#: plugins/sudoers/sudoers.c:477
msgid "you are not permitted to use the -C option"
msgstr "вам не дозволено викориÑтовувати параметр -C"
-#: plugins/sudoers/sudoers.c:532
+#: plugins/sudoers/sudoers.c:537
#, c-format
msgid "timestamp owner (%s): No such user"
msgstr "влаÑник чаÑового штампа (%s): не знайдено кориÑтувача з таким іменем"
-#: plugins/sudoers/sudoers.c:547
+#: plugins/sudoers/sudoers.c:552
msgid "no tty"
msgstr "немає tty"
-#: plugins/sudoers/sudoers.c:548
+#: plugins/sudoers/sudoers.c:553
msgid "sorry, you must have a tty to run sudo"
msgstr "вибачте, Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ sudo вашому кориÑтувачеві потрібен tty"
-#: plugins/sudoers/sudoers.c:555
+#: plugins/sudoers/sudoers.c:560
#, c-format
msgid "invalid shell for user %s: %s"
msgstr "некоректний Ð·Ð°Ð¿Ð¸Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ¸ Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача %s: %s"
-#: plugins/sudoers/sudoers.c:638
+#: plugins/sudoers/sudoers.c:643
msgid "command in current directory"
msgstr "команда у поточному каталозі"
-#: plugins/sudoers/sudoers.c:653
+#: plugins/sudoers/sudoers.c:658
msgid "\"cd\" is a shell built-in command, it cannot be run directly."
msgstr "«cd» Ñ” вбудованою командою оболонки, Ñ—Ñ— не може бути запущено безпоÑередньо."
-#: plugins/sudoers/sudoers.c:655
+#: plugins/sudoers/sudoers.c:660
msgid "the -s option may be used to run a privileged shell."
msgstr "параметр -s може бути викориÑтано Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку привілейованої оболонки."
-#: plugins/sudoers/sudoers.c:657
+#: plugins/sudoers/sudoers.c:662
msgid "the -D option may be used to run a command in a specific directory."
msgstr "параметр -D може бути викориÑтано Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку команди у вказаному каталозі."
-#: plugins/sudoers/sudoers.c:666
+#: plugins/sudoers/sudoers.c:671
msgid "user not allowed to set a command timeout"
msgstr "кориÑтувачеві заборонено вÑтановлювати Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: plugins/sudoers/sudoers.c:668
+#: plugins/sudoers/sudoers.c:673
msgid "sorry, you are not allowed set a command timeout"
msgstr "вибачте, вам не дозволено вÑтановлювати Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
-#: plugins/sudoers/sudoers.c:676
+#: plugins/sudoers/sudoers.c:681
msgid "user not allowed to preserve the environment"
msgstr "кориÑтувачеві заборонено зберігати Ñередовище"
-#: plugins/sudoers/sudoers.c:678
+#: plugins/sudoers/sudoers.c:683
msgid "sorry, you are not allowed to preserve the environment"
msgstr "вибачте, вам не дозволено зберігати Ñередовище"
-#: plugins/sudoers/sudoers.c:1053
+#: plugins/sudoers/sudoers.c:1073
msgid "sudoedit doesn't need to be run via sudo"
msgstr "Ðемає потреби у запуÑку sudoedit за допомогою sudo"
-#: plugins/sudoers/sudoers.c:1110 plugins/sudoers/sudoreplay.c:1584
+#: plugins/sudoers/sudoers.c:1118 plugins/sudoers/sudoreplay.c:1584
#: plugins/sudoers/tsdump.c:138
#, c-format
msgid "unable to read %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s"
-#: plugins/sudoers/sudoers.c:1135 plugins/sudoers/visudo.c:485
-#: plugins/sudoers/visudo.c:764
-#, c-format
-msgid "unable to stat %s"
-msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ %s"
-
-#: plugins/sudoers/sudoers.c:1139 plugins/sudoers/visudo.c:1058
+#: plugins/sudoers/sudoers.c:1147 plugins/sudoers/visudo.c:1064
#, c-format
msgid "%s is not a regular file"
msgstr "%s не є звичайним файлом"
-#: plugins/sudoers/sudoers.c:1143 plugins/sudoers/timestamp.c:252 toke.l:1247
+#: plugins/sudoers/sudoers.c:1151 plugins/sudoers/timestamp.c:263 toke.l:1247
#, c-format
msgid "%s is owned by uid %u, should be %u"
msgstr "%s належить uid %u, має належати %u"
-#: plugins/sudoers/sudoers.c:1147 toke.l:1252
+#: plugins/sudoers/sudoers.c:1155 plugins/sudoers/timestamp.c:270 toke.l:1252
#, c-format
msgid "%s is world writable"
msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð´Ð¾ «%s» можливий Ð´Ð»Ñ Ð´Ð¾Ð²Ñ–Ð»ÑŒÐ½Ð¾Ð³Ð¾ кориÑтувача"
-#: plugins/sudoers/sudoers.c:1151 toke.l:1255
+#: plugins/sudoers/sudoers.c:1159 plugins/sudoers/timestamp.c:275 toke.l:1255
#, c-format
msgid "%s is owned by gid %u, should be %u"
msgstr "%s належить gid %u, має належати %u"
-#: plugins/sudoers/sudoers.c:1184
+#: plugins/sudoers/sudoers.c:1194
#, c-format
msgid "only root can use \"-c %s\""
msgstr "викориÑтовувати «-c %s» може лише root"
-#: plugins/sudoers/sudoers.c:1203
+#: plugins/sudoers/sudoers.c:1213
#, c-format
msgid "unknown login class %s"
msgstr "невідомий ÐºÐ»Ð°Ñ Ð²Ñ…Ð¾Ð´Ñƒ %s"
-#: plugins/sudoers/sudoers.c:1290 plugins/sudoers/sudoers.c:1305
+#: plugins/sudoers/sudoers.c:1300 plugins/sudoers/sudoers.c:1315
#, c-format
msgid "unable to resolve host %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ адреÑу вузла %s"
@@ -3410,17 +3490,17 @@ msgstr "помилкове завершальне «!»"
msgid "unknown search type %d"
msgstr "невідомий тип пошуку %d"
-#: plugins/sudoers/sudoreplay.c:1651
+#: plugins/sudoers/sudoreplay.c:1650
#, c-format
msgid "usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"
msgstr "кориÑтуваннÑ: %s [-hnRS] [-d каталог] [-m чиÑло] [-s чиÑло] ідентифікатор\n"
-#: plugins/sudoers/sudoreplay.c:1654
+#: plugins/sudoers/sudoreplay.c:1652
#, c-format
msgid "usage: %s [-h] [-d dir] -l [search expression]\n"
msgstr "викориÑтаннÑ: %s [-h] [-d каталог] -l [вираз Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ]\n"
-#: plugins/sudoers/sudoreplay.c:1663
+#: plugins/sudoers/sudoreplay.c:1666
#, c-format
msgid ""
"%s - replay sudo session logs\n"
@@ -3429,7 +3509,7 @@ msgstr ""
"%s — Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñ–Ð² ÑеанÑів sudo\n"
"\n"
-#: plugins/sudoers/sudoreplay.c:1665
+#: plugins/sudoers/sudoreplay.c:1668
msgid ""
"\n"
"Options:\n"
@@ -3485,127 +3565,122 @@ msgstr ""
"\n"
"Ðе знайдено відповідника команди"
-#: plugins/sudoers/timestamp.c:260
-#, c-format
-msgid "%s is group writable"
-msgstr "%s доÑтупний до запиÑу учаÑниками групи"
-
-#: plugins/sudoers/timestamp.c:328 plugins/sudoers/timestamp.c:663
+#: plugins/sudoers/timestamp.c:354 plugins/sudoers/timestamp.c:693
#, c-format
msgid "unable to truncate time stamp file to %lld bytes"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ñ–Ð·Ð°Ñ‚Ð¸ файл чаÑової позначки до %lld байтів"
-#: plugins/sudoers/timestamp.c:860
+#: plugins/sudoers/timestamp.c:890
msgid "ignoring time stamp from the future"
msgstr "ігноруємо чаÑову позначку з майбутнього"
-#: plugins/sudoers/timestamp.c:883
+#: plugins/sudoers/timestamp.c:913
#, c-format
msgid "time stamp too far in the future: %20.20s"
msgstr "занадто далека чаÑова позначка у майбутньому: %20.20s"
-#: plugins/sudoers/timestamp.c:1005
+#: plugins/sudoers/timestamp.c:1042
#, c-format
msgid "unable to lock time stamp file %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ñ‚Ð¸ файл чаÑової позначки %s"
-#: plugins/sudoers/timestamp.c:1049 plugins/sudoers/timestamp.c:1069
-#, c-format
-msgid "lecture status path too long: %s/%s"
-msgstr "шлÑÑ… до даних щодо Ñтану Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ñтанов Ñ” занадто довгим: %s/%s"
-
#: plugins/sudoers/toke_util.c:156
msgid "sudoedit should not be specified with a path"
msgstr "sudoedit не Ñлід вказувати разом із шлÑхом"
-#: plugins/sudoers/visudo.c:249
+#: plugins/sudoers/visudo.c:254
msgid "the -x option will be removed in a future release"
msgstr "параметр -x буде вилучено у наÑтупному випуÑку"
-#: plugins/sudoers/visudo.c:251
+#: plugins/sudoers/visudo.c:256
msgid "please consider using the cvtsudoers utility instead"
msgstr "будь лаÑка, ÑкориÑтайтеÑÑ Ð·Ð°Ð¼Ñ–ÑÑ‚ÑŒ нього програмою cvtsudoers"
-#: plugins/sudoers/visudo.c:306 plugins/sudoers/visudo.c:692
+#: plugins/sudoers/visudo.c:311 plugins/sudoers/visudo.c:698
#, c-format
msgid "press return to edit %s: "
msgstr "натиÑніть Enter Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ %s: "
-#: plugins/sudoers/visudo.c:321
+#: plugins/sudoers/visudo.c:326
#, c-format
msgid "contents of edit session left in %s"
msgstr "дані ÑеанÑу Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð»Ð¸ÑˆÐ¸Ð»Ð¸ÑÑ Ñƒ %s"
-#: plugins/sudoers/visudo.c:397
+#: plugins/sudoers/visudo.c:402
#, c-format
msgid "specified editor (%s) doesn't exist"
msgstr "вказаного редактора (%s) не Ñ–Ñнує"
-#: plugins/sudoers/visudo.c:399
+#: plugins/sudoers/visudo.c:404
#, c-format
msgid "no editor found (editor path = %s)"
msgstr "не знайдено жодного редактора (шлÑÑ… до редактора = %s)"
-#: plugins/sudoers/visudo.c:505 plugins/sudoers/visudo.c:513
+#: plugins/sudoers/visudo.c:491 plugins/sudoers/visudo.c:770
+#, c-format
+msgid "unable to stat %s"
+msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ stat Ð´Ð»Ñ %s"
+
+#: plugins/sudoers/visudo.c:511 plugins/sudoers/visudo.c:519
msgid "write error"
msgstr "помилка запиÑу"
-#: plugins/sudoers/visudo.c:559
+#: plugins/sudoers/visudo.c:565
#, c-format
msgid "unable to stat temporary file (%s), %s unchanged"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ stat файл тимчаÑових даних (%s), %s не змінено"
-#: plugins/sudoers/visudo.c:566
+#: plugins/sudoers/visudo.c:572
#, c-format
msgid "zero length temporary file (%s), %s unchanged"
msgstr "файл тимчаÑових даних має нульовий об’єм (%s), %s не змінено"
-#: plugins/sudoers/visudo.c:572
+#: plugins/sudoers/visudo.c:578
#, c-format
msgid "editor (%s) failed, %s unchanged"
msgstr "помилка редактора (%s), %s не змінено"
-#: plugins/sudoers/visudo.c:594
+#: plugins/sudoers/visudo.c:600
#, c-format
msgid "%s unchanged"
msgstr "%s не змінено"
-#: plugins/sudoers/visudo.c:639
+#: plugins/sudoers/visudo.c:645
#, c-format
msgid "unable to re-open temporary file (%s), %s unchanged."
msgstr "не вдалоÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити файл тимчаÑових даних (%s), %s не змінено."
-#: plugins/sudoers/visudo.c:652
+#: plugins/sudoers/visudo.c:658
#, c-format
msgid "unable to parse temporary file (%s), unknown error"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ файл тимчаÑових даних (%s), невідома помилка"
-#: plugins/sudoers/visudo.c:738 plugins/sudoers/visudo.c:768
-#: plugins/sudoers/visudo.c:775
+#: plugins/sudoers/visudo.c:744 plugins/sudoers/visudo.c:774
+#: plugins/sudoers/visudo.c:781
#, c-format
msgid "unable to set (uid, gid) of %s to (%u, %u)"
msgstr "не вдалоÑÑ Ð²Ñтановити (uid, gid) %s у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (%u, %u)"
-#: plugins/sudoers/visudo.c:803
+#: plugins/sudoers/visudo.c:809
#, c-format
msgid "%s and %s not on the same file system, using mv to rename"
msgstr "%s Ñ– %s не перебувають у одній файловій ÑиÑтемі, викориÑтовуємо mv Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ"
-#: plugins/sudoers/visudo.c:814
+#: plugins/sudoers/visudo.c:820
#, c-format
msgid "command failed: '%s %s %s', %s unchanged"
msgstr "помилка команди: «%s %s %s», %s не змінено"
-#: plugins/sudoers/visudo.c:821
+#: plugins/sudoers/visudo.c:827
#, c-format
msgid "error renaming %s, %s unchanged"
msgstr "помилка Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ %s, %s не змінено"
-#: plugins/sudoers/visudo.c:841
+#: plugins/sudoers/visudo.c:847
msgid "What now? "
msgstr "Рзараз що? "
-#: plugins/sudoers/visudo.c:855
+#: plugins/sudoers/visudo.c:861
msgid ""
"Options are:\n"
" (e)dit sudoers file again\n"
@@ -3617,41 +3692,41 @@ msgstr ""
" (x) — вийти без внеÑÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ до файла sudoers\n"
" (Q) — вийти зі збереженнÑм файла sudoers (ÐЕБЕЗПЕЧÐО!)\n"
-#: plugins/sudoers/visudo.c:901
+#: plugins/sudoers/visudo.c:907
#, c-format
msgid "unable to run %s"
msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ %s"
-#: plugins/sudoers/visudo.c:932
+#: plugins/sudoers/visudo.c:938
#, c-format
msgid "%s: wrong owner (uid, gid) should be (%u, %u)\n"
msgstr "%s: помилковий влаÑник (uid, gid), має бути (%u, %u)\n"
-#: plugins/sudoers/visudo.c:943
+#: plugins/sudoers/visudo.c:949
#, c-format
msgid "%s: bad permissions, should be mode 0%o\n"
msgstr "%s: помилкові права доÑтупу, режим доÑтупу має бути 0%o\n"
-#: plugins/sudoers/visudo.c:991 plugins/sudoers/visudo.c:998
+#: plugins/sudoers/visudo.c:997 plugins/sudoers/visudo.c:1004
#, c-format
msgid "%s: parsed OK\n"
msgstr "%s: вдала обробка\n"
-#: plugins/sudoers/visudo.c:1017
+#: plugins/sudoers/visudo.c:1023
#, c-format
msgid "%s busy, try again later"
msgstr "%s зайнÑто, повторіть Ñпробу пізніше"
-#: plugins/sudoers/visudo.c:1021
+#: plugins/sudoers/visudo.c:1027
msgid "Edit anyway? [y/N]"
msgstr "Редагувати попри уÑе? [y/N]"
-#: plugins/sudoers/visudo.c:1117
+#: plugins/sudoers/visudo.c:1128
#, c-format
msgid "Warning: %s:%d:%d: unused %s \"%s\""
msgstr "ПопередженнÑ: %s:%d:%d: не викориÑтано %s «%s»"
-#: plugins/sudoers/visudo.c:1229
+#: plugins/sudoers/visudo.c:1240
#, c-format
msgid ""
"%s - safely edit the sudoers file\n"
@@ -3660,13 +3735,14 @@ msgstr ""
"%s — безпечне Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° sudoers\n"
"\n"
-#: plugins/sudoers/visudo.c:1231
+#: plugins/sudoers/visudo.c:1242
msgid ""
"\n"
"Options:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+" -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"
@@ -3676,6 +3752,7 @@ msgstr ""
" -c, --check режим лише перевірки\n"
" -f, --file=файл вказати Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° sudoers\n"
" -h, --help показати довідкове Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ– завершити роботу\n"
+" -I, --no-includes не редагувати включені файли\n"
" -q, --quiet ÑтиÑлі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ ÑинтакÑичних помилок\n"
" -s, --strict Ñтрога перевірка ÑинтакÑиÑу\n"
" -V, --version показати дані щодо верÑÑ–Ñ— Ñ– завершити роботу\n"
@@ -3712,6 +3789,12 @@ msgstr "неочікуваний розрив Ñ€Ñдків у Ñ€Ñдку"
msgid "too many levels of includes"
msgstr "занадто виÑокий рівень вкладеноÑÑ‚Ñ–"
+#~ msgid "%s is group writable"
+#~ msgstr "%s доÑтупний до запиÑу учаÑниками групи"
+
+#~ msgid "lecture status path too long: %s/%s"
+#~ msgstr "шлÑÑ… до даних щодо Ñтану Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ñтанов Ñ” занадто довгим: %s/%s"
+
#~ msgid "Warning: %s:%d:%d: cycle in %s \"%s\""
#~ msgstr "ПопередженнÑ: %s:%d:%d: цикл у %s «%s»"
diff --git a/plugins/sudoers/policy.c b/plugins/sudoers/policy.c
index 763894454..2a6a76e0a 100644
--- a/plugins/sudoers/policy.c
+++ b/plugins/sudoers/policy.c
@@ -84,11 +84,11 @@ parse_bool(const char *line, int varlen, int *flags, int fval)
}
}
-#define RUN_VALID_FLAGS (MODE_ASKPASS|MODE_PRESERVE_ENV|MODE_RESET_HOME|MODE_IMPLIED_SHELL|MODE_LOGIN_SHELL|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_PRESERVE_GROUPS|MODE_SHELL|MODE_RUN|MODE_POLICY_INTERCEPTED)
-#define EDIT_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_EDIT)
-#define LIST_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_LIST|MODE_CHECK)
-#define VALIDATE_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_VALIDATE)
-#define INVALIDATE_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_INVALIDATE)
+#define RUN_VALID_FLAGS (MODE_ASKPASS|MODE_PRESERVE_ENV|MODE_RESET_HOME|MODE_IMPLIED_SHELL|MODE_LOGIN_SHELL|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_UPDATE_TICKET|MODE_PRESERVE_GROUPS|MODE_SHELL|MODE_RUN|MODE_POLICY_INTERCEPTED)
+#define EDIT_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_UPDATE_TICKET|MODE_EDIT)
+#define LIST_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_UPDATE_TICKET|MODE_LIST|MODE_CHECK)
+#define VALIDATE_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_UPDATE_TICKET|MODE_VALIDATE)
+#define INVALIDATE_VALID_FLAGS (MODE_ASKPASS|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_UPDATE_TICKET|MODE_INVALIDATE)
/*
* Deserialize args, settings and user_info arrays.
@@ -102,7 +102,7 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
const char *remhost = NULL;
unsigned char uuid[16];
char * const *cur;
- int flags = 0;
+ int flags = MODE_UPDATE_TICKET;
debug_decl(sudoers_policy_deserialize_info, SUDOERS_DEBUG_PLUGIN);
#define MATCHES(s, v) \
@@ -280,6 +280,12 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
goto bad;
continue;
}
+ if (MATCHES(*cur, "update_ticket=")) {
+ if (parse_bool(*cur, sizeof("update_ticket") -1, &flags,
+ MODE_UPDATE_TICKET) == -1)
+ goto bad;
+ continue;
+ }
if (MATCHES(*cur, "noninteractive=")) {
if (parse_bool(*cur, sizeof("noninteractive") - 1, &flags,
MODE_NONINTERACTIVE) == -1)
@@ -331,12 +337,12 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
#endif /* HAVE_SELINUX */
#ifdef HAVE_APPARMOR
if (MATCHES(*cur, "apparmor_profile=")) {
- CHECK(*cur, "apparmor_profile=");
- free(user_apparmor_profile);
- user_apparmor_profile = strdup(*cur + sizeof("apparmor_profile=") - 1);
- if (user_apparmor_profile == NULL)
+ CHECK(*cur, "apparmor_profile=");
+ free(user_apparmor_profile);
+ user_apparmor_profile = strdup(*cur + sizeof("apparmor_profile=") - 1);
+ if (user_apparmor_profile == NULL)
goto oom;
- continue;
+ continue;
}
#endif /* HAVE_APPARMOR */
#ifdef HAVE_BSD_AUTH_H
@@ -395,9 +401,11 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
}
#endif
}
+ /* Ignore ticket trumps update. */
+ if (ISSET(flags, MODE_IGNORE_TICKET))
+ CLR(flags, MODE_UPDATE_TICKET);
user_gid = (gid_t)-1;
- user_sid = (pid_t)-1;
user_uid = (gid_t)-1;
user_umask = (mode_t)-1;
for (cur = info->user_info; *cur != NULL; cur++) {
@@ -493,6 +501,15 @@ sudoers_policy_deserialize_info(void *v, struct defaults_list *defaults)
}
continue;
}
+ if (MATCHES(*cur, "tcpgid=")) {
+ p = *cur + sizeof("tcpgid=") - 1;
+ user_tcpgid = (pid_t) sudo_strtoid(p, &errstr);
+ if (errstr != NULL) {
+ sudo_warnx(U_("%s: %s"), *cur, U_(errstr));
+ goto bad;
+ }
+ continue;
+ }
if (MATCHES(*cur, "umask=")) {
p = *cur + sizeof("umask=") - 1;
sudo_user.umask = sudo_strtomode(p, &errstr);
@@ -636,7 +653,7 @@ sudoers_policy_store_result(bool accepted, char *argv[], char *envp[],
}
/* Increase the length of command_info as needed, it is *not* checked. */
- command_info = calloc(71, sizeof(char *));
+ command_info = calloc(72, sizeof(char *));
if (command_info == NULL)
goto oom;
@@ -649,20 +666,26 @@ sudoers_policy_store_result(bool accepted, char *argv[], char *envp[],
if ((command_info[info_len++] = strdup("log_subcmds=true")) == NULL)
goto oom;
}
- if (def_log_input || def_log_output) {
+ if (iolog_enabled) {
if (iolog_path)
command_info[info_len++] = iolog_path; /* now owned */
- if (def_log_input) {
+ if (def_log_stdin) {
if ((command_info[info_len++] = strdup("iolog_stdin=true")) == NULL)
goto oom;
- if ((command_info[info_len++] = strdup("iolog_ttyin=true")) == NULL)
- goto oom;
}
- if (def_log_output) {
+ if (def_log_stdout) {
if ((command_info[info_len++] = strdup("iolog_stdout=true")) == NULL)
goto oom;
+ }
+ if (def_log_stderr) {
if ((command_info[info_len++] = strdup("iolog_stderr=true")) == NULL)
goto oom;
+ }
+ if (def_log_ttyin) {
+ if ((command_info[info_len++] = strdup("iolog_ttyin=true")) == NULL)
+ goto oom;
+ }
+ if (def_log_ttyout) {
if ((command_info[info_len++] = strdup("iolog_ttyout=true")) == NULL)
goto oom;
}
@@ -812,6 +835,10 @@ sudoers_policy_store_result(bool accepted, char *argv[], char *envp[],
if ((command_info[info_len++] = strdup("use_ptrace=true")) == NULL)
goto oom;
}
+ if (def_intercept_verify) {
+ if ((command_info[info_len++] = strdup("intercept_verify=true")) == NULL)
+ goto oom;
+ }
if (def_noexec) {
if ((command_info[info_len++] = strdup("noexec=true")) == NULL)
goto oom;
@@ -970,7 +997,7 @@ sudoers_policy_store_result(bool accepted, char *argv[], char *envp[],
#endif /* HAVE_SELINUX */
#ifdef HAVE_APPARMOR
if (user_apparmor_profile != NULL) {
- if ((command_info[info_len++] = sudo_new_key_val("apparmor_profile", user_apparmor_profile)) == NULL)
+ if ((command_info[info_len++] = sudo_new_key_val("apparmor_profile", user_apparmor_profile)) == NULL)
goto oom;
}
#endif /* HAVE_APPARMOR */
@@ -1154,8 +1181,8 @@ sudoers_policy_check(int argc, char * const argv[], char *env_add[],
#ifndef NO_LEAKS
if (ret == true && sudo_version >= SUDO_API_MKVERSION(1, 3)) {
/* Unset close function if we don't need it to avoid extra process. */
- if (!def_log_input && !def_log_output && !def_log_exit_status &&
- !def_use_pty && !sudo_auth_needs_end_session())
+ if (!iolog_enabled && !def_use_pty && !def_log_exit_status &&
+ SLIST_EMPTY(&def_log_servers) && !sudo_auth_needs_end_session())
sudoers_policy.close = NULL;
}
#endif
@@ -1171,7 +1198,7 @@ sudoers_policy_check(int argc, char * const argv[], char *env_add[],
static int
sudoers_policy_validate(const char **errstr)
{
- char *argv[] = { "validate", NULL };
+ char *argv[] = { (char *)"validate", NULL };
const int argc = 1;
int ret;
debug_decl(sudoers_policy_validate, SUDOERS_DEBUG_PLUGIN);
@@ -1213,7 +1240,7 @@ static int
sudoers_policy_list(int argc, char * const argv[], int verbose,
const char *list_user, const char **errstr)
{
- char *list_argv[] = { "list", NULL };
+ char *list_argv[] = { (char *)"list", NULL };
int ret;
debug_decl(sudoers_policy_list, SUDOERS_DEBUG_PLUGIN);
diff --git a/plugins/sudoers/pwutil.c b/plugins/sudoers/pwutil.c
index ca5e146b4..88c7a4192 100644
--- a/plugins/sudoers/pwutil.c
+++ b/plugins/sudoers/pwutil.c
@@ -686,7 +686,7 @@ sudo_mkgrent(const char *group, gid_t gid, ...)
}
gr = &gritem->gr;
gr->gr_gid = gid;
- gr->gr_passwd = "*";
+ gr->gr_passwd = (char *)"*";
cp = (char *)(gritem + 1);
gr->gr_mem = (char **)cp;
cp += sizeof(char *) * nmem;
diff --git a/plugins/sudoers/regress/editor/check_editor.c b/plugins/sudoers/regress/editor/check_editor.c
index 97585d66e..eef9d384e 100644
--- a/plugins/sudoers/regress/editor/check_editor.c
+++ b/plugins/sudoers/regress/editor/check_editor.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 2021 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2021-2022 Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -29,12 +29,12 @@
/* Note hard-coded array lengths. */
struct test_data {
- char *editor_var;
+ const char *editor_var;
int nfiles;
- char *files[4];
- char *editor_path;
+ const char *files[4];
+ const char *editor_path;
int edit_argc;
- char *edit_argv[10];
+ const char *edit_argv[10];
} test_data[] = {
{
/* Bug #942 */
@@ -63,6 +63,15 @@ struct test_data {
3,
{ "/usr/bin/vi\\", "--", "/etc/hosts", "/bogus/file", NULL }
},
+ {
+ /* GitHub issue #179 */
+ "EDITOR=sed -rie s/^\\\\(foo\\\\)/waldo\\\\1/",
+ 1,
+ { "/etc/sudoers", NULL },
+ "/usr/bin/sed",
+ 5,
+ { "sed", "-rie", "s/^\\(foo\\)/waldo\\1/", "--", "/etc/sudoers", NULL }
+ },
{ NULL }
};
@@ -99,13 +108,13 @@ main(int argc, char *argv[])
int i, edit_argc = 0;
/* clear existing editor environment vars */
- putenv("VISUAL=");
- putenv("EDITOR=");
- putenv("SUDO_EDITOR=");
+ putenv((char *)"VISUAL=");
+ putenv((char *)"EDITOR=");
+ putenv((char *)"SUDO_EDITOR=");
- putenv(data->editor_var);
- editor_path = find_editor(data->nfiles, data->files, &edit_argc,
- &edit_argv, NULL, &env_editor);
+ putenv((char *)data->editor_var);
+ editor_path = find_editor(data->nfiles, (char **)data->files,
+ &edit_argc, &edit_argv, NULL, &env_editor);
ntests++;
if (strcmp(editor_path, data->editor_path) != 0) {
sudo_warnx("test %d: editor_path: expected \"%s\", got \"%s\"",
diff --git a/plugins/sudoers/regress/exptilde/check_exptilde.c b/plugins/sudoers/regress/exptilde/check_exptilde.c
index 093fb640c..93f9b4b65 100644
--- a/plugins/sudoers/regress/exptilde/check_exptilde.c
+++ b/plugins/sudoers/regress/exptilde/check_exptilde.c
@@ -34,9 +34,9 @@
struct sudo_user sudo_user;
struct test_data {
- char *input;
- char *output;
- char *user;
+ const char *input;
+ const char *output;
+ const char *user;
bool result;
} test_data[] = {
{ "foo/bar", NULL, NULL, false },
diff --git a/plugins/sudoers/regress/fuzz/fuzz_policy.c b/plugins/sudoers/regress/fuzz/fuzz_policy.c
index 9b0c8ea3e..a03fe67a5 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_policy.c
+++ b/plugins/sudoers/regress/fuzz/fuzz_policy.c
@@ -39,7 +39,9 @@
#endif
#include "sudoers.h"
+#include "sudo_iolog.h"
#include "interfaces.h"
+#include "check.h"
extern char **environ;
extern sudo_dso_public struct policy_plugin sudoers_policy;
@@ -49,6 +51,8 @@ char *audit_msg;
static int pass;
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
+
static FILE *
open_data(const uint8_t *data, size_t size)
{
@@ -114,13 +118,13 @@ push(struct dynamic_array *arr, const char *entry)
}
if (arr->len + (entry != NULL) >= arr->size) {
- char **tmp = reallocarray(arr->entries, arr->size + 128, sizeof(char *));
+ char **tmp = reallocarray(arr->entries, arr->size + 1024, sizeof(char *));
if (tmp == NULL) {
free(copy);
return false;
}
arr->entries = tmp;
- arr->size += 128;
+ arr->size += 1024;
}
if (copy != NULL)
arr->entries[arr->len++] = copy;
@@ -161,7 +165,7 @@ fuzz_printf(int msg_type, const char *fmt, ...)
return 0;
}
-int
+static int
fuzz_hook_stub(struct sudo_hook *hook)
{
return 0;
@@ -368,7 +372,9 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
/* Additional environment variables to add. */
if (strncmp(line, "env=", sizeof("env=") - 1) == 0) {
- push(&env_add, line);
+ const char *cp = line + sizeof("env=") - 1;
+ if (strchr(cp, '=') != NULL)
+ push(&env_add, line);
continue;
}
@@ -380,8 +386,8 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
line = NULL;
/* Exercise code paths that use KRB5CCNAME and SUDO_PROMPT. */
- putenv("KRB5CCNAME=/tmp/krb5cc_123456");
- putenv("SUDO_PROMPT=[sudo] password for %p: ");
+ putenv((char *)"KRB5CCNAME=/tmp/krb5cc_123456");
+ putenv((char *)"SUDO_PROMPT=[sudo] password for %p: ");
sudoers_policy.register_hooks(SUDO_API_VERSION, fuzz_hook_stub);
@@ -820,7 +826,7 @@ expand_iolog_path(const char *inpath, char *path, size_t pathlen,
/* STUB */
bool
-iolog_nextid(char *iolog_dir, char sessid[7])
+iolog_nextid(const char *iolog_dir, char sessid[7])
{
strlcpy(sessid, "000001", 7);
return true;
diff --git a/plugins/sudoers/regress/fuzz/fuzz_stubs.c b/plugins/sudoers/regress/fuzz/fuzz_stubs.c
index f2147c578..27b26c095 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_stubs.c
+++ b/plugins/sudoers/regress/fuzz/fuzz_stubs.c
@@ -41,6 +41,8 @@
#include "sudoers.h"
#include "interfaces.h"
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
+
struct interface_list *
get_interfaces(void)
{
diff --git a/plugins/sudoers/regress/fuzz/fuzz_sudoers.c b/plugins/sudoers/regress/fuzz/fuzz_sudoers.c
index 8a7caeaae..2ce2f87eb 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_sudoers.c
+++ b/plugins/sudoers/regress/fuzz/fuzz_sudoers.c
@@ -43,6 +43,7 @@
static int fuzz_conversation(int num_msgs, const struct sudo_conv_message msgs[], struct sudo_conv_reply replies[], struct sudo_conv_callback *callback);
static int fuzz_printf(int msg_type, const char *fmt, ...);
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
/* Required to link with parser. */
struct sudo_user sudo_user;
@@ -134,6 +135,20 @@ cb_unused(struct sudoers_parse_tree *parse_tree, struct alias *a, void *v)
return 0;
}
+bool
+cb_log_input(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
+{
+ return 0;
+}
+
+bool
+cb_log_output(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
+{
+ return 0;
+}
+
static FILE *
open_data(const uint8_t *data, size_t size)
{
@@ -161,9 +176,9 @@ open_data(const uint8_t *data, size_t size)
}
static struct user_data {
- char *user;
- char *runuser;
- char *rungroup;
+ const char *user;
+ const char *runuser;
+ const char *rungroup;
} user_data[] = {
{ "root", NULL, NULL },
{ "millert", "operator", NULL },
@@ -182,7 +197,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
struct interface_list *interfaces;
struct passwd *pw;
struct group *gr;
- char *gids[10];
+ const char *gids[10];
FILE *fp;
/* Don't waste time fuzzing tiny inputs. */
@@ -236,7 +251,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
gids[1] = "20";
gids[2] = "5";
gids[3] = NULL;
- if (sudo_set_gidlist(pw, gids, ENTRY_TYPE_FRONTEND) == -1)
+ if (sudo_set_gidlist(pw, (char **)gids, ENTRY_TYPE_FRONTEND) == -1)
goto done;
sudo_pw_delref(pw);
@@ -245,7 +260,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
goto done;
gids[0] = "5";
gids[1] = NULL;
- if (sudo_set_gidlist(pw, gids, ENTRY_TYPE_FRONTEND) == -1)
+ if (sudo_set_gidlist(pw, (char **)gids, ENTRY_TYPE_FRONTEND) == -1)
goto done;
sudo_pw_delref(pw);
@@ -257,17 +272,17 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
gids[2] = "5";
gids[3] = "100";
gids[4] = NULL;
- if (sudo_set_gidlist(pw, gids, ENTRY_TYPE_FRONTEND) == -1)
+ if (sudo_set_gidlist(pw, (char **)gids, ENTRY_TYPE_FRONTEND) == -1)
goto done;
sudo_pw_delref(pw);
/* The minimum needed to perform matching (user_cmnd must be dynamic). */
- user_host = user_shost = user_runhost = user_srunhost = "localhost";
+ user_host = user_shost = user_runhost = user_srunhost = (char *)"localhost";
user_cmnd = strdup("/usr/bin/id");
if (user_cmnd == NULL)
goto done;
- user_args = "-u";
- user_base = "id";
+ user_args = (char *)"-u";
+ user_base = (char *)"id";
/* Add a fake network interfaces. */
interfaces = get_interfaces();
@@ -300,7 +315,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
int cmnd_status;
/* Invoking user. */
- user_name = ud->user;
+ user_name = (char *)ud->user;
if (sudo_user.pw != NULL)
sudo_pw_delref(sudo_user.pw);
sudo_user.pw = sudo_getpwnam(user_name);
@@ -313,7 +328,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
if (runas_pw != NULL)
sudo_pw_delref(runas_pw);
if (ud->runuser != NULL) {
- sudo_user.runas_user = ud->runuser;
+ sudo_user.runas_user = (char *)ud->runuser;
SET(sudo_user.flags, RUNAS_USER_SPECIFIED);
runas_pw = sudo_getpwnam(sudo_user.runas_user);
} else {
@@ -330,7 +345,7 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
if (runas_gr != NULL)
sudo_gr_delref(runas_gr);
if (ud->rungroup != NULL) {
- sudo_user.runas_group = ud->rungroup;
+ sudo_user.runas_group = (char *)ud->rungroup;
SET(sudo_user.flags, RUNAS_GROUP_SPECIFIED);
runas_gr = sudo_getgrnam(sudo_user.runas_group);
if (runas_gr == NULL) {
diff --git a/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c b/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c
index e1f47399b..75a6d7dd7 100644
--- a/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c
+++ b/plugins/sudoers/regress/fuzz/fuzz_sudoers_ldif.c
@@ -29,6 +29,7 @@
#include "sudoers.h"
static int fuzz_printf(int msg_type, const char *fmt, ...);
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
/* Required to link with parser. */
struct sudo_user sudo_user;
diff --git a/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c b/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c
index 6f2ca732a..e4cc14166 100644
--- a/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c
+++ b/plugins/sudoers/regress/iolog_plugin/check_iolog_plugin.c
@@ -155,7 +155,7 @@ validate_iolog_info(const char *log_dir, bool legacy)
return true;
}
-bool
+static bool
validate_timing(FILE *fp, int recno, int type, unsigned int p1, unsigned int p2)
{
struct timing_closure timing;
@@ -206,7 +206,7 @@ validate_timing(FILE *fp, int recno, int type, unsigned int p1, unsigned int p2)
/*
* Test sudoers I/O log plugin endpoints.
*/
-void
+static void
test_endpoints(int *ntests, int *nerrors, const char *iolog_dir, char *envp[])
{
int rc, cmnd_argc = 1;
@@ -214,11 +214,11 @@ test_endpoints(int *ntests, int *nerrors, const char *iolog_dir, char *envp[])
char buf[1024], iolog_path[PATH_MAX];
char runas_gid[64], runas_uid[64];
FILE *fp;
- char *cmnd_argv[] = {
+ const char *cmnd_argv[] = {
"/usr/bin/id",
NULL
};
- char *user_info[] = {
+ const char *user_info[] = {
"cols=80",
"lines=24",
"cwd=/",
@@ -227,7 +227,7 @@ test_endpoints(int *ntests, int *nerrors, const char *iolog_dir, char *envp[])
"user=nobody",
NULL
};
- char *command_info[] = {
+ const char *command_info[] = {
"command=/usr/bin/id",
iolog_path,
"iolog_stdin=true",
@@ -257,7 +257,8 @@ test_endpoints(int *ntests, int *nerrors, const char *iolog_dir, char *envp[])
/* Test open endpoint. */
rc = sudoers_io.open(SUDO_API_VERSION, NULL, sudo_printf_int, settings,
- user_info, command_info, cmnd_argc, cmnd_argv, envp, NULL, &errstr);
+ (char **)user_info, (char **)command_info, cmnd_argc,
+ (char **)cmnd_argv, envp, NULL, &errstr);
(*ntests)++;
if (rc != 1) {
sudo_warnx("I/O log open endpoint failed");
diff --git a/plugins/sudoers/regress/parser/check_gentime.c b/plugins/sudoers/regress/parser/check_gentime.c
index 2aed93dcb..a203bc67c 100644
--- a/plugins/sudoers/regress/parser/check_gentime.c
+++ b/plugins/sudoers/regress/parser/check_gentime.c
@@ -33,7 +33,7 @@
sudo_dso_public int main(int argc, char *argv[]);
const struct gentime_test {
- char *gentime;
+ const char *gentime;
time_t unixtime;
} tests[] = {
{ "199412161032ZZ", -1 },
@@ -65,7 +65,7 @@ main(int argc, char *argv[])
initprogname(argc > 0 ? argv[0] : "check_gentime");
/* Do local time tests in Eastern Standard Time. */
- putenv("TZ=EST5EST5");
+ putenv((char *)"TZ=EST5EST5");
tzset();
for (i = 0; i < ntests; i++) {
diff --git a/plugins/sudoers/regress/serialize_list/check_serialize_list.c b/plugins/sudoers/regress/serialize_list/check_serialize_list.c
index 7abf4761e..c27e0a190 100644
--- a/plugins/sudoers/regress/serialize_list/check_serialize_list.c
+++ b/plugins/sudoers/regress/serialize_list/check_serialize_list.c
@@ -38,9 +38,9 @@ test_serialize_list(int *ntests_out, int *errors_out)
struct list_member lm1, lm2, lm3;
char *result;
- lm1.value = "a value with spaces";
- lm2.value = "this,and,that";
- lm3.value = ",";
+ lm1.value = (char *)"a value with spaces";
+ lm2.value = (char *)"this,and,that";
+ lm3.value = (char *)",";
SLIST_INSERT_HEAD(&members, &lm3, entries);
SLIST_INSERT_HEAD(&members, &lm2, entries);
SLIST_INSERT_HEAD(&members, &lm1, entries);
diff --git a/plugins/sudoers/regress/testsudoers/test11.out.ok b/plugins/sudoers/regress/testsudoers/test11.out.ok
index 987ab6559..f030dc84d 100644
--- a/plugins/sudoers/regress/testsudoers/test11.out.ok
+++ b/plugins/sudoers/regress/testsudoers/test11.out.ok
@@ -3,7 +3,7 @@ Testing @include with garbage after the path name
sudoers:1:24: syntax error
@include sudoers.local womp womp
^~~~
-testsudoers: unable to stat sudoers.local: No such file or directory
+testsudoers: unable to open sudoers.local: No such file or directory
Entries for user root:
@@ -14,7 +14,7 @@ Testing #include with garbage after the path name
sudoers:1:24: syntax error
#include sudoers.local womp womp
^~~~
-testsudoers: unable to stat sudoers.local: No such file or directory
+testsudoers: unable to open sudoers.local: No such file or directory
Entries for user root:
diff --git a/plugins/sudoers/regress/testsudoers/test18.sh b/plugins/sudoers/regress/testsudoers/test18.sh
index c349aa26d..645b9a5cd 100755
--- a/plugins/sudoers/regress/testsudoers/test18.sh
+++ b/plugins/sudoers/regress/testsudoers/test18.sh
@@ -28,7 +28,7 @@ root ALL = /bin/*at ^/var/log/[^/]+$
EOF
# Command: path, args: args start with escaped ^
-$TESTSUDOERS root /usr/bin/grep ^foo$ <<'EOF'
+$TESTSUDOERS root /usr/bin/grep '^foo$' <<'EOF'
root ALL = /usr/bin/grep \^foo$
EOF
diff --git a/plugins/sudoers/regress/testsudoers/test19.out.ok b/plugins/sudoers/regress/testsudoers/test19.out.ok
new file mode 100644
index 000000000..a0de2408e
--- /dev/null
+++ b/plugins/sudoers/regress/testsudoers/test19.out.ok
@@ -0,0 +1,20 @@
+Parses OK
+
+Entries for user root:
+
+ALL = /bin/ls ""
+ host matched
+ runas matched
+ cmnd allowed
+
+Command allowed
+Parses OK
+
+Entries for user root:
+
+ALL = /bin/ls ""
+ host matched
+ runas matched
+ cmnd unmatched
+
+Command unmatched
diff --git a/plugins/sudoers/regress/testsudoers/test19.sh b/plugins/sudoers/regress/testsudoers/test19.sh
new file mode 100755
index 000000000..113eb2ad4
--- /dev/null
+++ b/plugins/sudoers/regress/testsudoers/test19.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Verify that "" in sudoers does not match a literal "" on the command line.
+#
+
+: ${TESTSUDOERS=testsudoers}
+
+exec 2>&1
+
+# This should succeed
+$TESTSUDOERS root /bin/ls <<'EOF'
+root ALL = /bin/ls ""
+EOF
+
+# This should fail
+$TESTSUDOERS root /bin/ls '""' <<'EOF'
+root ALL = /bin/ls ""
+EOF
+
+exit 0
diff --git a/plugins/sudoers/regress/unescape/check_unesc.c b/plugins/sudoers/regress/unescape/check_unesc.c
index 6b97f5588..ebbe30734 100644
--- a/plugins/sudoers/regress/unescape/check_unesc.c
+++ b/plugins/sudoers/regress/unescape/check_unesc.c
@@ -27,8 +27,8 @@
#include "sudoers.h"
struct test_data {
- char *input;
- char *result;
+ const char *input;
+ const char *result;
size_t result_len;
size_t bufsize;
};
@@ -139,7 +139,7 @@ test_strvec_join(char sep, int *ntests_out, int *errors_out)
/* Simulate: sudoedit -s '\' `perl -e 'print "A" x 65536'` */
memset(buf, 'A', sizeof(buf));
buf[sizeof(buf) - 1] = '\0';
- argv[0] = "\\";
+ argv[0] = (char *)"\\";
argv[1] = buf;
argv[2] = NULL;
diff --git a/plugins/sudoers/strlcpy_unesc.c b/plugins/sudoers/strlcpy_unesc.c
index ee6276e76..c8c89ac69 100644
--- a/plugins/sudoers/strlcpy_unesc.c
+++ b/plugins/sudoers/strlcpy_unesc.c
@@ -29,6 +29,9 @@
#include "sudoers.h"
+/*
+ * Like strlcpy() but collapses non-space chars escaped with a backslash.
+ */
size_t
strlcpy_unescape(char *dst, const char *src, size_t size)
{
diff --git a/plugins/sudoers/stubs.c b/plugins/sudoers/stubs.c
index fcb0889d8..9aae59d41 100644
--- a/plugins/sudoers/stubs.c
+++ b/plugins/sudoers/stubs.c
@@ -35,6 +35,7 @@
#include <arpa/inet.h>
#include "sudoers.h"
+#include "cvtsudoers.h"
#include "interfaces.h"
/* STUB */
diff --git a/plugins/sudoers/sudoers.c b/plugins/sudoers/sudoers.c
index 71e8ba256..00114acf9 100644
--- a/plugins/sudoers/sudoers.c
+++ b/plugins/sudoers/sudoers.c
@@ -102,6 +102,7 @@ static struct rlimit nproclimit;
/* XXX - must be extern for audit bits of sudo_auth.c */
int NewArgc;
char **NewArgv;
+char **saved_argv;
#ifdef SUDOERS_LOG_CLIENT
# define remote_iologs (!SLIST_EMPTY(&def_log_servers))
@@ -185,6 +186,10 @@ sudoers_reinit_defaults(void)
/* Restore error logging. */
sudoers_error_hook = logger;
+ /* No need to check the admin flag file multiple times. */
+ if (ISSET(sudo_mode, MODE_POLICY_INTERCEPTED))
+ def_admin_flag = NULL;
+
debug_return_bool(true);
}
@@ -397,16 +402,16 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
debug_return_int(-1);
}
- /* Was previous command was intercepted? */
- if (def_intercept)
- SET(sudo_mode, MODE_POLICY_INTERCEPTED);
+ if (need_reinit) {
+ /* Was previous command intercepted? */
+ if (ISSET(sudo_mode, MODE_RUN) && def_intercept)
+ SET(sudo_mode, MODE_POLICY_INTERCEPTED);
- /* Only certain mode flags are legal for intercepted commands. */
- if (ISSET(sudo_mode, MODE_POLICY_INTERCEPTED))
- sudo_mode &= MODE_INTERCEPT_MASK;
+ /* Only certain mode flags are legal for intercepted commands. */
+ if (ISSET(sudo_mode, MODE_POLICY_INTERCEPTED))
+ sudo_mode &= MODE_INTERCEPT_MASK;
- /* Re-initialize defaults if we are called multiple times. */
- if (need_reinit) {
+ /* Re-initialize defaults if we are called multiple times. */
if (!sudoers_reinit_defaults())
debug_return_int(-1);
}
@@ -433,7 +438,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
* Make a local copy of argc/argv, with special handling for the
* '-i' option. We also allocate an extra slot for bash's --login.
*/
- if (NewArgv != NULL) {
+ if (NewArgv != NULL && NewArgv != saved_argv) {
sudoers_gc_remove(GC_PTR, NewArgv);
free(NewArgv);
}
@@ -684,13 +689,18 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
}
if (ISSET(sudo_mode, (MODE_RUN | MODE_EDIT)) && !remote_iologs) {
- if ((def_log_input || def_log_output) && def_iolog_file && def_iolog_dir) {
+ if (iolog_enabled && def_iolog_file && def_iolog_dir) {
if ((iolog_path = format_iolog_path()) == NULL) {
if (!def_ignore_iolog_errors)
goto done;
/* Unable to expand I/O log path, disable I/O logging. */
def_log_input = false;
def_log_output = false;
+ def_log_stdin = false;
+ def_log_stdout = false;
+ def_log_stderr = false;
+ def_log_ttyin = false;
+ def_log_ttyout = false;
}
}
}
@@ -698,15 +708,16 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
switch (sudo_mode & MODE_MASK) {
case MODE_CHECK:
ret = display_cmnd(snl, list_pw ? list_pw : sudo_user.pw);
- break;
+ goto done;
case MODE_LIST:
ret = display_privs(snl, list_pw ? list_pw : sudo_user.pw, verbose);
- break;
+ goto done;
case MODE_VALIDATE:
+ ret = true;
+ goto done;
case MODE_RUN:
case MODE_EDIT:
- /* ret may be overridden by "goto bad" later */
- ret = true;
+ /* ret will not be set until the very end. */
break;
default:
/* Should not happen. */
@@ -714,11 +725,6 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
goto done;
}
- if (ISSET(sudo_mode, (MODE_VALIDATE|MODE_CHECK|MODE_LIST))) {
- /* ret already set appropriately */
- goto done;
- }
-
/*
* Set umask based on sudoers.
* If user's umask is more restrictive, OR in those bits too
@@ -749,7 +755,7 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
strcmp(NewArgv[1], "-c") == 0) {
/* We allocated extra space for the --login above. */
memmove(&NewArgv[2], &NewArgv[1], sizeof(char *) * NewArgc);
- NewArgv[1] = "--login";
+ NewArgv[1] = (char *)"--login";
NewArgc++;
}
@@ -803,8 +809,10 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
goto bad;
}
/* find_editor() already g/c'd edit_argv[] */
- sudoers_gc_remove(GC_PTR, NewArgv);
- free(NewArgv);
+ if (NewArgv != saved_argv) {
+ sudoers_gc_remove(GC_PTR, NewArgv);
+ free(NewArgv);
+ }
NewArgv = edit_argv;
NewArgc = edit_argc;
@@ -812,6 +820,17 @@ sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[],
env_swap_old();
}
+ /* Save the initial command and argv so we have it for exit logging. */
+ if (saved_cmnd == NULL) {
+ saved_cmnd = strdup(safe_cmnd);
+ if (saved_cmnd == NULL) {
+ sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
+ goto done;
+ }
+ saved_argv = NewArgv;
+ }
+
+ ret = true;
goto done;
bad:
@@ -1028,6 +1047,7 @@ set_cmnd(void)
* When running a command via a shell, the sudo front-end
* escapes potential meta chars. We unescape non-spaces
* for sudoers matching and logging purposes.
+ * TODO: move escaping to the policy plugin instead
*/
user_args = strvec_join(NewArgv + 1, ' ', strlcpy_unescape);
} else {
@@ -1074,52 +1094,41 @@ set_cmnd(void)
FILE *
open_sudoers(const char *file, bool doedit, bool *keepopen)
{
- struct stat sb;
FILE *fp = NULL;
- bool perm_root = false;
+ struct stat sb;
+ int error, fd;
debug_decl(open_sudoers, SUDOERS_DEBUG_PLUGIN);
if (!set_perms(PERM_SUDOERS))
debug_return_ptr(NULL);
again:
- switch (sudo_secure_file(file, sudoers_uid, sudoers_gid, &sb)) {
- case SUDO_PATH_SECURE:
- /*
- * If we are expecting sudoers to be group readable by
- * SUDOERS_GID but it is not, we must open the file as root,
- * not uid 1.
- */
- if (sudoers_uid == ROOT_UID && ISSET(sudoers_mode, S_IRGRP)) {
- if (!ISSET(sb.st_mode, S_IRGRP) || sb.st_gid != SUDOERS_GID) {
- if (!perm_root) {
- if (!restore_perms() || !set_perms(PERM_ROOT))
- debug_return_ptr(NULL);
- }
- }
- }
- /*
- * Open file and make sure we can read it so we can present
- * the user with a reasonable error message (unlike the lexer).
- */
- if ((fp = fopen(file, "r")) == NULL) {
- log_warning(SLOG_SEND_MAIL, N_("unable to open %s"), file);
+ fd = sudo_secure_open_file(file, sudoers_uid, sudoers_gid, &sb, &error);
+ if (fd != -1) {
+ /*
+ * Make sure we can read the file so we can present the
+ * user with a reasonable error message (unlike the lexer).
+ */
+ if ((fp = fdopen(fd, "r")) == NULL) {
+ log_warning(SLOG_SEND_MAIL, N_("unable to open %s"), file);
+ close(fd);
+ } else {
+ if (sb.st_size != 0 && fgetc(fp) == EOF) {
+ log_warning(SLOG_SEND_MAIL,
+ N_("unable to read %s"), file);
+ fclose(fp);
+ fp = NULL;
} else {
- if (sb.st_size != 0 && fgetc(fp) == EOF) {
- log_warning(SLOG_SEND_MAIL,
- N_("unable to read %s"), file);
- fclose(fp);
- fp = NULL;
- } else {
- /* Rewind fp and set close on exec flag. */
- rewind(fp);
- (void) fcntl(fileno(fp), F_SETFD, 1);
- }
+ /* Rewind fp and set close on exec flag. */
+ rewind(fp);
+ (void) fcntl(fileno(fp), F_SETFD, 1);
}
- break;
+ }
+ } else {
+ switch (error) {
case SUDO_PATH_MISSING:
/*
- * If we tried to stat() sudoers as non-root but got EACCES,
+ * If we tried to open sudoers as non-root but got EACCES,
* try again as root.
*/
if (errno == EACCES && geteuid() != ROOT_UID) {
@@ -1127,12 +1136,11 @@ again:
if (restore_perms()) {
if (!set_perms(PERM_ROOT))
debug_return_ptr(NULL);
- perm_root = true;
goto again;
}
errno = serrno;
}
- log_warning(SLOG_SEND_MAIL, N_("unable to stat %s"), file);
+ log_warning(SLOG_SEND_MAIL, N_("unable to open %s"), file);
break;
case SUDO_PATH_BAD_TYPE:
log_warningx(SLOG_SEND_MAIL,
@@ -1152,8 +1160,10 @@ again:
(unsigned int) sb.st_gid, (unsigned int) sudoers_gid);
break;
default:
- /* NOTREACHED */
+ sudo_warnx("%s: internal error, unexpected error %d",
+ __func__, error);
break;
+ }
}
if (!restore_perms()) {
@@ -1188,8 +1198,8 @@ set_loginclass(struct passwd *pw)
} else {
login_class = pw->pw_class;
if (!login_class || !*login_class)
- login_class =
- (pw->pw_uid == 0) ? LOGIN_DEFROOTCLASS : LOGIN_DEFCLASS;
+ login_class = (char *)
+ ((pw->pw_uid == 0) ? LOGIN_DEFROOTCLASS : LOGIN_DEFCLASS);
}
/* Make sure specified login class is valid. */
@@ -1666,6 +1676,31 @@ cb_intercept_allow_setid(const char *file, int line, int column,
debug_return_bool(true);
}
+bool
+cb_log_input(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
+{
+ debug_decl(cb_log_input, SUDOERS_DEBUG_PLUGIN);
+
+ def_log_stdin = op;
+ def_log_ttyin = op;
+
+ debug_return_bool(true);
+}
+
+bool
+cb_log_output(const char *file, int line, int column,
+ const union sudo_defs_val *sd_un, int op)
+{
+ debug_decl(cb_log_output, SUDOERS_DEBUG_PLUGIN);
+
+ def_log_stdout = op;
+ def_log_stderr = op;
+ def_log_ttyout = op;
+
+ debug_return_bool(true);
+}
+
/*
* Set parse Defaults callbacks.
* We do this here instead in def_data.in so we don't have to
@@ -1727,6 +1762,8 @@ set_callbacks(void)
sudo_defs_table[I_PASSPROMPT_REGEX].callback = cb_passprompt_regex;
sudo_defs_table[I_INTERCEPT_TYPE].callback = cb_intercept_type;
sudo_defs_table[I_INTERCEPT_ALLOW_SETID].callback = cb_intercept_allow_setid;
+ sudo_defs_table[I_LOG_INPUT].callback = cb_log_input;
+ sudo_defs_table[I_LOG_OUTPUT].callback = cb_log_output;
debug_return;
}
@@ -1764,6 +1801,7 @@ sudoers_cleanup(void)
/* Clear globals */
list_pw = NULL;
+ saved_argv = NULL;
NewArgv = NULL;
NewArgc = 0;
prev_user = NULL;
@@ -1776,7 +1814,8 @@ tty_present(void)
{
debug_decl(tty_present, SUDOERS_DEBUG_PLUGIN);
- if (user_ttypath == NULL) {
+ if (user_tcpgid == 0 && user_ttypath == NULL) {
+ /* No job control or terminal, check /dev/tty. */
int fd = open(_PATH_TTY, O_RDWR);
if (fd == -1)
debug_return_bool(false);
@@ -1820,6 +1859,7 @@ sudo_user_free(void)
free(user_cmnd);
free(user_args);
free(safe_cmnd);
+ free(saved_cmnd);
free(user_stat);
#ifdef HAVE_SELINUX
free(user_role);
diff --git a/plugins/sudoers/sudoers.h b/plugins/sudoers/sudoers.h
index a6718ccac..cd9270744 100644
--- a/plugins/sudoers/sudoers.h
+++ b/plugins/sudoers/sudoers.h
@@ -103,6 +103,7 @@ struct sudo_user {
char *cmnd_args;
char *cmnd_base;
char *cmnd_safe;
+ char *cmnd_saved;
char *class_name;
char *krb5_ccname;
struct gid_list *gid_list;
@@ -133,6 +134,7 @@ struct sudo_user {
uid_t uid;
uid_t gid;
pid_t sid;
+ pid_t tcpgid;
char uuid_str[37];
};
@@ -200,7 +202,8 @@ struct sudo_user {
#define MODE_PRESERVE_ENV 0x00400000
#define MODE_NONINTERACTIVE 0x00800000
#define MODE_IGNORE_TICKET 0x01000000
-#define MODE_POLICY_INTERCEPTED 0x02000000
+#define MODE_UPDATE_TICKET 0x02000000
+#define MODE_POLICY_INTERCEPTED 0x04000000
/* Mode bits allowed for intercepted commands. */
#define MODE_INTERCEPT_MASK (MODE_RUN|MODE_NONINTERACTIVE|MODE_IGNORE_TICKET|MODE_POLICY_INTERCEPTED)
@@ -224,6 +227,7 @@ struct sudo_user {
#define user_uid (sudo_user.uid)
#define user_gid (sudo_user.gid)
#define user_sid (sudo_user.sid)
+#define user_tcpgid (sudo_user.tcpgid)
#define user_umask (sudo_user.umask)
#define user_passwd (sudo_user.pw->pw_passwd)
#define user_dir (sudo_user.pw->pw_dir)
@@ -245,6 +249,7 @@ struct sudo_user {
#define user_srunhost (sudo_user.srunhost)
#define user_ccname (sudo_user.krb5_ccname)
#define safe_cmnd (sudo_user.cmnd_safe)
+#define saved_cmnd (sudo_user.cmnd_saved)
#define cmnd_fd (sudo_user.execfd)
#define login_class (sudo_user.class_name)
#define runas_pw (sudo_user._runas_pw)
@@ -408,16 +413,18 @@ int sudoers_hook_getenv(const char *name, char **value, void *closure);
int sudoers_hook_putenv(char *string, void *closure);
int sudoers_hook_setenv(const char *name, const char *value, int overwrite, void *closure);
int sudoers_hook_unsetenv(const char *name, void *closure);
-void register_env_file(void * (*ef_open)(const char *), void (*ef_close)(void *), char * (*ef_next)(void *, int *), bool system);
+void register_env_file(void * (*ef_open)(const char *), void (*ef_close)(void *), char * (*ef_next)(void *, int *), bool sys);
/* env_pattern.c */
bool matches_env_pattern(const char *pattern, const char *var, bool *full_match);
/* sudoers.c */
FILE *open_sudoers(const char *, bool, bool *);
+bool cb_log_input(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
+bool cb_log_output(const char *file, int line, int column, const union sudo_defs_val *sd_un, int op);
int set_cmnd_path(const char *runchroot);
int sudoers_init(void *info, sudoers_logger_t logger, char * const envp[]);
-int sudoers_policy_main(int argc, char * const argv[], int pwflag, char *env_add[], bool verbose, void *closure);
+int sudoers_policy_main(int argc, char *const argv[], int pwflag, char *env_add[], bool verbose, void *closure);
void sudoers_cleanup(void);
void sudo_user_free(void);
extern struct sudo_user sudo_user;
@@ -442,7 +449,7 @@ extern const char *path_ldap_conf;
extern const char *path_ldap_secret;
/* group_plugin.c */
-int group_plugin_load(char *plugin_info);
+int group_plugin_load(const char *plugin_info);
void group_plugin_unload(void);
int group_plugin_query(const char *user, const char *group,
const struct passwd *pwd);
@@ -450,8 +457,8 @@ bool cb_group_plugin(const char *file, int line, int column, const union sudo_de
extern const char *path_plugin_dir;
/* editor.c */
-char *find_editor(int nfiles, char **files, int *argc_out, char ***argv_out,
- char * const *allowlist, const char **env_editor);
+char *find_editor(int nfiles, char * const *files, int *argc_out,
+ char ***argv_out, char * const *allowlist, const char **env_editor);
/* exptilde.c */
bool expand_tilde(char **path, const char *user);
diff --git a/plugins/sudoers/sudoers_hooks.c b/plugins/sudoers/sudoers_hooks.c
index d0610e0e1..738f93b38 100644
--- a/plugins/sudoers/sudoers_hooks.c
+++ b/plugins/sudoers/sudoers_hooks.c
@@ -101,7 +101,7 @@ sudoers_hook_getenv(const char *name, char **value, void *closure)
goto done;
}
if (strcmp(name, "LC_ALL") == 0 || strcmp(name, "LC_MESSAGES") == 0) {
- *value = def_sudoers_locale;
+ *value = (char *)def_sudoers_locale;
goto done;
}
}
diff --git a/plugins/sudoers/sudoreplay.c b/plugins/sudoers/sudoreplay.c
index 5b8ebe501..f7c3743c3 100644
--- a/plugins/sudoers/sudoreplay.c
+++ b/plugins/sudoers/sudoreplay.c
@@ -175,12 +175,12 @@ extern time_t get_date(char *);
static int list_sessions(int, char **, const char *, const char *, const char *);
static int parse_expr(struct search_node_list *, char **, bool);
static void read_keyboard(int fd, int what, void *v);
-static void help(void) __attribute__((__noreturn__));
+static sudo_noreturn void help(void);
+static sudo_noreturn void usage(void);
static int replay_session(int iolog_dir_fd, const char *iolog_dir,
struct timespec *offset, struct timespec *max_wait, const char *decimal,
bool interactive, bool suspend_wait);
static void sudoreplay_cleanup(void);
-static void usage(int);
static void write_output(int fd, int what, void *v);
static void restore_terminal_size(void);
static void setup_terminal(struct eventlog *evlog, bool interactive, bool resize);
@@ -302,7 +302,7 @@ main(int argc, char *argv[])
exitcode = EXIT_SUCCESS;
goto done;
default:
- usage(1);
+ usage();
/* NOTREACHED */
}
@@ -316,7 +316,7 @@ main(int argc, char *argv[])
}
if (argc != 1)
- usage(1);
+ usage();
/* By default we replay stdout, stderr and ttyout. */
if (def_filter) {
@@ -1129,7 +1129,7 @@ write_output(int fd, int what, void *v)
if ((nl == iov[0].iov_base && iobuf->lastc != '\r') ||
(nl != iov[0].iov_base && nl[-1] != '\r')) {
iov[0].iov_len = len;
- iov[1].iov_base = "\r\n";
+ iov[1].iov_base = (char *)"\r\n";
iov[1].iov_len = 2;
iovcnt = 2;
nbytes = iov[0].iov_len + iov[1].iov_len;
@@ -1645,23 +1645,26 @@ read_keyboard(int fd, int what, void *v)
}
static void
-usage(int fatal)
+print_usage(FILE *fp)
{
- fprintf(fatal ? stderr : stdout,
- _("usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"),
+ fprintf(fp, _("usage: %s [-hnRS] [-d dir] [-m num] [-s num] ID\n"),
getprogname());
- fprintf(fatal ? stderr : stdout,
- _("usage: %s [-h] [-d dir] -l [search expression]\n"),
+ fprintf(fp, _("usage: %s [-h] [-d dir] -l [search expression]\n"),
getprogname());
- if (fatal)
- exit(EXIT_FAILURE);
+}
+
+static void
+usage(void)
+{
+ print_usage(stderr);
+ exit(EXIT_FAILURE);
}
static void
help(void)
{
(void) printf(_("%s - replay sudo session logs\n\n"), getprogname());
- usage(0);
+ print_usage(stdout);
(void) puts(_("\nOptions:\n"
" -d, --directory=dir specify directory for session logs\n"
" -f, --filter=filter specify which I/O type(s) to display\n"
diff --git a/plugins/sudoers/testsudoers.c b/plugins/sudoers/testsudoers.c
index d83bdb0c7..3af5636d9 100644
--- a/plugins/sudoers/testsudoers.c
+++ b/plugins/sudoers/testsudoers.c
@@ -61,7 +61,7 @@ enum sudoers_formats {
* Function Prototypes
*/
static void dump_sudoers(struct sudo_lbuf *lbuf);
-static void usage(void) __attribute__((__noreturn__));
+static sudo_noreturn void usage(void);
static void set_runaspw(const char *);
static void set_runasgr(const char *);
static bool cb_runas_default(const char *file, int line, int column, const union sudo_defs_val *, int);
@@ -202,8 +202,8 @@ main(int argc, char *argv[])
if (argc < 2) {
if (!dflag)
usage();
- user_name = argc ? *argv++ : "root";
- user_cmnd = user_base = "true";
+ user_name = argc ? *argv++ : (char *)"root";
+ user_cmnd = user_base = (char *)"true";
argc = 0;
} else {
user_name = *argv++;
@@ -442,16 +442,21 @@ open_sudoers(const char *file, bool doedit, bool *keepopen)
struct stat sb;
FILE *fp = NULL;
const char *base;
+ int error, fd;
debug_decl(open_sudoers, SUDOERS_DEBUG_UTIL);
/* Report errors using the basename for consistent test output. */
base = sudo_basename(file);
- switch (sudo_secure_file(file, sudoers_uid, sudoers_gid, &sb)) {
- case SUDO_PATH_SECURE:
- fp = fopen(file, "r");
- break;
+ fd = sudo_secure_open_file(file, sudoers_uid, sudoers_gid, &sb, &error);
+ if (fd != -1) {
+ if ((fp = fdopen(fd, "r")) == NULL) {
+ sudo_warn("unable to open %s", base);
+ close(fd);
+ }
+ } else {
+ switch (error) {
case SUDO_PATH_MISSING:
- sudo_warn("unable to stat %s", base);
+ sudo_warn("unable to open %s", base);
break;
case SUDO_PATH_BAD_TYPE:
sudo_warnx("%s is not a regular file", base);
@@ -468,8 +473,10 @@ open_sudoers(const char *file, bool doedit, bool *keepopen)
base, (unsigned int) sudoers_gid);
break;
default:
- /* NOTREACHED */
+ sudo_warnx("%s: internal error, unexpected error %d",
+ __func__, error);
break;
+ }
}
debug_return_ptr(fp);
diff --git a/plugins/sudoers/timestamp.c b/plugins/sudoers/timestamp.c
index 0de792b61..825eec6b7 100644
--- a/plugins/sudoers/timestamp.c
+++ b/plugins/sudoers/timestamp.c
@@ -181,87 +181,113 @@ ts_find_record(int fd, struct timestamp_entry *key, struct timestamp_entry *entr
/*
* Create a directory and any missing parent directories with the
* specified mode.
- * Returns true on success.
- * Returns false on failure and displays a warning to stderr.
+ * Returns an fd usable with the *at() functions on success.
+ * Returns -1 on failure, setting errno.
*/
-static bool
+static int
ts_mkdirs(const char *path, uid_t owner, gid_t group, mode_t mode,
mode_t parent_mode, bool quiet)
{
- bool ret;
+ int parentfd, fd = -1;
+ const char *base;
mode_t omask;
debug_decl(ts_mkdirs, SUDOERS_DEBUG_AUTH);
+ /* Child directory we will create. */
+ base = sudo_basename(path);
+
/* umask must not be more restrictive than the file modes. */
omask = umask(ACCESSPERMS & ~(mode|parent_mode));
- ret = sudo_mkdir_parents(path, owner, group, parent_mode, quiet);
- if (ret) {
+ parentfd = sudo_open_parent_dir(path, owner, group, parent_mode, quiet);
+ if (parentfd != -1) {
/* Create final path component. */
sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO,
"mkdir %s, mode 0%o, uid %d, gid %d", path, (unsigned int)mode,
(int)owner, (int)group);
- if (mkdir(path, mode) != 0 && errno != EEXIST) {
+ if (mkdirat(parentfd, base, mode) != 0 && errno != EEXIST) {
if (!quiet)
sudo_warn(U_("unable to mkdir %s"), path);
- ret = false;
} else {
- if (chown(path, owner, group) != 0) {
+ fd = openat(parentfd, base, O_RDONLY|O_NONBLOCK, 0);
+ if (fd == -1) {
+ sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO,
+ "%s: unable to open %s", __func__, path);
+ } else if (fchown(fd, owner, group) != 0) {
sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO,
"%s: unable to chown %d:%d %s", __func__,
(int)owner, (int)group, path);
}
}
+ close(parentfd);
}
umask(omask);
- debug_return_bool(ret);
+ debug_return_int(fd);
}
/*
* Check that path is owned by timestamp_uid and not writable by
* group or other. If path is missing and make_it is true, create
* the directory and its parent dirs.
- * Returns true on success or false on failure, setting errno.
+ *
+ * Returns an fd usable with the *at() functions on success.
+ * Returns -1 on failure, setting errno.
*/
-static bool
-ts_secure_dir(char *path, bool make_it, bool quiet)
+static int
+ts_secure_opendir(const char *path, bool make_it, bool quiet)
{
+ int error, fd;
struct stat sb;
- bool ret = false;
- debug_decl(ts_secure_dir, SUDOERS_DEBUG_AUTH);
+ debug_decl(ts_secure_opendir, SUDOERS_DEBUG_AUTH);
sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, "checking %s", path);
- switch (sudo_secure_dir(path, timestamp_uid, -1, &sb)) {
- case SUDO_PATH_SECURE:
- ret = true;
- break;
- case SUDO_PATH_MISSING:
- if (make_it && ts_mkdirs(path, timestamp_uid, timestamp_gid, S_IRWXU,
- S_IRWXU|S_IXGRP|S_IXOTH, quiet)) {
- ret = true;
+ fd = sudo_secure_open_dir(path, timestamp_uid, timestamp_gid, &sb, &error);
+ if (fd == -1) {
+ switch (error) {
+ case SUDO_PATH_MISSING:
+ if (make_it) {
+ fd = ts_mkdirs(path, timestamp_uid, timestamp_gid, S_IRWXU,
+ S_IRWXU|S_IXGRP|S_IXOTH, quiet);
+ if (fd != -1)
+ break;
+ }
+ if (!quiet)
+ sudo_warn("%s", path);
+ break;
+ case SUDO_PATH_BAD_TYPE:
+ errno = ENOTDIR;
+ if (!quiet)
+ sudo_warn("%s", path);
+ break;
+ case SUDO_PATH_WRONG_OWNER:
+ if (!quiet) {
+ sudo_warnx(U_("%s is owned by uid %u, should be %u"),
+ path, (unsigned int)sb.st_uid, (unsigned int)timestamp_uid);
+ }
+ errno = EACCES;
+ break;
+ case SUDO_PATH_WORLD_WRITABLE:
+ if (!quiet)
+ sudo_warnx(U_("%s is world writable"), path);
+ errno = EACCES;
+ break;
+ case SUDO_PATH_GROUP_WRITABLE:
+ if (!quiet) {
+ sudo_warnx(U_("%s is owned by gid %u, should be %u"),
+ path, (unsigned int)sb.st_gid, (unsigned int)timestamp_gid);
+ }
+ errno = EACCES;
+ break;
+ default:
+ if (!quiet) {
+ sudo_warnx("%s: internal error, unexpected error %d",
+ __func__, error);
+ errno = EINVAL;
+ }
break;
}
- errno = ENOENT;
- break;
- case SUDO_PATH_BAD_TYPE:
- errno = ENOTDIR;
- if (!quiet)
- sudo_warn("%s", path);
- break;
- case SUDO_PATH_WRONG_OWNER:
- if (!quiet) {
- sudo_warnx(U_("%s is owned by uid %u, should be %u"),
- path, (unsigned int) sb.st_uid,
- (unsigned int) timestamp_uid);
- }
- errno = EACCES;
- break;
- case SUDO_PATH_GROUP_WRITABLE:
- if (!quiet)
- sudo_warnx(U_("%s is group writable"), path);
- errno = EACCES;
- break;
}
- debug_return_bool(ret);
+
+ debug_return_int(fd);
}
/*
@@ -271,15 +297,15 @@ ts_secure_dir(char *path, bool make_it, bool quiet)
* Returns TIMESTAMP_OPEN_ERROR or TIMESTAMP_PERM_ERROR on error.
*/
static int
-ts_open(const char *path, int flags)
+ts_openat(int dfd, const char *path, int flags)
{
bool uid_changed = false;
int fd;
- debug_decl(ts_open, SUDOERS_DEBUG_AUTH);
+ debug_decl(ts_openat, SUDOERS_DEBUG_AUTH);
if (timestamp_uid != 0)
uid_changed = set_perms(PERM_TIMESTAMP);
- fd = open(path, flags, S_IRUSR|S_IWUSR);
+ fd = openat(dfd, path, flags, S_IRUSR|S_IWUSR);
if (uid_changed && !restore_perms()) {
/* Unable to restore permissions, should not happen. */
if (fd != -1) {
@@ -406,7 +432,7 @@ timestamp_open(const char *user, pid_t sid)
{
struct ts_cookie *cookie;
char *fname = NULL;
- int tries, fd = -1;
+ int tries, dfd = -1, fd = -1;
debug_decl(timestamp_open, SUDOERS_DEBUG_AUTH);
/* Zero timeout means don't use the time stamp file. */
@@ -416,7 +442,8 @@ timestamp_open(const char *user, pid_t sid)
}
/* Check the validity of timestamp dir and create if missing. */
- if (!ts_secure_dir(def_timestampdir, true, false))
+ dfd = ts_secure_opendir(def_timestampdir, true, false);
+ if (dfd == -1)
goto bad;
/* Open time stamp file. */
@@ -427,7 +454,7 @@ timestamp_open(const char *user, pid_t sid)
for (tries = 1; ; tries++) {
struct stat sb;
- fd = ts_open(fname, O_RDWR|O_CREAT);
+ fd = ts_openat(dfd, user, O_RDWR|O_CREAT);
switch (fd) {
case TIMESTAMP_OPEN_ERROR:
log_warning(SLOG_SEND_MAIL, N_("unable to open %s"), fname);
@@ -453,7 +480,7 @@ timestamp_open(const char *user, pid_t sid)
sudo_debug_printf(SUDO_DEBUG_WARN|SUDO_DEBUG_LINENO,
"removing time stamp file that predates boot time");
close(fd);
- unlink(fname);
+ unlinkat(dfd, user, 0);
continue;
}
}
@@ -473,9 +500,12 @@ timestamp_open(const char *user, pid_t sid)
cookie->sid = sid;
cookie->pos = -1;
+ close(dfd);
debug_return_ptr(cookie);
bad:
- if (fd != -1)
+ if (dfd != -1)
+ close(dfd);
+ if (fd >= 0)
close(fd);
free(fname);
debug_return_ptr(NULL);
@@ -591,7 +621,7 @@ done:
/*
* Write a TS_LOCKEXCL record at the beginning of the time stamp file.
*/
-bool
+static bool
timestamp_lock_write(struct ts_cookie *cookie)
{
struct timestamp_entry entry;
@@ -962,7 +992,7 @@ int
timestamp_remove(bool unlink_it)
{
struct timestamp_entry key, entry;
- int fd = -1, ret = true;
+ int dfd = -1, fd = -1, ret = true;
char *fname = NULL;
debug_decl(timestamp_remove, SUDOERS_DEBUG_AUTH);
@@ -976,6 +1006,13 @@ timestamp_remove(bool unlink_it)
}
#endif
+ dfd = open(def_timestampdir, O_RDONLY|O_NONBLOCK);
+ if (dfd == -1) {
+ if (errno != ENOENT)
+ ret = -1;
+ goto done;
+ }
+
if (asprintf(&fname, "%s/%s", def_timestampdir, user_name) == -1) {
sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
ret = -1;
@@ -984,12 +1021,12 @@ timestamp_remove(bool unlink_it)
/* For "sudo -K" simply unlink the time stamp file. */
if (unlink_it) {
- ret = unlink(fname) ? -1 : true;
+ ret = unlinkat(dfd, user_name, 0) ? -1 : true;
goto done;
}
/* Open time stamp file and lock it for exclusive access. */
- fd = ts_open(fname, O_RDWR);
+ fd = ts_openat(dfd, user_name, O_RDWR);
switch (fd) {
case TIMESTAMP_OPEN_ERROR:
if (errno != ENOENT)
@@ -1023,7 +1060,9 @@ timestamp_remove(bool unlink_it)
}
done:
- if (fd != -1)
+ if (dfd != -1)
+ close(dfd);
+ if (fd >= 0)
close(fd);
free(fname);
debug_return_int(ret);
@@ -1035,21 +1074,17 @@ done:
bool
already_lectured(void)
{
- char status_file[PATH_MAX];
+ bool ret = false;
struct stat sb;
- int len;
+ int dfd;
debug_decl(already_lectured, SUDOERS_DEBUG_AUTH);
- if (ts_secure_dir(def_lecture_status_dir, false, true)) {
- len = snprintf(status_file, sizeof(status_file), "%s/%s",
- def_lecture_status_dir, user_name);
- if (len > 0 && len < ssizeof(status_file)) {
- debug_return_bool(stat(status_file, &sb) == 0);
- }
- log_warningx(SLOG_SEND_MAIL, N_("lecture status path too long: %s/%s"),
- def_lecture_status_dir, user_name);
+ dfd = ts_secure_opendir(def_lecture_status_dir, false, true);
+ if (dfd != -1) {
+ ret = fstatat(dfd, user_name, &sb, AT_SYMLINK_NOFOLLOW) == 0;
+ close(dfd);
}
- debug_return_bool(false);
+ debug_return_bool(ret);
}
/*
@@ -1059,24 +1094,16 @@ already_lectured(void)
int
set_lectured(void)
{
- char lecture_status[PATH_MAX];
- int len, fd, ret = false;
+ int dfd, fd, ret = false;
debug_decl(set_lectured, SUDOERS_DEBUG_AUTH);
- len = snprintf(lecture_status, sizeof(lecture_status), "%s/%s",
- def_lecture_status_dir, user_name);
- if (len < 0 || len >= ssizeof(lecture_status)) {
- log_warningx(SLOG_SEND_MAIL, N_("lecture status path too long: %s/%s"),
- def_lecture_status_dir, user_name);
- goto done;
- }
-
- /* Check the validity of lecture dir and create if missing. */
- if (!ts_secure_dir(def_lecture_status_dir, true, false))
+ /* Check the validity of timestamp dir and create if missing. */
+ dfd = ts_secure_opendir(def_lecture_status_dir, true, false);
+ if (dfd == -1)
goto done;
/* Create lecture file. */
- fd = ts_open(lecture_status, O_WRONLY|O_CREAT|O_EXCL);
+ fd = ts_openat(dfd, user_name, O_WRONLY|O_CREAT|O_EXCL);
switch (fd) {
case TIMESTAMP_OPEN_ERROR:
/* Failed to open, not a fatal error. */
@@ -1091,6 +1118,7 @@ set_lectured(void)
ret = true;
break;
}
+ close(dfd);
done:
debug_return_int(ret);
diff --git a/plugins/sudoers/timestr.c b/plugins/sudoers/timestr.c
index 8eb223afc..d208215fb 100644
--- a/plugins/sudoers/timestr.c
+++ b/plugins/sudoers/timestr.c
@@ -26,9 +26,7 @@
#include <time.h>
-#include "sudo_compat.h"
-#include "sudo_debug.h"
-#include "parse.h"
+#include "sudoers.h"
/*
* Return a static buffer with the current date + time.
diff --git a/plugins/sudoers/toke.c b/plugins/sudoers/toke.c
index 44365bc60..82c8423dc 100644
--- a/plugins/sudoers/toke.c
+++ b/plugins/sudoers/toke.c
@@ -3085,7 +3085,7 @@ char *sudoerstext;
#endif
// PVS Studio suppression
-// -V::519, 1004, 1037
+// -V::519, 547, 1004, 1037, 1048
int sudolineno; /* current sudoers line number. */
char *sudoers; /* sudoers file being parsed. */
diff --git a/plugins/sudoers/toke.h b/plugins/sudoers/toke.h
index d20cb458f..2b9f111b2 100644
--- a/plugins/sudoers/toke.h
+++ b/plugins/sudoers/toke.h
@@ -36,7 +36,7 @@ bool fill_cmnd(const char *, size_t);
bool fill(const char *, size_t);
bool ipv6_valid(const char *s);
int sudoers_trace_print(const char *);
-void sudoerserrorf(const char *, ...) __printf0like(1, 2);
+void sudoerserrorf(const char *, ...) sudo_printf0like(1, 2);
void sudoerserror(const char *);
bool push_include(const char *, bool);
diff --git a/plugins/sudoers/toke.l b/plugins/sudoers/toke.l
index 3cd4eecb8..c843162d3 100644
--- a/plugins/sudoers/toke.l
+++ b/plugins/sudoers/toke.l
@@ -51,7 +51,7 @@
#endif
// PVS Studio suppression
-// -V::519, 1004, 1037
+// -V::519, 547, 1004, 1037, 1048
int sudolineno; /* current sudoers line number. */
char *sudoers; /* sudoers file being parsed. */
diff --git a/plugins/sudoers/tsdump.c b/plugins/sudoers/tsdump.c
index 8abe667fa..db15f7b63 100644
--- a/plugins/sudoers/tsdump.c
+++ b/plugins/sudoers/tsdump.c
@@ -50,7 +50,7 @@ union timestamp_entry_storage {
sudo_dso_public int main(int argc, char *argv[]);
-static void usage(void) __attribute__((__noreturn__));
+static sudo_noreturn void usage(void);
static void dump_entry(struct timestamp_entry *entry, off_t pos);
static bool valid_entry(union timestamp_entry_storage *u, off_t pos);
static bool convert_entry(union timestamp_entry_storage *record, struct timespec *off);
diff --git a/plugins/sudoers/tsgetgrpw.c b/plugins/sudoers/tsgetgrpw.c
index 27439e97b..481cb3370 100644
--- a/plugins/sudoers/tsgetgrpw.c
+++ b/plugins/sudoers/tsgetgrpw.c
@@ -23,8 +23,8 @@
*/
/*
- * Trivial replacements for the libc get{gr,pw}{uid,nam}() routines
- * for use by testsudoers in the sudo test harness.
+ * Trivial replacements for the libc getgrent() and getpwent() family
+ * of functions for use by testsudoers in the sudo test harness.
* We need our own since many platforms don't provide set{pw,gr}file().
*/
diff --git a/plugins/sudoers/tsgetgrpw.h b/plugins/sudoers/tsgetgrpw.h
index a893cbac3..826189b39 100644
--- a/plugins/sudoers/tsgetgrpw.h
+++ b/plugins/sudoers/tsgetgrpw.h
@@ -17,8 +17,8 @@
*/
/*
- * Trivial replacements for the libc get{gr,pw}{uid,nam}() routines
- * for use by testsudoers in the sudo test harness.
+ * Trivial replacements for the libc getgrent() and getpwent() family
+ * of functions for use by testsudoers in the sudo test harness.
* We need our own since many platforms don't provide set{pw,gr}file().
*/
@@ -40,3 +40,6 @@ void testsudoers_endpwent(void);
struct passwd *testsudoers_getpwent(void);
struct passwd *testsudoers_getpwnam(const char *);
struct passwd *testsudoers_getpwuid(uid_t);
+
+int testsudoers_getgrouplist2_v1(const char *name, GETGROUPS_T basegid,
+ GETGROUPS_T **groupsp, int *ngroupsp);
diff --git a/plugins/sudoers/unesc_str.c b/plugins/sudoers/unesc_str.c
index 763e1ceac..2b5e24271 100644
--- a/plugins/sudoers/unesc_str.c
+++ b/plugins/sudoers/unesc_str.c
@@ -21,8 +21,12 @@
* PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
*/
+#include <config.h>
+
#include <string.h>
+#include "sudoers.h"
+
/*
* Remove backslash escape chars.
*/
diff --git a/plugins/sudoers/visudo.c b/plugins/sudoers/visudo.c
index 679d39da8..734118bac 100644
--- a/plugins/sudoers/visudo.c
+++ b/plugins/sudoers/visudo.c
@@ -1,7 +1,7 @@
/*
* SPDX-License-Identifier: ISC
*
- * Copyright (c) 1996, 1998-2005, 2007-2018
+ * Copyright (c) 1996, 1998-2005, 2007-2022
* Todd C. Miller <Todd.Miller@sudo.ws>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -90,14 +90,14 @@ static char *get_editor(int *editor_argc, char ***editor_argv);
static bool check_syntax(const char *, bool, bool, bool, bool);
static bool edit_sudoers(struct sudoersfile *, char *, int, char **, int);
static bool install_sudoers(struct sudoersfile *, bool, bool);
-static bool visudo_track_error(const char *file, int line, int column, const char *fmt, va_list args);
+static bool visudo_track_error(const char *file, int line, int column, const char *fmt, va_list args) sudo_printf0like(4, 0);
static int print_unused(struct sudoers_parse_tree *, struct alias *, void *);
static bool reparse_sudoers(char *, int, char **, bool, bool);
-static int run_command(char *, char **);
+static int run_command(const char *, char *const *);
static void parse_sudoers_options(void);
static void setup_signals(void);
-static void help(void) __attribute__((__noreturn__));
-static void usage(int);
+static sudo_noreturn void help(void);
+static sudo_noreturn void usage(void);
static void visudo_cleanup(void);
extern void get_hostname(void);
@@ -109,13 +109,15 @@ struct sudo_user sudo_user;
struct passwd *list_pw;
static struct sudoersfile_list sudoerslist = TAILQ_HEAD_INITIALIZER(sudoerslist);
static bool checkonly;
+static bool edit_includes = true;
static unsigned int errors;
-static const char short_opts[] = "cf:hOPqsVx:";
+static const char short_opts[] = "cf:hIOPqsVx:";
static struct option long_opts[] = {
{ "check", no_argument, NULL, 'c' },
{ "export", required_argument, NULL, 'x' },
{ "file", required_argument, NULL, 'f' },
{ "help", no_argument, NULL, 'h' },
+ { "no-includes", no_argument, NULL, 'I' },
{ "owner", no_argument, NULL, 'O' },
{ "perms", no_argument, NULL, 'P' },
{ "quiet", no_argument, NULL, 'q' },
@@ -151,7 +153,7 @@ main(int argc, char *argv[])
textdomain("sudoers");
if (argc < 1)
- usage(1);
+ usage();
/* Register fatal/fatalx callback. */
sudo_fatal_callback_register(visudo_cleanup);
@@ -192,6 +194,9 @@ main(int argc, char *argv[])
case 'h':
help();
break;
+ case 'I':
+ edit_includes = false;
+ break;
case 'O':
use_owner = true; /* check/set owner */
break;
@@ -208,7 +213,7 @@ main(int argc, char *argv[])
export_path = optarg;
break;
default:
- usage(1);
+ usage();
}
}
argc -= optind;
@@ -226,7 +231,7 @@ main(int argc, char *argv[])
}
break;
default:
- usage(1);
+ usage();
}
if (fflag) {
@@ -255,7 +260,7 @@ main(int argc, char *argv[])
}
/* Mock up a fake sudo_user struct. */
- user_cmnd = user_base = "";
+ user_cmnd = user_base = (char *)"";
if (geteuid() == 0) {
const char *user = getenv("SUDO_USER");
if (user != NULL && *user != '\0')
@@ -361,7 +366,7 @@ get_editor(int *editor_argc, char ***editor_argv)
{
char *editor_path = NULL, **allowlist = NULL;
const char *env_editor;
- static char *files[] = { "+1", "sudoers" };
+ static const char *files[] = { "+1", "sudoers" };
unsigned int allowlist_len = 0;
debug_decl(get_editor, SUDOERS_DEBUG_UTIL);
@@ -389,8 +394,8 @@ get_editor(int *editor_argc, char ***editor_argv)
allowlist[allowlist_len] = NULL;
}
- editor_path = find_editor(2, files, editor_argc, editor_argv, allowlist,
- &env_editor);
+ editor_path = find_editor(2, (char **)files, editor_argc, editor_argv,
+ allowlist, &env_editor);
if (editor_path == NULL) {
if (def_env_editor && env_editor != NULL) {
/* We are honoring $EDITOR so this is a fatal error. */
@@ -413,12 +418,13 @@ get_editor(int *editor_argc, char ***editor_argv)
* If an entry starts with '*' the tail end of the string is matched.
* No other wild cards are supported.
*/
-static char *lineno_editors[] = {
+static const char *lineno_editors[] = {
"ex",
"nex",
"vi",
"nvi",
"vim",
+ "nvim",
"elvis",
"*macs",
"mg",
@@ -440,7 +446,7 @@ static bool
editor_supports_plus(const char *editor)
{
const char *cp, *editor_base;
- char **av;
+ const char **av;
debug_decl(editor_supports_plus, SUDOERS_DEBUG_UTIL);
editor_base = sudo_basename(editor);
@@ -532,7 +538,7 @@ edit_sudoers(struct sudoersfile *sp, char *editor, int editor_argc,
(void)snprintf(linestr, sizeof(linestr), "+%d", lineno);
editor_argv[ac++] = linestr; // -V507
}
- editor_argv[ac++] = "--";
+ editor_argv[ac++] = (char *)"--";
editor_argv[ac++] = sp->tpath;
editor_argv[ac++] = NULL;
@@ -655,7 +661,7 @@ reparse_sudoers(char *editor, int editor_argc, char **editor_argv,
}
fclose(sudoersin);
if (!parse_error) {
- (void) update_defaults(&parsed_policy, NULL,
+ parse_error = !update_defaults(&parsed_policy, NULL,
SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER, true);
check_defaults_and_aliases(strict, quiet);
}
@@ -885,7 +891,7 @@ setup_signals(void)
}
static int
-run_command(char *path, char **argv)
+run_command(const char *path, char *const *argv)
{
int status;
pid_t pid, rv;
@@ -975,7 +981,7 @@ check_syntax(const char *file, bool quiet, bool strict, bool check_owner,
parse_error = true;
}
if (!parse_error) {
- (void) update_defaults(&parsed_policy, NULL,
+ parse_error = !update_defaults(&parsed_policy, NULL,
SETDEF_GENERIC|SETDEF_HOST|SETDEF_USER, true);
check_defaults_and_aliases(strict, quiet);
}
@@ -1086,6 +1092,11 @@ open_sudoers(const char *path, bool doedit, bool *keepopen)
break;
}
if (entry == NULL) {
+ if (doedit && !edit_includes) {
+ /* Only edit the main sudoers file. */
+ if (strcmp(path, sudoers_file) != 0)
+ doedit = false;
+ }
if ((entry = new_sudoers(path, doedit)) == NULL)
debug_return_ptr(NULL);
if ((fp = fdopen(entry->fd, "r")) == NULL)
@@ -1204,34 +1215,35 @@ quit(int signo)
#define emsg " exiting due to signal: "
iov[0].iov_base = (char *)getprogname();
iov[0].iov_len = strlen(iov[0].iov_base);
- iov[1].iov_base = emsg;
+ iov[1].iov_base = (char *)emsg;
iov[1].iov_len = sizeof(emsg) - 1;
iov[2].iov_base = strsignal(signo);
iov[2].iov_len = strlen(iov[2].iov_base);
- iov[3].iov_base = "\n";
+ iov[3].iov_base = (char *)"\n";
iov[3].iov_len = 1;
ignore_result(writev(STDERR_FILENO, iov, 4));
_exit(signo);
}
+#define VISUDO_USAGE "usage: %s [-chqsV] [[-f] sudoers ]\n"
+
static void
-usage(int fatal)
+usage(void)
{
- (void) fprintf(fatal ? stderr : stdout,
- "usage: %s [-chqsV] [[-f] sudoers ]\n", getprogname());
- if (fatal)
- exit(EXIT_FAILURE);
+ (void) fprintf(stderr, VISUDO_USAGE, getprogname());
+ exit(EXIT_FAILURE);
}
static void
help(void)
{
(void) printf(_("%s - safely edit the sudoers file\n\n"), getprogname());
- usage(0);
+ (void) printf(VISUDO_USAGE, getprogname());
(void) puts(_("\nOptions:\n"
" -c, --check check-only mode\n"
" -f, --file=sudoers specify sudoers file location\n"
" -h, --help display help message and exit\n"
+ " -I, --no-includes do not edit include files\n"
" -q, --quiet less verbose (quiet) syntax error messages\n"
" -s, --strict strict syntax checking\n"
" -V, --version display version information and exit\n"));